바로가기 메뉴
본문 바로가기
대메뉴 바로가기

TECH M

딥러닝 기술의 현재와 한계, 그리고 가능성

2018-01-04독점제휴-MIT테크놀로지리뷰

제프리 힌튼과 오류역전파(백프롭) 기술 (2)

[테크M 독점제휴=MIT테크놀로지리뷰]

신경망은 보통 여러 층이 얹혀있는 클럽 샌드위치 모양으로 그려진다. 각각의 층에는 마치 실제 뉴런이 흥분하는 것과 비슷하게 흥분하고 또 흥분 정도를 전달할 수 있는 단순한 계산 요소인 인공 뉴런들이 있다.

뉴런의 흥분 정도는 0.13이나 32.39와 같은 숫자로 표현된다. 한 가지 더 중요한 것은 연결의 강도 숫자다. 한 뉴런의 흥분이 다른 뉴런의 흥분에 얼마나 큰 영향을 미치는 지를 나타내는 숫자이다.

뇌 속 뉴런의 시냅스 강도와 비슷한 것이다. 이 숫자가 크면 그 뉴런들 사이의 연결이 강한 것이고, 뉴런의 흥분 정도도 더 많이 전달된다.

심층 신경망의 가장 성공적인 사례는 이미지 인식이다. HBO의 드라마 실리콘밸리에서는 사진 속에 핫도그가 있는지 알려주는 프로그램을 짜는 것으로 등장했다. 실제로 이런 프로그램이 있는데 이는 10년 전만 해도 불가능한 기술이었다.

이런 프로그램이 동작하기 위해서는 먼저 사진을 구해야 한다. 100x100 해상도의 흑백사진을 생각해보자. 여기에는 각각 밝기를 갖고 있는 1만개의 픽셀이 있는데 우리는 입력 층에 있는 1만개의 유닛에 밝기 숫자를 넣을 수 있다.

입력 층 바로 위에 또 다른 층, 예를 들어 수천 개의 유닛이 있는 층이 있고 이렇게 몇 개의 층을 쌓아 가장 마지막 층에는 단 두 개의 뉴런, 곧 핫도그가 있음을 알려주는 첫 번째 뉴런과 핫도그가 없음을 말하는 두 번째 뉴런이 남게 된다.

신경망을 훈련시킨다는 것은 핫도그가 있는 사진을 입력으로 넣었으면 첫 번째 뉴런이 흥분하고 그렇지 않은 사진은 두 번째 뉴런이 흥분하도록 만드는 것이다. 힌튼이 평생을 통해 연구해온 역전파 기술이 바로 이를 가능하게 해준다.

 

>>>

어쩌면 우리는 혁명의 시작점에 서 있는 것이 아닐지 모른다.

백프롭은 놀라울 정도로 단순한 기술이지만 수많은 데이터가 필요하다. 바로 이것이 페이스북과 구글이 그렇게 간절히 데이터를 원하는 이유이며 벡터연구소가 캐나다에서 가장 큰 네 개의 병원이 몰려있는 거리 바로 옆에 세워졌고 그들과 데이터 파트너십을 맺은 동기다.

핫도그 문제에서 필요한 데이터는 핫도그가 있거나 없는 사진 수백만 장이다. 이 사진은 각각 핫도그가 있는지 없는지 표시돼 있어야 한다. 처음 신경망을 만들면 각 신경들의 연결 값, 곧 흥분이 전달되는 정도를 임의의 숫자로 넣는다.

뇌 속 시냅스가 아직 조율되지 않은 것과 비슷하다. 백프롭의 목적은 신경망이 작동하도록 연결 값을 정하는 것이다. 핫도그가 있는 사진을 입력하면 출력으로 핫도그가 있다는 결론이 나오도록 만드는 것.

첫 번째 훈련 이미지가 피아노 사진이었다고 해보자. 이 사진은 100x100이므로 1만개의 픽셀로 이루어져 있고, 각 픽셀의 밝기에 따라 1만개의 숫자로 바꿀 수 있다. 따라서 입력층의 1만개 입력 유닛의 흥분 정도가 된다.

이 흥분 정도는 연결 값에 따라 바로 위 층으로 전달되며 마침내 핫도그가 있는지 판단하는 두 개의 뉴런이 있는 가장 마지막 층으로 연결된다. 처음 입력한 사진은 피아노 사진이므로 ‘핫도그 있음’ 뉴런의 값은 0으로, 그리고 ‘핫도그 없음’ 뉴런의 값은 아주 크게 나와야 할 것이다.

하지만 아직 신경망이 훈련되지 않았기 때문에, 이와 반대의 결과가 나왔다고 가정해보자. 백프롭은 신경망의 연결 숫자를 재조정, 주어진 훈련 예제에 대해 정확한 결과가 나오도록 하는 방법이다.

구체적으로 백프롭은 맨 마지막 두 개의 뉴런이 있는 출력층 오류를 계산하는 데서 시작한다. 오류란 이 두 뉴런이 원래 나와야 하는 값과 실제로 나온 값의 차를 말한다.

다음은 마지막 출력 층과 바로 아래 층 사이의 연결을 보고, 각 연결이 그 오류에 기여한 정도를 계산한다.

이 과정을 처음 입력 층까지 반복하면, 우리는 모든 연결이 오류에 얼마나 기여했는지 알게 된다.

마지막으로, 우리는 오류를 가장 많이 줄일 수 있는 방향으로 전체 연결값을 바꾼다. 이 기술을 ‘역전파’라고 하는 것은 오류를 출력 층에서부터 신경망을 따라 거꾸로 ‘전파’시키기 때문이다.

놀라운 점은 이 작업을 수백만, 수십억장의 사진에 대해 반복할 경우, 이 신경망이 정말로 어떤 사진에 핫도그가 있는지 없는지를 상당히 정확하게 말해주기 시작한다는 것이다.

더 놀라운 점은, 이 신경망의 각 층이 어떤 의미에서는 우리가 물체를 보는 방식으로 사진을 ‘본다’는 것.

첫 번째 층에서는 이미지의 경계에 해당하는 뉴런이 흥분하는 식으로 경계면을 파악하고 그 위의 층은 모서리 같은 경계면의 집합을 파악하며 그 위의 층은 형태를, 그리고 그 위의 층은 빵이 핫도그 빵인지를 판별하는 식이다. 이 신경망은 어떤 면에서는 구체적인 프로그래밍 없이도 계층적인 구조를 가지게 된다고 볼 수 있다.

모두가 이 사실에 흥분했다. 신경망은 핫도그 등의 물체가 사진에 있는지를 판단하는 것을 넘어 어떤 개념을 표현할 수 있는 것처럼 보인다. 문서를 신경망에 입력하면 그 사실을 더 분명하게 알 수 있다.

수십억 개의 단어가 있는 위키피디아 문서를 간단한 신경망에 입력하면, 각 단어는 특정 숫자에 대응한다. 이 숫자들은 어떤 복잡한 공간의 좌표에 해당하는데 이에 따라 각 단어를 그 공간의 한 점으로 표현할 수 있다.

이 신경망을 위키피디아 문서상 가깝게 있는 단어끼리 공간상의 거리를 가깝게 좁히도록 훈련하면 짜잔, 매우 놀라운 일이 일어난다. 비슷한 뜻을 가진 단어들이 근처에 놓이게 되는 것.

‘미친’과 ‘불안정한’이 가까이 존재하며 ‘3’과 ‘7’도 마찬가지이다. 더 놀라운 것은, 소위 벡터 연산이 가능해지는데, 이는 ‘파리’ 벡터에서 ‘프랑스’ 벡터를 빼고 ‘이탈리아’ 벡터를 더하면 ‘로마’ 벡터에 가까운 값이 나온다는 것이다.

누구도 이 신경망에 프랑스와 파리의 관계가 이탈리아와 로마의 관계와 같다는 사실을 말해준 적이 없는데도 말이다.

“놀랍고 충격적입니다.” 제프리 힌튼 교수의 말이다.

신경망은 그림, 단어, 목소리, 의학 데이터 등을 수학자들이 말하는 고차원 벡터 공간에 대응시키고 이들간의 거리가 실제 세상의 어떤 중요한 특성을 반영하도록 만드는 것처럼 보인다.

힌튼 교수는 실제 인간의 뇌 역시 이런 방식으로 동작한다고 믿고 있다.

“생각이라는 건 말이죠, 일련의 단어로 표현되는 겁니다. 내가 ‘존은 <웁스>라고 생각했다’고 말했다고 해보죠. 당신이 ‘어떤 생각 말이죠? 존이 그런 생각을 했다는 것은 무슨 뜻인가요’라 묻겠죠. 존의 머릿속에 <웁스>라는 단어가 있었던 것은 아닙니다. 그의 머릿속에는 커다란 뇌신경의 활동 패턴이 존재한 것이죠.”

이 신경활동의 패턴은 각 뉴런의 흥분 정도를 숫자로 바꾸고, 각 숫자를 아주 큰 벡터의 좌표로 생각한다면 수학자들은 벡터 공간으로 표현할 수 있다.

힌튼 교수는 생각이란 바로 이런 벡터의 변화라고 믿는다.

토론토의 대표적인 인공지능연구소 이름이 벡터인 것도 우연이 아니다. 힌튼 교수는 이 연구소 작명에 참여한 사람 중 하나다.

힌튼 교수는 벡터로 할 수 없는 일은 없다는 확신과 열정의 분위기 같은 현실왜곡장을 만든다. 사실 자율주행, 암 발견, 순간 번역 등 많은 일들이 가능해졌다.

특히 이 매력적인 영국 출신 과학자가 고차원 공간에서의 경사하강법 알고리즘을 설명할 때는 더욱 그렇다!

그의 방을 떠날 때가 되어서야 아무리 ‘딥러닝’이 뛰어난 것처럼 보여도 사실은 많은 한계를 가진 기술이라는 사실을 떠올리게 된다. 탁자 위에 쌓인 도넛을 보고 ‘탁자 위에 쌓인 도넛’이라는 설명을 붙이는 것을 보면 이 프로그램이 무언가를 이해한 것처럼 보인다.

하지만 같은 프로그램이 이를 닦고 있는 소녀를 보고 “소년이 야구 배트를 들고 있다”고 말할 때는 그 프로그램의 이해라는 것이 얼마나 피상적인지를 알게 된다.

신경망이란 그저 모호한 패턴을 인식할 수 있는 기술이며, 딱 그만큼(이 기술을 다른 소프트웨어와 결합시킴으로써) 을 기대해야 한다. 잘 봐줘야 쉽게 속일 수 있는, 한계가 분명한 지능의 한 종류인 것이다. 사진을 인식하는 심층신경망은 픽셀 하나를 바꾸거나 사람에게 보이지 않는 노이즈를 추가해 작동이 불가능하게 만들 수 있다.

사실 우리는 딥러닝의 새로운 응용을 찾을 때마다 딥러닝의 새로운 한계도 알게 된다. 자율주행 자동차는 처음 접하는 상황을 처리하지 못한다. 인공지능은 일반 상식이 필요한 문장을 분석하지 못한다.

딥러닝은 어떤 면에서는 인간의 뇌를 흉내낼 지 모르나 피상적으로만 그렇다. 그 때문에 딥러닝을 이용한 인공지능이 종종 피상적으로만 작동하는 것이다.

사실 백프롭은 뇌를 연구해서 알게 된 기술이 아니라 고전적 조건 실험에서 동물이 어떻게 시행착오를 통해 학습하는지를 바탕으로 발견한 기술이다.

또한 백프롭 연구 중 나온 커다란 진전들 또한 뇌과학의 발전과 무관하며 수학적, 공학적 발전에 따른 기술적 향상이다. 우리가 지능에 대해 알고 있는 것들은 아직 우리가 지능에 대해 알지 못하는 것들과는 비교가 불가능할 정도이다.

토론토대학에서 힌튼 교수와 같은 학과에서 일하는 데이비드 듀브노드 교수는 딥러닝이 어떤 면에서는 물리학이 발전하기 전의 공학과 비슷하다고 말한다.

“누군가 논문으로 이런 내용을 발표합니다. ‘이런 다리를 만들어봤는데 작동하는군요!’ 다른 논문은 이런 내용입니다. ‘이 다리는 무너졌어요. 하지만 기둥을 추가하니까 서 있군요.’ 이제 기둥이 유행합니다. 그러다 누군가 아치를 만들어내고는 ‘아치는 끝내줘요!’라고 말하고 있습니다.” 물리학이 등장한 뒤에야 “우리는 어떤 것이 가능하고 왜 가능한지를 알게 되었습니다.”

그는 최근에야 인공지능에 대한 실제적 이해가 가능한 단계로 접어들기 시작했다고 말한다.

힌튼 교수는 “대부분의 학회는 사소한 변경점을 가진 연구들로 이루어져 있다”며 “우리는 어떤 것을 진정으로 빠뜨리고 있을까? ‘이 문제가 정말 어려운데 한 번 풀어보자’ 같은 접근을 하지 않는다”고 지적한다.

 

>>>

진정한 지능은 작은 문제의 변화에도 상관없이 작동해야 할 것이다.

 

끊임없이 새로운 발견이 등장하는 것처럼 보일 때에는 이런 사실을 파악하기 어렵다. 하지만 최근의 인공지능 흐름은 과학이라기보다는 공학이고, 사실 문제를 급한 대로 고치는 것과 비슷하다.

하지만 막상 딥러닝 시스템을 향상시키기 위해 어떤 변화가 필요한지 생각하려고 하면, 우리는 아직 이 시스템이 어떻게 작동하는지를 전혀 모르고 있으며, 여기에 뭔가를 더해 정말 인간만큼 강력한 무엇인지가 될 수 있을지조차 알지 못한다는 사실을 깨닫게 된다.

차라리 지금 우리는 백프롭 기술을 조금씩 변형시키는 시도들을 거의 다 해본 것은 아닌지 확인해야 할 것이다. 만약 그렇다면, 인공지능의 발전은 다시 정체기로 접어든 것일지 모른다.

<본 기사는 테크M 제56호(2017년 12월) 기사입니다>

뉴스