この記事は日経 xTECH有料会員限定ですが、2018年4月12日5時まではどなたでもご覧いただけます。
1つのニューラルネットで対処する新手法
最後にGoogle Homeについて見ていきましょう。2017年のINTERSPEECHでは、ズバリ「Google Home の音響モデリング(Acoustic Modeling for Google Home)」というタイトルの論文が発表されています。
先ほど、多チャンネルを利用した目的信号の強調技術は大きく2種類あるとしましたが、最近の研究ではさらにもう1つの技術が追加されています。それがこの論文でも扱われている「ニューラルビームフォーミング技術」です。Google Homeが採用している技術と推測できます。
ニューラルビームフォーミング技術とは、従来の信号処理ベースのビームフォーミングではなく、多チャンネル信号を直接ニューラルネットワークに入力し、そのまま音声認識するという考え方です。入力側の層で従来のビームフォーミングと同じような処理になるので、ニューラルビームフォーミングと呼ばれています。
従来の方法では、ビームフォーミングはいわゆる「前段処理」の信号処理を指し、「後段処理」であるDNN(ディープニューラルネットワーク、ディープラーニング)による音声認識とは分けるのが普通でした。ニューラルビームフォーミングは、両者を分けずにビームフォーミングから音声認識まで、1つのニューラルネットワークでやる手法です。
そのため、ニューラルネットワークに多チャンネル信号を入力することになります。処理全体を見ると、従来の信号処理的な手法よりも、ニューラルビームフォーミングの方が計算量が小さく、より高速に動作する場合が多いというのも興味深い点です。
先ほど挙げた論文の「Figure 1」で、Google Homeのシステム概要が描写されています。最初の処理として示されている「WPE(Weighted Prediction Error)」とは、NTTが発明した残響抑制技術であり、いわゆる信号処理ベースの手法です。WPEの入力は2チャネルで、出力も2チャネルとなります。その出力をそのまま音声認識用のニューラルネットワークに入れます。
ニューラルネットワークは多層で、入力側の層「factored CLP(Complex Linear Projection、fCLP)」(図中の水色の箱)がニューラルビームフォーマーです。その後ろに音声認識の音響モデル「Grid LSTM(Long Short-Term Memory)」「LDNN(Library of Deep Neural Network)」(図中のピンクおよび緑色の箱)が続く、というシステムになっているようです。
この論文から推測すると、Google Homeは、Amazon Echoのようにデバイス側でビームフォーミングをしているのではなく、クラウド側に2チャネル分のデータを送信し、そこでニューラルビームフォーミングをしている可能性があります。
ちなみに、その2チャネルによるニューラルビームフォーミングの性能について、論文中では「fCLP層(ニューラルビームフォーマー)によって、雑音が多い環境で相対的に性能が7%向上した」とあります。そして、ニューラルビームフォーミング技術を使い、WPEやGrid LSTMと組み合わせることで、少なくとも8~28%の性能向上を実現したとのことです。
冒頭の論文概要には、「2016年11月に発売したGoogle Homeのマルチチャネル音声認識システムに関する技術およびシステム構築の進歩について述べた」とあります。また、6章(実験の詳細)の6.1(コーパス)には、「シミュレーションには、2チャネルの線形マイクアレイを利用し、マイク間距離は71mmとした」とあり、これはGoogle Homeのマイク間距離にぴたりと一致します。基本的にこの論文の技術が製品に応用されていると考えていいでしょう。
2chの信号をそのままクラウドに送るということは、ニューラルビームフォーミングのアルゴリズムを今後さらに改善していく上で、その音声ログを研究用学習データとして活用できるということでもあります。この点でもGoogleのやり方は賢いと言えるでしょう。