책 커버 표지
니케이 로보틱스_2017/08_마이크 하나로 복수 화자의 음성 분리
  • 저자 : 日経テクノロジーオンライン
  • 발행일 : 20170710
  • 페이지수/크기 : 35page/28cm

요약

Nikkei Robotics_2017. 8. No.25 (p14~16)

Sexy Technology
세계 최초, 마이크 하나로 복수 화자의 음성 분리
로봇의 음성회화 기능 향상, 미쓰비시전기 딥러닝으로 실현

로봇의 음성회화 기능을 극적으로 향상시킬 수 있는 기술이 등장했다. 복수의 사용자가 동시에 말한 음성을 마이크 하나만으로 측정하여, 딥 러닝(심층학습) 기술에 의해 화자별로 음성 분리하는 기술을 미쓰비시전기가 세계 최초로 개발했다. 「Deep Clustering」이라는 기술로, 화자의 목소리나 언어의 종류에 의존하지 않으며, 학습 후에는 어떠한 복수 화자의 음성(불특정 화자)이라도 분리해 낼 수 있다.

학습에 사용되는 것은 영어 음성이지만, 흥미로운 것은 그대로의 구성으로 복수의 사람이 동시에 일본어로 말을 하더라도 명확하게 분리할 수 있다는 점이다. 2명의 화자가 동시에 말하면 90%정도, 3명이서 동시에 말하면 80% 정도의 재현 확률로 분리할 수 있는 혁신적인 성과이다. 저자는 실제로 분리 후의 음성을 들어 보았으나, 원래의 음원에 들어있던 다른 사람의 목소리는 완전히 제거되어 있었으며, 특정인의 목소리만 추출되었다. 인간은 여러 명이 동시에 말하게 되는 상황에서도 음색 등을 기준으로 상대 목소리를 일정 부분 선별해 낼 수 있는데, 그것과 동일하게 기계 학습으로 실현시킨 형태이다.

-- 마이크로폰 어레이와의 조합도 가능 --
로봇에는 사용자의 음성 인식 등을 실행할 때, 특정 화자의 음성만을 추출하는 처리가 필수이다. 야외 환경에서는 자동차 등의 소음, 실내 환경에서는 웅성거리는 소리나 벽 등의 반향음, 사용자 이외의 사람 음성, 그 밖의 잡음 등을 모두 분리한 후에 음성 인식을 할 필요가 있다.

기존에는 이런 음성 분리는 로봇에 복수의 마이크를 설치하여 마이크로폰 어레이에 의해 실현하는 경우가 많았다. 복수의 마이크를 설치하면 음이 각각의 마이크에 도달할 때의 위상차에 의해 마이크의 지향 폭을 좁게 만들 수 있어 특정의 방향에서 들려오는 소리만을 잡아낼 수 있다. 그러나, 이것은 단지 공간적인 소리를 분리하는 방법이므로, 가까이에 다른 화자가 있다면 소리가 섞이고 만다.

이번의 Deep Clustering은 이런 공간적 분리에 의존하지 않고, 순수하게 기계학습을 기반으로 한 신호처리 만으로 분리할 수 있다. 개발을 담당한 미쓰비시전기의 미국 연구소, Mitsubishi Electric Research Laboratories(MERL) Principal Research Scientist의 Jonathan Le Roux 씨에 따르면,「현재, Deep Clustering을 마이크로폰 어레이와 조합한 기술도 개발 중이다」라고 한다. 그렇게 된다면 더욱 정교하고 안정적으로 복수 화자의 동시 발화를 분리할 수 있게 된다. 로봇의 사용자 인터페이스의 편리함을 크게 향상시킬 수 있다는 점이 기대된다.

현 상황으로는 음성을 한번 녹음한 다음에 오프라인 처리 방식이지만, 「원리적으로는 내부의 뉴럴 네트워크의 구성 등을 바꾸면, 온라인에서의 처리도 가능하다」(Le Roux 씨).

-- 클러스터 분석의 발상을 활용한다 --
딥 러닝 자체는 붐이 일고 있는 상황이며, 음성 인식 및 음성 처리 분야에도 이미 도입되고 있다. 그런 가운데, 어떻게 미쓰비시전기는 세계 최초의 혁신적인 기술을 만들어 낼 수 있었을까? 거기에는 참신한 발상의 전환이 있었다.

Deep Clustering의 최대 특징은 그 이름처럼 비(非)지도 학습의 일종으로 클러스터링 기술을 딥 뉴럴 네트워크(Deep Neural Network, DNN)와 조합시킨 점이다. 미쓰비시전기의 기술에서 학습에 사용한 동시발화 음성은 원래 단일 화자의 음성을 여러 가지 비율로 인공적으로 만든 복수 화자에 섞은 것이다. 음성 분리 후의 지도 학습(Supervised Learning) 데이터가 되는 단일 화자의 음성은 손에 있기 때문에, 그렇게 생각해보면 동시 발화 음성을 DNN에 입력하여 분리 후의 음성 신호를 라벨로써 지도 학습에 사용하면 좋을 것 같다고 생각된다.

그러나, Le Roux 씨에 따르면, 그런 직접적인 방법으로는 동시 발화 음성을 별로 잘 분리하지 못한다고 한다. 대신에 미쓰비시전기는 기계 학습으로 일반적인 클러스터링의 발상을 도입하는 것으로 정했다. 클러스터링이라고 하는 것은 어떠한 데이터의 집합을 비슷한 데이터끼리 합쳐서 그룹화시키는 방법이다. 출력은 신호 그 자체가 아니라, 각 데이터가 어느 그룹에 속하는지를 알 수 있는 ID이다. 이번 기술에서 말하자면「어느 화자인가?」에 해당된다. 필터처럼 분리 후의 음성 신호가 나오는 것이 아니라, 어느 화자인지를 알 수 있는 ID를 한차례 출력하는 것과 같은 내부 구성이다. 그 ID를 기반으로 원래의 단일 화자의 음성을 인공적으로 합성하도록 했다.

-- 분리에 적합한 특징 획득 --
구체적으로는 다음과 같은 흐름을 이루고 있다. 먼저 동시 발화 음성을 8㎑로 샘플링을 만들어, 「단시간 푸리에 변환(STFT: Short-time Fourier transform)」으로 주파수를 변환시킨다. 주파수 방향은 1 프레임 당 129차원이다. 이것을 RNN(Recurrent Neural Net)의 일종인「bi-LSTM(Long Short-Term Memory)」에 입력한다. Bi-LSTM은 내부가 2층으로 되어 있으며, 전 후 프레임 간의 관계를 밟아 가면서 학습할 수 있는 RNN이다. 이 bi-LSTM을 4층 겹치게 한 후, 전체 결합층을 거쳐 20차원의 내부실현(embedding)을 출력한다.

-- End-to-End형의 학습 --
딥 클러스터링(Deep Clustering)은 DNN의 후단에 k-means법이 있기 때문에 그 상태로는 시스템 전체를 일괄적으로 학습시키는 End-to-End형의 학습은 불가능하다. K-means법은 해석적인 함수와는 다르게 미분이 안 되는 처리이며, 이는 DNN 학습에서 일반적으로 사용되는 오차역전파법을 적용할 수 없기 때문이다.

그래서 미쓰비시전기는 오차역전파법을 적용할 수 있게 개량한「soft k-means법」이라는 기술을 개발했다. Clustering의 입력 되는 내부 표현에 중점을 두고 있다. 「soft k-means법은 GMM용의 EM 알고리즘으로 간주한다」(Le Roux 씨).

이 soft k-means법을 사용함으로써 시스템 전체를 일괄적으로 학습할 수 있다. 시스템 전체의 출력은 분리 후의 음성신호이기 때문에 End-to-End형 학습에서는 혼합 전의 단일 화자의 음성신호를 그대로 지도 신호로 볼 수 있다. 다만, 분리하는 bi-LSTM의 부분은 앞에서 말한 손실함수로 어느 정도 학습을 시킨 후, 보다 향상된 정밀도를 위해 End-to-End형 학습으로 전환시킨다. End-to-End형 학습을 시행하고 있는 단계에서는 앞에서 말한 손실함수를 더 이상 사용하지 않는다.

현재 상황에서 Deep Clustering은 오프라인 타입의 처리법이다. 한 번, 회화 전체를 녹음해야 할 필요가 있으며, 그 데이터로 일괄 처리한 후에 분리 되고 난 음성이 출력된다. Le Roux 씨에 따르면, 아직 당사 내에 실장 등은 하지 않았으나, 로봇 등으로의 응용을 근거로 온라인화, 리얼타임 처리화하는 것은 원리적으로는 가능하다고 한다.

구체적으로는 bi-LSTM을 일반 LSTM으로 전환하여, Clustering도 온라인 타입으로 한다. Bi-LSTM은 시계열 프레임간의 관계를 보는 구조가 쌍방향으로 되어 있기 때문에 미래 예측 프레임과의 의존 관계도 본다. 따라서 오프라인 처리가 전제가 되고 만다.


이 쌍방향성을 제거하여 과거 프레임과의 관계만을 보는 일반 LSTM이라면「일정의 지연시간은 상정되지만, 온라인 처리는 가능하게 될 것이다」(Le Roux 씨).

  -- 끝 -- 

목차