brunch

You can make anything
by writing

C.S.Lewis

by 톱니바퀴 Mar 26. 2023

무작위 시도의 반복

머신러닝

아래의 그림을 보고, 문제를 하나 내겠습니다.

A부터 B까지 가는 최단 경로의 경우의 수는 몇 가지인가요?

A가 출발점이고, B가 도착점입니다.


저는 수학을 잘 하지 못했고, 이런 경우에 노트에 표를 그려놓고 일일이 하나씩 그려가면서 경우의 수를 셌던 것으로 기억합니다. 지금까지 이 경험을 기억하는 이유는, 그렇게 풀이해서 총 56가지라고 답을 얘기했을 때 당시 선생님께서 이건 '틀린' 풀이방법이라고 얘기해주셨기 때문입니다. 왜 틀렸지? 결국 답이 맞으면 된 것 아닐까 싶었던 거죠.


정석적인 풀이방법은 이렇습니다.

A부터 B까지는 오른쪽으로 4칸, 아래로 4칸 이동해야 합니다. 따라서, 총 8칸을 이동하며 오른쪽(→)과 아래쪽(↓)을 각각 4가지로 배열한 값입니다. 따라서 아래와 같이 경우의 수를 따져볼 수 있겠네요.

1. →→→→↓↓↓↓
2. →→→↓→↓↓↓
3. →→↓→→↓↓↓
등등

따라서 8 Combination 3 원리로, 8! / (5! x 3!)의 계산을 하면 총 56가지의 경우의 수가 존재하는 것을 알 수 있습니다. 순열과 조합에 대해서 공부하는 고등학교 1학년 때의 교과 과정 내용입니다. 어려우신가요? 사실 머신러닝을 활용하는 것과 별개로, 머신러닝을 이해하는 데는 이런 수학적 지식은 많이 필요하지 않습니다. 오히려 이걸 모르는 상태에서 경우의 수를 모두 적어보는 어렸을 때 저같은 경험이 더 소중할지도 모릅니다. 왜냐하면, 머신러닝도 저와 같은 방법을 택하기 때문입니다.


머신러닝이 위의 문제를 푼다면 이런 식으로 풀게 될 것입니다.


1. A에서 B에 도착할 때까지 마음대로 이동해본다. 8번만에 도착할 수도 있고, 12번만에 도착할 수도 있고, 100번 넘는 이동경로만에 도착할 수도 있다.
2. 그 마음대로 이동하는 행동을 충분히 많이 반복한다.
3. 가장 적게 이동한 경로를 찾는다. 그리고 만약 그 이동이 8번이 최소라면, 8번만에 도착한 모든 경로를 찾고 중복을 제거한다.


이해가 되시나요? 그냥 최대한 많이 이동을 해보고 경우의 수를 모두 찾아보는 거지요. 핵심은 2번입니다. 무작위 이동의 충분히 많은 반복입니다. 1번을 100번만 시도해본다면 56가지의 모든 경우의 수를 찾지 못할 가능성이 높을 겁니다. 그러나 1억 번, 혹은 1조 번 반복한다면? 매우 높은 확률로 8번만에 B에 도착하는 56가지의 경로를 모두 찾아내지 않을까요? 


머신러닝의 본질은, 무작위random 시도의 충분한 반복입니다. 비록 100% 확실하게 '답'이라고 얘기할 수는 없지만 시도를 충분히 반복한다면 무한하게 답에 가까운 99.99999%의 정확도를 보유할 수 있는 사고방식인 것입니다.




알파고는 다음 돌을 놓을 수십초 동안의 시간에 수도없는 시도를 반복하며 높은 승률을 보이는 위치를 찾았을 것입니다.

바둑의 경우의 수는 우주에 존재하는 원자의 수보다도 많다고 알려져 있습니다. 즉, 완벽하게 상대방을 이길 수 있는 경우의 수가 있는지, 있다면 찾아낼 수 있는지를 판단할 수도 없다는 것이죠. 그렇다면 이길 확률을 최대한 높일 수 있는 방안은 무엇일까요? 상대방이 돌을 놓은 후 그 이후 대국 과정을 마구잡이로 충분히 진행해보고, 그 수많은 경우의 수 중 가장 승률이 높았던 위치에 돌을 놓는 것입니다. 이것이 바로 시대를 휩쓸었던 알파고 알고리즘의 근본적 원리입니다.





1400만 번 시도하여 최단 경로를 찾는 중인 내비게이션

처음 가보는 약속장소에 가기 위해 저는 지도 앱을 통해서 어떻게 가면 가장 좋을지를 검색해봅니다. 운전을 할 때도 내비게이션을 활용하죠. 이때 컴퓨터는 어떻게 최단 경로를 찾아낼까요? 시간대마다 어느 경로가 가장 빠를지 실시간으로 업데이트하면서 최적의 경로를 추천하는 알고리즘도 이론적 배경에는 많은 반복이 전제되어 있습니다. 정교한 알고리즘을 설계해도 이 알고리즘을 수행할 충분한 반복이 없으면 무의미하니까요.



개인적으로 인공지능에 놀라는 점은 결과 예측의 정확성이나 예측 모델의 정교함같은 것이긴 합니다만, 이미 예전에 제시된 인공지능이나 인공신경망 등의 학문적 개념이 가능하도록 엄청난 수의 반복을 빠르게 처리할 수 있게 된 하드웨어의 발전 또한 놀랍기 그지없고, 이를 인류가 이걸 받아들이고 다른 2차 재화와 서비스로 재창작하는 유연성 또한 무척이나 놀랍습니다. 기술적 환경적 문화적 등 인류의 모든 추진력을 등에 업은 오늘의 인공지능은, 기대에 부합함을 넘어서며 무작위 시도의 반복을 통한 기억-데이터의 적재-과 그 기억의 재구성을 인간보다 월등히 빠른 속도로 수행하고 있습니다. 지금 이 시간에도요.



혹자는 인간이 연구하여 밝혀낼 수 있는 학문 수준에는 한계가 있다고 합니다. 본질적으로 인간의 수명은 최대 100세를 전후하며, 희대의 대천재가 쉬지않고 100년을 공부한 것 이상의 학습량은 더 공부할 수 없다는 뜻일 것 같습니다. 뇌의 최대 용량과 무관하게 그 용량에 새겨넣을 공부라는 작업은 절대적으로 시간이 소요되는 작업이니까요. 이 것이 인간의 뇌를 너무 과소평가한 말인지 아닌지는 아직까지 알 길이 없지만, 그래도 저는 희망를 가지며 누군가는 어쩌면 이 앎의 한계선을 돌파할 수 있는 시점이 오지 않을까 생각했었습니다. 

흠, 그런데, 앞으로 어떤 학문에서 긴 연구 끝에 밝혀낸 퀀텀 점프가 압도적으로 많은 시간을 절약할 수 있는 인공지능의 또다른 학습 재료가 될 뿐이라고 생각하니, 어쩌면 계산, 기억, 판단 등을 통해 지식의 한계를 돌파하는 것이 반드시 인간인 건 아닐 수도 있겠다는 생각이 듭니다.

작가의 이전글 챗GPT, 최후의 질문
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari