Google Duplex: 인공지능-인간간 대화를 꿈꾸다

3일쯤 전에 있었던 구글 IO 2018 키노트에서는 구글 포토의 신기능, 어시스턴트의 새로운 목소리, 새로 디자인된 TPU 3.0 등등 많은 업데이트가 있었다.

아니나 다를까 AI와 딥러닝은 이 모든 업데이트들을 관통하는 핵심 제재였다. 안드로이드 신기능 중 상당수는 어시스턴트, 렌즈와 같이 AI에 뿌리를 두는 기술들이었고 새로 발표한 TPU 역시 딥러닝에 특화된 하드웨어라는 점에서 그러했다.

이처럼 AI 관련 업데이트가 많을거라 예상은 했지만, 개 중에서 특히나 눈을 휘둥그레지게 한 기능이 있어 간단히 다뤄보고자 한다. 바로 Google Duplex라 명명된 기능인데, 상용화된다면/혹은 상용화되기 전부터 상당히 큰 파장을 일으킬 것으로 생각된다.

 

Google Duplex?

OpenTable 등 온라인 예약 서비스 시장이 꽤나 활발한 북미 시장에서도 소규모 영업장과 같이 온라인 예약을 지원하지 않는 경우에는 사람이 직접 전화를 걸어서 예약을 해야했다. 그런데 Google Duplex는 사람에게 명령을 받은 구글 어시스턴트가 직접 영업장에 전화를 걸어서 예약을 한다.

백문이 불여일견이다.

 

영상에서 소개된 실제 Duplex-사람간 통화에서 주목할만한 점은

  1. 액센트, 인토네이션이 완벽에 가깝다. 타사의 음성 기반 어시스턴트를 사용할 때 느껴지는 약간의 어색함이 없다.
  2. hmm, um.. uh, 같은, 사람이 생각할 때에 사용할만한, 의미 전달과는 관계가 없는 표현을 사용할 수 있다. (자연어처리, 음성생성 분야에서는 이런 단어들을 speech disfluency라 한다)
  3. 상대의 발화에 따라 대답까지의 딜레이 시간을 조절한다. “여보세요?”같은 짧은 발화에는 빠르게 대답하는 한편, “정오에는 예약이 불가능해요”같은 긴 발화에 대해서는 대답하기까지의 딜레이가 조금 더 길다.
  4. 뜻 밖의 시나리오에도 대응할 수 있다. “5명 이상인 경우에만 예약이 가능해요. 그냥 매장에 오세요”라는 말에 “그냥 가면 오래 기다리나요?”라고 물어볼 수 있다.

사실 대화 내용 전체가 주목할 만 하다. 그저 놀랍다.

 

Duplex의 아키텍처

개인적으로는 알파고 이상의 충격을 받았던 터라 그 아키텍처가 심히 궁금해서 찾아보았는데, 아직까지 공식적으로 공개된 디테일은 거의 없었다.

구글 공식 AI 블로그에 공개된 매우 단순화된 아키텍처는 다음과 같다.

뉴럴넷에 인풋으로 들어가는 Feature는 세 가지 정도로 분류할 수 있다. (1) 대화 상대방의 음성 신호. (2) 1의 음성 신호로부터 추출한 발화 텍스트. 텍스트 추출에는 구글이 직접 개발한 ASR(automatic speech recognition)이 사용된다. (3) 발화가 이루어진 환경, 문맥과 관련된 정보들. 이전까지 나눈 대화라던가, 어시스턴트가 사람에게 하달받은 명령, 대화 중인 영업장의 업종, 대화 중인 시간 등의 정보가 사용되는 듯하다.

이 Feature들로 RNN(recurrent neural network)을 돌린다고 한다. (아직 개발 중이니 당연하겠지만 디테일이라곤 찾아볼 수 없는 설명이다. 나중에라도 세부 내용을 좀 더 알려줬으면 좋겠다) RNN은 인풋으로 들어온 상대방의 발화에 대해 어시스턴트가 대답할 내용을 텍스트 형태로 출력한다.

RNN에서 출력된 텍스트를 구글의 TTS(text-to-speech) 시스템이 음성 신호로 변환한다, 즉 “읽는다”. 사람만큼이나 자연스럽게 말하게 하기 위해 딥마인드의 WaveNet과 구글브레인의 Tacotron을 사용하는 음성합성 엔진을 사용한다고 한다.

요약하자면 그냥 [음성신호와 발화내용과 문맥 -> RNN -> 대답할 텍스트 -> TTS -> 대답 음성]이 전부다. Duplex의 실제 통화 음성을 들었을 때의 충격에 비하면, 현재까지 발표된 내용에서는 기술적으로 대단한 부분은 딱히 없다. 이후의 발표가 더욱 기대되는 이유다.

추가적으로 실제 통화가 이루어지는 중에 사람이 개입해서 올바른 대화를 지시할 수 있도록 real-time supervised learning을 사용했다고 한다.

 

한계

Duplex도 한계는 명확하다. Duplex가 이렇게 자연스러운 대화를 할 수 있는 도메인은 오직 “특정 영업장에 서비스를 예약하고자 할 때”, “영업시간 등의 영업장 정보를 묻고자 할 때 뿐이다. 상기된 것과 다른 목적의 대화 또는 목적이 없이 시작되는 일상 대화(small talk)는 할 수 없다.

사실 이건 Duplex의 문제라기보다는 현 시대 인공지능의 한계, 또는 자연어처리 문제의 내재적인 복잡성이라고 생각할 수 있다. 작년 11월에 아마존이 주최한 Alexa Prize 2017에서는 음성 어시스턴트 알렉사가 가장 오랫동안 일상적인 대화를 이어나가게 하는 팀에 총 백만달러의 상금을 걸기도 했었다 (1등 팀이 10분 22초라는 성적을 냈다). 50만 달러를 가져갈 수 있었던 이유가 고작 10분간의 대화라니, 이 문제가 얼마나 어려운 문제인지 알려주는 예시라 할 수 있겠다. 누군가는 사람과 20분 자유대화를 할 수 있는 프로그램을 개발하는 것은 “달 착륙 수준이 아니라, 화성 여행을 하는 것이나 마찬가지”라고 평가했었다.

 

의의와 영향

Duplex가 발표됨에 따라 기술과 규제의 측면과 사회윤리적 측면에서 다양한 논의를 해볼 수 있는 주제가 던져졌다고 본다. 여기서는 짧은 시간동안 생각해본 몇 가지만 다뤄보았다.

첫 번째는 인공지능이 할 수 있는 것의 영역에 대한 이야기다.

인공지능과 딥러닝이 일궈온 놀라운 성과가 있었음에도, 지금까지 혁신적인 성과가 있었던 것은 주로 이미지/영상 인식 및 생성 분야였다 (CNN, DCGAN). 물론 문맥이 있는 데이터, 특히 자연어 처리에서도 이에 버금가는 성과가 있었다고 알고는 있었지만, 사람이 대화 상대가 기계일지도 모른다는 생각조차 하지 못할 정도로 발전했는지는 미처 알지 못했다.

인공지능이 뭔가를 할 때마다 나오는 말 같아서 식상하지만, Duplex는 이런 점에서 다시 한 번 ‘인공지능이 할 수 있는 것’의 영역을 크게 넓혔다고 생각된다. 어쩌면 이번에 넓힌 영역의 크기는 알파고가 했던 것 그 이상일지도 모른다.

두 번째는 사회적, 윤리적 영향에 대한 이야기다.

1)

Duplex가 발표되고 나서, 트위터를 비롯한 몇몇 포럼에서는 많은 의견이 오갔다. 기술 발전에 놀라워 하는 의견이 대부분이었지만 몇몇은 끔찍한 아이디어라고 평가하기도 했다. Duplex를 끔찍해하는 사람들의 의견에는 인간 특유의 것이라 믿었던, 즉 인간성에 대한 배신감이 서려있다. 더 이상 실시간 대화는 (특정 분야의 대화에 한해서는) 사람만의 것이 아니다.

바둑에서도 한 차례 이런 일이 있었지만 그 때는 이처럼 거부감이 크지는 않았다. Google Duplex에 대한 거부감이 큰 것은 Duplex가 정복한(것으로 보이는) 분야가 하필 대화이기 때문일 것이다.

인간의 언어를 사용한 대화는 실로 인간만 하는 행위이(었)다. 지능이 높은 동물들도 대화를 한다고는 알려져 있지만, 우리의 언어를 사용하지는 않았다. 사람의 말로 자연스럽게 대화할 수 있는 능력은 곧 인간성을 구성하는 핵심 중 하나였다. 곧, 대화에 자연스럽게 참여하는 모든 대상은 사람으로 간주할 수 있다는 뜻이었다.

물론 Google Duplex 이전의 어시스턴트도 자연스러운 대화가 가능했다. 하지만 이때는 목적을 가지고 대화를 시작하는 주체가 항상 사람이었다. 어시스턴트는 인간의 명령을 대기하고 있을 뿐이었다. 초기발화주체가 항상 사람이라는 일방성이 존재했기 때문에 우리는 발화 상대가 인간이 아님을 알 수 있었고, 따라서 거부감이 느껴지지 않았다.

Google Duplex를 탑재한 어시스턴트는 “인간성”을 획득함과 동시에, 기존 어시스턴트에 존재했던 발화의 일방성을 깨버렸기 때문에 문제가 된다. 이제는 인공지능이 먼저 목적을 가지고 발화를 시작한다. 경우에 따라서는 사람을 수동적인 존재로 만드는 듯한 느낌까지 준다. 사람(영업장의 직원)이 인공지능(구글 어시스턴트)의 발화를 기다리는 것 같은 상황이 연출된다.

2)

요즘들어 젊은 세대의 통화공포증에 대해 연구가 진행 중이라고 한다. ‘공포증’이라 이름붙일만한 수준은 아니지만 본인도 통화를 꺼리고 메신저를 선호하는데, 비슷한 생각을 하는 이들의 의견을 종합해보면 그 이유는 이렇다.

  • 발화는 수정이 불가능하다.
  • 물음과 답변 사이의 긴 딜레이가 용납되지 않는다. 준비할 수 없는 느낌이다.
  • 주로 메신저를 사용하는 등, 안하다보니 통화가 필요한 상황에서도 하기가 겁난다.

Duplex는 마치 이 문제를 해결하기 위해서 개발된 듯하다. 대부분의 “통화가 필요한 상황”은 예약이나 영업시간 질문 등을 위한 것이니, 어시스턴트가 전화를 대신 해주면 전부 해결된다. 유일한 문제는 이게 근본적인 해결책이 아니라는 데에 있다.

 

혼란 속에서 커뮤니티엔 이런 토의주제가 등장했었다:
“당신이 대화하는 대상이 사람이 아니라는 것을 의무적으로 밝히도록 해야 하는가?”

 

맺으며

구글에 의하면 Duplex 기능은 지난 몇 년간 개발되어 왔고, 앞으로도 상용화까지는 상당한 시간이 더 필요할 것이라고 한다.

당장의 문제는 아니지만 자율주행차 논의와 함께 대화봇 논의도 지금보다 활발히 진행될 필요가 있다고 본다. 충분히 대비해서 해로울 것은 없다.

Duplex가 끼칠 영향이 마음 한 켠에선 걱정되는 한편, 실은 이 기술이 가져다줄 미래가 기대되는 마음이 훨씬 더 크다. 당장 오늘 해야하는 전화도 Google Duplex가 있었다면 (그리고 한국어를 지원한다면) 난 주저않고 어시스턴트에게 부탁했을 것이다.

아키텍쳐가 더 자세하게 공개가 된다면 이 내용도 기회가 될 때 다루고싶다.

 

답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.