880 Views
July 10, 20
スライド概要
2020/07/10
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “Jukebox: A Generative Model for Music” 岡田 領 / Ryo Okada http://deeplearning.jp/ 1
書誌情報 • タイトル – Jukebox: A Generative Model for Music • 著者 – Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever – OpenAI 2
概要 • 音楽生成が可能なJukeboxの提案 – 波形データを学習・生成(MIDIデータではなく) – 特徴を離散化して学習するVQ-VAE2を音楽に適用 + 細かい工夫 – 歌声も生成 – 長尺の曲が生成できる(2,3分) – 曲内に一貫性がある – 多様なジャンル/アーティストの曲を生成可能 3
背景 • 音楽(波形データ)の扱いの難しさ – 音楽生成は入力長がとても長く,生成モデルで1曲の全体構造を捉えるのは かなりの計算量が要求されることもあり難しい • CDの音質の音源(44.1kHz, 16bit)で1千万の入力長 – この問題に対処するため,今回VQ-VAEによって波形データを低次元に落と すアプローチをとった. – (OpenAIの前回の研究:MuseNetではMIDIデータからの学習・生成であり, インスト曲の生成だけだったのに対して今回は今回は歌声も含めて生成可 能) 4
VQ-VAE • VQVAEは画像xをEncodeした際の出力ベクトル(潜在ベクトルz)をCodebookへマッピ ングすることで離散的な潜在空間へ圧縮する.ただし,VQVAEは高解像度画像のサンプ リングは綺麗に生成できない • VQVAE2はVQVAEを階層化することによって解決 5
提案手法 1. VQ-VAE2で音源を階層的に離散化し, 2. 離散化したコードを学習し,音楽を生成する 6
1. 離散化 • • • VQVAE2を音楽に適用.音源を離散空間に圧縮する 3つの階層構造 音質的な情報が落ちてノイズは増えるが,本質的な情報(ピッチ,音色,ボリューム)といっ た情報が残る • 実装する上での3つの工夫(次ページ) 7
1. 離散化 • Random restart – Codebook collapse(一部しかの埋め込みベクトルだけが利用されず情報が 落ちてしまう)を防ぐため – Codebookの平均使用率が閾値を下回る場合,現在のバッチにおけるエン コーダーの出力の一つをランダムにリセット • Separated Autoencoders – VQ-VAE2の構造で学習させた場合,topがあまり学習されず他の階層ばかり に情報が渡ってしまった. – 階層ごとそれぞれ独立したAutoencoderで学習. • Spectral Loss – Reconstruction lossでは音の低周波域に学習が偏ってしまった.スペクト ログラムの差のlossを追加し,モデルが学習が難しい位相に対して集中しす ぎる状況を回避 8
2. 生成 • VQ-VAEでEncodeしたコード分布を学習 し,離散空間から音楽生成するように訓練 – topにはより歌やメロディといった長尺の 特徴があり,その情報をもとに下位で音色 といった情報を補完されていくイメージ – 訓練後,Topからサンプリングし, Bottomで音源を生成 9
2. 生成 • Conditioning – アーティスト,ジャンルで条件付け • 予測のエントロピーが減少するので,音源品質 • が上がる 生成スタイルを指定できる – タイミング(特定の音の開始位置など) • 語りや楽器の導入,曲の終わりの拍手などが反 映 – 歌詞による条件付け • 上記までの条件付けだと歌声にメロディーはあ • るが,聞いた感じちゃんとした英単語になって いない 歌詞をTransformerを通じて入力し,条件づけ で改善 – 単純に歌詞を並べただけの入力 – ただし,歌詞のスピードが速いヒップホップな どは個別調整が必要だった 10
Experiments • データセット – 120万曲(うち60万曲は英語) • Webからクロール • 32ビット, 44.1kHz • 右と左のチャンネルで分けてデータ拡張(モノラル) – LyricWikiから歌詞 – メタデータ(アーティスト,ジャンル,リリース年,キーワード) • 訓練詳細 – VQ-VAE, 2 million params: 256 V100 for 3 days – Top level prior, 5 billion param: 512 V100 4 weeks 11
Experiments • “いい音楽”かどうかは主観的で定量評価が難しいので感性評価 – 各評価項目の代表例が論文内リンクより聞ける • 曲の一貫性 – ある.(階層のtopが広い範囲の特徴を取っているので) • 多様性 – ある.(同じアーティストとして生成した曲でも多様性がある) • 新規性 – 以下の項目で検証 • • • • 新しいスタイル(既存のアーティストとは異なるジャンルを指定して生成) 新しい歌声 歌詞の生成を実験 リフの続きを生成 12
Ablations • 以下の項目についてAblation Studyで提案手法の効果を確認 – – – – VQVAEの構造 Restartの有効性 Codebookサイズ Spectal lossの有効性 13
まとめ • まとめ – 様々なジャンルの高品質の曲を生成できるJukeboxを提案 – 歌声込みの一貫性のある音楽,多様性 – 生成された曲たち: https://jukebox.openai.com/ • 課題 – コーラスの繰り返しといった一般的な音楽的構造はない. – 生成に時間がかかる.1分間の音源に9時間. – 現状は英語歌詞と洋楽中心に学習. • Future Work – MIDIやステムファイルで条件付けて音楽的構造を反映すればさらに高い品質 で,さらに生成する音楽の方向性を指定できる可能性 14