brunch

You can make anything
by writing

C.S.Lewis

by 현쓰쓰 Oct 08. 2019

딥러닝도 만능은 아니다

아직 인공지능은 갈길이 멀다

최근 인공지능 분야는 핫 중에서도 핫한 베리핫 분야이다. 컴퓨터 관련 분야를 전공하고 있는 대학원생 입장으로서 인공지능 연구의 핫함은 온 몸으로 느껴져 매일 전기장판 위에 누워있는 느낌이다. 우리 과는 전기전자와 컴퓨터를 어느정도 같이 배우는 곳이라 다양한 분야의 연구들이 진행되고 있는데, 대부분의 연구실이 인공지능의 핫 트렌드인 머신러닝을 최근 연구에 적용하려 시도하고 있다. 머신러닝의 퍼포먼스가 워낙 좋다보니 각자 자신이 연구하던 분야에 머신러닝을 적용하여 좋은 결과를 내는 연구들도 많이 늘어나고 있다. 


우리 연구실은 스마트폰같은 디지털 기기에 들어가는 칩을 어떻게 효율적으로 설계할 수 있을지에 대한 연구를 하고 있는데, 최근에 이쪽 분야 역시 머신러닝을 적용하여 더 좋은 결과를 내는 연구들이 많이 나오면서 이제 머신러닝과 딥러닝을 배우지 않고서는 학계에서 살아남기가 쉽지 않아졌다.


이러한 트렌드를 반영해서인지 최근 우리 과에도 머신러닝과 딥러닝을 가르치는 강의들이 많이 늘어났고, 이 수업들은 인기가 워낙 좋아 수강생이 항상 넘쳐난다. 딥러닝의 발전을 보여주는 재밌는 일화가 하나 있다. 보통 강의 출석체크라 하면 교수님이 이름을 부르거나 출석부에 서명을 하는 방식을 흔히 생각한다. 하지만 우리 과 딥러닝 수업의 경우 학생들의 얼굴들을 미리 촬영해놓고, 매 수업마다 그 날 출석한 전체 학생들의 모습이 담긴 사진 한 장을 찍는다. 그리고 훈련된 딥러닝 모델을 이용해 사진 안에 있는 학생들의 얼굴 인식을 진행하는 방식으로 출석체크를 한다. 인공지능이 이만큼이나 발전했구나! 라는 것을 체감할 수 있는 재밌는 사례였다.



이처럼 인공지능은 우리 생활을 조금씩 바꿔나가고 있다. 인공지능 연구에도 여러 갈래가 있는데 그중에서 가장 좋은 성과를 보여주고 있는 것은 단연 딥러닝이다. 인간의 뇌를 본뜬 신경망 (Neural Network) 을 깊게 만들어서 입력과 출력의 상관관계를 잘 학습할 수 있도록 만들었다. 딥러닝은 이미지 분류, 자연어 처리, 번역 등 다양한 분야에서 인간을 뛰어넘거나 버금가는 퍼포먼스를 보여주고 있고 매해 무서운 속도로 발전하고 있다. 딥러닝 회사에 근무하는 직원이 일주일동안 휴가를 다녀왔더니 흐름을 따라가기 위해 읽어야할 논문이 책상에 산더미처럼 쌓여있었다는 우스개소리도 있을 정도이다.


이렇게 딥러닝의 발전속도가 빠르다면 인간 수준의 지능을 가지는 일반인공지능이 조만간 등장하게 될까? 책 <AI 마인드>를 통해 인공지능 분야에 있는 여러 전문가들의 의견을 들을 수 있었다. 그들의 의견은? 조만간은 힘들다는 것이다. 아마 만들어지더라도 오랜 시간이 걸릴 것이다. 아직까지 딥러닝도 못하는 일들이 많다. 나 역시 이들의 의견에 동의한다. 나도 책에 나온 전문가들만큼은 아니지만 그래도 딥러닝을 2년동안 연구해본 대학원생 입장으로서, 감히 딥러닝이 현재 가지고 있는 한계점을 간단하게 정리해보고자 한다. (숟가락 얹기!)


1. 딥러닝은 시키는 일은 잘한다. 근데 왜 잘하는지 모른다.

기본적으로 딥러닝 모델을 훈련시키는 과정은 다음과 같다. 적당히 큰 사이즈의 신경망 모델을 정의한 뒤, 잘 정제된 데이터들을 모델에 입력과 출력으로 넣어준다. 데이터는 많으면 많을 수록 좋다. 모델은 이를 보고 역전파 알고리즘(Backpropagation)을 이용해 입력과 출력 데이터의 상관관계를 학습한다. 그러면 새로운 입력이 들어왔을 때 딥러닝 모델은 학습된 상관관계를 이용하여 적절한 출력을 내놓게 된다.


이렇게 하면 신기하게도 성능은 잘 나온다. 근데 왜 잘 나오나? 그건 모른다. 같은 딥러닝 모델을 훈련시키더라도 어떤 때는 정확도가 높게 나오고 어떤 때는 상대적으로 낮게 나올 수도 있다. 기본적으로 딥러닝 모델이 복잡한 함수를 표현하고, 역전파 알고리즘이 항상 최적의 솔루션을 찾아주는 것이 아니라서 그렇다. 그래서 대체로 딥러닝을 연구한 논문들은 딥러닝 모델을 다양하게 만들어보고 각각을 훈련시켜보아서 가장 결과가 좋은 모델을 사용한다. 왜 그 모델이 가장 결과가 좋은가? 모른다. 


그래서 딥러닝 모델 훈련은 이론보다는 경험을 중시하는 경우가 많다. 모델 구조를 이렇게 만들어 봤더니 잘 되더라~ 모델 파라미터를 이 값을 주었더니 잘 되더라~ 이런 식이다. 사이즈가 큰 딥러닝 모델의 경우 훈련하는데 하루가 넘게 걸리기도 하는데, 훈련하는 동안에는 그저 기다려야 한다. 그렇게 기다려서 결과가 나왔는데 별로 좋지 않다면? 근데 왜 안좋은건지도 모른다면? 울분을 삼키고 여러 가지를 다르게 해서 실험해보아야 한다ㅠㅠ 시간만 날린 것이다.


또한 딥러닝 모델은 입력을 받았을 때 출력을 내놓고 왜 그런 결과를 내놓았는지 이야기해주지 않는다. 이미지를 받으면 무엇인지 대답해주는 모델이 있다고 생각해보자. 고양이 사진을 입력으로 받으면 잘 훈련된 딥러닝 모델은 높은 확률로 사진이 고양이라고 말한다. 그렇지만 왜 고양이라고 생각했는지는 아직까지는 잘 설명해주지 못한다. 


지난 2016년 알파고와의 대국이 끝나고 이세돌 9단에게 한 기자가 알파고와의 대국에서 가장 힘든 점이 무엇이었냐고 질문한 적이 있다. 이에 이세돌 9단은 대국 후 복기를 할 때 가장 힘들었다고 대답했다. 사람과 사람의 대국이라면 당시 왜 그런 수를 두었는지 이야기 할 수 있지만, 컴퓨터는 이유를 내놓지 않으니 알파고의 의중을 이해할 수 없어 답답했던 것이다. 


이러한 한계점 때문에 딥러닝 연구는 갈피를 잡기가 힘들다. 결과가 안좋아도 뭐때문에 안좋은건지 잘 모르니 어디부터 개선해나가야 할지 알기가 어렵다.


2. 보안에 취약한 부분이 있다.

위 사진에서 왼쪽과 오른쪽 사진을 보자. 어떤 동물인가? 일반적인 사람이라면 두 사진 모두 팬더라고 대답할 것이다. 하지만 딥러닝 모델의 경우는 다르다. 왼쪽 팬더 사진에 고의적으로 사람 눈에는 잘 보이지 않는 노이즈 이미지를 주입하여 주면 팬더가 아닌 다른 동물 (위 사진에서는 gibbon)이라고 대답하게 만들 수 있다. 이러한 예제들을 Adversarial example이라고 한다.



이러한 예제들은 여러 심각한 문제를 초래할 수 있다. 자율주행차를 생각해보자. 자율주행차의 경우 차 앞에 카메라가 달려 있어 도로에 존재하는 표지판을 촬영하고 인공지능을 통해 가도 될지 멈춰야 할지 판단한다. 만약 멈추라는 Stop sign을 봤을 때 이를 제대로 인식한다면 문제가 없겠지만 외부 공격자가 이미지를 약간 변형하여 최고 속도 100km/h로 인식되게 만든다면? 어마어마한 사고를 유발할 것이다.


딥러닝 보안 연구는 현재 활발하게 진행되고 있지만 아직까지 확실한 방어 방법은 제안되지 못했다. 여러 연구자들이 방어 방법들을 많이 제안하였지만 얼마 지나지 않아 그것을 뚫는 새로운 공격 방법이 또 제안되는 경우가 많았다. 이러한 보안 문제를 극복하지 못한다면 인간이 인공지능을 믿고 다양한 분야에 적용되기는 어려울 수 있다.




책 <AI 마인드> 에는 딥러닝 기술 발전 이슈 이외에도 인공지능이 사회적으로 미칠 영향에 대한 질문들도 많이 던진다. 인공지능이 발전하면 일자리 문제는 어떻게 될지, 일반인공지능이 인류에게 큰 피해를 입히지는 않을지 등등 평소에 인공지능 연구하면서 생각해보지 못했던 것들을 고민해볼 수 있는 기회였다. 연구실에만 있으면 인공지능 기술을 어떻게 발전시킬지만 고민하게 되는데 이 책을 통해 인공지능을 바라보는 시야를 넓힐 수 있었다. 이 글에서는 딥러닝에 대해서만 썼지만 추후에 인공지능이 사회에 미칠 영향들에 대해서 진지하게 생각을 정리해보는 것도 좋을 것 같다.


참고한 책

<AI 마인드>, 마틴 포드


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari