본문 바로가기
AI(인공지능) 이야기

9번째 이야기 - 뮤제로, 알파제로, 알파고, 알파고 제로

by ØŦΛ 2022. 9. 4.

사실 뮤제로는 체스, 바둑, 장기에서는 '알파제로''알파 제로'와 비슷한 경기력을 보이나, 아타리 게임에서는 이전의 모든 알고리즘보다 우수한 실력을 발휘합니다. 사실 뮤제로의 큰 장점은 데이터를 매우 경제적으로 사용한다는 것입니다. 훈련량에 비해 성능이 금세 좋아진다는 것이죠. 그 비결은 무엇이었을까요?  그것은 각 의사결정 단계에서 중요한 측면만을 고려한 덕분입니다. 딥마인드의 표현처럼 "우산이 당신을 젖지 않게 해 줄 거라는 걸 아는 것이 비가 내리는 패턴을 파악하는 것보다 더 유용합니다."

딥마인드 인공지능의 발전

의사결정단계에서 가장 중요한 것만 모델링에 반영하는 알고리즘의 방식이 이 모든 차이를 낳은 것입니다. 중요한 것이 무엇인지를 알 수 있다는 건 학습의 효과에 퀀텀 점프를 낳게 합니다. 딥마인드의 인공지능은 이렇게 '뮤 제로(2020)' 이전과 이후로 나뉜다 할 수 있습니다. '뮤제로'는 현대의 인공지능 즉, 약인공지능(인공지능 기술)에서 인공일반지능(AGI, 강인공지능)강 인공지능)을 향한 과감한 한 발자국을 떼었다 볼 수 있기 때문입니다. `게임의 규칙'을 알 수 없는 복잡계의 현실 속 문제들을 해결하는 길이 뮤제로의 알고리즘을 단초로 열릴 수 있을까요? 시간을 두고 '관찰'해 봅시다.

 

인공지능 공부할 때 수학 얼마나 알아야 하나요? 이 질문에 답을 하기 위해 머신러닝(딥러닝) 얘기를 좀 하도록 하겠습니다. 머신러닝(딥러닝)을 쉽게 표현해보라 한다면 어떻게 표현하시겠습니까? 저라면 이렇게 표현하겠습니다. '의미 있는 숫자를 출력해주는 깔때기'라고요.' 라고요.

인공지능 자료

''라는 이미지를 컴퓨터는 픽셀로 이루어진 '숫자 덩어리'로 인식합니다. 머신러닝(딥러닝)을 통해 가위(0), (1), 바위(2) 중 숫자 1을 출력하여, 이 이미지가 ''임을 나타내 줍니다.. , 이것이 머신러닝(딥러닝)입니다. 수많은 숫자들 중에서 의미 있는 숫자를 출력해내는 방법입니다. 우리는 머신러닝으로부터 이러한 Outcome(결과물)을 기대합니다. ''의미 있는 숫자를 출력해주는 깔때기'라는' 말은 사실 Outcome(결과물)적인 관점에서 바라본 머신러닝입니다. 그렇다면 ''의미 있는 숫자를 출력' 해주기 위한 과정에는 어떤 일들이 벌어지는 것일까요?

데이터에는 다양한 특성(Feature)이 존재합니다. 이 중 주요한 특징을 추출해내고, 이를 추출한 특징의 개수 n개만큼 즉, n차원의 공간에 한 점으로 표시하게 됩니다. 일단 배치를 해야 한다는 것이죠.

'한산: 용의 출현'에서 이순신이 견내량에 있던 일본 본진의 배들을 한산도 앞바다로 유인해낼 때, 쉽게 포격하지 않고, 이 말을 합니다. '공격하는 것보다 진을 갖추는 것이 먼저다.' 그때그때 상황에 대처하기에 급급했던 원균과 달리 이순신은 병법에 능했기에 기다릴 줄 알았고, 시시각각 변하는 상황에 흔들리지 않을 수 있었습니다.

한산

어쨌든, 분류(예측)분류(예측) 하기 전에 공간 속 배치가 중요합니다. 이 그림에서는 2차원으로 표현되었지만, 상상력을 동원하여 n차원으로 나타내었다고 합시다. 트럼프와 오바마 중 이 사진 데이터가 누구인지 출력하는 머신러닝(딥러닝) 일(딥러닝) 경우, 결국 거리를 구해서, 어느 쪽에 가까운지를 판정해내면 됩니다.

머신러닝 기초 자료

결국, 머신러닝으로 데이터를 n차원의 공간에 한 점으로 표시하여야 하고, 거리를 구하여야 합니다. 여기서 필요한 것이 바로 수학입니다. 인공지능은 기계이며 컴퓨터입니다. 숫자로 모든 정보를 받아들이고, 알고리즘에 따라 숫자 계산을 통해 유의미한 숫자 답을 냅니다. 인공지능의 요체는 수학입니다.

인공지능 모델을 직접 개발하려면 선형대수, 확률, 통계, 미분, 벡터, 행렬 등 수학 지식이 있어야 합니다. 그런데 인공지능 알고리즘을 직접 개발하지 않는다면 굳이 수학이 필요하지는 않습니다. 신경망을 이해할 정도만큼의 수학을 공부하는 것은 좋겠죠. 현업에서는 굳이 모델을 만들지 않고, 기존에 잘 나와있는 모델의 소스코드를 변경해 사용하는 경우가 대부분입니다. 그래서 수학보다는 되려 컴퓨터 공학 지식이 더 필요하다 할 수 있습니다.

인공지능 프레임워크인 구글의 텐서 플로우와 케라스, 페이스북의 파이 토치 등을 잘 이해할 필요가 있습니다. 대학교나 연구집단에서는 파이 토치를 많이 다루고, 기업이나 현업에서는 텐서 플로우와 케라스를 많이 쓰고 있는 추세입니다. 데이터를 Tidy data로 만드는 일인 전처리의 과정은 지난하지만, 매우 중요합니다. 이를 위해 파이썬 등에 대한 기초 지식도 있어야 합니다. 파이썬은 엄청난 라이브러리들을 제공해주고 있어서 R의 아성을 무너뜨리고 현재 데이터 과학과 딥러닝을 위한 제1의1 언어로 포지셔닝했습니다. 파이썬을 잘할 수 있다는 것은 아이언맨의 수트를 입는 것과 같고, 바다에서 수영을 잘 할 수 있다는 것과 같습니다. 파이썬의 넘 파이 라이브러리가 당신의 행렬 계산을 차원에 관계없이 대신해줄 것일 테니까요.

하지만 인공지능을 제대로 공부하려면 수학이 필요합니다. 아니, 필요하다 못해 수학이 전부입니다. 인공지능 모델의 원리와 구조를 밝히려면 말이죠. 제 생각에는 모델을 직접 만들 필요가 없는 비현업의 저희 같은 입장에서는 수학은 모두 다 공부할 필요는 없고, 도리어 파이썬과 인공지능 프레임워크 등에 조금 더 시간을 투자하는 게 좋다 생각됩니다. 우리. 모두가 학자가 될 필요도 없고, 되려 그 편이 문제를 해결하는 서비스인 Outcome(결과물)을 내는 일에는 훨씬 더 효과적일 테니까요.

댓글