ISMIR 2016 で発表された、Deep Learning による和音認識の研究論文を読みました。

論文のモチベーション

著者らはまず、和音認識のレビュー論文 [M. McVicar et. al., 2014] を紹介し、和音認識が一般に

  1. 特徴量(クロマベクトル)の抽出
  2. 特徴量に対する和音ラベルの割り当て
  3. 平滑化、ビート同期などのポストフィルタリング

の3ステップからなることを説明しています。 また、同レビュー論文の内容から、認識性能向上のためには特徴量の再設計が必要であると判断しています。

ネットワーク設計と学習

以下の手順で DNN の入力ベクトルを作成します。

  1. モノラルの音響信号を STFT に変換する。フレームサイズは 8192, ホップ長は 4410 (100 ms)。
  2. 三角窓を使い対数周波数に変換する。対数周波数軸は 30 – 5500 Hz, 24 bins/oct (178 bins)。
  3. スペクトログラムの値を対数に変換する。$S_{\mathrm{log}} = \mathrm{log}(1 + S)$ とする。
  4. 前後 15 フレーム(1.5 秒分)を結合し、各時間フレームの特徴量(入力ベクトル)とする。DNN の入力次元数は $178 \times 15 = 2670$。

これを 3 + 1 層の全結合ネットワークで学習します。 ネットワークの大きさは 2670 512 512 512 12 で、 最初の三層は ReLU (rectified linear unit)、出力層は sigmoid 関数となっています。 コスト関数は正解和音ラベルとの相互エントロピーで、ADAM を使った勾配法により学習を進めます。

実験結果では、提案法が通常のクロマベクトルと比較して数ポイント性能が向上すること、中間層が和音ラベルごとのアテンションマップとして解釈できることなどを説明しています。

感想

挑戦的なテーマでありながら、手法の選択やパラメータの設定理由などが詳しく書かれており、とても勉強になる論文でした。

参考文献