221 Views
January 24, 20
スライド概要
2020/01/24
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “20 YEARS OF AUTOMATIC CHORD RECOGNITION FROM AUDIO(ISMIR2019)” (Survey Paper) Shu Kumata, Matsuo Lab, M1 http://deeplearning.jp/
はじめに • 本論文を選んだ理由 • 音楽の自動コード認識について今後研究しようと考えているため。 • 書誌情報 • Author • Johan Pauwels, Ken O’Hanlon, Emilia Gómez, Mark B. Sandler • Queen Mary University of London, Universitat Pompeu Fabra • ISMIR2019(International Society for Music Information Retrieval) • 音楽の情報処理に関する学会 • SpotifyとかGoogleとかもスポンサー
Agenda • 前提知識 • 本論文の概要・背景 • ACRの課題 • • • • • • • 1: 適切な特徴量表現を見つけること 2: 特徴量空間でchordをどう定義するか? 3: Processing rateとChord rateのミスマッチ 4: chord sequenceの長期的な一貫性 5: 関連する音楽の概念の活用 6: コードの曖昧さと主観性への対応 7:コードの語彙について • 結論
前提知識 • Automatic Chord Recognition(ACR) • 自動コード認識 • 音楽にコードをラベリングするタスク C F G7 C
本論文の概要・背景 • 20年前にACRの研究が始まってから、ACRはknowledge-based なシステムから、data-drivenなシステムに進化し、現在は ニューラルネットワークが中心である。 • しかし、ACRの中心となる課題は20年前とそこまで変わってお らず、改めてその課題についてこの20年をレビューする。 • ACRについてのサーベイ論文
1: 適切な特徴量表現を見つけること • Audioデータの前処理の流れ 同じpitchの 信号の強さを合計 C G# A# Chroma Audio そのまま分類器の入力として スペクトログラム[1] ここの部分の表現をどうするか?
1: 適切な特徴量表現を見つけること • スペクトログラム • 短時間フーリエ変換(STFT) • Constant-Q変換(CQT) • CQTが主流 STFT[2] CQT[1] • どの周波数帯に対しても周期数が同じになるように、異なった窓幅で 短時間フーリエ変換を行う。 • 対数周波数の軸で表現できる。 • ちょうど1オクターブで周波数が2倍になる→オクターブ間の距離が同じになる。 • Chromaを算出するときに、同じpitch(「ド」とか「ミ#」とか)を足し合わせる だけでよくなる。 • STFT等の線形のスペクトログラムよりコンパクトになる。
1: 適切な特徴量表現を見つけること • 他にも様々な特徴量が検討されている • スペクトログラムにPCAを適用 • CQTによるスペクトグラムの欠点を補ったもの • 誤ってpitchが割り当てられる可能性の高い高pitchの重み付けを変更する、等 • 例: C3の第3倍音はG4→本当はCなのにGにもエネルギーが含まれることになる • STFTのような線形のスペクトログラムは研究もそんなにされ ておらず、CQTの欠点も補えるため、研究を進めるべきではな いか? • あるいは、CQTとSFTFの両方を入力とするシステム
2: 特徴量空間でchordをどう定義するか? コード • 初期 最も類似した templateのコード G E C C Template C E G Chroma B G D コード G Template ここのプロセスは数値計算 の場合もあれば、最近は DNNの場合もある。 C F コード A F Template
2: 特徴量空間でchordをどう定義するか? • Chromaベクトルは割り当て間違い等の欠点もあるので、それ 以外の方法はないか? • • • • 複数のChroma(低い領域・高い領域など)も特徴として利用する。 DNNでは、ネットワークの重みを特徴とすることも可能。 目的変数をChroma以外にする。 Chroma以外の補助の目的変数も利用し、extra informationがエンコー ドされるようにする。(target label engineering) • e.g. 最も低い音・高い音
3: Processing rateとChord rateのミスマッチ Audio Chord Rate (コードの間隔) C Processing Rate1 (特徴量を作る間隔) F C G7 コードの境界で位置ズレが発生する C C 間隔を狭くする Processing Rate2 C E C F F G7 C C7 コード出力が断片化し間違いも多くなる
3: Processing rateとChord rateのミスマッチ • コード出力の断片化をどう解決するか? • 単純な平滑化 • 平均フィルターや中央値フィルターをスペクトルグラムや出力のコードの確率に かける。 • 短いコードは除去されやすいし、境界の推定で不正確になる。 • HMM • 出力のコードをHMMの観測値とみなしてViterbiアルゴリズムで平滑化する。 • 音楽知識の活用 • 拍の時にだけコードが変わるという仮定。 • 拍を抽出して、その拍で分割して、特徴量を作る。
3: Processing rateとChord rateのミスマッチ • コード出力の断片化をどう解決するか? • RNN・LSTM • コードの持続時間がモデルの内部に自動的に学習される。 • BLSTMの登場で将来も考慮できるように。 • CNN等のfeedforwardネットワーク • 複数の時間フレームを一度に処理することで時間的安定性を実現。 • DNN+CRF(条件付き確率場) • CRFを最後の層に繋げることで出力が滑らかになり、かつ一緒に学習できる。 • 先にコードの境界線を明確に定めてからコードを特定する。 • セグメンテーション関数の設計が難しい。 • 最新のTransformerの手法もこれを行っている[3]。
4: chord sequenceの長期的な一貫性 • コード進行には一定の流れがある • e.g. カノン進行(パッヘルベルのカノンなど) • C→G→Am→Em→F→C→F→G • e.g. 小室進行(小室哲哉の作曲、千本桜のサビなど) • Am→F→G→C
4: chord sequenceの長期的な一貫性 • どのようにして一貫性を持たせるか? • コーパス分析によって遷移確率を求めてHMMに組み込む。 • 深層学習のモデルはモデル内でこれを学習できる。 • 隣接したコード以外を考慮するのが未だに課題。 • CNN等のfeedforwardネットワークは受容できるフィールドが小さい • RNN・LSTMは勾配消失問題。音楽は特に長い時系列なので、非常に問題。 • Transformerが解決策となるのではないか? • 実際に、同じISMIR2019でTransformerを用いた手法が提案[3], [4]。
5: 関連する音楽の概念の活用 • コード以外のキーやジャンル、ベース、メロディなどの他の音 楽の概念を活用する。
6: コードの曖昧さと主観性への対応 • 人間のアノテーションが一意に定まるわけではない。 • 2人でやると94%一致 • 4人でやると76%一致 • 和音すら含まれない音楽が膨大にある。
7: コードの語彙について • ACRでは、分類するクラスを増やすと、クラス間の差が小さく なる。 • e.g. GとG7は7thコードだけ異なる。 • コードごとの発生頻度に大きな違いがある。 • 一般的な5つのコードタイプは、ポピュラー音楽データセットの80% • 音楽のジャンル等によっても異なる。
結論 • ACRのシステムは20年間でknowledge-basedからdata-driven なシステムに進化してきた。 • 研究初期は、システムをコンポーネントに分解し、分離された サブ問題を解決していた。(特徴量生成→分類→平滑化)初期の data-drivenなアプローチでは、コンポーネントを学習済みのモ デルに置き換えた。深層学習の登場によって、全てのコンポー ネントをACRの問題間の相互作用を活用するのに優れた単一の システムに置き換えることができた。 • システムが1つに統合されたことでそれらの間の比較が難しく なった。 • 多くのアプローチが競合するようになった。
Appendix • 本論文のリンク • http://archives.ismir.net/ismir2019/paper/000004.pdf • 本論文の翻訳 • https://scrapbox.io/research-pub-shukumata/20_Years_of_Automatic_Chord_Recognition_From_Audio
引用・参考 • [1] https://librosa.github.io/librosa/generated/librosa.core.cqt.html 閲覧 2019/1/24 • [2] https://librosa.github.io/librosa/generated/librosa.core.stft.html 閲覧 2019/1/24 • [3]Tsung-Ping Chen, Li Su. Harmony Transformer: Incorporating Chord Segmentation Into Harmony Recognition. ISMIR, 2019. • [4]Jonggwon Park, Kyoyun Choi, Sungwook Jeon, Dokyun Kim, Jonghun Park. A BiDirectional Transformer for Musical Chord Recognition. ISMIR, 2019.
その他 • “image: Freepik.com”波形のデザインはFreepik.comのリソー スを使用しました。