[팩트체크(fact-check) 02] 알파고는 애초에 기보 데이터가 필요하지 않았다

in #kr6 years ago

2017년 10월 19일 과학 저널 <네이처>에 '인간 지식 없이 바둑을 마스터하기(Mastering the game of Go without human knowledge)'라는 제목의 논문이 발표되었습니다. 이 논문은 언론에 대대적으로 소개되었고, 논문 제목이 암시하듯이 '인간 지식 없이도' 인공지능이 발전할 수 있다고 소개되었습니다. 과연 알파고는 인간이 생산한 데이터가 정말로 필요 없을까요? 인공지능은 더 이상 인간의 데이터가 없이도 발전할까요?

이 점을 판단하기 위해서는 인공지능의 작동 방식을 잘 알아야 합니다. 인공지능은 일종의 컴퓨터 프로그램입니다. 일반인에게는 '기계학습(머신러닝)'이라는 알듯말듯한 용어가 유행하지만, 사실 인공지능을 만드는 방식은 둘입니다. 하나는 사람이 일일이 코드를 짜는 거고(IBM 왓슨, 쿠쿠, 트롬 등), 다른 하나는 프로그램을 시켜 코드를 짜는 겁니다(알파고, 구글번역, 검색, 음성인식 등). 코드를 짜는 프로그램을 다른 말로 '기계학습 프로그램'이라고 합니다. (그림 참조.) 구글이 만든 '텐서플로(TensorFlow)'와 페이스북이 만든 '파이토치(Pytorch)'가 기계학습 프로그램의 대표주자입니다.

프로그래밍 대 기계학습.png
ⓒ김재인

그럼 기계학습 프로그램은 무슨 일을 할까요? 기계학습이란 무슨 뜻일까요? 이 점과 관련해서 한국의 일반인은 커다란 오해에 직면했습니다. 바로 알파고 때문입니다. 한국 사회에 인공지능 열풍이 불기 시작한 건 다 알다시피 알파고와 이세돌의 충격적인 대국 결과 때문이었습니다. 그리고 알파고가 '기계학습'을 통해, 또는 '신경망'을 갖춘 '딥러닝'을 통해 만들어졌다고 이야기되었습니다. 맞는 말이지만 부분적으로만 맞다고 해야 할 겁니다. 왜 그런지 보겠습니다.

기계학습에는 크게 두 부류가 있습니다. '지도학습(Supervised Learning)'과 '강화학습(Reinforcement Learning)'이 그것입니다. '비지도학습(Unsupervised Learning)'이라는 것도 있지만, 아직 갈 길이 멀어서 제외했습니다. 기계학습은 '입력값'과 '출력값' 사이의 패턴, 상관관계, 연결규칙, 함수 등을 찾는 작업을 가리킨다고 요약할 수 있습니다.

지도학습에서 중요한 것은 데이터입니다. 지도학습에서 입력값과 출력값은 모두 우리가 정답을 알고 있는 데이터입니다. 즉, 어떤 입력값이 있으면 그에 대응하는 정확한 출력값이 있다는 식입니다. 1 다음에 3이 왔다, 3 다음에 5가 왔다, 5 다음에 7이 왔다, 7 다음에 9가 왔다... 이런 식으로 {입력값, 출력값}의 쌍이 아주 많이 확보되어 있다고 해 봅시다(이런 걸 '데이터 세트(data set)'이라고 부릅니다). 이 경우 입력값과 출력값을 연결해 주는 규칙은 무엇일까요? 17 다음에 올 수는 무엇일까요? 우리는 이 물음들에 어렵지 않게 답할 수 있습니다. 규칙은 앞 수에 2를 더한다는 것이고, 17 다음에는 19가 올 겁니다. 이런 단순한 추론과 응용은 누구라도 어렵지 않게 할 수 있습니다.

그런데 데이터가 아주 많다고 해 봅시다. 세간에 많이 이야기되는 빅데이터를 떠올려도 좋습니다. 과연 이런 상황에서 입력값과 출력값을 연결해 주는 규칙을 쉽게 찾을 수 있을까요? 사람에게 어려운 그 일을 프로그램을 시켜서 찾게 해 볼 수 있겠지요? 바로 이것이 '지도학습'이라고 불리는 과정입니다. 지도학습에서 가장 중요한 것은 정답을 알고 있는 데이터입니다. 잘못된 데이터가 더 많이 끼어들수록 잘못된 연결규칙을 찾거나 규칙을 찾지 못하거나 할 겁니다. 흔히 데이터가 중요하다고 하지만, 이는 틀린 말입니다. 중요한 것은 정확하고 많은 데이터입니다.

지도학습은 아직 일어나지 않은 상황에서 '예측'과 '추천'을 가능케 합니다. 가령 아마존은 고객들이 생산한 수많은 클릭과 체류시간과 구매에 이르는 데이터를 갖고 있습니다. 그리고 지도학습을 통해 이 데이터로부터 연결패턴을 찾아냅니다. 당연히 고객이 선호할 만한 상품을 예측해서 추천해 주겠지요. 이를 통해 매출은 증가할 수 있습니다. 대부분의 ICT 기업이 인공지능을 통해 하려는 일도 유사합니다. 예측과 추천입니다. 검색 결과를 추천해 주고, 번역 문장을 추천해 주고, 자동차 이동 경로를 추천해 주고, 가까운 기사를 추천해 주고... 이렇게 고객 만족을 통해 이윤을 극대화하는 겁니다.

"지도학습이 현실의 데이터로부터 연결규칙(pattern, function)을 찾아내는 과정이라면, 강화학습은 행동규칙(rule)이 정해진 플레이에서 최선의 수를 찾아내는 것을 목표로 합니다. 가령 중국 바둑 규칙에 따라 바둑을 둔다고 할 때, 매번 둘 때마다 승률이 가장 높은 수를 찾아내는 것이지요. 아니면 스타크래프트에서 최선의 키보드-마우스 조작 방법을 찾는 작업이라 해도 좋습니다. 목표는 최고의 보상(maximaized reward)입니다. 바로 알파고가 최종적으로는 강화학습을 통해 만들어졌지요."

알파고는 한국 사회에 인공지능 열풍을 일으키기도 했지만 심각한 오해도 함께 불어넣어 주었습니다. 강화학습에는 본래 데이터가 필요 없습니다. 그런데 이세돌과 대국한 알파고, 이듬해 중국 기사들과 대국한 알파고는 인간이 생산한 기보를 통해 학습했습니다. 데이터를 사용한 거지요. 그렇게 해서 만들어진 최강자가 '알파고 마스터' 버전입니다. 인간 프로 기사에게 완승을 거두었지요. 한편 중국 바둑 규칙 내에서 마음대로 플레이하고, 승률이 높은 수를 찾도록 하는 훈련을 시켜 만들어낸 것이 '알파고 제로' 버전입니다. 무려 자가대국 2900만 판을 두도록 했습니다. 그리고 역사적 대국이 벌어집니다. '알파고 마스터' 대 '알파고 제로'의 대결. 알파고 제로는 89대 11로 알파고 마스터를 이겼고, 바로 바둑에서 은퇴했습니다.

알파고 개발사 '구글 딥마인드'는 이세돌과 대국을 벌인 2016년에는, 본래 데이터 없이 최고 보상을 찾도록 하는 '강화학습 형 기계학습'과 데이터가 필요한 '지도학습 형 기계학습'을 섞어서 사용했지만, 2017년에는 '데이터 없이도' 인공지능이 만들어질 수 있다는 것을 보여주었습니다. 알파고는 처음부터 인간 기보 없이 만들어질 수 있었고, 오히려 인간 기보에 포함된 나쁜 데이터가 장애 요인이 됐습니다. 이제 더 이상 인간이 생산한 데이터가 필요 없는 인공지능이 등장했다는 오보는 강화학습과 지도학습을 혼동한 데서 비롯됐습니다. '알파고'라는 이름이 계속 사용되었기 때문에 생긴 문제이기도 합니다.

알파고는 '신경망'을 갖춘 '딥러닝'을 통해 만들어진 인공지능인 건 맞습니다. 하지만 이런 용어들은 요즘의 모든 기계학습 프로그램의 작동 원리이기도 합니다. 더 중요한 건 기계학습 중에서 '지도학습'과 '강화학습'의 구별입니다. 지도학습은 데이터 분석에 기반한 규칙 파악이 중요하고, 강화학습은 데이터가 필요 없이 규칙에 따른 플레이에서의 최대 보상이 중요합니다. 알파고는 데이터 없이 개발될 수 있는 '강화학습' 기반 인공지능입니다. 처음에 데이터를 통해 학습했던 건 연구 초기 단계였기 때문에 어쩔 수 없었을지라도, 혼동의 여지를 제공한 건 분명 문제입니다. 딥마인드건 언론이건 오해를 바로잡았어야 한다고 봅니다.

지금까지 인공지능 판사의 문제를 다루기 위한 기초 지식을 다져봤습니다. 끝내기 전에 한 가지 꼭 짚고 갈 점이 있습니다. 기자들 공부 좀 많이 합시다. 아울러 기자들의 잘못된 보도에 넘어가지 않으려면 독자들도 공부를 많이 한 '깨어있는 시민'이 되어야 합니다.

원글:
알파고는 애초에 기보 데이터가 필요하지 않았다

참고:
[팩트체크(fact-check) 01] '동양철학'은 없(었)다

Sort:  

스팀잇을 시작하면서.. 다른 sns보다 양질의 글을 더 많이 읽게되는 것 같습니다. 덕분에 깨시민에 조금씩 가까워지는듯 합니다ㅎㅎ

어떤분이 머신러닝을 케이크로 비교하면 토핑이 강화학습이고 생크림이 지도학습, 마지막으로 빵이 비지도학습이라고 말한 걸 들은 것 같네요. 글 잘보고 갑니다.

동의합니다. 인공지능 뿐만아니라 블록체인 시장에서도 많은이들이 작동원리를 정확히 알고있어야 시장주도자들 또는 정부가 제대로된 방향을 제시하고 있는지 알수 있을것이라 생각합니다.

역시 @armdown님의 글은 매번 감탄하고 갑니다.

멋진 설명 감사합니다.^^

앗 요호님,..,,, 살아 계셨군요.ㅋㅋ

Posted using Partiko iOS

ㅎㅎ 살아는 있습니다.^^

여튼 기계는 인간이 못이김...^

강연에 이어
오늘 기사를 접하고 많이 의아했었는데

아름다운 형아
깔끔한 정리 완전 고마웡~!

알파고는 어디까지나 알파버젼
아직 베타테스트도 안한

스팀잇 베타 딱지 근처에도 못 감

그러고보니 우리(?)는 우리에 가둔
스팀잇 베타 테스터들인감?

화두

지도학습과 강화학습의 차이를 잘 설명해줘서 고마워!

곧 지능을가진 컴퓨터가 탄생하겠지요? ㅎㅎ 트렌센더스 영화처럼요!

제발 기자들이 좀 읽었으면 합니다. 인공지능 분야를 떠나서... 오보는 기자로서 자존심 상하는 일 아닙니까...

감사합니다. 이제 구분할 수 있겠습니다^^ 인간의 데이터가 필요한 분야와 오히려 인간의 데이터가 방해가 되는 분야를 나누어 연구되어야겠습니다^^

Posted using Partiko Android

eeple님이 armdown님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
eeple님의 웹소설을 위한 문장 쓰기 (연습)

...었어요! ㅎㅎ
실은 웹소설 완결까지 써보는게
제 버킷리스트(!) 중 하나거든요.
이런 식으로 좀더 문장쓰기 연습을
시도해봐야겠습니다. :)
덧. 스파를 임대해주신 armdown께 매우 격하게 감사드려요!^_^ ㅎㅎ

모 처럼만에 술술 잘 읽히는 글이네요(공돌이). 명확한 설명 감사합니다.

dozam님이 armdown님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
pediatrics님의 번역의 중요성에 대한 좀더 깊은 생각 - 박상익,《번역청을 설립하라》

.... 많이도 아니고 마지막 장 두어 페이지요.
꽤 다르더군요.
이후로 어색한 의역본 소설을 읽으면 의심하는 버릇이 생겼습니다. 때론 안읽으니만 못한 것도 있더군요.
armdown님이 그렇게 멋진 분인걸 알려주시네요, 덤으로...

기보를 보고 해서 유리했다는 주장때문에 아예 기보 없는 버전을 공개했던것도 같아.

bluengel님이 armdown님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
wonsama님의 (진행중) 004.빈칸맞추기.상금2스달.kr-blank

정답~!
자아름다운형아~! armdown 호출 ㅋㅋ

@armdown님 곰돌이 자다 깨서 보팅 왔어요. 그럼 전 다시 꿈나라로~ @gomdory 곰도뤼~

steemhunt님이 armdown님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
steemhunt님의 Reinventing the Role of Steemhunt Influencers | Sponsor Report - #23

...znsamuel | 1,010,094 VESTS (500 SP) | 0.08 | 0.115 | 514 |
| armdown| 813,662 VESTS (403 SP) | 0.07 | 0.093 | 414 |
| elevator09 ...

beonvoyage님이 armdown님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
beonvoyage님의 얼떨떨하네요..^^

... 많은 분들이 도움을 주셨어요.
danihwang님께서 뉴비인 저를 일주일간 보팅으로 도와 주셨고, 어제는 armdown께서 100 스파를 대여해 주셨어요~^^
오늘 아침엔 haejin and ranchorelaxo라는 분께서 ...

Hi @armdown!


Your UA account score is currently 4.209 which ranks you at #2734 across all Steem accounts.
Your rank has not changed in the last three days.Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!

In our last Algorithmic Curation Round, consisting of 298 contributions, your post is ranked at #136.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Try to improve on your user engagement! The more interesting interaction in the comments of your post, the better!

Feel free to join our @steem-ua Discord server