[AI 이야기]

입력 데이터의 어텐션 스코어 계산해 활용…‘설명 가능한 인공지능’ 구축에도 도움
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
[한경비즈니스 칼럼=이주열 LG CNS AI빅데이터연구소장, 김명지 AI빅데이터연구소 책임]사람은 최근의 내용은 뚜렷하게 기억하지만 시간이 지난 사건일수록 기억이 가물가물해진다. 어제 한 일에 대해서는 구체적으로 떠올릴 수 있지만 1~2년 전의 일과가 어땠을지 바로 기억할 수 있는 사람은 거의 없을 것이다. 그때의 일기·메일·기록한 일정 등을 다시 찾아보며 어떤 일이 있었는지 되짚어 봐야 한다.

인공지능(AI)도 마찬가지다. 순환 신경망(RNN)은 시간 순서에 따른 데이터를 처리하는 인공 신경망으로, 긴 시간에 대해 누적된 데이터가 입력되면 먼 과거의 내용을 잘 반영하기 어렵다는 점이 한계다. 예를 들어 기계 번역 과제를 생각해 보자. 간단한 문장은 한 번 듣는 것만으로 쉽게 번역할 수 있다.

그러면 [그림1] 내용을 한번 다 듣고 난 뒤 바로 영어로 번역해야 한다고 생각해 보자.

다시 들을 기회가 없다고 가정할 때 한번 듣는 것만으로 전부 번역할 수 있을까. 내용 자체는 어렵지 않다. 하지만 다량의 내용이 담긴 긴 문장(또는 문단)을 딱 한 번만 들고서는 번역을 정확하게 할 수 없을 것이다. 우리가 긴 문장을 번역할 때 한 단어 또는 구절을 영어로 옮길 때마다 필요한 내용을 한국어 원문에서 되짚어 가며 옮기곤 한다.

한국어와 영어의 어순이 다르니 뒷부분을 봤다가 다시 앞부분을 참고하기도 하고 여러 어절을 한 영어 단어로 번역하거나 반대로 한 어절을 여러 구로 번역하기도 할 것이다. 문장이 문단이 되고 문서가 될수록 더욱 더 여러 번 원문을 재참조해야 한다.

인간의 기억력에는 한계가 있어 모든 입력 내용을 한 번 읽고 결과를 한 번에 생성하는 것보다 그때그때 재확인하면서 필요한 부분을 보는 것이 더 도움이 된다. 사람이 원문(input data)을 전체적으로 훑으며 중요한 부분을 다시 참고하듯이 인공 신경망 학습에도 이러한 모티브를 녹여낼 수 없을까.
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
어텐션 메커니즘(attention mechanism)


학교에서의 수업 시간, 모든 과목의 모든 내용을 빠짐없이 다 주의 깊게 들었던 학생은 많지 않을 것이다. 딴짓을 하다가 선생님 질문에 맥락을 이해하지 못하고 버벅거리면 “집중 좀 합시다”란 꾸중을 들을 것이다.

인공 신경망 모델에서의 집중(attention)이란 무엇일까. 인공 신경망이 수행하는 ‘집중’, 어텐션 메커니즘에 대해 알아보자. 어텐션 메커니즘은 인공 신경망이 입력 데이터의 전체 또는 일부를 되짚어 살펴보면서 어떤 부분이 의사 결정에 중요한지 중요한 부분에 집중하는 방식이다. 우선 어텐션 없이 기본 RNN만으로 구성한 기계 번역 모델이 있다면 [그림2]와 같을 것이다.

RNN은 입력 문장의 단어 하나하나를 누적 압축해 인코딩하고 있다가 모든 문장이 다 들어오면 영어로 한 단어씩 번역을 수행(디코딩)한다. 이때 디코더가 참고하는 문맥은 [그림2]의 빗금 영역에 해당하는, 입력문이 전부 압축된 하나의 벡터다. 이 벡터는 긴 문장을 모두 누적하고 있지만 문장 앞부분의 내용은 너무 압축된 나머지 정보를 거의 잊어버린 것이나 마찬가지다. 여기에 어텐션 메커니즘을 얹어 번역 시 원문을 다시 재참조하며 현재 디코딩할 단어와 연관된 중요 부분에 집중하게 하면 어떨까. [그림3]과 같이 구성해 볼 수 있다.

‘빌딩(building)’이란 단어를 생성할 때 인공 신경망은 전체 한국어 입력 문장을 되짚어 보며 현재 단 =어를 디코딩하기 위해 중요한 부분이 어디일지 생각하게 된다. 그 결과 수많은 입력 단어 중 ‘건물’에 해당하는 단어에 조금 더 주의를 기울일 필요가 있다고 판단, 해당 단어에 조금 더 집중해 전체 입력을 다시 한 번 재조정한 입력 데이터 인코딩 벡터를 만든다. 이렇게 하면 입력 문장이 매우 길어진다고 해도 전체 문맥을 골고루 참고할 수 있게 되므로 더 좋은 번역을 할 수 있다.

어텐션 스코어(attention score)

이때 ‘중요한 단어에 집중한다’는 것은 어텐션 스코어를 계산한다는 것인데 어텐션 스코어는 인공 신경망 모델이 각 인코딩 타임스텝마다 계산된 특징을 가지고 자동으로 계산하는 0~1 사이의 값이다. 어떤 부분은 더 집중해 봐야 하고(1에 가까운 스코어), 어떤 부분은 지금은 중요하지 않으므로 대충대충 살피도록(0에 가까운 스코어) 하는 것이다. [그림3]에는 붉은 점선의 굵기로 어텐션 스코어가 표시돼 있다. 어텐션 스코어는 각 단어에 대한 주의 집중 가중치라고 볼 수도 있다.
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
콘텍스트 벡터(context vector)

어떤 부분을 더 살펴보고 어떤 부분은 대충 봐도 좋을지에 대해 어텐션 스코어를 구하고 나면 현재 디코딩할 단어와의 관련성을 반영해 다시 입력 문장을 인코딩하게 되는데, 이는 중요도에 따라 전체 문맥의 정보를 잘 반영하고 있다고 해서 콘텍스트 벡터라고 부른다. 어텐션 스코어와 콘텍스트 벡터를 만드는 방식은 여러 가지가 있다. 하지만 중요한 것은 스코어 계산에 필요한 수식이 아니라 어텐션 메커니즘이 매번 디코딩마다 직전 단계의 벡터뿐만 아니라 과거의 모든 데이터의 특징을 고려한다는 점이다.

또 하나의 포인트는 딥러닝 모델이 ‘스스로’ 집중할 영역을 파악한다는 것인데, 딥러닝 모델은 데이터를 더 잘 맞추도록 학습하는 과정에서 어떤 부분이 중요한지 사람이 알려주지 않아도 알아서 집중할 영역을 찾아낼 수 있다. 딥러닝을 활용한 기계 번역을 위해 어텐션 메커니즘을 처음 도입한 논문에 보면 이런 자료가 있다.

[그림4]는 영어 문장을 프랑스어로 번역하는 과제를 할 때 각 단어 번역 시 인공 신경망이 어떤 영어 단어 쪽에 집중했는지 어텐션 스코어를 시각화한 그림이다. 하얀색으로 표시될수록 딥러닝 모델이 해당 단어를 더 주의 깊게 봤다는 뜻이 되고, 이는 사람이 알려준 것이 아닌 신경망 스스로가 학습한 집중 패턴이다. 그림상으로도 알 수 있듯이 영어와 프랑스어는 대강 비슷한 어순을 가지고 있다.

특이한 점은 영어의 ‘European Economic Area’가 프랑스어의 "zone economique europeene"에 해당하는 것을 들 수 있는데, 이 부분은 영어와 프랑스어 어순이 반대다. 딥러닝 번역 모델의 어텐션 스코어를 보면 신기하게도 이 부분에서 순서를 반전시켜 가며 주의를 기울이고 있다. 완전히 동일한 어순을 가지며 단어 간 일대일 매칭이 되는 언어끼리의 번역이 아니라면 그때그때 유연하게 집중해야만 하는데 이때 어텐션 메커니즘이 그 역할을 훌륭히 해냈다. 예시를 하나 더 살펴보자.

[그림6]에서 프랑스어 ‘La destruction’란 단어를 번역할 땐 영어의 ‘Destruction’에 집중하고 ‘la Syrie’를 번역할 땐 영어의 ‘Syria’에 집중한 것을 볼 수 있다. 프랑스어가 단어 앞에 관사를 붙이는 점이 영어와 다른 특징이라고 볼 때 딥러닝 모델은 해당 언어별 특징을 잘 이해하고 집중할 부분을 선택한 것을 확인할 수 있다.
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
XAI로서의 어텐션

예제에서 알 수 있듯이 어텐션 메커니즘은 기계가 판단할 때 중요하게 생각하는 부분을 사람에게 알려주는 역할도 한다. 이는 설명 가능한 인공지능(XAI : eXplainable AI)으로서의 기능이라고 볼 수 있다. 딥러닝 기반의 AI는 일반 머신러닝 기반이나 전통적 룰 기반의 프로그래밍에 비해 예측 정확도는 높지만 그 모델이 너무 복잡하고 해석하기 어렵다는 단점이 있다. 이에 따라 AI의 추론 결과를 해석하는 XAI는 오늘날 매우 중요한 영역이다. 딥러닝 기반 AI의 이러한 단점은 특히 법률·의학·금융 등 민감한 내용을 다루는 도메인에서 문제가 되곤 한다. 인공 신경망의 무수한 파라미터를 사람이 이해할 수 있는 방법으로 표현하기가 쉽지 않기 때문이다.

예를 들어 미래에 AI 판사가 등장해 인간 판사를 대체할 수 있을 수준이 됐다고 가정해 보자. AI 판사는 아주 실력이 좋고 유능하면서도 24시간 일할 수 있고 공정하며 뇌물 수수의 유혹에도 흔들리지 않기 때문에 미래의 인간은 전적으로 AI의 판단에 결정을 맡기게 됐다. 하지만 다짜고짜 AI 판사가 여러분에게 [표1]과 같이 선언했다고 하자. 당연히 납득할 수 없을 것이다.

AI 판사가 평범한 인공 신경망으로 이뤄져 있다면 죄명이 무엇인지, 무엇을 얼마나 잘못했기에 이런 판단을 내렸는지 설명할 수 없다. 반면 인간 판사는 이러한 점을 설명해 줄 수 있다. 왜 이렇게 판단했는지, 죄명은 무엇이고 어떤 점 때문에 형벌의 강도를 심하게 또는 약하게 정했는지 등을 설명해 줄 수 있다. 벌을 달게 받는다는 게 쉬운 일은 아니지만 그래도 설명이 있다면 납득하고 받아들일 수는 있을 것이다.

어텐션은 인공 신경망의 이러한 설명 부족 문제를 일부 해소해 줄 수 있다. 물론 사람이 알아들을 수 있는 말로 ‘이렇고 저렇기 때문에 그렇게 판단했다’고 알려 주는 것은 아니지만 해당 결정을 내릴 때 ‘어떤 부분에 집중해 판단했는지’를 시각화해 보여 줄 수 있다.
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
‘무엇이 중한디?’… 인공 신경망에서 ‘집중’ 메커니즘 [AI 이야기]
[본 기사는 한경비즈니스 제 1312호(2021.01.18 ~ 2021.01.24) 기사입니다.]