로봇과 인공지능에 있어서 80~90년대는 가능성과 동시에 좌절의 시대였다. 다른 많은 산업분야에서 기술의 혁명적인 발전이 이루어지면서 로봇과 인공지능에 대한 기대도 같이 커졌던 것이다.
하지만 현실은 기대에 한참 못 미쳤다. 인간의 모습을 한 영화 속의 로봇은 현실로 나오지 못했고 Fuzzy와 같은 립 서비스만이 인공지능을 대신했다. 컴퓨터가 인간처럼 생각하려면 CPU가 종합운동장 한가득 필요할 것이다...라는 교수님의 말씀이 충격적이었다. 그땐 x486 컴퓨터가 제일 좋았을 시절이니 맞는 말씀일 것이다.
그렇게 인공지능을 탑재한 로봇은 무려 20여년간 우리의 관심에서 멀어져 있었다. 그 자리는 인터넷과 스마트폰이 차지했고 눈부신 발전을 이루어나갔다. 그렇게 잊혀진 인공지능이 2016년 3월 단 한방의 일격으로 우리 인간들의 눈을 사로잡았다. 알파고가 이세돌 9단을 4:1로 누른 것이다.
알파고와 함께 널리 알려진 용어가 딥 러닝(Deep Learning)이다. 필자도 처음 이 말을 들었을 때 다소 생소했다. 머쉰 러닝인 줄은 알겠는데 딥 러닝? 뭐가 그렇게 딥하다는거지? ㅎㅎ 그런데 좀 더 알아봤더니 공교롭게도 필자의 석사 논문 주제였던 신경회로망(Neural Network, 요즘 인공신경망이라 한다.)과 크게 다르지 않는 것이다. 옳거니 이거 내가 잘 아는거구나.
인간의 뇌는 잘 아시다시피 신경세포인 뉴우런과 이 뉴우런을 이어주는 시냅스로 이루어져 있다. 인공신경망은 이러한 뇌의 구조를 모방해서 만든 것이다.
OMG! 이게 뭐지? 걱정 마시라. 필자의 포스팅에는 수식이 없다. ㅎㅎ
실제 뉴우런에서는 어떤 세포에 들어가는 알짜 입력과 다른 세포들의 출력 사이에 시간 지연 현상이 생기는데 이것은 셀 멤브레인(cell membrane)의 저항과 전기 용량 그리고 두 세포들 간의 시냅스의 전도성으로 인해 생기는 것이다.
오래된 필자의 논문 내용을 그대로 옮기니까 좀 딱딱한데... 다시 말해서 인간의 뇌는 시냅스로 연결되어 있는 뉴우런으로 구성되어 있는데 학습의 과정은 뉴우런을 연결하는 시냅스의 전도성을 조절함으로써 가능해진다. 이것을 인공적인 신경망으로 구현한 것이다.
인공신경망이 특별한 것은 학습의 결과를 피드백하는 것인데 이것을 Back-propagation이라고 한다. Back-propagation의 과정을 통해서 노드와 노드를 연결하는 가중치를 조절하는 것이다. Deep Learning은 이러한 인공신경망이 심층(multi-layer)로 구성된 것을 말한다.
지난 20여년간 인공신경망의 암흑기를 지나고 왜 지금은 Deep Learning이 가능해진걸까? 그것은 프로세싱 하드웨어의 눈부신발달과 빅데이터 때문이라고 할 수 있다.
암호화폐 채굴기에 이용되는 GPU는 인공신경망을 구현하는데 매우 적합하다. 그 성능은 x486 CPU의 수천배에 이를 것이다.(사실 막대한 전기와 CPU/GPU들이 암호화폐를 채굴하는데 사용된다는 건 엄청난 낭비가 아닐 수 없다. 암호화폐는 지구온난화의 새로운 주범이 될 지도 모르겠다.)
또한 인터넷과 자료의 디지털화로 인해 빅데이터의 구축이 가능해졌다. 아무리 똑똑한 기계라도 입력 데이터를 제대로 넣어주지 않으면 원하는 결과를 얻을 수 없다. Garbage In - Garbage Out
그럼 알파고는 딥 러닝을 어떻게 이용하였을까? 그건 다음 시간에...
To be continued...