"알파고가 전부가 아니다"...구글의 인공지능(AI) 기술 TOP 7


"인공지능(AI)는 구글의 최종 도착지"


  인공지능(AI)는 구글의 최종 도착지가 될 것입니다. 구글은 사용자가 원하는 것을 정확히 이해하고, 가장 적합한 답을 줄 것입니다. 물론 그 지점에 도달하기에는 아직 한참 멀었지만, 우리는 점차 더 가까워질 수 있으며, 그것이 기본적으로 우리가 가고 있는 방향입니다”


Google Artificial Intelligence artwork source Popular Science

edited by kcontents


구글의 공동 창업자인 래리 페이지가 지난 2000년에 한 말이라고 한다. 2000년이면 구글이 설립된 지 2년 정도 됐을 무렵이다. 구글의 AI 기술은 2016년에 돼서야 알파고 덕분에 유명해졌지만, 구글은 창립 초기부터 AI를 향해 달려온 기업이라고 볼 수 있다.


이를 위해 구글은 많은 AI 기술을 자체적으로 개발하거나 외부 AI 기술업체를 인수했다. 세계 최고 수준의 AI 기술을 보유했다고 말할 수 있다. 이번 기사에서는 구글이 보유한 AI 기술을 살펴본다.


텐서플로

2015년 11월 구글에서 오픈소스 소프트웨어로 공개한 딥러닝 프레임워크다. 2011년부터 구글에서 내부적으로 사용되던 1세대 머신 러닝 시스템 ‘디스트빌리프’를 이은 구글의 2세대 머신 러닝 시스템이라고 볼 수 있다. 데이터 흐름(플로우) 그래프를 이용한 수치 계산을 할 때 사용된다.



텐서플로는 하나의 모델 안에서 여러 개의 다른 모델을 쌓아 올리거나 변환시킬 수 있고 한꺼번에 모두를 학습시킬 수 있다. 텍스트, 이미지, 다양한 속성을 한 모델에서 쉽게 다룰 수 있다.


구글은 2017년 2월 15일 텐서플로 1.0을 공식 발표했다. 텐서플로는 현재 깃허브에서 가장 인기있는 오픈소스 AI 프레임워크다.


참조 : 텐서플로 공식 사이트

 



텐서플로 프로세싱 유닛(TPU)

2016년 5월 구글은 연례 개발자 대회 ‘구글 I/O 2016’에서 TPU라 불리는 새로운 칩셋을 공개했다. TPU는 텐서플로를 통해 딥러닝을 하는데 특화된 AISIC이다. TPU 하나에는 산술논리 연산장치(ALU)가 6만5536개 탑재됐다. 문제가 입력되면 동시에 6만5536회 풀어보며 가장 효율적인 해법을 찾는다.


구글 1세대 TPU는 머신러닝 모델을 빠르고 효율적으로 실행하여 문장을 번역하거나 바둑에서 다음 수를 결정할 수 있도록 개발됐다. 그러나 별도의 학습 과정을 거쳐야만 했다. 머신러닝 모델 학습은 모델 실행보다 훨씬 까다로운 작업이기 때문에 TPU 이외에도 최적의 CPU와 GPU에서 오랜 시간에 걸쳐 컴퓨팅 작업을 처리해야만 했다.

 


이에 구글은 2017년 5 월 2 세대 TPU 를 발표했다. 구글에 따르면, 2세대 TPU는 머신러닝 모델의 학습 및 실행이 모두 가능한 것이 특징이다. 이는 이론적으로는 GPU가 필요하지 않다는 것을 의미한다. 이 때문인지 구글의 2세대 TPU가 발표된 이후 엔비디아의 주가가 떨어졌다.


2세대 TPU는 최대 180테라플롭에 달하는 부동 소수점 연산 성능을 제공하며, 각 TPU에는 맞춤 고속 네트워크가 포함돼 있어 ‘TPU 팟(TPU pod)’이라고 하는 머신러닝 슈퍼컴퓨터를 구축할 수 있다. TPU 팟은 차세대 TPU 64개를 갖추고 있으며, 최대 11.5 페타플롭의 연산 성능을 제공한다.


구글은 대규모 번역 모델을 훈련시키는데 기존 최고급 상용 GPU 32개를 사용했을 때는 하루가 꼬박 걸렸지만 TPU 팟의 1/8만 사용해도 같은 정확도로 훈련시키는데 반나절 밖에 걸리지 않았다고 설명했다.


구글은 자사의 클라우드 서비스인 ‘구글 컴퓨터 엔진’에 TPU를 올려 ‘클라우드 TPU’를 제공한다. 클라우드 TPU는 일반 클라우드 서비스를 이용하듯 TPU를 이용할 수 있다. 또 TPU와 최적화 된 컴퓨팅 인프라를 제공받는다는 장점도 있다.

 

인셉션

인셉션은 구글의 컴퓨터 비전 기술이다. 구글은 지난 2014년 글로벌 이미지인식 경진대회에서 GoogLeNet로  처음 우승을 했는데, 이것이 인셉션 V1이다.  당시 GoogLeNet은 89.6%의 인식률을 기록했다. 현재는 V4까지 나와 있다.


인셉션 기술의 활용도가 극적인 분야는 의료쪽이다.  구글 리서치 의학영상팀은 구글의 컴퓨터 비전 기술을 기반으로 개발한 AI가 당뇨병 망막병증을 진단할 수 있는 수준에 올랐다고 밝혔다. 이 질병은 당뇨병력이 30년 이상인 환자의 90%에게 발병하게 되며, 세계 각국에서 실명의 주요 원인이 되고 있다고 한다.

 

(A)는 건강한 환자, (B)는 당뇨성 망막병증 환자. 출혈(Hemorrhages)를 통해 진단할 수 있다.


구글의 AI 시스템은 당뇨병성 망막증 여부를 판단하는데 필요한 민감도(sensitivity), 특이도(specificity)를 고려한 F스코어(최대값이 1)에서 의사 8명 평균인 0.91보다 약간 높은 0.95를 기록했다. 구글 AI 시스템이 오히려 일반적인 의사보다 더 정확한 진단을 내린 것이다. 물론 이 기술이 당장 상용화 될 수 있는 것은 아니다. 임상실험 등 더 많은 과정을 거쳐야 한다.


구글 인셉션 모델에 대한 논문.




신경망 번역

구글은 2016년 9월 ‘구글 신경망 기계번역(GNMT)’ 기술을 공개하고 2016년 11월에는 한국어를 포함한 8개 언어, 총 16개 언어 조합에 적용했다. 신경망 기계번역은 기존 구문 기반 기계번역(PBMT)이 문장을 단어와 구 단위로 쪼개서 하나하나 개별적으로 번역한 것과는 달리, 전체 문장을 하나의 번역 단위로 간주해 한꺼번에 번역한다. 이에 따라 문맥을 사용해 가장 적합한 번역을 파악해 내어 재배열하고 문법 규칙에 따라 자연스러운 문장에 가까운 번역을 제공한다.


구글 신경망 번역의 특징은 유사한 언어끼리 함께 학습을 시킨다는 점이다. 예를 들어 GNMT에서 한국어·일본어·터키어는 한 묶음이다. 영어⇄일본어 번역 데이터에서 얻은 학습 결과는 한국어와 터키어에도 적용된다. 영어⇄한국어를 직접 학습하지 않아도 영어⇄일본어 데이터 덕분에 영어⇄한국어 번역 결과도 향상된다. 일본에는 무수히 많은 영어 번역 문서가 있기 때문에, 이 덕분에 영어⇄한국어 번역품질도 향상됐다.


다중 언어 트레이닝을 통해 실제 테스트하지 않은 여러 언어 조합의 번역도 가능하게 하는 ‘제로샷 번역’이라는 것도 있다. 영어⇄한국어, 영어⇄일본어 간의 GNMT 번역 지식을 통해 상호간에 학습을 하지 않은 한국어⇄일본어 조합의 번역이 가능하다.

 

이 애니메이션에서 노란 점선이 제로샷 번역을 의미한다. 파란실선은 비슷한 언어끼리 함께 학습하는 것을 나타낸다.


웨이브넷

웨이브넷은 구글의 인공지능 자회사 딥마인드가 개발한 신경망기반 음성합성 엔진이이다. 웨이브넷의 음성은 기존보다 훨씬 사람 목소리에 가까운 것으로 평가된다.


음성합성(Text To Speech, TTS)은 기존에도 존재하던 기술이다. 기존에는 사람의 목소리를 녹음해 놓고 이를 일정 단위로 쪼개 데이터베이스를 만든 후 필요한 음운이나 음소, 단어에 맞게 조립하는 형태(concatenative TTS)였다. 이는 만들기는 쉽지만 기계음 특유의 어색함이 있다. 또 화자의 목소리를 바꾸기 위해서는 처음부터 다시 음성을 녹음해서 데이터베이스를 만들어야 하는 단점이 있다.


실제 사람 목소리 대신 전자적으로 소리를 만들어내는 파라메트릭 TTS라는 방식도 있지만, 이는 다양한 목소리로 합성이 자유롭지만 일반 TTS보다 더 기계가 말하는 티가 많이 난다.

 


웨이브넷은 한 번에 한 샘플씩 오디오 신호의 원시 파형을 직접 모델링하는 방식이다.이를 통해 보다 자연스러운 음성을 생성 할뿐만 아니라, 원시 파형을 사용하면 웨이브넷이 음악을 포함한 모든 종류의 오디오를 모델링 할 수 있다.

참조  : 웨이브넷 관련 논문

 

랭크브레인

AI 는 구글의 검색에도 영향을 미쳤다. 구글은 허밍버드(Hummingbird)라는 검색시스템을 운용 중인데,  지난 2005년부터 인공지능을 기반으로 한 ‘랭크브레인’이라는 새로운 기술이 허밍버드의 부분으로 들어갔다.


랭크브레인은 사람들이 애매한 표현이나 구어체 표현으로 검색을 했을 때 원하는 내용을 보여주기 위한 기술이다. 예를 들어 ‘문재인 대통령은 언제 태어났나요’와 같은 검색어는 기존의 방식으로는 적절한 문서를 찾기가 어렵다. 이 검색어를 ‘문재인 대통령 생년월일’로 바꾼다면 훨씬 정확한 검색결과를 얻을 수 있다.

 


구글에서는 초당 수백만 번의 검색 질의가 들어오는데, 그 중에서도 15 %가 신규 쿼리라고 한다. 랭크브레인은 이같은 검색어를 처리하기 위한 알고리즘이다. 랭크브라운은 구글 검색결과에 영향을 미치는 200여 개의 요인 중 3위의 영향력을 가졌다고 한다.

 

연합 학습 (Federated Learning)

연합학습은 중앙의 클라우드나 서버에 데이터를 저장하지 않고, 모바일 단말기상에서 이용자의 움직임을 즉각적으로 학습하는 기술이다. 클라우드에 의존하는 대신 사용자의 스마트 폰에서 AI 교육을 수행하는 분산형 딥러닝 아키텍처라고 볼 수 있다.


기존에는 사용자들의 움직임을 분석하기 위해서 각 사용자들이 제공하는 데이터를 모아 중앙 클라우드 데이터센터로 보내서 이 데이터로 모델을 학습시켰다. 학습된 결과는 새로운 버전의 소트웨어나 하드웨어를 배포할 때 반영됐다. 이 같은 방식은 사용자 개개인의 특성이 반영되지 않는다.

 


반면 연합학습은 사용자 개개인의 움직임을 학습해서 즉각적으로 사용성을 개선한다. 그리고 각 사용자의 데이터는 다시 중앙에서 학습돼 공통의 모델에 반영된다. 기존의 딥러닝 방식이 귀납식이었다면, 연합학습은 연역식 딥러닝이라고 볼 수 있다.


연합학습은 이용자 개개인이 즉각적인 딥러닝 혜택을 입는다는 정점도 있지만, 개인의 정보보호 측면에서도 유리한 점이 있다. 중앙 클라우드에서 학습을 해야 할 때는 이용자 개인의 데이터를 클라우드로 전송해야 한다. 그러나 연합학습은 개개인의 데이터를 전송하는 대신, 단말장치에서 이용자 개인의 데이터로 학습한 후 학습 결과만 중앙 클라우드로 보내면 된다.

 

※ 필자소개

바이라인네트워크 심재석 기자. 

심재석 기자는 IT전문기자 모임인 바이라인네트워크에서 활동하고 있습니다.

심재석 바이라인네트워크 기자

shimsky@byline.network 출처 동아사이언스


kcontents



댓글()