社会人博士の深層学習ブログ

深層学習を使った環境音認識研究で、働きながら博士号を取得しました

【論文紹介】SELDにおける学習された特徴に対するself-attentionの評価 Assessment of Self-Attention on Learned Features For Sound Event Localization and Detection

本記事では、音響イベントの定位と検出(SELD)というタスクにおいて、Self-attentionの検討を行った論文を紹介します。

 

arxiv.org

 

SELDタスクについては、以下の記事で紹介していますので、よければ参考にしてください。

f:id:ys0510:20200316153857p:plain

ys0510.hatenablog.com

 

論文概要

SELD(sound event localization and detection)は,音響イベントの検出に空間的な次元を加えたオーディオ信号処理タスクです。

このモデルでは,CNNがマルチチャネルの音声入力から高レベルの特徴を学習し,RNNがこの高レベルの特徴から時間的な関係を学習します。

しかし、RNNには、長い時間依存性をモデル化する能力が限られていることや、逐次処理の性質上、学習や推論に時間がかかるなどの欠点があります。

近年、いくつかのSELD研究では、モデルにMulti-head self attention(MHSA)などの革新的な手法が用いられている。MHSAとそれに関連するトランスファーネットワークは、様々な分野で最先端の性能を発揮しています。

これらは、長い時間依存性をモデル化できる一方で、効率的に並列化することも可能です。

 

本論文では、SELDタスクにおけるMHSAの効果を詳細に検討した。具体的には、RNNブロックをself-attention層に置き換えた場合の効果を調べた。また、複数のself-attentionブロックを積み重ねた場合の影響、各self-attentionブロックで複数のself-attentionヘッドを使用した場合の影響、位置の埋め込みと層の正規化の影響を調べました。

DCASE 2021 SELD(タスク3)の開発データセットを用いた評価では,タスクに付随するベースラインCRNNと比較して,採用したすべての指標で有意な改善が見られました。

 

Introduction

これまでのSELD研究

SELDnetは,畳み込みニューラルネットワークとリカレントニューラルネットワーク(CRNN)のアーキテクチャを用いて,SEDとSSLの両方のタスクを同時に実行するモデルです.

SELDnetでは,マルチチャンネルのスペクトログラムを対象とした特徴抽出器として,一連の畳み込み層を使用し,その後,より長い時間的な文脈をモデル化するGRU層を重ねています。

このようなCRNNアーキテクチャは,SEDタスクで成功を収めており,検出された各クラスのフレームごとの到来方向(DOA)を回帰的に予測する定位推論出力ブランチを追加しました.

 

Self-attention

近年、Transformerアーキテクチャは、NLPから画像分類やビデオオブジェクトトラッキングなど、さまざまなタスクで最先端の性能を示しており、CNNやRNNの代替として、あるいは畳み込み層と組み合わせたConformerとして提案されています。

Transformerの表現力は,self-attention(SA)層に基づいており,一般的な畳み込み層よりも長い時間的・空間的依存性をモデル化することができ,また,RNNとは対照的に,効率的な並列化によって推論を大幅に高速化することができる.

近年、Transformerは、SEDタスクにおいて最先端の性能を発揮していますが、SSLやSELDの提案では、Transformerの使用はまだ限定的です。

また、基本的なSELDnet CRNNに対して、修正された損失関数、パラメータを共有したSEDとSSLの部分的に独立したモデル、または様々なデータ増強戦略など、他の様々な改良や修正を含んでいるため、self-attentionを単独で追加した場合の結果への影響は明確ではありません。

本研究では、SELDの設定でself-attentionの効果を排他的に調査します。

 

Method

時間的パターン識別を、学習可能な特徴抽出層の出力に注意を払うself-attentionメカニズムに置き換えた。

本研究で用いた手法の場合、学習された特徴抽出の出力はself-attentionブロックへの入力として与えられ、その後、self-attentionブロックの出力がリグレッサーへの入力として与えられる。

リグレッサーは,出力された直交ベクトルの方向で表される,すべてのクラスと各時間ステップでの到着方向を予測します.

ACCDOA表現を用いて,検出アクティビティも同じベクトル表現に統合され,ベクトルの長さは各クラスがアクティブである確率を表しています.

 

今回の実験では、畳み込み特徴抽出器はベースライン・アーキテクチャと全く同じにしています。

特に、self-attentionブロックの数(N)、各self-attentionブロックのself-attentionヘッドの数(M)、各時間ステップの位置埋め込み(P)、層の正規化(LN)が検出や定位に与える影響を系統的に調べています。

f:id:ys0510:20210805140009p:plain

https://arxiv.org/pdf/2107.09388.pdfより引用

 

実験結果

適切なアテンション・ヘッドの数を決定するための最初の実験の結果、アテンション・ブロックの数を1に固定した場合、8個のアテンション・ヘッドを使用する方が12個のヘッドよりもわずかに良いことがわかりました。

 

次に行った分析は、最適なself-attentionブロックの数を見つけることでした。

実験結果は、層の正規化を行わずにself-attentionブロックを連続的に多く接続すると、モデルの性能が大幅に低下することを明確に示しています。

self-attentionブロックの間に残差接続と層の正規化を加えると、モデルの性能が大幅に向上します。

また、複数のself-attentionブロックを使用した場合でも、8個のアテンションヘッドが最も性能の高い構成であることを確認しました。

 

最後に、最初のself-attentionブロックに位置情報を埋め込むことの重要性を検討したところ、SELDシステムの性能をさらに向上させることができました。実験の結果、最も良いモデル構成は、2つのself-attentionブロックに、それぞれ128の注意次元を持つ8つの注意ヘッドを配置し、学習した固定サイズの位置埋め込みを行い、連続する自己注意ブロックの間にレイヤー正規化による残差接続を行うものでした。

 

最良のモデル構成では、ベースラインモデルに比べてパラメータの数が2倍近くになりました。しかし,self-attentionブロックによる並列化により,V100 GPUを用いた実験では,推論時にベースラインモデルの2.5倍の速度が得られました.このように、MHSAベースのモデルは、RNNベースのモデルよりも、リアルタイムSELDタスクに有用であると考えられます。

 

結論

本研究では、音のイベント検出と定位という共同タスクに対して、self-attention層の効果を系統的に評価した。このタスクにおけるself-attentionの影響のみを考慮するために、CRNNアーキテクチャを用いた一般的なSELDNETモデルを採用し、時間的パターン認識RNNブロックをself-attentionブロックに置き換えた場合の効果を調べました。

 

self-attentionブロックのパラメータとして、ブロック数、各self-attentionブロックのself-attentionヘッド数、注意の大きさ、層の正規化、連続するself-attentionブロック間の残差接続、self-attentionブロックの入力への位置埋め込みの追加など、様々なハイパーパラメータを設定して実験を行いました。

 

実験の結果、層の正規化と位置の埋め込みを行ったマルチヘッドself-attentionブロックは、ベースラインと比較して、F20スコアとLRCDスコアを大幅に向上させることができました。また、ベースラインと比較して、検出エラーとローカライズエラーのメトリクスが大幅に減少しました。

 

また、self-attentionブロックは、並列計算を利用することで、RNNブロックと比較して、学習と推論に必要な時間を短縮しました。