[리뷰] 미술관에 GAN 딥러닝 실전 프로젝트



개요

본 리뷰는 한빛미디어 출판사 "미술관에 GAN 딥러닝 실전 프로젝트(데이비드 포스터 저)"를 읽고 얻은 지식을 정리한 글입니다.

생성 모델링이란?


판별 모델링에만 익숙했던 대부분의 머신러닝 엔지니어에게 생성 모델링은 처음 접하는 순간부터 직관적으로 와 닿지는 않는생소한 개념이다. 확률과 통계는 이제 다 배웠다고 안심하고 책을 덮는 순간부터 다른 악마로 나타나 처음부터 다시 공부해야 한다더니만… 생성 모델링이 어렵게 느껴지는 이유 중 하나도 확률적 랜덤요소를 활용하기 때문이다.

조건부확률 - 베이즈정리 - 나이브베이즈라는 그 흔한 테크트리가 다시 등장한다. 본 도서에서는 아래와 같이 판별모델링과의 비교를 통해 생성 모델링에 대한 이해도를 높혀준다.

  • 판별 모델링 :
    • p(y|x)
    • 샘플 x가 레이블(카테고리) y일 확률을 추정.
    • 예 : 추천시스템, 이메일의 긍정/부정 추정, 사진을 통한 녹내장 발생확률 추정 등
  • 생성 모델링 :
    • p(x|y)
    • 레이블(카테고리) y를 통해 샘플x일 확률을 추정. 즉, 원본 데이터셋에 속할 가능성이 높은 픽셀을 출력하는 모델링.
    • 확률적 랜덤요소를 고려하여 샘플링한 데이터셋을 생성하는 방법.
    • 예 : GAN 생성모델링

생성 모델링이 의미가 있는 이유는 판별 모델링이 해낼 수 없는 AI 특성을 가지고 있기 때문이다. 강화학습의 시행착오, 사람의 인지능력을 모방하는데 핵심적인 도구로 활용된다.

그렇다면 도대체 어떻게 생성한다는 것인가? 본 도서에서는 아래 그림과 같이 간단한 생성 모델링 프레임워크 예제를 통해 P model에서 포인트 A, B, C를 생성하는 방법과 성공여부를 측정하는 방식을 알려준다. 더불어 핵심 개념을 파악하기 용이하게 끔 표본공간, 확률밀도함수, 모수모델, 가능도, 최대가능도추정 등 핵심 확률 개념을 다시금 짚어준다. 생성모델링프레임워크

이해를 돕는 사례들


이 책이 가지는 흥미로운 부분은 각 장별로 이해를 돕기위해 일상생활과 유사한 사례를 예로 든다는 점이다. 예를 들면 위에서 설명한 생성 모델링을 이해시키기 위해 아래 그림과 같은 로들행성과 픽셀행성에서의 새로운 패션 스타일을 창조하기 위한 방법을 마치 소설과 같이 설명해준다.

소설은 수학적 지식이 전무한 분들이나 문과출신 분들도 이해하는데 무리가 없기에 이해되지 않는 수식이나 용어들과 싸우는 대신 개념과 활용 용도를 파악하는데 있어 상당히 효과적인 방법이라고 생각한다. GAN을 접하는데 있어 이렇게 쉬운 방법으로 접근하는 책은 처음인 것 같다. 로들행성 픽셀행성

먼저 로들행성에서 위 그림과 같은 50개의 패션 샘플을 바탕으로 고수준 특성(머리모양, 색깔, 안경여부, 옷 등)만을 바탕으로 가법 평활화 등을 활용하여 새로운 패션을 생성하는 방법을 예로 든다. 반면 픽셀행성 예제에서는 고수준 특성을 포함하여 저수준 특성(픽셀의 가로 x 세로 갯수, RGB)까지 고려하여 표현학습과 비선형 매니폴드의 개념을 학습한다.

로들행성이 일반적인 데이터사이언스의 관점에서 접근한다면, 픽셀행성은 보다 심화된 딥러닝의 시각에서 접근하는데 두 예제만큼 딥러닝에서 GAN으로 매끄럽게 설명을 이어나가는 예제는 찾기 힘든것 같다. 상세히 정리하고 싶지만 리뷰 취지에는 벗어나기에 이 즈음에서 마무리하며 더 궁금하신 분들은 책을 참고하시기 바란다.

딥러닝 숲에서 VAE를 거쳐 GAN까지


딥러닝을 학습하다보면 자칫 활성화함수, 배치 정규화, 드롭아웃, 경사하강법, 오차역전파법 등 딥러닝을 이루는 세부 요소와 원리에 깊이 빠져들어 딥러닝의 숲을 이해하지 못하고 주화입마에 빠지는 경우가 종종 발생한다. 나아가 월드모델과 같은 최신 논문 혹은 기술이 등장하면 현재 학습하고 있는 딥러닝 좌표를 잃어버리고 헤매이게 된다.

무수히 많은 수식과 기본개념, 학습속도로 도저히 쫓아갈 수 없는 쏟아지는 최신 논문과 연구결과 속에서 본 도서는 현재 학습하고 있는 전체를 아우를 수 있는 큰 그림으로 학습중인 내용이 어느 위치에 해당하는지 명확한 좌표를 제시해준다. 2 ~ 4장에서 소개되는 지식들은 GAN을 구현하기 위해 반드시 알아야 할 필수 개념들이다.

먼저 GAN에서 활용되는 딥러닝의 핵심 기술들과 개념들을 자세히 알아본다. 아래 그림은 간단한 예제실습을 통해 알아본 CNN에 관한 설명이다. CNN

더불어 딥러닝의 필수 개념중 하나인 오토인코더(AE)를 비롯 그 한계를 뛰어넘기위해 사용된 변이형 오토인코더(VAE)에 대해 학습한다. 아래 그림은 VAE에 대한 소개 중 일부이다. VAE

VAE까지 학습하고나면 생성모델링에 대해 제법 가시적인 개념이 형성된다. GAN의 핵심개념부터 비교적 최신 연구결과인 WGAN-GP까지 정리하면 비로소 GAN의 기술들에 대한 큰 그림이 보이기 시작한다. GAN WGAN-GP

이렇듯 책의 구성이 전반적으로 Top-Down의 구조를 체계적으로 그려준다. 현존하는 최신기술들을 한눈에 정리해줌으로써 앞으로의 방향을 잃지 않게 해준다. 방향을 잃지않게 큰 그림과 개념을 지속적으로 잡아준다는 점. 바로 이 점이 본 도서의 뛰어난 매력중 하나이다.

이 책의 백미 : 그리기, 글쓰기, 작곡하기, 게임하기


이로써 딥러닝부터 GAN에 이르까지 핵심개념과 기초를 탄탄히 학습하였다. 이제 이 책의 백미인 주옥같은 감성넘치는 예제들을 실습하며 GAN의 실체를 가시적으로 살펴볼 단계이다.

  • 그리기
    • 역시나 초반부는 이해를 돕기위한 사례 소설이 또 등장한다. 사과를 파는 그래니 스미스와 오렌지를 파는 플로리다의 경쟁을 통해 CycleGAN의 핵심원리를 설명한다. CycleGAN을 통해 마치 고흐와 같은 아티스트가 시진의 풍경을 보고 그린듯한 결과를 생성할 수 있다.
    • 더불어 뉴럴 스타일 트랜스퍼 기법을 통해 특정이미지의 스타일을 원본 이미지로 옮기는 방법을 구현한다. CycleGAN이 특정 화가의 기풍을 학습한 결과라면, 뉴럴 스타일 트랜스퍼의 경우 특정 작품을 학습한다고 비유해야 할까?
  • 쓰기
    • 한 교도관이 죄수들을 이용하여 자신의 단편소설을 쓰게 하는 흥미로운 예제로 출발한다.
    • LSTM, GRU 등의 순환층을 활용하여 특정 글의 스타일을 흉내낸 텍스트 시퀀스를 생성하는 방법에 대해 배운다.
  • 작곡하기
    • 바흐의 첼로모음곡을 활용하여 옥타브, 키와 같은 개념을 학습한다.
    • 어텐션 기법을 활용하여 적층 LSTM, MuseGAN의 기술을 실습한다.
  • 게임하기
    • 오픈AI Gym 라이브러리를 활용하여 자동차 경주를 학습한다.
    • 아래 그림과 같은 월드모델을 활용하는데 VAE 생성모델에 강화학습을 접목한 방식이다. 개인적으로는 이 실습이 가장 흥미로웠고 GAN과 Reinforcement Learning을 동시에 학습할 수 있어서 가장 배운것이 많은 챕터였다. 생성모델을 의사환경으로 사용하여 전략 정책을 반복하는 기법인데 예전에 알파고와 유사한 것을 만들다가 어려운 난이도에 봉착했던 정책망에 대한 해결책을 얻을 수 있어서 뿌듯했다. 월드모델

이제 겨우 RNN, CNN 좀 알게 되었는데 어텐션은 또 뭐야?


오래 전도 아닌 고작 2019년 올해의 일이다. NLP, Computing Vision을 학습하며 이제 좀 CNN, LSTM, RNN 기법도 이해가 가고 딥러닝이 실용적인 측면에서 어떻게 활용되는지 알만해질 때 즈음 BERT가 등장했다. 아니 정확히는 어텐션 기반의 기법들이 등장하기 시작했다. 실제로는 더 이전에 등장했겠지만 적어도 필자의 레이더망에는 그 즈음에 포착되었다.

문제는 기껏 이전 기술들을 이제는 좀 알것 같아 실무에 적용 좀 해보려는데 BERT를 접하니 이전 기술들을 쓸 일이 없어졌다는 것이다. 아예 모르는것보다는 낫고 개념적으로도 도움이 되는것도 사실이지만 엔지니어링 측면에서는 좀 황당할 정도로 기존 레거시들을 활용할 일이 별로 없었다.

물론 다시 배우면 된다. 그런데 이젠 수없이 쏟아지는 논문과 연구결과 속에 도대체 지금 어떤 기술을 눈여겨봐야 하는건지 어떤 기술을 실무에 적용해야 하는건지… 미로속에 빠진 느낌이었다. 살면서 요즘처럼 열심히 공부를 한 적도 없는것 같은데 겨우 최신 기술의 산더미 속에 단어조차 생소한 기법이 이렇게 많다니..

기술의 부분 부분들은 요즘 잘 활성화된 페이스북 등의 커뮤니티, 오픈채팅방 또는 외국 커뮤니티나 Quora 등의 활동을 통해 물어보면 대부분 친절하게 답을 해준다. 그런데 거시적인 숲과 현재 내가 학습하는 기술의 위치를 알고 싶다면? 그건 정말 어렵다. 다들 필자 못지 않게 열심히 공부중이시라 시간들도 부족하시고 무엇보다 필자의 학습수준을 파악하여 필자의 현재위치를 알려줄만큼 한가한 분은 없다. 학습자의 입장에서 무례한 질문이라는 생각도 든다.

본 도서에서 개인적으로 가장 마음에 들었던 부분이 후반부 생성 모델링의 역사를 일목요연하게 정리해준 부분이다. 다뤄본적이 없던 GPT-2, MuseNet 등이 어텐션 기반의 모듈이라는 것도 새롭게 알 수 있었다. BERT 하나만 들이파도 시간과 정력이 부족한 나날이기에 다른것에 집중하기는 쉽지 않음을 인정하지만 적어도 근래에 핫한 최신기술이 어떤것이 등장하고 있고 그게 대충 뭔지는 알아야 내 기술의 현위치를 알 수 있고 이런 노력이 가치가 있는것인지 판단할 수 있을 것이다. 이런 측면에서도 이 책은 큰 가치를 발휘한다. GAN계보

정리하며 본 도서와 관련된 정보를 아래 링크로 남긴다.

누가 읽어야 하는가?


  • GAN 및 강화학습(Reinforcement Learning)에 관심이 많은 분

  • AI관련 최신 논문, 연구, 기술을 숲의안목으로 체계적으로 정리하고 싶은 분

  • 그 외 AI, 딥러닝 등에 관심이 많은 연구자, 프로그래머 등

책의 구성 및 요약


이 책은 크게 세부분으로 구성되며, 각 파트에서 다루는 내용을 아래와 같이 요약해 보았다.

  • 1. 생성 모델링, 딥러닝, VAE, GAN (Part1)
    • 생성 모델링과 확률의 개념, 복잡도를 해결하기 위한 딥러닝의 활용
    • 생성모델과 관련된 개념에 특화된 딥러닝의 전반적인 지식 재정립
    • 오토인코더의 한계점 분석, 변이형 오토인코더를 통한 무작위성 주입 및 잠재공간 분포방식 제한 기법 등
    • 애니멀 GAN 예제(생성자가 판별자를 속이기 위한 순환 방법)부터 WGAN-GP까지 GAN 기법 총정리
  • 2. GAN을 활용한 실습예제(Part2)
    • 그리기, 쓰기, 작곡하기, 게임하기 실습
    • GAN외에도 강화학습(Reinforcement Learning), MuseGAN, 적층LSTM, RNN, CNN 등 딥러닝의 핵심기법을 거의 모두 배울 수 있다.
  • 3. 생성모델링의 미래(9~10장)
    • 2019년 최신기술까지 생성 모델링의 발전과 관련된 핵심 기술, 연구를 한눈에 살펴본다.
    • 결론(10장)에서는 GAN을 넘어선 AI에 대한 저자의 통찰력이 담긴 고민도 엿볼 수 있다.

요약하며…


2019년 한해가 어느덧 저물어간다. 2019년 한해동안 GAN, Reinforcement Learning으로 대표되는 AI기술들과 연구 결과는 끊임없이 쏟아졌고 축적되는 지식의 Volume은 점점 가속화되고 있다. BERT와 같은 기술 하나에 집중하기도 어려운데 정신을 차리고 주위를 둘러보면 MuseNet이니 GPT-2이니 주옥같은 기술들이 이미 등장하여 상용화 되어간다.

넘쳐나는 기술의 축제이자 축복이라는 향연을 즐기며 행복한 반면 대부분 필자와 같은 평범한 사람들에게는 조급함이 느껴질 수도 있다. 그만큼 학습해야 할 과제들은 많아지고 자칫 항해의 좌표를 잃고 방황하기도 쉬워진다. 불과 몇달 전부터 열심히 파고들던 기술이 현 시점에는 큰 쓸모가 없어지는 절망감에 빠질수도 있다.

논문을 처음쓸 때 보통 연구주제의 관련 지식들을 집대성한다. 지구상에 등장한 모든 관련 기술들을 집대성 하기 전 일종의 목차와 같은 기능을 담당하는 소중한 자료가 Review 논문인데, 이 책을 한마디로 표현하자면 딥러닝 기술의 Review 논문이라 말하고 싶다. 쏟아져나오는 최신기술들을 숲의 안목으로 일목요연하게 정리하며, 자칫 원론과 개념에 치중하여 좌표를 잃지 않도록 감성충만한 주옥같은 예제들을 통해 빠른 시간내에 딥러닝의 현 주소를 제시해준다. 딥러닝과 최신 기술들의 원론을 가시적으로 이끌어내는 점이 이 책의 별미이다.

때문에 딥러닝 관련 연구자, 엔지니어는 물론 사업가, 기획자, 관련 사업의 대표자들이 빠른시간 내에 딥러닝의 모든 기술을 아우르고 싶다면 이 책은 필수도서이다. 판별 모델링의 거의 모든 역사가 담긴 패턴인식과 머신러닝(비숍 저)나 NIPS 학회에서 GAN을 처음 선보인 이안 굿펠로 님의 심층학습과 같은 두말할 나위 없는 최고의 기본서들도 중요하지만, 쏟아지는 기술의 폭풍속에 현 주소를 놓치지 않을 수 있는 GPS와 같은 책도 제너럴리스트를 위해 반드시 필요한 책이다.

예쁜 색상과 재질로 디자인되어 들고만 다녀도 감성 충만이다. 디자인 못지않은 감수성 있는 예제들을 구현해 보고 저변에 깊이 축적된 딥러닝 최신기술들의 향연을 즐기다보면 어느덧 인생의 목적이 어렴풋이 비춰질 정도로 뿌듯해지는 지금의 시간들에 감사하게 된다. AI와 관련된 분이라면 커피한잔 즐기시며 이 책이 전해주는 행복을 느껴보시길 바란다.

<한빛미디어 출판사>

믿고보는 “한빛미디어 출판사”. IT분야에서 독보적인 양질의 도서를 출판하는 회사입니다. “나는 프로그래머다” 팟캐스트 후원, DevGround2019 행사, 리뷰어 모집, 다양한 학습 지원 등 다양한 분야에서 사회에 공헌하는 개발자와 공생하는 업체입니다. IT분야에 관심 있으시다면 한빛미디어의 책으로 후회없는 출발을 하실 수 있습니다.

한빛미디어 바로가기




© 2019.04. by theorydb

Powered by theorydb