데이터 인터뷰

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

"AI 음성 기술 어디까지 와있나요?" - 임윤규 티맥스에이아이 팀장

DATA 인터뷰
작성자
dataonair
작성일
2021-07-21 18:00
조회
2332
 

데이터인 인터뷰: 임윤규 티맥스에이아이 팀장

“AI 음성 기술 어디까지 와있나요?”


임윤규 티맥스에이아이 팀장 프로필 사진
△ 임윤규 티맥스에이아이 팀장
성균관대학교컴퓨터공학학사
성균관대학교컴퓨터공학석사
티맥스AI/팀장


AI 음성 기술 종류

운전 중 연료가 부족한 것을 발견한 당신은 물어본다. “가장 가까운 주유소가 어디야?” 얼마 지나지 않아 당신이 알고 있는 유명인의 목소리로 다음과 같은 멘트가 들려온다. “5킬로미터 이내에 xx주유소가 있어요. 안내를 시작할까요?” 매우 자연스러운 톤의 음성이 네비게이션 기기에서 들려온다. 과거와 현재의 네비게이션의 가장 큰 차이점 중 하나가 바로 음성 기술이다. 초창기 네비게이션의 경우 사용자의 음성 명령을 제대로 인식하지 못하는 경우가 빈번 했으며, 길 안내 중에 들리는 목소리는 딱딱하게 느껴지기 십상이었다. 그러나 현재는 눈부시게 발전한 딥러닝 AI 기술에 힘입어, 최신 음성인식 기술이 적용된 내비게이션은 차량 운행 중에도 음성을 잘 인식하며, 길 안내 때 들리는 음성합성 목소리는 사람과 분간하기 어려울 정도로 자연스럽다. 이 외에도 AI비서 기기 등을 통해 우리는 다양한 영역에서 음성 기술을 접하고 있다.

위의 예시에서 사용된 AI 음성 기술은 이미 우리 삶에 가까이 다가온 음성인식 기술과 음성합성 기술이다. 음성인식(STT, Speech-to-Text) 기술은 음성을 입력 받아 텍스트로 변환해주는 기술이다. 크게 삼성의 빅스비(Bixby), 애플의 시리(Siri)와 같이 실시간으로 마이크로부터 음성을 입력 받아 인식하는 온라인(스트리밍) 음성인식과 파일을 입력 받아 인식하는 오프라인(파일) 음성인식으로 나눌 수 있다. 온라인 음성인식의 경우 입력 받은 음성을 인식한 텍스트를 100~300ms 내로 보여줄 수 있도록 만든다. 최근에는 서버 없이 모바일 기기 자원 만을 사용하여 데이터 유출 없이 음성인식 기능을 사용할 수 있도록 최적화 연구가 활발히 진행되고 있다. 오프라인 음성인식의 경우 통화, 회의 등 상대적으로 음성의 길이가 긴 파일을 입력 받아 GPU와 같은 고연산 장치를 이용해 빠르게 텍스트를 보여 줄 수 있도록 만들어진다. 음성합성(TTS, Text-to-Speech) 기술은 텍스트를 입력 받아 음성으로 변환해 주는 기술이다. 17년 이후 딥러닝 기반의 AI 음성합성 기술이 개발되면서 사람과 분간이 어려울 정도로 합성된 음성의 자연스러움과 명료도가 크게 향상되었다. 최근에는 말의 빠르기, 높낮이 조절을 넘어 감정까지 합성하는 연구, 노래를 합성하는 연구가 진행되고 있다.

음성인식 기술과 음성합성 기술 외에도 다양한 음성 기술이 존재한다. 키워드탐색(Keyword-Spotting) 기술은 음성에서 특정 키워드를 찾는 기술이다. 빅스비, Siri 등과 같은 AI비서를 활성화 시키기 위한 기능으로서 자주 사용된다. 특정 키워드 만을 대상으로 하여 검출하며, 항시 동작하고 있어야 하는 특성을 가지고 있기에, 최소한의 전력 만을 사용하여 동작하도록 만든다. 화자인식(Speaker Recognition) 기술은 일정 길이의 음성, 즉 발화가 주어졌을 때 해당 발화의 화자를 인식하는 기술이다. 이 기술을 이용하여 영화나 드라마에서처럼 보안 쪽에서 음성 인증(verification) 수단으로서 사용될 수도 있으며, 응용하여 여러 사람의 목소리가 섞여 있는 음성에서 각 화자를 구분하는 화자분류(Speaker Diarization) 기술에도 접목 가능하다. 음성구간검출(Voice Activity Detection) 기술은 음원에서 음성 존재 여부를 확인하는 기술이다. 보통 음성인식 기술과 같이 사용되는 기술로, 음성이 없는 구간까지 음성인식을 하는 것은 자원 낭비이기 때문에 음성구간검출 기술을 이용하여 음성 구간만을 추출 후 음성인식을 한다. 지하철이나 공사장과 같은 큰 소음 환경에서도 작동하도록 잡음 및 소음에 강인하게 만들어진다. 음성강화(Speech Enhancement) 기술은 잡음이 포함된 음원을 입력 받아 잡음을 제거하여 음성의 품질을 향상시키는 방법이다. 코로나로 늘어난 비대면 화상회의 중 음성강화 기술을 적용하여 집안 소음 외에도 아기 우는 소리와 같은 비정상성(nonstationary) 잡음까지도 제거할 수 있도록 발전하고 있다. 음원분리(Source Separation) 기술은 여러 사람의 목소리가 겹쳐 있는 음원을 입력 받아 발화자 별로 분리해 내는 기술이다. 회의나 통화 중 발화가 서로 겹치는 구간을 분리함으로써 음성인식의 성능 향상을 위해 사용 가능하다. 음성변환(Voice Conversion) 기술은 음성을 입력 받아 다른 사람의 음성으로 변환하는 기술이다. 엔터테인먼트 요소 외에도 농아인과 같이 언어 구사가 힘든 사람의 목소리를 정상적인 목소리로 변환하는 연구가 시도되고 있다. 언급된 다양한 AI 음성 기술들이 우리 삶을 윤택하게 하기 위해 연구개발이 활발하게 진행되고 있다. 이러한 AI 음성 기술들은 과연 어떤 방식을 통해 만들어지는 것일까?


AI 음성 기술 개발을 위한 요소

AI 음성 기술 개발을 위한 핵심 요소들을 설명하기 위해 먼저 현재 사용되고 있는 딥러닝의 역사를 살펴볼 필요가 있다. 2차 세계대전이 한창 진행중이던 1943년, 시카고 대학의 워렌 멕컬론과 MIT의 월터 피츠는 인간의 두뇌에서 정보를 처리하고 전송하는 신경세포 뉴런의 수학적 모델을 제시하였다. 이를 활용하여 1958년 코넬 항공 연구소의 프랭크 로젠블랫이 오늘날 딥러닝의 근본이 되는 퍼셉트론(Perceptron)을 개발했다. 퍼셉트론은 뉴런처럼 여러 개의 입력을 받는데 각 입력의 중요도에 따라 가중치(weight) 값이 곱해진다. 이렇게 계산한 모든 입력의 합이 어느 수준의 한계 값을 넘게 되면 활성화 되었다는 의미로 1, 넘지 못하면 0의 값을 다음으로 전한다. 퍼셉트론을 통해 원하는 결과물을 얻기 위해서 가중치 값을 적절하게 설정할 필요가 있다. 퍼셉트론을 이용한 AI 연구가 활발히 진행 되었는데, 1969년 MIT의 마빈 빈스키와 시모어 페퍼트는 모든 논리 연산을 위해서는 퍼셉트론을 여러 개 묶어 하나의 층(layer)을 만들고, 이 층을 다층으로 쌓은 인공신경망(neuron network)이 필요하다고 발표한다. 당시에는 1~2개 층으로 구성된 얇은망(shallow neuron network)을 사용했는데, 문제는 얇은망의 적절한 가중치 값을 계산하기 위한 방법, 즉 얇은망을 학습 시키는 방법을 찾을 수가 없었다. 결국 AI의 빙하기라 불리는 침체기를 겪게 된다.

빙하기 동안 사람들의 관심을 줄었지만 연구자들은 인공신경망 학습을 위한 방법론을 고안하였다. 1987년 카네기 멜론 대학의 제프리 힌튼이 오류 역전파 알고리즘을 이용하여 얇은망을 학습시키는데 성공하게 된다. 이를 통해 인공신경망 분야 연구가 다시 활기를 찾는가 싶었지만, 실험실 환경을 벗어난 실용적인 문제를 푸는데 실패하게 되어 2차 빙하기를 겪는다. 90년대 후반 인터넷의 등장과 함께 방대한 데이터를 수집할 수 있게 되면서, 데이터를 기반으로 학습하는 기계학습 기반의 AI 가 다시 주목을 받게 된다. 기계학습 방법론 중 하나인 인공신경망 분야도 빅데이터를 활용하여 실용적인 문제를 풀기 위한 시도가 이루어졌으며, 이미지 분야의 경우 합성신경망(Convolutional Neural Network) 모델구조를 이용하여 가능성을 보였다. 또한 성능을 개선하기 위해 층수를 여러층으로 깊게 쌓아 만든 신경망을 학습하여 해결하자는 딥러닝(Deep Learning)이 제시된다. 하지만 층수가 깊어 짐에 따라 필요로 하는 컴퓨팅 자원 또한 기하급수적으로 증가하기 시작했다. 결정적으로 인공신경망 학습에 사용되는 오류 역전파 알고리즘의 기울기(gradient) 값이 층수가 깊어지자 값이 0이 되어 학습이 진행되지 않는 기울기 소멸 문제(Vanishing Gradient Problem)가 발생한다. 결국 인공신경망에 대한 사람들의 회의감이 커져 3차 빙하기를 맞게 된다. 시간이 흘러 마침내 데이터가 대용량으로 축적되고 GPU를 활용하여 막대한 컴퓨팅 자원 이용이 가능해졌으며 깊은망 학습을 위한 기술적 해결책의 등장으로 3차 빙하기가 끝낼 환경이 만들어졌다. 얼마 지나지 않아 2012년 이미지분류 대회인 ILSVRC 대회에서 딥러닝을 사용한 합성신경망 모델이 경쟁자 대비 10%의 압도적인 정확도 차이로 우승을 차지하며 실용성을 증명하게 된다. 이후 2016년 AI가 사람을 이기는 것이 불가능하다고 여겼던 바둑 분야에서도 딥러닝을 활용한 알파고가 승리하는 모습을 보이며 세계를 놀라게 하였고, 다양한 분야에서 실용성을 인정받아 최근에는 많은 산업 분야에서 AI를 적용하기 위한 연구가 진행되고 있다.

역사에서 알 수 있듯이 실용적인 AI 음성 기술 개발을 위해서도 데이터 특성을 고려한 AI 모델, 방대한 데이터, 학습을 위한 컴퓨팅 자원이 필요하다. 먼저 AI 모델에 대해 알아보도록 하자. 최근에 많이 사용되고 있는 AI 모델은 딥러닝을 기반으로 한다. 딥러닝 기반의 AI 모델은 추상적으로 생각하면 어떠한 수학 함수라고 볼 수 있다. 함수는 일련의 연산 과정으로 입력 x가 들어오면 정의된 연산 과정을 걸쳐 결과값 y를 출력한다. 기존에는 사람이 직접 함수의 정의를 내렸다. 반면 딥러닝은 입력과 출력, 즉 데이터가 주어지면 입력에 대해 원하는 출력이 나오도록 학습 과정을 걸쳐 최종적으로 가장 가능도(likelihood)를 최대화 하는 함수를 만든다. 이렇게 만들어진 함수를 AI 모델이라고 부른다. 쉽게 말해 우리가 문제지A와 정답지를 AI에게 주면 AI는 학습을 통해 문제에 대한 정답을 찾는 방법을 찾아낸다. 그렇다면 문제지A로 학습이 완료된 AI 모델에 문제지B의 문제를 입력으로 주면 어떻게 될까? 정답은 상황에 따라 다르다. 문제지A와 문제지B의 문제 유형이 서로 비슷하다면 AI 모델은 올바른 결과를 출력할 것이고, 문제지A와 문제지B 유형 차이가 크다면 AI모델의 결과 또한 틀릴 가능성이 높다. AI도 학습하지 않은 데이터를 입력으로 주면 우연히 맞출 수는 있어도 대체로 결과가 좋지 못하다. 그러면 세상의 모든 문제지를 다 사용해서 AI를 학습시키면? 아마 모든 문제를 다 풀 수 있을지도 모른다. 이와 관련하여 궁금하신 분은 GPT-3를 검색해 보시기를 추천 드린다. 위의 예시는 단적인 예시로 실제로는 데이터 특성을 고려한 AI 모델 설계가 중요하다. 데이터는 적은데 AI 모델의 능력(capacity)이 너무 높으면 해당 데이터를 다 외워버려, 조금만 입력이 달라져도 결과가 틀리게 나오는 오버핏(overfit) 문제가 발생할 수 있다. 반대로 데이터는 많은데 모델의 능력이 적으면 제대로 학습이 되지 않는 언더핏(underfit) 문제가 발생한다. 음성의 경우 데이터가 순차적(sequential)인 특성을 가지는데, 이러한 특성을 고려하여 설계하여야지 높은 성능의 AI 모델을 얻을 수 있다.

다음은 AI가 잘 학습하기 위해 필수적인 데이터이다. AI 모델 학습과정에서 지도학습(supervised learning)이 높은 성능을 얻기 위해 주로 사용되는데, 지도학습은 문제와 그에 대응하는 정답이 필요하다. 가령 음성인식의 경우 문제는 음성이고 정답은 텍스트이며, 음성합성의 경우 문제는 텍스트이고 정답은 음성이다. 문제와 정답 쌍을 만드는 데이터 구축 과정은 크게 수집, 정제, 라벨링, 검사 단계로 나누어 진다. 우선 수집은 문제를 수집하는 단계이다. 음성의 경우 사람의 가장 기본적인 커뮤니케이션 수단으로 매일 방송, 유튜브, 회의, 전화통화 등을 통해 막대한 양의 원천 데이터가 획득할 수 있다. 그러나 수집과정에서 고려해야할 사항이 있는데, 1.조건을 세분화 하여 다양한 경우에 대응할 수 있도록 데이터를 수집(다양성), 2. 조건 별 학습에 유용한 수량 및 적정 비율 확보(충분성, 균일성), 3. 가능한 한 인위적인 데이터가 아닌 실제 환경과 상황 특성을 반영한 데이터 확보(사실성), 4. 지역, 사회 및 인종적 편견 등 편향적인 특성 제거(공평성)이다. 정제 단계에서는 다양성, 충분성, 균일성, 사실성, 공평성을 고려하여 제대로 데이터가 수집되었는지 확인하고 걸러내는 단계를 거친다. 라벨링 단계는 수집한 문제에 대한 정답을 만드는 과정으로서, 음성의 경우 직접 여러번 들어봐야 하기 때문에 상당한 노력과 시간이 들어가는 작업이다. 이 때문에 보통 AI 모델의 예측 값을 활용하여 1차적으로 자동라벨링 후 사람이 수정하는 식으로 이루어진다. 마지막 검수 단계에서는 프로그램에 의한 전수 검수와 샘플링 검사를 통해 각 단계의 결과물이 이상이 없는지 확인한다. 2020년 부터 정부의 디지털 뉴딜 사업의 일환으로 데이터댐이 구축되고 있으며, AIhub 사이트를 통해 다양한 데이터셋이 공개되었다. 21년 공개된 음성 데이터량이 약 5만 시간 규모인데, 마이크로소프트가 사용하는 영어 데이터량이 6.5만시간 정도 인것을 생각하면 단기간 내에 많은 데이터가 확보되었다.

마지막으로 AI를 학습시키기 위한 컴퓨팅 자원이다. 몇달 전 네이버, LG에서 초대규모 AI를 개발하겠다는 발표를 하였다. 그 계기는 2020년 OpenAI에서 자연어처리 분야를 대상으로 하는 GPT-3 이름의 AI 모델이다. GPT3의 성능은 모두를 놀라게 했는데, OpenAI에서는 GPT3를 학습시키기 위해 약 1조개의 단어로 이루어진 데이터를 축적했으며, 사용된 인공신경망의 가중치 수가 1,750억개가 넘는다. 이 초대규모 AI를 학습시키기 위해 최고성능 컴퓨팅 자원 중 하나인 V100 GPU 1대 사용시 355년이 걸리며, 대당 사용료를 시간당 1.5달러라고 가정한다면 총액이 460만 달러(한화 약 50억 이상)이라는 큰 금액이 필요하다고 한다. 다만 모든 연구가 초대규모 AI를 지향하는 것은 아니며, AI 음성 기술 연구 중 최적화된 모델 설계를 통해 더 적은 자원으로 같은 성능을 내고자 하는 연구들도 활발히 진행되고 있다. 그렇다 하나 일반사용자가 사용자가 이용하는 컴퓨팅 자원과 비교했을 때, AI 학습에 이용되는 컴퓨팅 자원의 크기가 상당히 크다고 볼 수 있다.


앞으로의 미래 및 기대효과

기업에서는 디지털 트랜스포메이션을 통해 기업 활동의 디지털화가 이루어지고 있고, 일반 시장에서는 블록체인, 메타버스 등을 활용하여 매일 막대한 양의 데이터가 축적되고 있다. 데이터를 바탕으로 초대규모AI, NAS(Neural architecture search) 등을 통해 AI 모델 발전도 활발히 이루어지고 있다. 컴퓨팅 자원 또한 GPU를 넘어 딥러닝에 최적화된 NPU(Neural Processing Unit) 개발이 이루어지고 있다. NPU가 본격적으로 상용화되기 시작하면 AI의 성능이 훨씬 개선될 것으로 예상되며, 그 변화가 피부로 느껴질 것으로 예상된다. AI 음성 기술은 사람과 기기를 이어주는 역할로서 앞으로 몇 년 내로 전자기기 제어, 위험상황 감지, AI비서, AI가수, 장애인 보조기기 등 다양한 분야에서 우리 삶에 실용적인 도움을 줄 것으로 기대한다.


출처 : 한국데이터산업진흥원

제공 : 데이터 온에어 Dataonair.or.kr