1.MixIT:教師なし学習で野鳥の鳴き声を聞き分けて分離する(1/2)まとめ
・機械学習を使って鳥の唄声で種を分類する事は鳴き声の重複や自然音の混入により困難
・音声データから自動的に対象音を分離する教師なし学習であるMixIT手法を新規に考案
・MixITで鳥の鳴き声を分離し、種の分類精度を大きく向上させる事ができた
2.MixITとは?
以下、ai.googleblog.comより「Separating Birdsong in the Wild for Classification」の意訳です。元記事は2022年1月24日、Tom DentonさんとScott Wisdomさんによる投稿です。
雑音の中から人の音声だけを抽出する技術は昔から研究されており、
Looking to Listen:動画から個々の音声を切出す試み
教師あり学習を使い音声データから個々人の声を聞き分ける
既に実用化もされています。
Live Transcribe:音声を文章にリアルタイム変換するAndroidアプリ
YouTubeストーリーで人の声だけ音量を上げる
そのため、タイトルを読んだ時はそんなに感銘を受けなかったのですが、実現アイディアがとてもあったま良いのと、動画を見るとその精度も思わず笑いが出るレベルの凄さでした。バードウォッチングや鳥類の研究をしている方には役立つツールとなるのではないでしょうか。
アイキャッチ画像のクレジットはPhoto by Tom Bradley on Unsplash
鳥は私たちの周りにたくさんいるので、耳を傾けるだけで、私たちの環境について多くのことを知ることができます。例えば、森にキツツキが多いということは、枯れ木が多いということです。鳥は歌や鳴き声でコミュニケーションをとり、縄張りを示すので、耳で確認するのが最も効率的です。実際、専門家は目で見るよりも耳で聞いたほうが10倍も多くの鳥を識別できると言います。
近年では、自律型録音装置(ARUs:Autonomous Recording Units)により、森林で何千時間もの音声を簡単に取得できるようになり、生態系の理解や重要な生息地の特定に利用できるようになりました。しかし、音声データを手作業で確認するのは非常に時間がかかり、また鳥の鳴き声の専門家も稀です。しかし、機械学習(ML:Machine Learning)に基づくアプローチは、生息地の理解に必要な専門家のレビューの量を大幅に削減する可能性を秘めています。
しかし、MLに基づく鳥類の音声分類は、いくつかの理由から困難な場合があります。一つは、鳥はしばしば互いに鳴き交わる事です。特に多くの鳥が最も活動的になる早朝の「暁の合唱(dawn chorus)」時に鳴き声が重複する事が多いです。
また、個々の鳥の鳴き声が明確に記録されているわけでもありません。利用可能な学習データのほとんどは、風の音や虫の声など、他の環境音が存在する騒がしい屋外で録音されたものです。その結果、既存の鳥の鳴き声分類モデルは、目立たない遠くの、重なり合った鳴き声を識別するのに苦労しています。
さらに、最も一般的な種の鳴き声が、あまり一般的でない種を分類するための訓練用録音データのバックグラウンドにラベルなしで混入している場合があり、モデルが誤認識してしまう事がよくあります。
これらの困難なケースは、自動化システムを用いて絶滅危惧種や侵入種を識別しようとする生態学者にとって非常に重要です。
分離対象の音がサンプルとして存在しなくとも音声データから自動的に対象音を分離するMLモデルの学習という一般的な課題に対して、私たちは最近、論文「Unsupervised Sound Separation Using Mixture Invariant Training」において混合不変学習(MixIT:Mixture Invariant Training)という新しい教師なし学習手法を提案しました。
さらに、新しい論文「Improving Bird Classification with Unsupervised Sound Separation」では、MixITを利用して鳥の鳴き声を分離し、種の分類精度を向上させました。分離された音声を分類に含めることで、3つの独立した音景データセットで精度と分類品質が向上することを発見しました。また、鳥の鳴き声分離モデルをオープンソースとしてGitHubで公開したことをお知らせします。
鳥の歌声を分離する
MixITは単一の録音データを複数の個別音声に分離する事を学習します。現実世界のノイズ入り音声からこれを学習します。
分離モデルを学習するために、私たちは「混合物の混合物(MoM:mixture of mixtures)」を作成します。MoMは現実世界の2つの音声データを混ぜ合わせて作成します。
そして、分離モデルはMoMを複数チャネルに分離する事を学びます。「分離した複数チャネルを再び混ぜ合わせたデータ」と「元の2つの現実世界の音声データ」との差を表現する損失関数を最小化するような分離方法を学習させます。
これにより、損失関数は、分離したチャンネルをグループ化しそれらを再び混合して元の2つの実世界の録音を再現できるような分離方法を学習するようにモデルに促します。
MoMの異なる音が元の録音でどのようにグループ化されていたのかを知る方法がないため、分離モデルは個々の音自体を分離するようになります。
Xeno-Canto と Macaulay Library の鳥のさえずりを用いて、新しい MixIT 分離モデルを学習させました。その結果、鳥のさえずりの分離において、この新しいモデルはAudioSetデータセットの大量の一般音声で学習したMixIT分離モデルより優れていることが分かりました。
分離の品質は、2つの録音を混ぜ合わせ、分離し、元の2つの録音を再現するように分離されたオーディオチャンネルを再混合することによって測定します。
再混合後の音声の信号対雑音比(SNR:signal-to-Noise Ratio)を元の音声と比較して測定します。その結果、鳥の鳴き声に特化して学習させたモデルは、AudioSetに学習させたモデル(10.5dB vs 4.4dB)よりも6.1デシベル(dB)高いSNRを達成することができました。また、主観的にも、実際のデータでは判別が難しい鳴き声を分離することができ、非常にうまく機能している例を多く見つけることができました。
以下の動画は、2つの異なる地域(ケープルズ湖とシエラネバダ山脈)の鳥の鳴き声の分離を示したものです。動画では、混合された音声のメルスペクトログラム(音声の周波数成分を時間経過とともに表示する2次元画像)と、異なるトラックに分離された音声をハイライトしています。
シエラネバダ山脈
ケープルズ湖
3.MixIT:教師なし学習で野鳥の鳴き声を聞き分けて分離する(1/2)関連リンク
1)ai.googleblog.com
Separating Birdsong in the Wild for Classification
2)proceedings.neurips.cc
Unsupervised Sound Separation Using Mixture Invariant Training(PDF)
3)arxiv.org
Improving Bird Classification with Unsupervised Sound Separation
4)bird-mixit.github.io
Audio Demos Index
5)github.com
Models for Unsupervised Sound Separation of Bird Calls Using Mixture Invariant Training.