지난 3월 치러진 인간 대표 이세돌 9단과 인공지능 ‘알파고’의 치열했던 바둑 대국은 대중들에게 인공지능에 대한 관심을 폭발시키기에 충분했습니다. 그럼 왜 지금까지는 알파고 같은 인공지능이 나오지 않았을까요? 이는 최근 10년 사이 ‘딥러닝(Deep Learning)’이라는 기술이 급속히 발전했기 때문입니다.
그래서 오늘은 딥러닝이 무엇인지, 그리고 원리와 적용 사례는 무엇이 있는지 알아보는 시간을 갖도록 하겠습니다. 지난 8일 LG디스플레이 파주 컨퍼런스룸에서 진행된 서울대학교 이정우 교수님의 강의를 토대로 포스팅을 재구성했습니다.
딥러닝의 개념
일반적으로 컴퓨터는 사진만을 놓고 고양이와 개를 구분하지 못합니다. 물론 꽃의 종류도 영상이나 이미지만으로 파악하기 힘들다고 합니다. 사람은 직관적으로 ‘고양이!’ ‘개!’하고 아주 쉽게 분별하는 작업을 컴퓨터는 매우 복잡한 과정을 거쳐야만 이해할 수 있다는 것이죠.
이를 위해 기계학습(Machine Learning)이라는 방법이 고안됩니다. 많은 데이터를 컴퓨터에 입력해주면 비슷한 것들끼리 분류해서 개를 개로, 고양이를 고양이로 판독하도록 훈련하는 방식이죠. 컴퓨터가 스스로 훈련하면서 패턴을 찾아내 분류하는 기술적 방식, 이를 기계학습이라고 합니다.
▲ 딥러닝 기술은 사람의 뇌에서 정보를 처리하는 ‘뉴런(Neuron)’과 비교되기도 한다
딥러닝은 위에서 설명한 기계학습의 한 분야로 분류되는데요. 일일이 ‘이렇게 하시오, 저렇게 하시오.’ 식으로 프로그램에 미리 조건을 확인하고 명령을 해두는 방식이 아니라, 다양한 상황에 대해 프로그램이 근사(똑같지는 않지만 비슷한)적인 판단을 내릴 수 있도록 하는 것이 딥러닝입니다. 쉽게 말하면, 컴퓨터가 사람처럼 사고하도록 만드는 기술이라고 할 수 있습니다.
자, 그럼 본격적으로 딥러닝이 어떻게 문제를 해결해나가는지 알아보겠습니다.
딥러닝이 문제를 해결하는 방식
딥러닝은 수많은 데이터 속에서 패턴을 발견하며 객체를 분별합니다. 처음에는 단순하게 선이나 색만 구별한다면, 나중에는 모양을 인식하고 다음엔 추상적인 레벨까지 구분할 수 있게끔 학습시키는 것이죠. 패턴을 발견해나가는 과정도 몇 가지로 나뉘는데요. 아래에서 알아보시죠.
1. 지도 학습(Supervised Learning)
첫 번째 과정은 지도학습입니다. 이는 아무것도 모르는 어린아이에게 ‘이런 이미지가 고양이야’라고 차근차근 교육하는 방식이라고 보시면 됩니다. 처음엔 미숙할지라도 매일 각종 고양이 사진을 보다 보면 확실히 고양이에 대한 개념을 확실히 알 수 있게 되겠죠? 학습 데이터가 적으면 오류가 커지므로 데이터양은 충분해야 합니다.
2. 비지도 학습(Unsupervised Learning)
반면 비지도 학습은 위의 교육 과정이 생략됩니다. ‘이런 이미지가 고양이야’라고 학습하는 게 아니라 컴퓨터가 ‘이런 이미지가 고양이군’이라고 자율적으로 깨닫게 하는 것이죠. 위에서 어린아이가 교육으로 새로운 것들을 알아갔다면, 비지도 학습은 정글에서 혼자 남겨진 아이가 살아남는 방법을 스스로 깨닫는 것과 같습니다. 고도의 연산 능력이 요구돼 웬만한 컴퓨팅 능력으로는 시도하기 쉽지 않다는 특징이 있습니다.
구글 블로그 내용에 따르면 자사 비밀 연구소인 ‘구글X’에서 비지도학습 방식으로 유튜브 내 고양이 이미지를 식별하는 딥러닝 기술을 개발 완료한 상태라고 합니다.
3. 강화 학습(Reinforcement Learning)
마지막 개념은 고양이가 아닌 바둑으로 예를 들어보겠습니다. 만약 바둑의 ‘바’도 모르는 어린아이에게 약 15만 장의 기보를 끊임없이 교육한다면? 기보를 학습해 규칙을 발견한 아이는 그 후 혼자서 대국을 하게 됩니다. 흑돌도 자신이고 백돌도 자신인 고독한 게임. 그렇게 약 4주 동안 100만 판의 바둑을 둡니다. 그리고 끝내 바둑시합에 나가 노련한 프로 바둑기사에게 승리합니다!
예상하셨나요? 위는 강화 학습으로 이세돌 9단을 이긴 알파고의 이야기입니다. 프로기사들의 기보만 보며 학습했다면, 알파고는 사람의 능력 그 이상을 뛰어넘긴 힘들었을 겁니다. 엄청난 데이터를 기반으로 스스로 교육한 후, 자신 스스로 대국을 둬봄으로써 사람을 뛰어넘는 묘수를 터득할 수 있었던 것이죠! 이게 바로 강화 학습입니다.
그렇다면, 이제 딥러닝이 실제로 산업에서 어떻게 활용되고 있는지 알아보겠습니다.
딥러닝의 실제 적용 사례
딥러닝은 데이터 양 자체가 풍부하며, 높은 확률적 정확성이 요구되는 분야에서 가장 활발하게 연구되고 있습니다.
▲ 출처: Facebook Deep Face
대표적으로 페이스북에는 친구의 사진을 올렸을 때 자동으로 얼굴을 인식해 태그를 달아주는 얼굴 인식 알고리즘을 ‘딥페이스(Deep Face)’ 기술을 적용했습니다. 이용자가 올린 이미지의 얼굴의 측면만 봐도, 어떤 이용자인지 판별해낼 수 있다고 합니다. 인식 정확도는 97.25%로 인간 눈 인식 정확도인 97.53%와 거의 차이가 없을 정도라고 하네요.
▲ 출처: Google Deep Dream
지금까지 예술은 인간만이 할 수 있는 분야라고 생각하셨나요? 구글에서 개발한 인공지능 화가 ‘딥드림(Deep Dream)’의 작품을 보면 생각이 달라지실 겁니다. 위 그림을 보세요. 이름에 걸맞게 깊은 꿈속, 완전한 무의식의 세계에서나 나올 법한 환상적이고 초현실적인 분위기를 그려냅니다.
이미지 생성은 원래부터 구성되어 있던 사진, 그림을 토대로 이뤄지며, 이 과정에서 딥드림은 자신이 원래 의도된 이미지의 형태만을 과장하고, 그 외의 요소는 무시해, 이미지를 왜곡해냅니다. 더불어, 아무런 의미도 없는 노이즈 이미지에 반복적으로 절차를 시행해 이미지를 생성해낼 수 도 있습니다. 구글은 이를 두고 ‘We believe Machine intelligence is an innovation that will profoundly affect art’ (우리는 인공 지능이 예술 영역에까지 깊이 영향을 줄 수 있는 혁신이라고 생각한다)’고 이야기했습니다.
아래 사이트를 통해 딥드림이 그려내는 독특한 예술 작품을 직접 체험하실 수 있습니다.
Deep Dream Generator
이 밖에도 딥러닝이 적용될 수 있는 분야는 무궁무진합니다. 음성 인식과 번역, 같은 음성 분야는 물론 자율주행 자동차 분야에서도 보행자 감지와 교통신호와 표지판 등을 인식하는 데 이용할 수 있다고 합니다. 앞으로의 제품이나 서비스 경쟁력이 ‘뭘 만드는가’보다 ‘뭘 얼마나 똑똑하게 만드는가’가 될 것이라는 점을 생각해보면, 딥러닝 적용 분야에 제한은 없을 것으로 보이네요~