본문 바로가기
How to Learn Foreign Languages

알파고와 외국어 학습법

by FarEastReader 2019. 9. 25.
반응형

김홍도 서당

알파고가 어떻게 바둑을 deep learning 하는가에 대해서 잘은 모르지만, 대강 이렇다고 한다.

 

1. 수많은 과거 데이터(기보)를 보고 어떤 식으로 움직여야 하는지, 어떻게 하면 유리해 질 확률이 높아지는지에 대한 게임의 룰을 파악하는 policy network라는 알고리듬과

2. 바둑을 두는 상황에서 각 국면에 대해 자신과 상대의 수가 각각 얼마나 유리한지를 평가하는 value network라는 알고리듬을 가지고

이 둘을 계속 상호작용 시키면서 한 수 한 수를 두어 나가고, 또 이것을 하나의 케이스화하여 데이터베이스로 축적해 나간다고 한다.

 

여기서 중요한 건, 알파고가 바둑 룰에 근거한 모든 경우의 수를 따져서 결과를 미리 다 보고 바둑을 두는게 아니라는 점이다. 알파고는 수많은 노이즈 속에서 '좋은 수를 두는 규칙'을 나름대로 발견하고, 이걸 적용해서 수를 두어 보면서 계속 이게 진짜 승리의 확률을 높여가는 좋은 수인지 평가하는 과정을 거치며 바둑을 둔다는 점이다.

 

나는 이 이야기를 듣고 사람이 말을 배우는 과정이랑 정말 비슷하다고 생각했다. 

 

사람이 말을 한다는 것은, 사실 바둑을 두는 것과 크게 다르지 않은 것이라고 생각한다. 어떠한 '말을 만들어 가는 방법'이 있고, 그에 맞추어 인간의 생각이 (혹은 기계의 연산결과가) 표현되면서 변화 무쌍한 여러가지 결과를 만들어 내는 것이다.  한국어에는 한국어의 '말을 만드는 방법'이 있고, 영어에는 영어식의 '말을 만드는 방법'이 있다, 우리는 우리의 생각을 그에 맞추어 아주 자연스럽게 풀어내고 있는 것 뿐이다.

 

여기서 주목해야 하는 것은, 바로 '어떤 규칙'의 존재이다. 이건 단순한 게임의 룰을 의미하는 것이 아니다. 다시 말하지만, 바둑으로 치면 '돌을 두어 나가는 방식'이고, 말로 치면 '문법'이 아니라 '말을 만들어 나가는 방법'이다. 아주 방대하고 복잡해 보이는 바둑의 결과도 사실은 이 규칙이 계속 적용되면서 나오는 어떤 움직임과 형상에 불과한 것이다. 알파고는, 무수히 많은 바둑의 케이스를 데이터로 확보하고 이 속에서 올바르게 바둑을 두어 나가는 '규칙'을 자기 나름대로 찾아내서 매 상황에 적용하고, 평가해 나가면서 그 규칙을 정교화 해 나간다. 사람도 말을 처음 배울 때 주변에서 들려오는 소리와 표정, 상황을 바탕으로 소음과 불분명한 데이터 속에서 희미하게 빛나는 규칙, 즉 '말을 만들어 나가는 방법' 을 발견해 내서 그것을 습득하여 모국어를 형성해 나가는 것으로 생각된다. 지금 현재도 수많은 아기들이 그렇게 말을 배우고 있고, 정말 신기하게도 거의 모두 멋지게 성공한다는 것을, 우리 모두 알고 있다.

 

외국어를 배울 때 이 점을 깊이 생각해 봐야 한다고 생각한다.

 

여러분이 지금 키보드 없이 허공에다가 '안녕하세요'를 타이핑한다고 생각해 보라. 여러분의 손가락은 어떻게 움직여야 하는지 알고 있을 것이다. 우리는 가상의 키보드를 떠올리고, 그 위에서 자연스럽게 손을 가볍게 움직일 뿐이다. 이것이 바로, 우리가 말을 만드는 방식이다. 우리는 문법, 발음 이런게 아니라, 뭔가 다른 규칙 -방금 '안녕하세요'를 타이핑 할 때 상상한 가상의 키보드같은 것-을 가지고 말을 만들고 있다. 

 

그런데 만약 어떤 사람이 바로 옆에서 당신이 허공에다가 '안녕하세요'를 타이핑하고 있는 손가락을 보고 있다고 하자. 그 사람에게 당신이 짖궂게도 '이게 안녕하세요 입니다' 라고 말해준다고 하자. 그 사람에게 부연 설명으로 '키보드를 상상해 보세요. 그 위에다가 안녕하세요를 타이핑 하고 있는 겁니다' 라고 말 해 주면, 그 사람은 당신의 손가락의 움직임을 자세히 보고는, '아 그러네요!' 라고 말 해 줄 것이다. 당신은 그 사람에게 당신이 '말을 만들어낸 방식'을, 그 규칙을 정확히 전달한 것이다. 그리고 이것이 알파고가 파악한 바둑에서의 돌을 두어 나가는 방식이다. 알파고는 수백만개의 기보를 보면서 희미하고 다소 부정확하나 꽤 진짜에 근접한 가상의 키보드를 완성해 나가고 있는 것이다. 그리고 그 위에서 당신의 손놀림을 꽤 비슷하게 흉내내고 있을것이다.

 

그러나 만약, 당신이 '이게 안녕하세요 입니다' 라고 말한 다음에, 제가 하는 방식으로 '안녕하세요를 표현하려면요...' 라고 하면서,

'먼저 왼손 세번째 손가락을 0.5센치 살짝 떨어 트리시구요 (실은 키보드에서 ㅇ 을 치는 모양), 그다음엔 오른쪽 세번째 손가락을 0.5센치 정도 살짝 떨어 트리시구요 (실은 키보드에서 ㅏ를 치는 모양),  그 다음엔 왼손 네 번째 손가락을 0.5센치 살짝 떨어 트리시구요(실은 키보드에서 ㄴ을 치는 모양)...' 라고 손동작의 묘사를 시작한다면, 영원히 상대방은 도대체 이게 어째서 안녕하세요가 될 수 있는지 이해할 수 없을 것이다. 물론 각고의 노력 끝에, '아 이 사람은 ㅇ(이응)이 들어간 말을 하려면 항상 왼손 세번째 손가락을 0.5센치 살짝 떨어트리면서 시작하는구나' 하는 식으로 하나도 도움 안되는, 그러나 실제로 성립하는, 무지하게 써먹기 어려운 규칙을 발견하고 이를 학습하려고 할 수도 있다. 바로 이것이, 지금 우리가 외국어를 배울 때 실제로 하고 있는 말도 안되는 노력이다.

 

이미 넘 복잡해져서 아무도 관심을 가지지 않을 것 같지만, 일단 이 긴 글의 결론을 내려 한다. 우리는 알파고의 방식으로 외국어를 배워야 한다. 즉, 외국어를 배움에 있어서 표면에 드러나는 규칙을 억지로 학습하려 들기 보다는 외국어로 된 글과 소리에 대한 노출을 늘려서, 그 안에서 스스로 진정한 규칙을 습득해 나가려는 노력이 필요하다. 일단 복잡한 문법이나 발음 이런 거에 집착하기 보다는, 대충 문법과 발음을 배웠으면, 바로 외국어로 된 글과 소리를 읽고 들으며 선명하게 다가오는 의미를 느껴야 한다. 바로 외국어로 된 책, 방송, 영화, podcast같은 것을 읽고 들으며 스스로 사전도 찾아보고 하며 의미를 느끼며 앞으로 나아가는 것이, 백날 문법 공부하고, 독해 공부하고, 듣기를 하며 문제나 풀고 있는 것보다 훨씬 낫다는 것이다. 다시 말하지만, 애기들도, 그리고 당신 자신도, 이런 과정을 통해 모국어를 배웠음이 틀림없다.

 

그런 의미에서, 알파고의 등장은 잊고 있던 우리 인간의 잠재력에 대해 다시 깊게 깨닫게 해 주는 계기가 되지 않을까 싶다. 

 

P.S. 외국어를 배우는 방법을 깊이 생각하며 위와 같은 공상을 하다 보니, 모국어 사용자와 외국어로서 그 말을 배우는 사람의 관계가 이세돌 vs. 알파고의 관계와 비슷하다는 생각이 들었다. 이세돌 국수는 아마, 알파고를 보면서, 모국어 달인으로서 자신에게 모국어로 도전장을 내미는 외국인을 보는 느낌이었으리라. 그래서 쉽게 이길 수 있으리라는 그런 확신을 가졌을지도 모르겠다.

반응형

댓글