저는 구글에서 기계지능팀을 이끌고 있습니다.
다르게 표현하면, 컴퓨터와 장치를 공학적으로 훈련시켜
뇌가 하는 일을 할 수 있게 합니다.
그리고 이 일을 하면서 저희는 실제 뇌와 신경과학에
관심을 두게 되었습니다.
특히 관심 있는 부분은 우리의 뇌가 하는 일 중에
아직 컴퓨터보다 훨씬 뛰어난 부분에 대한 것입니다.
역사적으로 이런 부분 중에 하나로 인식이 언급돼 왔습니다.
세상에 존재하는
소리나 이미지를 과정을 통해
마음속에 개념화시키는 것입니다.
이것은 우리 뇌에 필수적인 기능이고
컴퓨터에도 꽤 유용합니다.
기계 인식 알고리즘의 예로 저희 팀에서 한 일은
구글 포토스에 올린 사진을 뭐가 찍혔냐에 따라
검색이 가능하게 한 것이죠.
인식의 반대말은 창의성입니다.
개념을 세상에 존재하는 것으로 바꾸는 것입니다.
지난 몇 년 동안 기계 인식에 대해 저희가 해온 일들은
뜻밖에도 기계의 창의력과 기계 예술을
연결했습니다.
저는 미켈란젤로가 인식과 창의성 간의
이중 관계를 꿰뚫어 보았다고 생각합니다.
이것은 그의 유명한 인용구입니다.
"모든 돌덩이는 그 안에 조각상을 가지고 있고
그것을 발견하는 것이 조각가의 과업이다."
그래서 저는 미켈란젤로의 생각은
우리는 인식하는 것으로 창조하고
그 인식 자체가 상상하는 행위이며
창의성이라 여깁니다.
생각하고 인식하고 상상하는 기관은
물론 뇌입니다.
그리고 저는 간략하게 뇌에 대한 연구의
역사에 대해서 이야기하고 싶습니다.
왜냐하면 심장이나 장과 달리
보기만 해선 뇌에 대해 이야기할 게 없기 때문입니다.
겉으로 보기에 말이죠.
초기 해부학자들은 뇌를 보고
표면상의 구조에 온갖 기발한 이름을 붙였습니다.
해마같이 말이죠, 뜻은 "작은 새우"입니다.
하지만 물론 이런 이름들이 실제로 무슨일을 하는지
말해 주지는 않습니다.
제 생각에 최초로 뇌에서 무슨 일이 일어나는지에 대해
큰 공헌을 한 사람은
스페인의 위대한 신경 해부학자인 산티아고 라몬 이 카할입니다.
19세기에
현미경 관찰과 특수한 착색을 이용해
선택적으로 각각의 뇌세포를 채우거나
높은 대비를 만들어 내
형태학적인 이해를 할 수 있게 한 사람입니다.
이것들은 그가 신경 세포로 만든 그림들입니다.
19세기에 말이죠.
이것은 새의 뇌 그림입니다.
그리고 굉장히 다양한 세포를 볼 수 있습니다.
심지어 세포이론도 알려진 지 얼마 안 된 때였습니다.
그리고 이 구조는
수지상부를 가지고 있는 세포들의
가지는 아주 멀리까지 뻗을 수 있는데
당시 매우 새로웠습니다.
이 구조는 전선을 연상시킵니다.
전선과 전기의 혁명이 일어나던 19세기 사람들은
당연히 그렇게 볼 수 있었을 것입니다.
하지만 여러 가지 면에서
이런 라몬 이 카할의 조직학적 그림은
오늘날에도 최고로 여겨집니다.
우리는 지난 한 세기 동안
라몬 이 카할이 시작한 일을 끝내려고 노력하고 있습니다.
이것들은 막스플랑크 신경과학 연구소
협력자들의 기초 데이타입니다.
그리고 저희 협력자들이 한 것은
뇌세포의 작은 부분을 조명한 것 입니다.
이 샘플의 전체 크기는 대략 1 입방 밀리미터이고
결과물의 아주 작은 부분을 보고 계신 것입니다.
왼쪽에 있는 바는 1미크론 입니다.
보고 계신 구조는 미토콘드리아입니다.
이는 박테리아만큼 작습니다.
이것은 아주 작은 조직으로
자른 연속적인 단면입니다.
비교를 하자면
머리카락의 평균 지름은 100 미크론입니다.
저희가 보고 있는 것은 머리카락 한 가닥보다
훨씬 작은 것입니다.
그리고 이런 전자현미경으로 나눈 일련의 조각들로
신경세포를 3D로 이렇게 복원할 수 있습니다.
이것은 라몬 이 카할의 방식과 어느 정도 같습니다.
일부 신경세포만 비추었죠.
그렇지 않으면 아무것도 구분할 수 없을 것입니다.
사진 가득히
신경세포끼리 서로 연결된
구조만 보일 것입니다.
라몬 이 카할은 시대를 앞서나갔고
그후 수십 년 동안 뇌의 이해에 대한 연구는
서서히 발전했습니다.
그러나 우리는 신경세포가 전기를 이용하는 것을 알아냈고
제2차 세계대전 때 발전한 기술로
실제로 신경세포에 전기 실험을 할 수 있게 되고
신경세포를 더 이해할 수 있었습니다.
컴퓨터가 발명된 것도 바로 이때인데
뇌를 모델로 한 아이디어였죠.
앨런 튜링은 "지능형 기계" 라고 불렀습니다.
컴퓨터 공학의 아버지 중에 한 명이죠.
워렌 맥컬로흐와 월터 피츠는 어느날 라몬 이 카할의
시각 피질 그림을 보았습니다.
지금 보고 계신 그림말이죠.
이것은 눈을 통해 들어온 이미지를 처리하는 피질입니다.
그리고 그들에겐 이 그림은 마치 회로도처럼 보였습니다.
맥컬로흐와 피츠의 회로도에는 많은 세부사항이 있지만
정확하지는 않습니다.
하지만 기본 아이디어인
시각 피질의 원리가 일련의 계산 요소를
연속적으로 하나에서 다음으로 정보를 넘긴다는 것은
근본적으로 맞습니다.
조금 더 이야기해 보겠습니다.
시각 정보를 처리하는 모델이 해야 하는 일에 대해서 말이죠.
인식이 기본적으로 하는 일은
이런 이미지를 보고 이렇게 말하는 것 입니다.
"이것은 새입니다"
우리에게는 매우 쉬운 일입니다.
하지만 여러분 모두가 아셔야 하는 것이
몇 년 전까지 컴퓨터로는 이런 것이 불가능했습니다.
고전적인 컴퓨팅 패러다임은
이런 일을 쉽게 할 수 있는 것이 아닙니다.
그래서 픽셀들 간의 관계와
만들어진 이미지와 "새"라는 단어의 관계는
근본적으로 신경세포들이 서로 연결되어
신경망을 구축하고 있는 것입니다.
제가 그린 도표처럼요.
이 신경망은 시각피질 내부의 생물학적인 것이나
오늘날에는 우리의 기술로
컴퓨터를 통해 신경망을 그릴 수 있습니다.
그리고 이것이 실제 모델입니다.
픽셀이 신경세포의 첫 번째 층입니다.
그리고 이것은 실제로 눈으로 보는 과정으로 보면
픽셀이 망막인 것입니다.
그리고 이 자극을
신경세포의 한 층에서 다음 층으로 전달합니다.
이는 각각 다른 농도의 시냅스로 모두 연결되어있습니다.
이 네트워크의 동작은
모든 시냅스의 강도에 의해 구분됩니다.
이것으로 네트워크 내에서 계산되는 것을 특징짓습니다.
그리고 마지막에
신경 세포 하나 또는 한 무리가
반짝이며 "새"라고 말합니다.
이제 제가 이 세가지를
입력된 픽셀, 신경망의 시넵스
그리고 결과물인 새를
세 변수 x, w, y라고 하겠습니다.
픽셀이 백만 개는 있을테니 x는
이미지의 백만 개의 픽셀입니다.
그리고 w는 수십억 혹은 수조 개가 있습니다.
이는 신경망의 모든 시냅스의 농도를 말합니다.
그리고 적은 수의 y가 있습니다.
신경망의 결과물로써 말이죠.
"Bird"는 네 글자뿐이잖아요.
그러면 이것을 간단한 공식이라고 해봅시다.
x "x" w = y.
저는 곱하기를 큰따옴표 안에 넣었습니다.
실제로 저기서 일어나는 일은
매우 복잡한 일련의 수학적인 과정이기 때문입니다.
이것은 한 공식입니다.
세 개의 변수가 있습니다.
그리고 우리가 알고 있는 것이 한 공식에서
두 개의 변수를 알면 남은 한 개를 알 수 있다는 것입니다.
그래서 추론해야 하는
새의 사진을 보고 새를 구분하는 공식은
바로 이것입니다.
이 경우는 y는 알려지지 않고 w와 x는 알려진 경우이죠
신경망과 픽셀이 무엇인지는 알고 있습니다.
보시다시피 사실 상대적으로 간단한 문제입니다
2 곱하기 3을 하면 끝나는 거죠
여러분께 최근에 만든 인공 신경망이
정확히 이것을 하는 것을 보여드리겠습니다
이것은 휴대전화에서 실시간으로 돌아가는 것입니다.
그리고 물론 휴대전화에서
초당 수십억 수조 개의 동작을 한다는 것 자체만으로도
놀라운 일입니다
여러분이 보고 있는 것은
휴대전화가 다른 새 사진을 보고
“네, 이것은 새입니다.” 하고 끝나는 것이 아니라
네트워크 정보로 종까지 분류하는 모습입니다.
사진을 보면
x와 w는 밝혀져 있고 y는 밝혀지지 않았습니다.
지금 몹시 어려운 부분을 얼버무리고 지나가고 있는데
그것은 우리가 어떻게 w를 밝혀냈으며
뇌가 어떻게 그런 일을 하며
어떻게 이런 모델을 배울까입니다.
w를 배우고 해결하는 과정을
간단한 공식으로 만들어
숫자를 대입해보면
정확히 알 수 있습니다. 6=2 x w라고 하면
양변을 2로 나누면 끝납니다.
문제점은 이 연산에서
나눗셈을
우리가 나눗셈을 썼는데 곱셈을 역으로 계산한 것입니다.
하지만 방금 말한 대로
실제 연산은 곱하기가 아닙니다.
이것은 매우 매우 복잡한 비선형 연산이고
역으로 계산할 수 없습니다.
그래서 우리는 이 공식을 나누지 않고 해결할 방법을
찾아야 합니다.
그리고 그 방법은 매우 간단합니다.
대수학을 조금 이용해
6을 공식의 우변으로 옮기겠습니다.
이러면 곱하기만 사용할 수 있습니다.
그리고 0은 오류라고 생각합시다.
다시 말해, 우리가 w를 해결해서 정답이 나오면
오류가 0이 될 것이고
우리가 잘못된 값을 구했다면
오류가 0보다 커질 것입니다.
이제 우리가 추측해서 오류를 최소화할 수 있습니다.
그리고 이런 것은 컴퓨터가 아주 잘하는 일이죠.
그래서 최초의 추측으로
w가 0이라면
오류는 6입니다.
w가 1이면 오류는 4입니다.
컴퓨터가 계속 마르코 폴로같이 여행하면
오류가 0에 가까워질 것입니다.
그러면서 컴퓨터가 성공적으로 w 값의 근사치를 얻어가는 것입니다.
전형적으로 정확한 값을 얻진 못하지만 수십 단계가 지나면
w는 2.999를 얻게 되고 이는 충분히 근접한 값입니다.
그리고 이것이 학습 과정입니다.
지금까지 이야기한 것은
수많은 x와 y 값을 알고 있고
가운데 w 값을 추론 과정에서 알아내고 있습니다.
이는 우리의 뇌가 학습하는 과정과 같습니다.
우리는 어릴 적 수많은 이미지를 접하고
"이것은 새다, 이것은 새가 아니다" 라고 듣습니다.
그리고 시간이 흘러 반복하면서
w를 알아내죠. 신경 연결을 해결하는 것입니다.
이제 우리는 고정된 x와 w값으로 y를 구합니다.
이것은 매일 우리가 하는 인식입니다.
w 값을 구하는 과정은
학습이고 더 어렵습니다.
왜냐면 많은 훈련 예시를 통해
오류를 최소화 해야 하기 때문이죠.
약 1년 전에 저희 팀의 알렉스 모드빈츠세프는
우리가 x를 구하면 어떻게 되는지 실험하기로 했습니다.
w와 y 값을 알고 있다는 조건에서 말이죠.
다시 말하자면
새라는 것을 알고
새라는 것을 인식할 수 있는 신경망이 구축된 상태에서
새의 모습을 알아내는 것입니다.
똑같은 오류 최소화 과정을 거쳐
컴퓨터가 새를 인식할 수 있는 네트워크를 통해
만들어낸 결과는
새의 그림입니다.
이 그림은 전적으로 새를 인식할 수 있는
신경 네트워크를 통해
y 값을 구하는 대신 x 값을
추론하여 구현됬습니다.
다른 재미있는 예를 보여드리면
이것은 저희 그룹의 마이크 티카의 작품입니다.
이 작품의 제목은 "동물 행진"입니다.
이것을 보고 윌리엄 켄트리지의 작품이 떠올랐습니다.
그는 스케치를 그렸다가 지우고
그렸다가 지워가며
이런 식으로 영상을 만들죠.
이 경우에는
마이크가 한 것은 변수 y를 다양한 동물들로 설정했습니다.
서로 다른 동물들을 구분할 수 있도록
설계된 네트워크 안에서 말이죠.
그렇게 이런 희안한 에셔 풍의 동물들이 변하는 그림이 나옵니다.
여기서 마이크와 알렉스는
y 값을 줄여 2차원 평면에 표현했습니다.
그렇게 이 네트워크가 인식할 수 있는
모든 종류를 나타내는 지도를 만들었습니다.
이런 종류의 이미지 통합
혹은 생성은 표면 전반에 걸쳐
y를 다르게 해서 이런 지도를 만듭니다.
네트워크가 인식하는 모든 것의 시각적 지도입니다.
모든 동물이 있습니다. 저기 "아르마딜로"가 있습니다.
이것을 다른 네트워크로 할 수 있습니다.
이 네트워크는 얼굴을 인식하도록 설계됬습니다.
서로 다른 얼굴을 구분하도록 말이죠.
여기서 저희가 y에 "저"를 넣었습니다.
제 얼굴을 변수로 말이죠.
그리고 이것이 x를 구하면
이런 상당히 정신없고
약간은 입체파, 초현실주의, 사이키델릭한 제 사진을 만듭니다.
여러 모습을 한 번에 보여주면서요.
여러 모습을 한 번에 보여주는 이유는
네트워크의 설계에서 얼굴의 한 모습에서 다른 모습으로
넘어가는 모호한 과정이 제거되었기 때문입니다.
특정 각도의 얼굴을 보는 것입니다.
그래서 이것을 재구성할 때
가이드 이미지나 통계를
사용하지 않으면
이런 혼란스러운 시점들이 나옵니다.
모호하기 떄문이죠.
이것은 알렉스가 본인 얼굴을 가이드로 이용해
최적화 과정을 거쳐 제 얼굴을 만든 것입니다.
보시다시피 완벽하진 않습니다.
어떻게 최적화를 해야 할지
아직도 갈 길이 멉니다.
하지만 제 얼굴을 가이드로 쓰면
더 일관된 얼굴을 구할 수 있습니다.
굳이 빈 캔버스로 시작하지 않아도 됩니다.
혹은 백색 잡음으로요.
x를 구할 때
이미 그려진 그림 위에 x를 구해도 됩니다.
이것이 바로 그 예입니다.
이 네트워크는 온갖 물체를 구분하도록
설계되었습니다. 인조물이나 동물 등을 말이죠.
여기서 저희는 구름 사진을 이용했습니다.
그리고 저희가 최적화를 하면
기본적으로 이 네트워크는 구름에서 무엇이 보이는지 구분합니다.
그리고 이것을 더 자세히 보시면
구름에서 더 다양한 것을 볼 수 있습니다.
여기서 얼굴을 인식하는 네트워크로 환각을 만들면
꽤나 정신없는 그림이 나옵니다.
(웃음)
혹은 마이크가 다른 시도를 했습니다.
바로 구름 그림을 이용해
환각을 만들고 확대하고 환각을 만들고 확대했습니다.
그리고 이렇게
방황하는 것처럼 보이는 네트워크나
자유 연상의 일종으로
네트워크가 스스로 꼬리를 물게 됩니다.
그래서 모든 이미지의 기본은 이렇습니다.
"다음에는 무엇이 보이지?
다음에는 무엇이 보이지? 다음에는 무엇이 보이지?"
이것을 최초로 공개한 곳은
시애틀의 "고등 교육"그룹의 강연에서였습니다.
마리화나가 합법화 된 직후에 말이죠.
(웃음)
그래서 정리를 짧게 하겠습니다.
이 기술에 제약이 없다는 것을 말하면서 말이죠.
순전히 시각자료를 보여드린 이유는 흥미를 유발하기 위해서 입니다.
이것은 순전히 시각 기술만은 아닙니다.
저희와 함께 일하는 아티스트 로스 굿윈은
실험을 했습니다. 사진을 찍는 사진기와
등에 매고 있는 컴퓨터로 신경 네트워크를 이용해 시를 썼습니다.
사진에 찍힌 내용을 보고 말이죠.
그리고 시인 신경 네트워크는
20세기 시의 집대성으로 훈련됬습니다.
그리고 결과로 나온 시는 말이죠
사실 제 생각엔 나쁘지 않아 보입니다.
(웃음)
마지막으로
저는 미켈란젤로의 생각이
옳았다고 생각합니다.
인식과 창의성은 매우 밀접하게 연결되어 있습니다.
지금까지 보신 것은 신경 네트워크 입니다.
전적으로 훈련이 되어 구분하거나
혹은 다른 것들을 인식하거나
반대로 적용하여 만들어 낼 수 있습니다.
이것을 보고 느낀 점 중에 하나는
미켈란젤로가 정말로 본 것은
돌덩이 안에 있는 조각상뿐만 아니라
어떤 생물, 생명 심지어 외계인도
인식행위를 할 수 있으면
창조할 수 있다는 것 입니다.
두 경우 모두 같은 조작과정을 사용하기 때문이죠.
또한 저는 인식과 창의성은 결코 인간에 국한되지 않는다고
생각합니다.
저희는 똑같은 일을 할 수 있는 컴퓨터 모델을 만들었고
그리고 그 뇌가 컴퓨터로 만들어 졌다는 것은 놀랄 일도 아닙니다.
그리고 마지막으로
컴퓨터는 지능적 기계를 설계하면서 시작되었습니다.
이것은 이런 생각을 따라 만들어졌습니다.
어떻게 하면 우리가 기계를 똑똑하게 만들지 말이죠.
그리고 이제 선구자들과 한
약속 중에 일부를 이뤄가고 있습니다.
튜링, 폰 노이만
매컬로크 그리고 피트에게 말이죠.
그리고 저는 컴퓨터는 회계나 게임 할 때만 쓰는 것이
아니라고 생각합니다.
시작부터 인간을 본따 컴퓨터를 만들었고
그리고 그 과정에서 인간의 마음을 더 잘 이해하고
더 넓히게 되었습니다.
감사합니다.
(박수)