AUDIO-TEXT MODELS DO NOT YET LEVERAGE NATURAL LANGUAGE
https://scrapbox.io/files/6481abbe9b6485001bc8267d.png
日付
2023/6/8
論文リンク
https://arxiv.org/abs/2303.10667
文献情報
Ho-Hsiang Wu1, Oriol Nieto2, Juan Pablo Bello1,† Justin Salamon2
1 Music and Audio Research Laboratory, New York University, New York, NY, USA
2 Adobe Research, San Francisco, CA, USA
要は何?
SoTAのsound-textマルチモーダル特徴表現は言語情報をまだ完全には捉えられていないことを示した
問題意識と解決策
CLIPは多くの画像-テキストマルチモーダルタスクで成功.zero-shot 識別,VQAなど.
音-テキストマルチモーダルも注目を集めている.audio captioning, language-based audio retrievalなど.
多くの手法は2つのエンコーダを使い(BERTとPANNsとか),その後aggregationかprojectionを用い共通の特徴表現を得て,さらにpretext-taskを利用して2者の関係性を学習させる.
これらのタスクは,言語が音についてのガイドを行うという仮定を置いている.(たとえば,音響イベント検出なら,carhorn with dog barking なら犬の鳴き声とクラクションが同時に鳴っている,a bird is singing, then a man is coughingなら,鳥のさえずりのあとに咳が聞こえる,という関係性を言語によって記述している,とか)
しかし実際にそのような関係性を学習しているのかどうかまでは探索されていなかった.
もしかしたらAggregationやProjectionではそういった情報までは保持されていないのではないか?
これを調べる.
貢献は
1. retrievalに関して,現行のモデルは名詞と動詞に着目しており,文全体の情報を十分に捉えられていないことがわかった.
2. SoTAである,tempoal poolingに基づく手法では音の同時出現や連続出現といたコンテキストの関係性を捉えられていないことがわかった.
3. 以上から,Transformerベースの,出現に関するコンテキストを捉えられるモデルを提案した.
4. 既存のベンチマークではそういったコンテキスト捕捉の能力の評価を十分にできていないことを示した.
関連研究
Out of Order: How Important Is The Sequential Order of Words in a Sentence in Natural Language Understanding Tasks? (IJCNLP2021)
BERTが言語の順序を常に遵守しているわけではないことを示したもの
既存の手法について
DCASE ChallengeのLanguage-Based Audio Retrievalのモデルの設定を倣う.
PANNsとRoBERTa-Largeをエンコーダに用いる
各エンコーダ,PoolingとMLPによってaggregationを行う
InfoNCE lossで最適化
提案法
各エンコーダのMLPを2層head数2のTransformerに置き換え
事前学習
Contrastive learningを利用,データセットは以下を使用
AudioCaps,Clotho,MACS,FSD50k(これはキャプショニング用ではなくタグ付け用のため,タグ名を連結)
123kのaudio-textペアを訓練に使う.
https://scrapbox.io/files/648af438d9078e001bc4bc27.png
Downstream task
Language-based Audio Retrievalを適用.クエリのテキストに合致した音をモデルはランク付けし出力.R@10で評価.
評価用test-setにはAudioCapsのtestset, Clothoのtest set,さらにClothoのDCASE2022の追加テストセット(以降Clotho2022)を利用.
https://scrapbox.io/files/648af44570a87d001b70b66f.png
Language modelの検証
音の記述表現としてどのLanguage modelがいいかを検証.
BERTとRoBERTa.BaseとLargeで比較
CLSトークンを入力
さらに下流タスクとして,zero-shot classificationとsound event detectionを追加し,
https://scrapbox.io/files/648b0b205fb0d6001c1d52a0.png
zero-shot classification
ESC-50とUrbansound8kを用い,ラベルのtext埋め込み表現を抽出し,audio-text共通ベクトル埋め込み空間内に一番近い音をそのラベルに割り当てる.
SED
入力音に対し50msフレームとなるようaudio encoderをシフトしながら出力を得て,各フレームの出力と各クラスのtextの埋め込みと比較する.(出力ラベルは閾値処理により決定)
結果:Language-based audio retrievalではRoBERTa Largeが,Zero-shot classificationとSEDではBERT Baseの性能がよかった.
メインフォーカスはLanguage-based audio retrievalなので,以降の検証はRoBERTa-Largeを使う.
https://scrapbox.io/files/648b0ca94cf043001ba529d1.png
yamamoto.icon text-> audioとaudio -> textで非対称性がみられた,ということかなあ.
現在のaudio-textモデルの限界についての検証
1. テキストクエリの内容をフルに使って音を探せるか?
yamamoto.icon 「犬が鳴いている」というテキストと,「犬」「鳴き声」というキーワードの羅列どちらがうまくいくか
事前学習中の前処理:テキストクエリの動詞と名詞以外を削除
ex. A vehicle is passing through a forest road as birds chirp in the background -> vehicle passing forest road birds chirp background
spaCyを利用,POSタグでフィルタリング
結果:この前処理を適用した方が性能がよかった -> 名詞,動詞以外が作るニュアンスやコンセプトを十分に捕捉できていないのでは?
単にevaluation setの文章が単純な構造の文ばかりであった可能性もある
https://scrapbox.io/files/648b110197fb3a001c718ec7.png
2. モデルは音の出現の順序を理解しているか?
yamamoto.icon B after A で A->Bという出現順序, A and B are happening at the same time でAとBが同時出現,という結果になるかどうか
テストセットのうち,as と thenを含むものに対して,as->then,then->asのように置換.もしモデルがこの順序・同時出現関係を理解しているのであれば,性能が悪化するという仮説を立てて検証.
結果:あまり変わらない -> 同時出現の関係を捉えられていない
https://scrapbox.io/files/648b171f6788c0001bac427b.png
さらに出現順序に関する検証を行う.
preposition test set(PTe)というデータをAudiocaps, Clotho, Clotho 2022から作成.これはbefore, after, then, followed byの前置詞うち一つを含む文のサンプルを集めたもの.
https://scrapbox.io/files/648b1822ee29e7001b39af77.png
このPTeに対し,対象の前置詞の前後を入れ替える(Swap,とする).
ex. Two cars drive past before a distant semi truck honks -> “A distant semi truck honks before two cars drive past
もしモデルが順序関係を捉えていれば,このSwap条件では性能が悪化するという仮説を立てて検証.
評価基準にはR@1を用いる.(つまり,より厳しい評価とする)
ここでMLPモデルとTransformerを比較.
結果:MLPでは性能がやや上がり,Transformerでは性能が落ちた.-> 既存モデルは順序関係を捉えられていない,Transformerを用いることによって順序関係の捕捉を改善できたことを示唆
https://scrapbox.io/files/648b18e9c82750001cb4bdca.png
次に,PTeからbeforeの文とafterの文が均一になったサブセットを作成し(BAT),さらなる実験を行う.
ペアとなる音に対し,before⇄afterを置換した場合,置換しない場合(元の文)との距離を計算し,置換しない方が距離が近くなった割合をカウントする.
ex. Two cars drive past before a distant semi truck honks -> Two cars drive past after a distant semi truck honks
もしモデルが順序関係を捉えるのに失敗していれば,ランダム予測になり50%に近くなる,という仮説.
結果:MLPは50%になり,Transformerでは55%.-> Transformerはbefore, afterの関係性をわずかに捉えられているようだった.
https://scrapbox.io/files/648b1aa53bf046001c59daef.png
3. トレーニングデータの量は順序関係を捉えるのに十分か?
Transformerが期待していたほど性能がよくなかったのはデータ量のせいだろうか?データ拡張しこれを検証.
テーブル4から,順序に関するキャプションのサンプル自体が全体の割合から少ないことがわかる
適用したデータ拡張
Audiocaps training setから,PTeに使われていない19000サンプルをとり,新しいキャプションを作成.
2つのサンプルを持ってきて,単純に結合する.
サンプルAとBを,音に関しては単純に連結し1秒のクロスフェードをかける.キャプションに関しては(Aのキャプション)after (Bのキャプション)とした.
このサンプルをACBAとし,123000あるサンプルに追加.
結果(図3の緑):MLPでは変わらないが,Transformerでこのパーセンテージが改善 -> Transformerではデータ量があれば順序関係を捕捉できる可能性を示唆
最後に,オリジナルセットとACBAを追加した場合で,MLPとTransformerをLanguage-based audio retrievalで比較.
結果:MLP+オリジナルデータの性能が一番よかった.
https://scrapbox.io/files/648b1fbbe1f9a2001b9a6e14.png
考えられる原因として,Transformerはまだまだデータが足りておらず学習途中であること,
あるいは前置詞の割合が少ないテストセットが,順序関係の捕捉による評価に向いていないということを主張.
より複雑なキャプション,より大規模なデータの必要性を主張した.
コメント
かなり骨のある論文.全体的によく設計されて,問題意識も明確で非常に素晴らしい論文だと思った.
言語モデルの検証について,追加の下流タスクがSEDではなく,Audio captioningでもよかったのかなと思った.あくまで順序や共起の関係性に着目しているので.SEDのラベルからAudio captioningの擬ラベルを作ってAudio captioningの検証はできなかったのだろうかと思った.(実装や評価が難しい?)
本筋からは離れるが,なぜBERT-baseがSEDのラベル表現とし優れているのかは気になった.
音の順序を理解しているかどうかの実験のアイデアが賢くてとても好き.
最後にデータセットの重要性を主張して終わっていたが,こういうデータセットをいざ構築するとなると難しそう.(コストの観点から)