08.5 딥러닝의 미래

딥러닝은 앞에서 언급한 분야 외에도 여러 분야에서 이용되어 왔습니다. 이번 절에서는 딥러닝의 가능성과 미래를 느낄 만한 연구를 몇 가지 소개하겠습니다.

8.5.1 이미지 스타일(화풍) 변환

딥러닝을 활용해 화가처럼 ‘그림을 그리는’ 연구가 있습니다. [그림 8-23]은 두 이미지를 입력해서 새로운 그림을 생성하는 연구입니다. 하나는 ‘콘텐츠 이미지’, 다른 하나는 ‘스타일 이미지’라 부르는데, 이 둘을 조합해 새로운 그림을 그려주죠.

[그림 8-23]과 같이 고흐의 화풍을 콘텐츠 이미지에 적용하도록 지정하면, 이를 기초로 딥러닝이 새로운 그림을 그립니다. 이 기법을 담은 「A Neural Algorithm of Artistic Style」 논문[39]은 발표되자마자 전 세계에서 많은 이목을 끌었습니다.

스타일 변환 미술 전송 도로시가 붓을 들어 고흐의 스타일 이미지 화풍을 본인의 일상 사진에 슥 입히자, 캔버스 위에 고흐 특유의 붓 터치와 강렬한 파스텔 색감으로 재탄생하는 장면을 보이며 지니가 설명하고 있어요.

도로시의 스타일 전송(Style Transfer) 미술 감상

  • 도로시: “지니! 평범한 사진에 고흐나 피카소의 화풍을 그대로 입히는 스타일 변환(Style Transfer)이 너무 신기해! 이미지의 고유한 형태(Content)는 남기면서, 미술 화풍의 질감과 색채(Style)만 스타일 행렬로 쏙 흡수해서 그려내는 원리래!”
  • 지니: “맞아! 신경망 각 층의 활성화 값 분산과 상관관계(Gram Matrix)를 일치시키도록 역전파를 수행하여 최적의 예술적 화풍을 빚어내는 흥미로운 응용 기술이란다.”

그림 8-23 「A Neural Algorithm of Artistic Style」 논문을 구현해 적용한 예 : 왼쪽 위가 ‘스타일 이미지’, 오른쪽 위가 ‘콘텐츠 이미지’, 아래가 새로 생성한 이미지[40]

그림 8-23

여기에서는 이 연구를 자세히 설명하지는 않겠습니다. 큰 틀만 이야기하면, 이 기술은 네트워크의 중간 데이터가 콘텐츠 이미지의 중간 데이터와 비슷해지도록 학습합니다. 이렇게 하면 입력 이미지를 콘텐츠 이미지의 형태를 흉내 낼 수 있습니다. 또, 스타일 이미지의 화풍을 흡수하기 위해 ‘스타일 행렬’이라는 개념을 도입합니다. 그 스타일 행렬의 오차를 줄이도록 학습하여 입력 이미지를 고흐의 화풍과 비슷해지게 만들 수 있는 것입니다.*


* 옮긴이_ Prisma?! 많은 분이 이 앱을 떠올리셨을 겁니다. Prisma는 이미지 스타일 변환 기법을 대중의 손바닥 위에 올려준 대표적인 앱으로, 애플이 ‘2016년을 빛낸 최고 앱’으로 뽑았을 만큼 선풍적인 인기를 누렸습니다. 이 앱은 합성곱 신경망(CNN) 기술과 인공지능을 조합해 평범한 그림뿐 아니라 동영상에까지 예술가의 혼을 심어줍니다(http://prisma-ai.com/).

8.5.2 이미지 생성

앞의 이미지 스타일 변환 예는 새로운 그림을 생성하려면 이미지 두 장을 입력해야 했습니다. 한편 아무런 입력 이미지 없이도 새로운 이미지를 그려내는 연구도 진행 중입니다. 물론 먼저 대량의 이미지를 사용하여 학습하긴 하지만, 학습이 끝난 후에는 아무런 입력 이미지 없이도 새로운 그림을 그려냅니다. 가령 딥러닝으로 ‘침실’ 이미지를 무로부터 생성하는 게 가능합니다. [그림 8-24]의 이미지는 DCGANDeep Convolutional Generative Adversarial Network 기법[41]으로 생성한 침실 이미지들입니다.

그림 8-24 DCGAN으로 새롭게 생성한 침실 이미지들[41]

그림 8-24

[그림 8-24]의 이미지들은 진짜 사진처럼 보일지 모르지만, 모두 DCGAN을 사용해 새롭게 생성한 이미지입니다. 즉, DCGAN이 그린, 아직 아무도 본 적 없는 이미지(학습 데이터에는 존재하지 않는 이미지)이며, 처음부터 새로 생성한 이미지입니다.

자, 진짜와 구분할 수 없는 수준의 이미지를 그리는 DCGAN은 이미지를 생성하는 과정을 모델화합니다. 그 모델을 대량의 이미지(가령 침실이 찍힌 대량의 이미지)를 사용해 학습하고, 학습이 끝나면 그 모델을 이용하여 새로운 그림을 생성할 수 있습니다.

DCGAN도 딥러닝을 사용합니다. DCGAN 기술의 핵심은 생성자Generator식별자Discriminator로 불리는 2개의 신경망을 이용한다는 점입니다. 생성자가 진짜와 똑같은 이미지를 생성하고 식별자는 그것이 진짜인지(생성자가 생성한 이미지인지, 아니면 실제로 촬영된 이미지인지)를 판정합니다. 그렇게 해서 둘을 겨루도록 학습시켜, 생성자는 더 정교한 가짜 이미지 생성 기술을 학습하고 식별자는 더 정확하게 간파할 수 있는 감정사로 성장하는 것이죠. 이렇게 둘의 능력을 부지런히 갈고닦게 한다는 개념이 GANGenerative Adversarial Network 기술의 재미난 점입니다. 그렇게 절차탁마해서 성장한 생성자는 최종적으로는 진짜와 착각할 정도의 이미지를 그려내는 능력을 기르는 것입니다.

GAN 생성자와 식별자 겨룸 지니가 위조지폐범(생성자 Generator)이 되어 정교한 가짜 이미지를 그려내자, 엄격한 경찰 감정사(식별자 Discriminator) 도로시가 돋보기를 들고 진짜와 가짜를 판별하며 경쟁적으로 실력을 훈련하고 있어요.

지니의 적대적 경쟁 학습 (GAN)

  • 지니: “도로시, 아무런 입력 이미지 없이 무(無)에서 극사실 침실 이미지를 스스로 창작해 내는 GAN(적대적 생성 신경망)의 핵심은 바로 이 생성자(Generator)와 식별자(Discriminator)의 적대적 경쟁이란다.”
  • 도로시: “아! 생성자는 식별자를 완벽히 속이기 위해 더 정교한 이미지를 그리고, 식별자는 속지 않기 위해 감정 능력을 키우는 ‘적대적 절차탁마’네! 결국 둘 다 초고수로 성장해서 진짜 같은 이미지를 빚어내는구나!”

NOTE_ 이전까지 살펴본 기계학습 문제는 지도 학습supervised learning이라는 유형의 문제였습니다. 지도 학습은 손글씨 숫자 인식처럼 이미지 데이터와 정답 레이블을 짝지은 데이터셋을 이용합니다. 그러나 이번 절에서 거론한 문제는 지도용 데이터는 주어지지 않고, 단지 대량의 이미지(이미지의 집합)만 주어집니다. 즉, 지도 없이 스스로 학습하는 자율 학습unsupervised learning 문제입니다. 자율 학습은 비교적 오래전부터 연구된 분야지만(Deep Belief Network와 Deep Boltzmann Machine이 대표적입니다) 최근에는 그다지 활발하게 연구되지는 않는다는 느낌입니다. 최근 딥러닝을 사용한 DCGAN 등과 같은 기법이 시선을 끌면서, 앞으로 자율 학습도 새로운 도약을 기대할 수 있을지도 모릅니다.

8.5.3 자율 주행

사람 대신 컴퓨터가 자동차를 운전하는 자율 주행 기술이 눈앞으로 다가왔습니다. 자동차 제조업체뿐 아니라 IT기업과 대학, 연구소 등도 자율 주행 상용화 경쟁에 뛰어들었습니다. 자율 주행은 다양한 기술(주행 경로를 정하는 경로 계획path plan 기술과 카메라나 레이저 등의 탐사 기술 등)을 모아 구현하고 있지만, 그중에서도 주위 환경을 올바르게 인식하는 기술이 가장 중요한 문제라고 합니다. 시시각각 변하는 환경과 종횡무진 오가는 다른 차와 사람들을 올바르게 인식하기가 매우 까다롭기 때문이죠.

다양한 환경에서도 안전한 주행 영역을 올바로 인식하게 되면 자율 주행의 실현도 멀지 않을지도 모릅니다. 그리고 최근에는 그런 주위 환경을 인식하는 기술에서 딥러닝이 큰 역할을 해줄 것으로 기대하고 있습니다. 예를 들어 SegNet[42]이라는 CNN 기반 신경망은 [그림 8-25]와 같이 주변 환경을 정확하게 인식해냅니다.

그림 8-25 딥러닝을 활용한 이미지 분할의 예 : 도로, 차, 건물, 인도 등을 정확하게 인식한다.[43]

그림 8-25

[그림 8-25]와 같이 입력 이미지를 분할(픽셀 수준에서 판정)하고 있습니다. 결과를 보면 도로와 건물, 보도와 나무, 차량과 오토바이 등을 어느 정도 정확히 판별하고 있습니다. 이런 인식 기술이 딥러닝에 힘입어 향후 한층 정확해지고 빨라지면 자율 주행이 일상에 파고든 영화 속 모습이 현실이 되겠죠.

자율주행 도로 환경 분할 도로시와 토토가 탄 자율주행 차가 주행할 때, 차내의 SegNet 카메라가 도로(보라색), 다른 차량(파란색), 보행자(빨간색)를 픽셀 단위로 정확히 감지해 안전하게 핸들을 돌려 전진하고 있어요.

도로시의 자율주행 환경 감지

  • 도로시: “와! 자율주행 차량이 주변 3D 도로 상황을 픽셀 수준으로 FCN 분할(SegNet)해서 어디가 주행 가능한 도로이고 어디가 장애물인지 실시간으로 매끄럽게 알아내니까 정말 편안하고 안전해!”
  • 지니: “그래. 카메라 센서 신호를 딥러닝으로 순간 포착하여 공간을 인식하는 기술은 현대 자율주행차 실현의 절대적인 핵심 뼈대란다.”
  • 토토: “왈왈! (운전대 옆에서) 목적지까지 직진이다 멍!”

8.5.4 Deep Q-Network(강화학습)

(자전거를 배울 때처럼) 사람이 시행착오를 겪으며 배우듯 컴퓨터도 시행착오 과정에서 스스로 학습하게 하려는 분야가 있습니다. 이는 ‘가르침’에 의존하는 ‘지도 학습’과는 다른 분야로, 강화학습reinforcement learning이라 합니다.

강화학습에서는 에이전트Agent라는 것이 환경에 맞게 행동을 선택하고, 그 행동에 의해서 환경이 변한다는 게 기본적인 틀입니다. 환경이 변화하면 에이전트는 어떠한 보상을 얻습니다. 강화학습의 목적은 에이전트의 행동 지침을 더 나은 보상을 받는 쪽으로 바로잡는 것입니다([그림 8-26]).

그림 8-26 강화학습의 기본 틀 : 에이전트는 더 좋은 보상을 받기 위해 스스로 학습한다.

그림 8-26

[그림 8-26]은 강화학습의 기본 틀입니다. 여기에서 주의점은 보상은 정해진 것이 아니라 ‘예상 보상’이라는 점입니다. 예를 들면 <슈퍼 마리오 브라더스>에서 마리오를 오른쪽으로 이동했을 때 얻는 보상이 항상 명확한 것이 아닙니다. 어떤 상황에서 이동한 것이냐에 따라 보상은 천차만별이 될 수 있겠죠. 이런 불명확한 상황에서는 게임 점수(동전을 먹거나 적을 쓰러뜨리는 등)나 게임 종료 등의 명확한 지표로부터 역산해서 ‘예상 보상’을 정해야 합니다. 만약 지도 학습이었다면 행동에 대한 ‘지도’를 통해 올바른 평가를 받을 수 있었을 겁니다.

딥러닝을 사용한 강화학습 중 Deep Q-Network(일명 DQN)[44]라는 방법이 있습니다. 이는 Q학습이라는 강화학습 알고리즘을 기초로 합니다. Q학습에서는 최적 행동 가치 함수로 최적인 행동을 정합니다. 이 함수를 딥러닝(CNN)으로 비슷하게 흉내 내어 사용하는 것이 DQN입니다.

DQN 연구 중에는 비디오 게임을 자율 학습시켜 사람을 뛰어넘는 수준의 조작을 실현한 사례가 보고되고 있습니다. [그림 8-27]과 같이 DQN에서 사용하는 CNN은 게임 영상 프레임(4개의 연속한 프레임)을 입력하여 최종적으로는 게임을 제어하는 움직임(조이스틱 이동량이나 버튼 조작 여부)에 대하여 각 동작의 ‘가치’를 출력합니다.

그림 8-27 Deep Q-Network로 비디오 게임 조작을 학습한다. 비디오 게임 영상을 입력받아 시행착오를 거쳐 프로게이머 뺨치는 게임 컨트롤을 학습한다.[44]

그림 8-27

그동안의 비디오 게임 학습에서는 게임의 상태(캐릭터 위치 등)는 미리 추출하는 것이 보통이었습니다. 그러나 DQN에서는 [그림 8-27]과 같이 입력 데이터는 비디오 게임의 영상뿐입니다. 이는 DQN의 주목할 점으로, DQN의 응용 가능성을 현격히 높였다고 할 수 있습니다. 게임마다 설정을 바꿀 필요없이 단순히 DQN에 게임 영상을 보여주기만 하면 되기 때문이죠. 실제 DQN은 구성을 변경하지 않고도 팩맨과 아타리Atari 같은 많은 게임을 학습할 수 있으며, 수많은 게임에서 사람보다 뛰어난 성적을 거두고 있습니다.

NOTE_ 2016년에는 인공지능인 알파고AlphaGo[45]가 바둑 챔피언 이세돌을 꺾었다는 소식이 화제였습니다. 이 알파고에도 딥러닝과 강화학습이 이용되었습니다. 알파고는 3,000만 개의 프로 기보를 보며 학습한 후, 알파고 스스로 자신과 맞붙는 대결을 반복하면서 수련했습니다. 또한, 알파고와 DQN은 모두 구글이 인수한 딥마인드Deep Mind가 진행한 연구입니다. 앞으로도 딥마인드의 활약을 기대해봅니다.*


* 옮긴이_ 딥마인드의 다음 목표는 스타크래프트2 정복입니다. 실제 인간이 그러하듯 게임 화면만 보고 스타크래프트2를 플레이하는 인공지능을 목표로 한다는데… 한편으로는 무섭기까지 한 이런 세상이 의외로 아주 빨리 도래할지도 모릅니다. 블리자드가 2017년 1분기에 이미지 기반 AI API와 스크립트 기반 AI API를 공식 공개하기로 했으니, 관심 있는 분은 주시하시기 바랍니다.

서브목차