기고

매뉴얼 작성에 탁월한 너, 인공지능 세계로 오라

2024-05-08 13:00:01 게재

최근 인공지능이 워낙 여러 분야에 다양하게 스며들다 보니 우리가 잊은 요소가 있다. 인공지능은 공학이 근간이며 공학의 ‘공’은 한자 ‘만들 공(工)’이라는 점이다.

인공지능은 무언가를 만드는 학문이며 따라서 창작 욕구가 강한 아이들이 인공지능 공부에 유리하다. 다시 말해 소비자보다는 생산자에 가까운 성격을 가진 학생이 인공지능에 대한 적성이 높다는 의미다. 그 중에서도 지난 칼럼에서 대리자라고 소개한 ‘행위자’와 대리자가 어떻게 동작할지 살펴보기 위한 ‘환경’을 만드는 데 관심이 있다면 더욱 유리하다.

프로그래밍, 모델링 그리고 인공지능

흔히 인공지능은 소프트웨어이고 소프트웨어를 만드는 방법을 프로그래밍이라고 한다. 그래서 인공지능을 하려면 프로그래밍을 해야 한다고들 말한다. 틀린 말은 아니지만 썩 직관적인 설명은 아닌 것 같다. 당위성에 대한 설명이 부족하다. ‘소프트웨어가 아닌 인공지능은 없을까? 프로그래밍이 아니면 소프트웨어를 만들 수 없나’ 같은 질문에 대한 답을 주지 않기 때문이다.

프로그래밍은 여전히 대중의 입장에서 그다지 직관적이지 않고 인간적이지도 않은 미지의 영역에 가깝다. 실제로 프로그래밍은 어렵기도 하고 적성을 크게 타기도 하니 이를 더욱 부추긴다. 언뜻 어렵고 불편해보이기만 한 프로그래밍을 통해서 인공지능을 구현하는 이유는 다른 대안이 없기 때문이다. 정답인지 아닌지는 아무도 모르지만 현재로써는 대안이 없다. 짐작컨대 앞으로도 높은 확률로 프로그래밍 외에 다른 수단은 존재하지 않을 가능성이 높다.

기본적으로 인공지능은 가상 세계에 행위자와 환경을 구현한다. 여러 가지 목적이 있겠지만 현실 세계에 대한 이해를 높이고 미래를 예측하는 등 복잡한 문제에 대한 답을 얻기 위해서다. 이러한 접근 방법으로 문제를 완벽히 해결하려면 내면세계의 규칙을 따르는 새로운 ‘실제’ 세상을 창조해야 한다.

물론 말이 안 된다. 현실 세계를 구현하기 위해 새로운 세계를 창조하다니. 배보다 배꼽이 크다. 훨씬 값싸게 새로운 세계를 창조할 수 있는 방법을 찾아야 한다. 현실 세계에 대한 시뮬레이션의 정확도가 조금 낮더라도 말이다. 뉴턴의 중력가속도는 아인슈타인의 그것에 비해 현실 세계에서의 정확도가 부족한 편이지만 계산이 단순하니 우리가 여전히 사용한다.

실제 세계에 가깝게 가상 세계를 구현하기 위한 계산은 많다. 작용·반작용 같은 흔한 물리 법칙도 필요하다면 구현해야 한다. 이처럼 인공지능 체계를 구현하려면 수없이 많은 계산이 필요한데 이를 대신해줄 기계가 바로 ‘컴퓨터’다. 현존 인류에게 컴퓨터보다 값싸게 가상 세계를 구현할 수 있는 도구는 아직 없다.

‘매뉴얼’을 제대로 작성할 줄 알아야

‘모델링’은 어떤 현상을 방정식으로 표현하는 일이다. 중력 현상을 중력 방정식으로 표현하는 것을 중력에 대한 모델링이라고 할 수 있는데 이는 인공지능 전공자의 중요한 자질 중 하나다. 교과서에 나오는 여러 법칙은 자연 현상을 수학 모델로 옮겨놓은 모델링이기 때문에 물리를 잘 공부한 학생이라면 모델링 개념을 상대적으로 자연스럽게 받아들일 수 있다. 그래서 물리 교과목에 익숙하다면 인공지능을 공부하는 데 도움이 될 수 있다.

프로그래밍의 관건은 매뉴얼 계산기는 자유의지가 없기 때문에 스스로 계산할 수 없다. 계산 기계인 컴퓨터도 그렇다. 따라서 가상 세계를 창조하기 위해서는 어떤 주체가 컴퓨터에게 ‘계산하게 만들어야’ 한다. 가상 세계를 구현하기 위해 ‘이러이러한 계산을 하시오’라고 프로그래밍 해주어야 한다. 프로그래밍은 컴퓨터에게 어떤 계산을 어떤 순서에 맞게 해야 하는지 알려주는 매뉴얼이다. 컴퓨터를 통한 가상 세계 구현에서 프로그래밍이 대체 불가능한 요소인 이유다.

프로그래밍을 잘 하기 위해서는 어떻게 해야 할까? ‘언어’ 측면에 집중해 국어를 잘해야 한다고도 하고 컴퓨터에게 계산을 시키기 위한 명령어 집합이라는 관점에서 수학을 잘해야 한다고도 한다. 하지만 가장 중요한 점은 프로그램이 ‘매뉴얼’이라는 사실이다. 따라서 ‘매뉴얼’을 제대로 작성할 줄 알아야 한다. 다른 사람이 나의 의도에 맞게, 내 의도와 다르게 해석하지 않도록 행동 요령을 명확하게 작성할 줄 아는 점이 프로그래밍에서 가장 중요하다.

학생이 직접 매뉴얼을 작성할 일은 별로 없지만 비슷한 경험을 쌓을 수는 있다. 일상에서 루틴을 짜고 그에 따라 행동하거나 더 나은 결과를 얻기 위해 그때그때 감각적으로 행동을 수정하기보다 자신의 루틴을 수정한다면 인공지능 적성에 강한 청신호가 들어왔다고 봐도 된다. 일상의 루틴은 결국 스스로에 대한 매뉴얼이기 때문이다.

이재성 중앙대 AI학과 교수