알파고에 착각 하는게 있는데
일단 알고리즘은 MC-tree방식으로 알려져 있고
딥러닝을 통한 확률 분포를 얻는건데
알파고가 인간처럼 몇수 앞을 보거나 상대방이 어디 놓을지 예상을 하진 못해.
그냥 지금 바둑판에 놓여진 수만을 이용해 확률적인 결과를 내는 것이고
딥러닝 자체가 그냥 계산 노가다야.
뭔가 바둑에 대한 정확한 솔루션을 구했다거나
혹은 프로 9단 급의 판단력이나 직관에 대한 알고리즘을 만들었다면
인공지능이라고 볼 수 있을지도 모르겠지만
그냥 지금까지 놓여진 돌을 이용한 계산 노가다로 확률 분석해서 다음 자리를 찾을 뿐
애초에 이런 알고리즘이라고 불리기도 아까운 계산노가다 방식을 인공지능이라고 본다면
cpu 선폭제한에 걸려 계산속도 정체기인 지금 같은 시대엔 맞지 않는 방법 같다.
난 또 처음 알파고에 대한 소식을 들었을떄에는
B_0=a, W_0=b
B_n+1=f(B_n,W_n)
W_n+1=f(B_n,W_n)
백돌(W)과 흑돌(B)의 다음 자리 계산을 위와 같이 함수화 할 정도의 능력자가 개발한 줄 알고
이야~ 대단하다 라고 생각 했는데...
결국 그런 아름다운 수식은 나오질 않고 계산 노가다만 남아있군.
그리고 알파고를 스카이넷에 비유하는 사람이 많은데
저런 계산 노가다를 인공지능이라 부른다면
요즘의 무식한 요리사들이 액체질소를 요리에 활용한 것 뿐이면서 분자요리라고 이야기 하는거나 다름 없지 뭐.
애초에 재대로된 솔루션을 개발했다면 핸드폰으로도 재대로 돌아가야 정상이지. 수백개의 컴퓨터 모듈을 클러스터링으로 돌릴정도면 안되지. 빅데이터 기법들이 많이 개발되고 있는것 같은데 사실상 솔루션을 구하기 보다는 난잡한 계산노가다로 가겠다는게 안타깝다.
수가 너무 많아서 일일히 계산해볼 수 없으니 처음에 경우의 수를 대폭 줄여야되는데 그 부분만 해도 엄청나게 어렵지
그리고 이렇게 미친듯이 계싼한다음 어디가 최적이라고 판단되는가를 보는것도 충분히 의미가 있지
에 그런거야? 난 알파고가 인간이 모르는 수를 놓았다길래 알파고가 학습알고리즘느로 바둑를 학습했다고 생각했는데 그래서 알파고는 인간이 모르는걸 볼수있다여겼건만
딥러닝은 스스로 수식을 만든다생각했는데 아직 갈길이 뭐네
딥러닝이란 주제가 처음 나왔을때 너무 무식한 방법인데다가 당시 컴퓨터로는 계산이 힘들어서 거의 포기한 알고리즘인데 컴퓨터 하드웨어 발달로 다시 수면 위로 나오고는 있지만...
아무리 바둑이 복잡하다고 한들 인간 하나의 몫을 천대의 컴퓨터가 해야한다면 다시 생각해 봐야 하지 않을까? 이건 어떤 솔루션을 얻겠다는게 아니라 그냥 컴퓨터를 많이 갖다 붙여서 더 빠르게 근사치를 계산하겠다는거라서 응용쪽이면 몰라도 이론쪽은 안 맞는 분야지.
그러면 알파고나 체스의 딥블루나 큰 차이는 없는거네? 스스로 학습은 불가능한거네?
y=x를 0부터 10^6까지 적분하라고 한다면 솔루션을 구해서 풀면 0.5(10)^12로 바로 구할 수 있는데 이걸 간격을 아주 쫍게 나눠서 수치해석적으로 풀고 있는게 알파고라고 보면 쉬워....컴퓨터 수천대를 이용해도 간격을 좁게 잡으면 답 구하는데 수만년씩 걸리기도 하잖아.
인간도 스스로 학습이 불가능하긴 한데....인간은 바둑만 보는게 아니라 상대의 얼굴, 표정, 움직임 등을 오감으로 모두 습득하고 상대가 누군지 판단하고 어떻게 나올지 예상도 하고 둔다는거지. 이세돌이 알파고랑 3판 두고서 성향을 파악해서 엿 먹인 것 처럼....
근데 알파고는 바둑돌에 대한 정보만 판단하는것이고 가지고 있는 데이터를 활용할 뿐 응용은 불가능하단거지.
어떻게 보면 난수랑 같은거야. 랜덤넘버를 컴퓨터가 만들어 낼려면 무조건 필요한게 initial seed 값이야. 초기값 없이는 아직도 랜덤해 보이는 수 하나도 못 만들어 낸다. 그리고 이렇게 만들어낸 랜덤넘버도 가짜 혹은 흉내낸 난수로 불리는 이유도 같다고 보면 된다.
ㄴ 그렇다고 난수가 쓸모없는게 아니지
그리고 사람이라고 뭐 다르나? 수많은 경험에서 나온 최적이라 생각되는 답을 법칙으로 묶어서 고민없이 바로바로 지름길로 둘수 있게 한게 '정석'이고 '빵때림은 30집' 등의 '바둑 격언'이야
사람은 무슨 대단한 논리로 그거 만들었는지 아나보네 다 하나하나 해보고 나온거지 현대에 정석이라고 하는거나 33침투같은거도 1900년 초반에는 없었어
오히려 현대 '정석'에서 잘 쓰이지 않는 '어꺠짚기' 등의 수를 찾아낸게 인간의 용어로 말하면 '응용'이지. 아무도 주지 않은걸 계산을 통해 스스로 알아냈으니
게다가 첫판에 이세돌이 일부러 괴상하게 뒀는데 그거하나하나 다 대처해서 승기를 잡은건데 응용이 불가능하다는건 뭔소리신지...? 인간의 '사고'와 인공지능의 '계산'이 그리 다른가? 전자는 '응용'이고 후자는 '계산'이야?ㅋㅋ
사고는 더 추상적이란 거지. 아직 계산이 사고단계로 올라가지 못했다. 내 말이 무슨뜻이냐면...
바둑을 둘때 상대방이 착수를 하면 인간은 "왜 저기 놓았지?", 혹은"저게 무슨 의미가 있지?"라거나 "저렇게 놓았으니 다음엔 여기에 두겠지?"라는 사고과정을 거쳐서 다음수를 두겠지만 컴퓨터는 의미는 상관없고 다음 수에 대한 예측도 없이 지금 놓여있는 돌들 위치를 통해 승율이 가장 높은 자리에 다음돌은 놓는거지.
결국 사고란건 이전 데이터를 활용하면서 응용하는 수준인데 알파고는 아직까지 응용을 할 수 있지는 못하단 거지. MC tree 자체도 그렇고... 딥러닝은 응용보다는 공통점 찾기에 더 가깝다.
룰이 명확히 정해진 판 위에서 '사고'를 한다는건 일일히 계산 못하니까 대충대충 지름길을 통해서 몇가지만 계산하겠다는거지
내 생각에는 알파고가 다음 착수점을 찾은 뒤에 왜 거기에 놓아야만 하는지 확률적이 아닌 논리적 설명이 가능하다면 사고를 한다고 볼 수 있지 않을까 싶다. 물론 그럴려면 상대방이 어디에 놓을지도 예상을 해야겠지.
'왜 저기 놓았지?' 를 판단해서 의미를 찾아야 그 다음에 응수하기 편한건데 그걸 모조리 계산해버리면 그런게 필요가 없센 ㅇㅇ 이런경우 계산이 사고보다 우위에있음.
그 '논리'가 뭔데 ㅋㅋㅋㅋ 이렇게 두면 '두텁다'느니 뭐니 하면서 '대충'설명하는게 논리라면 그게 논리냐 ㅋㅋㅋ
대충대충 지름길 이야길 하는걸 보니 바둑을 잘 모르는 친구 같은데...대충대충을 어떻게 하냐? 대충 대충 놓을수가 없는게 바둑인데...
두터우니 뭐니가 아니라 이건 딱 몇집짜리 수다 탁탁 내놓고 후반에 필요없는거 다 양보하면서도 이길정도의 계산이 논리보다 우월한거 아니냐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
대충대충이지 그럼 뭐냐 ㅋㅋㅋ 귀에 날일자로 공격들어가서 정석대로 두면 백/흑이 각각 몇집의 가치를 가지는지 대답할 수 있셈?
누구는 귀의 실리를 얻었고 누구는 두터움을 대가로 얻었니뭐니 '애매모호'하고 얘기하잖아 ㅋㅋ 알파고는 그걸 수로 환산해서 두고, 나중에 실리를 크게 내주고도 선을 잡아서 명확한 끝내기로 제압해버릴만큼 정확하다고
참 답답하네....더 자세히 설명 해 줄 수도 있지만 귀찮아서 못하겠다. 강의료라도 주면 내가 만나서 자세히 설명 해 줄께.
크나큰 떡수를 두고도 나중에 상당히 따라갔던게 알파고인데 확률 떨어졌을때 떡수를 두는게 아니라 차분히 격차를 좁히는쪽으로만 프로그래밍 되어있었어도 끝장났음 ㅇㅇ
애초에 그럴단계까지 가본적이 없어서 안되어있었을뿐 ㅇㅇ
알파고 이전에 기계학습 강화학습 뉴럴네트웍 이층구조 등 기본개념부터 알아야할듯. 조오오온나 복잡한 프로그램을 한낱 계산알고리즘 취급하네
ㅋㅋㅋㅋ 아는척 글싸다가 고수들 등판하니 읔엨ㅋㅋㅋㅋㅋ- DCW
나도 바둑 전혀몰랐을 때 152처럼 생각했었지.. 해설진 해설이라든지 바둑교재에 너무 애매모호하게 두리뭉실하게 얘기하니까 좆같다 못해 화가났었는데 배우면 배울수록 그게 아니더라 ㅋ