畳み込みニューラルネットワークを用いてザトウクジラの唄声を聴く

  • 2018.11.03
  • AI
畳み込みニューラルネットワークを用いてザトウクジラの唄声を聴く

1.畳み込みニューラルネットワークを用いてザトウクジラの唄声を聴くまとめ

・人工知能を使って海中の音を記録した膨大なオーディオデータよりクジラの唄を抽出する試み
・音声を周波数と時間の2次元グラフの画像に変換し、画像認識の問題としてアプローチした
・PCEN等の個別チューニングを行い90%以上のprecisionと90%のrecallを達成

2.ノイズまじりのデータからクジラの唄を抽出する試み

以下、ai.googleblog.comより「Acoustic Detection of Humpback Whales Using a Convolutional Neural Network」の意訳です。 Google AI PerceptionチームのMatt HarveyさんのOctober 29, 2018の投稿です。アイキャッチ画像のクレジットは「Photo by Sho Hatakeyama on Unsplash」

ここ数年間、Google AI Perception(知覚)チームは、動画の分類や、音声のキャプション(見出しや字幕)、および検索用のインデックスを作成するためにYouTubeのオーディオイベント解析の技術を開発していました。他にも、私達は、関連コミュニティの研究の促進を促すために、オーディオ認識システム評価用のデータセットであるAudioSetといくつかのモデルコードを公開しています。

近年では、多くの環境保護団体が大量の音響データを収集しています。野生生物の観察と保護を支援するために、野生動物の音声データにYouTube動画で研究したこれらの知覚技術を応用することは、果たして可能でしょうか?

私たちは、Googleが提唱するAI for Social Good(社会を良くするためのAI)プログラム、および、アメリカ海洋大気庁(NOAA)の太平洋諸島漁業科学センターとのパートナーシップの一環として、太平洋の多くの海中で15年間にわたって収集された音響データからザトウクジラの呼び声を特定するアルゴリズムを開発しました。この研究結果は、ザトウクジラの存在、季節性、日常的な行動、および生息数構造に関する新しく重要な情報を提供します。特に、科学者が今まで情報を持っていない辺境のあまり知られていない海域では重要です。更に、データセットは長期間にわたって収集されているため、ザトウクジラが呼び合う時期と場所を知ることで、人間の海洋活動の増加に関連して、これらの動物の生息領域が変化したかどうかの情報が得られます。この情報はザトウクジラに対する人為的影響を効果的に緩和するための重要な要素となるでしょう。


HARPが展開している地域
グリーン:現在アクティブなレコーダーがある地域。赤:以前のレコーディングされていた地域。

パッシブ音響モニタリングとNOAA HARPデータセット
パッシブア音響モニタリングでは、ハイドロフォンと呼ばれる水中マイクロホンを海中に設置して海洋哺乳類が発生する信号を記録します。そのため、検出や分類、特定の音声のみを抽出するローカライズ作業は記録を行った場所とは異なった場所で行うことができます。

船を用いて行う視覚的調査は、水中動物を検出する能力、より長い検出範囲、およびより長い監視期間を含む多くの利点がありますが、パッシブ音響モニタリングにも船上調査に勝るいくつかの利点があります。2005年以来、NOAAは太平洋島嶼地域の12ヵ所の海中のハイドロフォンから記録を収集しています。ここの場所では、ある種のザトウクジラの繁殖と分娩が行われています。

データは、高周波音響記録パッケージ(HARP)と呼ばれる装置で記録されています。合計で、NOAAは約15年間分のオーディオデータ、それは200kHzから10kHzの周波数を削減していますが、9.2テラバイトに及ぶビッグデータを提供してくれました。(ザトウクジラの発声の大部分は100Hz~2000Hzの範囲内にあるため、低いサンプルレートにしてもほとんど失われません)

研究者の観点から考えると、このようなビッグデータから対象とする野生動物を特定することは、その野生動物の集団の存在、行動または海洋分析のための重要な第1段階です。しかし、現時点で利用可能なコンピュータ技術の支援を受けても、ザトウクジラが互いに呼び合う鯨コールを手動で特定する事は、非常に時間がかかります。

教師あり学習:ザトウクジラ検出のための画像モデルの最適化
私達は、音声データを画像(周波数をY軸、時間をX軸としたグラフの画像)として扱い、画像分類問題としてオーディオイベント検出を扱うというアプローチを選択をしました。


データセットから検出されたオーディオイベント画像の例。
Y軸上が時間、X軸が周波数です。左:ザトウクジラの鯨の呼び出し、中:未知の音源からのノイズ、右:HARPのハードディスクのノイズ

これは、画像分類人工知能にとって識別しやすい画像です。異なるスペクトル(周波数を分解したもの)およびその時間変化(異なる音源を分類しやすくします)は、視覚的に異なるパターンとしてスペクトログラムに表されているため、画像分類が行いやすいのです。

画像分類人工知能そのものは、既に非音声データの分類に実績がある畳み込みニューラルネットワークアーキテクチャであるResNet-50を使用しました。これは教師付き学習で、手作業でラベル付けされたデータのみをトレーニングに使用しました。(トーレニングデータはデータセット全体の0.2%程度です。次のセクションでは、ラベルなしデータを使用する方法について解説します。)

波形の音声データをスペクトログラムに変換するためには、パラメータの設定とゲインスケーリングが必要になります。一般的に良く使われる設定(例えば対数圧縮など)は、手始めの設定としては悪くありませんでしたが、鯨の呼び声の検出に最適化するためには鯨の声固有のチューニングが必要でした。

ザトウクジラの発声は様々ではありますが、持続的であり、周波数が変調され、一定時間内に呼びかけが頻繁に発生します。あなたは以下で例を聞くことができます。


Photo by vivek kumar on Unsplash

周波数がまったく変化しなかった場合、スペクトログラムには呼び声が水平なバーとして表示されます。呼び声は周波数変調されているので、実際にはバーの代わりに緩やかな弧が表示されますが、弧の一部は限りなく水平に近くなります。

このデータセットに特有の課題は、狭い帯域のノイズです。ほとんどの場合、近くのボートと機器自体によって引き起こされました。スペクトログラムでは、それは水平線として現れるため、人工知能モデルの初期のバージョンはそれをザトウクジラの呼び声と混同してしまいました。これは、チャネルごとのエネルギー正規化(PCEN)を試みる動機づけとなり、これは狭帯域のノイズを定常的に抑制することができました。その結果は、重要な改善をもたらし、クジラの呼び声検出のエラー率が24%低下しました。


6.0秒から始まるザトウクジラの5回の発声のスペクトログラムの抜粋。
上:PCENによる変換。下:対数変換。PCENを使用した場合は、対数変換で下方に見られる濃い青色の水平バーが、クジラの呼び声よりもはるかに薄くなり、誤認識されにくくなります。

PCENとは別に、長時間データを用いた予測は非常に良い精度をもたらしました。これと同じ効果はYouTubeなどの一般的なオーディオイベント検出でも発生しますが、ザトウクジラの呼び声の検出時の精度の向上は驚くほど大きかったです。

蓋然性のある説明は、鯨の唄は主に20分以上続き、唄は構造化された連続的に発声される鳴き声により文脈を構成しているということです。唄の最中は各鳴き声が終わり次第、2秒以内に別の鳴き声が始まる可能性があります。画像モデルは短い時間をカバーしていますが、唄が長すぎるため、より長い時間を入力とすると、正しい予測を行うのに有用な追加情報が得られます。

最終的に、75秒間のオーディオクリップのテストセットを用いて、人工知能はそのデータに鯨の唄声が含まれるか否かを90%以上のprecisionと90%のrecallを達成しました。しかし、この結果はまだ慎重に解釈する必要があります。訓練および試験用データは、全てMOAA由来の、同じ機器および環境条件のデータを使用しているからです。とはいえ、NOAA以外の機関から提供されたいくつかのデータに対する予備的な調査では、見通しは有望視されています。

訳注)90%以上のprecisionとは、人工知能が鯨の声が含まれていると判断したデータに実際に鯨の声が含まれていた率が90%以上であったと言う事。90%のrecallとは鯨の声が含まれている全データのうち、人工知能が鯨の声が含まれていると判断した音声は90%であったと言う事です。どちらか一方だけ高くても意味がなく、両方が高い事が求められます。

教師なし学習を用いて類似した唄を見付ける
「このデータの中にある全てのザトウクジクの唄を見つけてください」という要望を解決する別の方法は、ザトウクジラの音声をいくつか抜出、それぞれについて、その声に似たデータを見つける事です。このような類似したデータは、教師有り学習で使ったのと同じResNetを用いて見付ける事ができます。

教師有り学習では、ラベルを使用して、ResNet上に分類器を構築しました。教師無し学習では、一組のオーディオサンプルが時間的に近い場合、ResNetが出力する2つのベクトルのユークリッド距離が近くなるように距離関数を設計する事を推奨します。その距離関数を使えば、与えられたサンプルデータに似たもっと多くのオーディオサンプルを見つける事ができます。将来的に、これは、個々のクジラを区別する分類器にとって有用な入力となり得ます。

距離関数を学ばせるために、時間の近さは意味の近さに関連しているという考えに基づいて執筆された論文「Unsupervised Learning of Semantic Audio Representations」に記載されている方法を用いました。

まず、無作為に三つの音声を抽出します。それそれはアンカーサンプル、ポジティブサンプル、およびネガティブサンプルで構成されます。ポジティブサンプルとアンカーサンプルは、ほぼ同じ時刻から抽出されます。私達のアプリケーションにおける三つ組の例は、「ザトウクジラの声(アンカーサンプル)」、「同じクジラによる同じ声の可能性のある反復音(ポジティブサンプル)」および「他の月に録音されたデータから抽出したバックグラウンドノイズ(ネガティブサンプル)」となります。3つのサンプルをResNet(既に学習済である)に渡すと、それらは3つのベクトルとして出力されます。

アンカーべクトルとネガティブベクトル間の距離がアンカーベクトルとポジティブベクトル間の距離以上になるように、損失関数を設計する事は、意味類似性に忠実な損失関数を使って学習する事と見なせます。

主成分分析(PCA)により、結果を視覚化することができます。ザトウクジラと非ザトウクジラ間の違いは明らかです。TensorFlow Embedding Projectorを使用してあなた自身で体験する事ができます。class_labelとsiteの色をそれぞれ変更してみてください。また、プロジェクタのPCAをt-SNEに変更して、サンプルの分散ではなく相対的な距離を優先する視覚化を試みてください。


教師無し学習の出力の5000サンプルを視覚化した図
(オレンジ:ザトウクジラ、ブルー:ザトウクジラではない他の何か)

個々のお題になる「声」が与えられると、データ全体の中で最も似ていると人工知能が判断した声が検索されます。場合によっては、高精度で同じ声が数百件見つかる事もありました。


左の黄色い枠線が人が指示した検索対象グラフ。その他は教師無し学習が見つけた近似グラフ

私たちは将来、これらを使って、歌い手を区別する分類器の学習データセットを構築しようとしています。また、これらを使って、ザトウクジラ検出器の学習に使用するトレーニングセットを拡張することもできます。

教師付き分類器からの予測結果から得られた知見
以下に概要が把握しやすように時間と場所でグループ化してプロットした図を示します。なお、全ての場所が毎年海中音を記録しているわけではありません。録音は断続的に(例:5分オン、15分オフ)行われており、これにより、限られたバッテリ電力でも長時間稼働が可能になっていますが、その稼働スケジュールはさまざまです。これらの変動要因に対処するために、我々は、ザトウクジラの唄が検出された時間を、1ヶ月単位で合計しました。


青色:ハワイ島のコナ、赤色:サイパン、縦軸:年、横軸:季節、円の大きさ:ザトウクジラの音の出現密度。

季節による明らかな変動は、ザトウクジラの個体群がアラスカの近くで夏を過ごしてから、ハワイ諸島の近くに移動して繁殖し出産するという既知のパターンと一致しています。これにより、モデルの出力を検証する事ができました。

完全なデータセットの予測がNOAAの専門家に使いこなされて、ザトウクジラの生息数と人為的な影響の度合いについてのより深い洞察を得ることを願っています。また、このプロジェクトが、Googleの世界最大規模のAI for Social Goodプロジェクト(機械学習を人道的および環境的課題の解決に応用するプロジェクト)を加速させ、一連の成功例のほんの一例に過ぎなくなることを願っています。このプロジェクトがどのように始まったのかを知るには、Research Oceanographer Ann AllenのNOAA Fisheriesブログの記事を読んでください。

謝辞
多くの有用なフィードバックと、この記事のいくつかの言葉について、正確な分類済みデータ(ground truth data)を提供してくれたAnn Allen(NOAA Fisheries)に感謝したいと思います。Karlina Merkens(NOAA加盟者)はさらに有用なガイダンスを提供してくれました。私たちはまた、NOAA太平洋諸島漁業科学センターの全ての人に、音響データの収集と共有について感謝します。

Google内では、Jiayang Liu、Julie Cattiau、Aren Jansen、Rif A. Saurous、Lauren Harrellがこの仕事に貢献しました。分析セクションのプロットを設計し、ggplotを使用して実装してくれたLaurenに特別な感謝をします。

3.畳み込みニューラルネットワークを用いてザトウクジラの唄声を聴く関連リンク

1)ai.googleblog.com
Acoustic Detection of Humpback Whales Using a Convolutional Neural Network

2)www.fisheries.noaa.gov
OK Google: Find the Humpback Whales

3)ai.google
Unsupervised Learning of Semantic Audio Representations