본문 바로가기

관심사

알파고는 무엇을 '보고' 어떻게 '생각'하는가

728x90
반응형

 

 

 

 

사람은 바둑판을 볼 때 돌이 놓여있는 모습을 봅니다. 알파고도 똑같은 것을 볼까요?

 

논문에는 알파고 신경망에 입력하는 데이터가 정리되어 있습니다. (한 판 = 19*19개)

 

- 돌 색 3판 (내 것/상대 것/빈 칸)

- 경과 턴 수 8판

- 인접한 빈 칸 수(활로, 숨통) 8판

- (여기 둘 때) 잡을 돌 수 8판

- (여기 둘 때) 잡힐 돌 수 8판

- (여기 둔 후) 빈 칸 수 8판

- (여기 둘 때) 축 잡는 여부 1판

- (여기 둘 때) 축 잡힐 여부 1판

- 상식(여기 두면 잡히는 곳인지) 1판

 

- 1들 1판 (1로 가득찬 판)

- 0들 1판 (0으로 가득찬 판)

 

- 돌 색 (검정인지) 하나

 

이 변수들은 모두 0 아니면 1의 값을 갖습니다. 그래서 흑/백/빔 바둑판을 표현하기 위해 무려 3*19*19 = 1,083개의 변수가 필요하죠.

 

마찬가지로 턴/칸/돌 수도 1, 2, 3, ... , 8 이상을 각각 한 판씩으로 표현합니다. 다 합하면 엄청나게 많은 변수죠.

 

 

 

알파고는 이 변수들을 그만큼의 다음 변수들에 모두 연결하여 단순한 곱셈 덧셈 등을 해줍니다.

 

그러나 이걸 여러 단계에 걸쳐 반복하면 연결의 수가 매우 많은 복잡한 네트워크가 완성되는 것입니다. (자세한 것은 딥러닝 참조...)

 

알파고가 '학습'한다는 것은 이 수많은 연결들을 정의하는 상수들의 값을 정하는 것입니다. (이 방법이 논문 반)

 

이건 한 수당 2분 정도 걸리는 대국 중에 일어나는 것이 아니라, 몇 달에 걸쳐 준비하는 동안 한 일이죠.

 

변수 만 개를 넣고, 수십 단계를 거쳐 결과를 뽑는 것은 순식간에 일어납니다.

 

(그리고 2분 동안 이리저리 두어보면서 저 '생각'을 반복합니다.)

 

 

 

그렇다면 이러한 계산을 통해 떠올리는 것은 어떤 '생각'일까요?

 

'정책망'과 '가치망'이 있는데,

 

정책망은 '여기에 두어야 할 것 같다는 생각이 몇%쯤 드네!'라고 생각합니다.

 

가치망은 '여기 두면 승률이 몇%일 것 같아.'라고 생각합니다.

 

이러한 두 가지 '직관'을 가지고 넓은 바둑판 중에서 둘 곳을 몇 군데로 압축할 수 있게 됩니다.

 

대국 중에는 몇 군데 중 하나씩 몇 수를 미리 두어보면서 어디 둘 지를 결정하게 되겠죠. (이 방법이 논문 나머지 반)

 

마지막 그림을 보면 가치망으로 압축하고, 트리 탐색(얕고 넓게)으로 승률을 조정하여,

 

정책망으로 찍고, 몬테카를로(깊고 좁게)로 두어봐서 최종적으로 결정하는 과정이 표현되어 있습니다.

 

 

 

그래서 알파고는...

 

정석이 없습니다. 자기가 두어보고 유리했던 것 같은 '기억'을 되살려 둘 뿐입니다. 이상한 수로 이긴 적도 많겠죠.

 

종반이 없습니다. 어차피 열몇 군데로 압축한 다음 그 중에서 판단하는 거니, 남은 칸이 400칸이든 100칸이든 생각하는 데 걸리는 시간은 큰 차이가 없습니다.

 

참고하셔서 재밌게 보시죠.

 

 

 

p.s. 알파고 시간이 5분 남았을 때 이세돌이 돌 던진 게 아깝습니다.

 

알파고가 초읽기로 들어가면 멍청해질 가능성이 충분히 있었거든요.

 

한번 보고나 던지지.

반응형