- 회원들이 추천해주신 좋은 글들을 따로 모아놓는 공간입니다.
- 추천글은 매주 자문단의 투표로 선정됩니다.
Date 15/09/07 18:13:08
Name   Azurespace
Subject   [약혐?] 안드로이드는 전자 양의 꿈을 꾼다
요즘 컴퓨터 비전의 최대 화두는 단연 딥 러닝입니다. 인공신경망이 반 사기 취급을 받기도 했던 것이 10년도 지나지 않았다는 걸 생각해 보면 그야말로 상전벽해가 아닐까 합니다. Autoencoder Pretraining이라는 방법이 등장한 이래로, 어떻게 하면 네트워크를 제대로 학습시킬 수 있는가 하는 것을 가지고 수많은 학자들이 재미있는 방법론들을 개발하고 또 성과를 내고 있습니다. 이미 구글이나 MS, 바이두 등의 세계 굴지의 기업들이나 이 분야 정상을 달리는 연구실들의 신경망은 인식 정확도에서 인간을 상회하기 시작했습니다.

CNN은 컴퓨터 비전에서 말하는 컨볼루션 필터를 적용하는 네트워크라고 볼 수 있습니다. 단지 어떤 컨볼루션 필터를 어떻게 적용해야 문제를 해결하는 최적의 필터를 찾아낼 수 있는지 알 수 없기에 필터 자체를 신경망을 통해서 학습시키는 것이 목적이라고 할 수 있겠습니다. 그런데 이 네트워크가 이미지 인식에 엄청 뛰어난 성능을 가지고 있었던 것이죠. 저는 이게 어찌된 일인지 궁금했었는데, 나중에 보니까 이게 실제 인간의 시세포가 뭉쳐 있는 모습과 거의 비슷한 구조를 갖고 있더군요.

이처럼 단순히 Connection이 많다고 해서 성능이 좋아지는 것도 아니고, 뉴런과 뉴런을 연결하고 있는 구조 또한 해결하기 위한 문제에 맞는 것을 사용해야 효율적이라는 사실이 밝혀져 있습니다. 그러다 보니 실제 생물체 내부에서 신경세포들이 이루고 있는 구조를 모방해서 새로운 신경망을 만들기도 합니다. 원래 Biology에서 사용하는 모델인 LIF를 Echo state network에 적용했더니 성능이 높아졌다라는 사례가 있거든요.


인공 신경망을 학습시키는 과정을 간략하게 설명하면,

인공신경망을 X에 대한 함수 F(X)-> y라고 합시다.
1. 원래 데이터 X와, X에 대해 원하는 결과 Y가 있습니다.
2.  y=F(X)와 Y의 차이(loss)를 구합니다. 해결할 문제의 종류에 따라 다양한 loss function이 존재합니다.
3. loss E에 대해서 신경망 내부 가중치 W의 그래디언트 dW/dE를 구합니다.
4. 위에서 구한 그래디언트를 이용해서 신경망의 가중치를 변경합니다.
5. 위 과정을 계~속 반복합니다.

이를 그래디언트 하강법(Gradient Descent)이라고 부르는데, 성능을 개선하기 위해 다양한 변형이 존재하지만 기본적인 원리는 동일합니다.


그런데 구글에서 재미있는 생각을 했습니다.  그야말로 발상의 역전이지요.
( https://github.com/google/deepdream , http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html )

원래 구글이 가지고 있던 이미지 인식 네트워크가 있었겠지요.
사진을 집어넣으면 이게 닭 사진인지, 오리 사진인지, 하늘 사진인지를 판단해서 닭 사진일 확률이 78%, 오리일 확률이 12%, ... 이런 식으로 판단해 주는 네트워크입니다.

그런데 이 연구자들이 무슨 생각을 했냐면...

1.이 네트워크에 어떤 다른 이미지를 넣어준 다음에,
2. 네트워크의 가중치는 고정하고
3. 원본 이미지인 X를 변경해서 F(X) = Y가 되도록 X를 바꾸는 것입니다.

요컨대 하늘 사진 집어넣고, "야, 닭 50%에 자동차 50%인 사진으로 바꿔봐" 하는 식으로 어처구니없는 명령을 내릴 수 있다라는 것이죠.


구글의 실험자들은 네트워크가 마치 꿈속에나 나올 듯한 몽환적인 이미지들을 생성하는 것을 확인하고 Deep Dream이라는 이름을 붙였습니다. 딥 러닝의 Deep에 꿈이라는 의미를 더한 것입니다.

[http://i.imgur.com/w6Bdqd1.png]

하늘 사진을 집어넣고 아래의 키워드를 집어넣었을 때의 네트워크가 생성한 그림입니다. 재미있죠? 이 네트워크는 상당한 포토샵의 달인인 것 같군요.


[http://i.imgur.com/ilRdYYs.jpg]

위쪽 그림과 함께 중간의 키워드를 제공했더니 나온 그림들입니다. 원래의 이미지 형태를 상당히 간직하고 있으면서도 사람이 보기에도 충분히 키워드대로 해석이 가능합니다.
가운데 사진은 마치 외계종족의 건물을 묘사한 것처럼 보이네요. 건물 뿐만이 아니라 건물 앞의 사람처럼 보이는 형상들도 보입니다. 건물 주변에는 사람이 돌아다닌다는 것을 이해하고 있는 듯합니다.
오른쪽 그림은 꽤 혐짤인데, 위쪽 반만 놓고 보면 새로 보이지 않는 것도 아닙니다. 곤충은 다리가 여러 개라는 사실만큼은 확실히 알고 있는 것 같네요.


이 연구의 백미는 단연 다음 그림입니다.
[http://i.imgur.com/Pak9oi1.png]

빌딩 그림을 만들도록 시키고, 나온 결과물을 살짝 확대하여 다시 네트워크에 집어넣고... 하는 식으로 여러 번 반복해서 만들어낸 것이죠.
문외자들에게 이걸 컴퓨터가 그린 그림이라고 하면 믿을 수 있을까요? 하하. 솔직히 인쇄해서 어떤 자폐증 화가의 작품이라고 해서 팔아먹으면 엄청 비싸게 팔릴 것 같습니다.


제 생각에 가장 재미있는 점이 뭐냐면, 어쩌면 이 연구가 우리가 어떤 과정으로 꿈을 꾸는가에 대한 intuition을 제공하고 있을지도 모른다는 겁니다. 자는 동안 단기기억을 장기기억으로 전환하는 것 자체는 알려져 있는데, 어쩌면 꿈은 뇌가 이처럼 사유의 과정을 정방향으로 그리고 역방향으로 계속 되돌리며 기억하기 위한 과정의 부산물일지도 모르겠네요.

그리고 이 Gradient Ascent 내지 Deep Visualization 기법을 활용한 또 다른 재미있는 연구가 며칠 전에 나왔는데, 이 결과 또한 충격적입니다. 다만 이쪽은 그로테스크하진 않으니 안심하셔도 돼요 :) 이건 다음에!

* 난커피가더좋아님에 의해서 자유 게시판으로부터 게시물 복사되었습니다 (2015-09-19 08:09)
* 관리사유 : 추천게시판으로 복사합니다.



9


    목록
    번호 제목 이름 날짜 조회 추천
    176 IT/컴퓨터최초의 웹브라우저 Mosaic 이야기 22 블랙자몽 16/03/30 7614 4
    173 IT/컴퓨터최근 국내 PC 웹브라우저 점유율의 변화 43 Toby 16/03/24 10099 5
    169 IT/컴퓨터알파고가 이겼군요. 35 Azurespace 16/03/11 9963 11
    115 IT/컴퓨터웹 프론트엔드(front-end)란? 24 Toby 15/11/17 13657 8
    109 IT/컴퓨터엥? 딥러닝 그거 바보 아니냐? 41 Azurespace 15/11/05 12877 8
    88 IT/컴퓨터간략하게 살펴보는 웹디자인의 역사 24 Toby 15/10/16 10985 17
    79 IT/컴퓨터사실 구글은 스카이넷을 만들고 있습니다 16 Azurespace 15/09/30 9900 4
    71 IT/컴퓨터스타트랙 신경망 8 Azurespace 15/09/16 8455 5
    69 IT/컴퓨터거장의 그림을 30초만에 만들다: DeepStyle 33 Azurespace 15/09/08 31905 10
    67 IT/컴퓨터[약혐?] 안드로이드는 전자 양의 꿈을 꾼다 10 Azurespace 15/09/07 11257 9
    목록

    + : 최근 6시간내에 달린 댓글
    + : 최근 12시간내에 달린 댓글

    댓글