Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
北海道大学 大学院 情報科学研究科
情報理工学専攻 調和系工学
修士2年 細川 皓平
DCGANを用いたループ音源生成に関する基礎研究
A STUDY ON MUSIC LOOPS GENERATION USING DCGAN
1
研究背景
 現在の音楽制作
 DAW (Digital Audio Workstation) ソフトによ
るコンピュータでの制作が主流
 作曲,編曲,トラック制作,編集などの作業
 Orpheus [1]
 歌詞の韻律から旋律を生成
...
ループ音源による音楽制作
 ループ音源 (サンプルループ,loops など)
 数小節単位の短い音源
 楽器やキー,テンポごとに分類されている
 複数のループ音源を組み合わせてトラックを作成,それらにより音楽を制作
 DAWソフトに付...
関連研究
 GAN (Generative Adversarial Networks) [3]
 Generator (G) とDiscriminator (D) の2つの ネットワークからな
る
 Dは訓練データとGによる生成データとを...
DCGAN (DEEP CONVOLUTIONAL GAN)
 GANによる画像生成:DCGAN[4]
 ネットワーク構造の工夫
 パラメータの最適化
[4] Radford, Alec, Luke Metz, and Soumith C...
DCGANによるループ音源生成
 DCGANのループ音源への適用
 2次元から1次元への変更
 それに伴う適切なパラメータ,
学習手法の検証
 訓練データの次元数の統一
 予備実験:AutoEncoder
 Discriminato...
ループ音源の前処理
 ループ音源
 サンプリング周波数:44.1 [kHz]
 ビット深度:16 [bit]
 WAVE 形式
 入力の際の次元の統一
 DCGAN:64 x 64 次元
 → 4096 次元に統一
 各ループ音...
DISCRIMINATOR
c
0
c
1
b
n
1
c
2
b
n
2
c
3
b
n
3
f
c
[0, 1]ループ
音源
2048
x
128
1024
x
256
512
X
512
262144
256
x
102
4
次元数
• ...
GENERATOR
f
c
b
n
0
d
c
1
b
n
1
d
c
2
b
n
2
d
c
3
b
n
3
d
c
4
ループ音源Z
100
256
x
102
4
512
X
512
2048
x
128
1024
x
256
409
6...
各層の計算
 ループ音源の畳込み
 入力 𝑥𝑖,𝑘 2048 x 128
 カーネルサイズ J = 5
 ストライド s = 2
 パディング p = 1
 出力 𝑦𝑙,𝑚 1024 x 256
2048 +2 (パディング)
各要...
各層の計算,最適化手法
 バッチ正規化
 各ミニバッチで特徴ごとに独立して,平
均0,分散1 の正規化を行う
 Dropout,プーリングに変わる有効な手段
 最適化手法:Adam [5]
𝑚0 = 𝑣0 = 0
𝑚 𝑡 = 𝛽1𝑚 𝑡...
DCGANによるループ音源生成
 DCGANによる学習,生成
 生成データの目標
 訓練データの一部を使った新たな音源の生成
 ノイズが少なく,音がはっきり聞こえること
 出力にバリエーションがあること
 データ数は2,4
 エレ...
2つのデータによる学習(学習の推移)
 50000エポック
 一方のネットワークが最適化されると一方の誤差が大きくなる対立関係が見られる
 互いに収束することなく,これが繰り返されている
epoch
13
14
主成分分析:4096次元 → 2次元
訓練データ
テストデータ
15
訓練データ
テストデータ
16訓練データ1
訓練データ0
生成データ • 外観はほぼデータ0
• 低い周波数成分は
強く出ている
→ ベースの音が強
調されている
17
訓練データ
テストデータ
18訓練データ1
訓練データ0
生成データ
• それぞれの
データの1音
から2つの音
を発音
2データでの学習,生成
 訓練データの一部を使った新たな音源の生成
 区間ごとにいずれかの訓練データを反映させている
 ノイズが少なく,音がはっきり聞こえること
 訓練データと比較するとノイズは多少感じる
 ベースの音に関しては強調し...
4つのデータによる学習(学習の推移)
 50000エポック
epoch
20
4データ 21
訓練データ
テストデータ
22
生成データ
まとめ
 DCGANを使ったループ音源の学習,生成を行った.
 データ数は2,4で行い,それらの生成データは
 一定の区間ごとに訓練データとの一致がみられ,それらの組み合わせにより訓練
データにないデータを生成することができた
 訓練デ...
Upcoming SlideShare
Loading in …5
×

hosokawa m

1,583 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

hosokawa m

  1. 1. 北海道大学 大学院 情報科学研究科 情報理工学専攻 調和系工学 修士2年 細川 皓平 DCGANを用いたループ音源生成に関する基礎研究 A STUDY ON MUSIC LOOPS GENERATION USING DCGAN 1
  2. 2. 研究背景  現在の音楽制作  DAW (Digital Audio Workstation) ソフトによ るコンピュータでの制作が主流  作曲,編曲,トラック制作,編集などの作業  Orpheus [1]  歌詞の韻律から旋律を生成 [1] 深山覚, et al. "Orpheus: 歌詞の韻律に基づいた自動作 曲システム." 情報処理学会研究報告音楽情報科学 (MUS) 2008.78 (2008-MUS-076) (2008): 179-184. [2] Magenta, https://magenta.tensorflow.org/  Magenta[2]  RNN(Recurrent Neural Network) による 学習から自動作曲を実現  作曲とは  旋律の生成や楽譜の生成を指す  どのような種類の音を使用するかは問 われない  自動作曲とは  主にMIDIデータの出力を目的とする  → そのままでは聞くことができない 自動作曲 2
  3. 3. ループ音源による音楽制作  ループ音源 (サンプルループ,loops など)  数小節単位の短い音源  楽器やキー,テンポごとに分類されている  複数のループ音源を組み合わせてトラックを作成,それらにより音楽を制作  DAWソフトに付属のもの,パッケージとして市販されているもの,フリーのものがある. 目的:ループ音源の自動生成  既存のループ音源をもとにした,ループ音源そのものの生成 3 [4] Bakshi, Bhavik R., and George Stephanopoulos. "Wave‐net: A multiresolution, hierarchical neural network with localized learning." AIChE Journal 39.1 (1993): 57-  生の音声データの学習,生成:WaveNet [4]  音楽に関しては自然な音に聞こえるものの, ジャンルや音量や音質に一貫性がない
  4. 4. 関連研究  GAN (Generative Adversarial Networks) [3]  Generator (G) とDiscriminator (D) の2つの ネットワークからな る  Dは訓練データとGによる生成データとを二値分類  Gは訓練データと同次元のデータを出力.このデータがDによっ て訓練データと判別させるように学習  Dは2つの誤差の和をパラメータの更新時の誤差 z [ 0, 1] Generator Discriminator [3] Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutional generative adversarial networks." arXiv preprint arXiv:1511.06434 (2015). 入力データが 訓練データである確率 入力データを判別 Dに誤判定させるような データを生成 [ 0, 1] Dは1を教師として 誤差を算出 Dは0,Gは1を教師 として誤差を算出 訓練データに類似した データの生成 Zが生成データの 特徴ベクトルとなる 生成データ 訓練データ 同一のネットワーク 100次元ベクト ル 4
  5. 5. DCGAN (DEEP CONVOLUTIONAL GAN)  GANによる画像生成:DCGAN[4]  ネットワーク構造の工夫  パラメータの最適化 [4] Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutiona generative adversarial networks." arXiv preprint 同じ背景で違うものが写っている画像 特徴ベクトルの演算により, 画像の特徴の足し引きが可能 DCGANを使ったループ音源の生成 5
  6. 6. DCGANによるループ音源生成  DCGANのループ音源への適用  2次元から1次元への変更  それに伴う適切なパラメータ, 学習手法の検証  訓練データの次元数の統一  予備実験:AutoEncoder  Discriminator の出力層を100次元 に変更してEncoderとして扱い, Generator をDecoder として学習  訓練データを入力したときに復元 ができるかを検証 6  生成データの目標  訓練データの一部を使った新たな音源の生成  波形画像  ノイズが少なく,音がはっきり聞こえること  振幅スペクトル  出力にバリエーションがあること  主成分分析,波形画像 → 訓練データ数が少数の方が簡易 → データ数 2から初め,徐々に増やしていく
  7. 7. ループ音源の前処理  ループ音源  サンプリング周波数:44.1 [kHz]  ビット深度:16 [bit]  WAVE 形式  入力の際の次元の統一  DCGAN:64 x 64 次元  → 4096 次元に統一  各ループ音源により長さが違う  一小節ごとに分割  サンプリング周波数の変換により,フ レーム数を4096に  出力も4096次元となる  今回は2048 [Hz] で復元 7
  8. 8. DISCRIMINATOR c 0 c 1 b n 1 c 2 b n 2 c 3 b n 3 f c [0, 1]ループ 音源 2048 x 128 1024 x 256 512 X 512 262144 256 x 102 4 次元数 • bn: バッチ正規化層 • fc: 全結合層 reshap e • c : 畳み込み層 • カーネルサイズ: 5 • ストライド: 2 • パディング: 1 活性化関数:Relu (出力層のみ sigmoid) b n 0 4096 x 1 1 8 チャネル数 フレーム数
  9. 9. GENERATOR f c b n 0 d c 1 b n 1 d c 2 b n 2 d c 3 b n 3 d c 4 ループ音源Z 100 256 x 102 4 512 X 512 2048 x 128 1024 x 256 409 6 x 1 次元数 • fc: 全結合層 • bn: バッチ正規化 層 reshap e• dc : 逆畳み込み層 • カーネルサイズ: 5 • ストライド: 2 • パディング: 1 活性化関数:Leaky Relu (出力層のみ tanh) 26214 4 9 チャネル数 フレーム数
  10. 10. 各層の計算  ループ音源の畳込み  入力 𝑥𝑖,𝑘 2048 x 128  カーネルサイズ J = 5  ストライド s = 2  パディング p = 1  出力 𝑦𝑙,𝑚 1024 x 256 2048 +2 (パディング) 各要素の周りを (ストライド -1) でパディング ストライド1で畳み込み アンプーリング 10240 0 128 256 カーネル数:256 ストライド: 2 𝑦𝑙,𝑚 = 𝑘=0 K−1 𝑖=𝑠𝑙−1 𝐼−1+𝑝 𝑗=0 𝐽−1 𝒘𝑗,𝑘 𝑥(𝑖+𝑗)𝑘 + 𝒃 𝑗 10  ループ音源の逆畳込み  入力 𝑥𝑖,𝑘 1024 x 256  カーネルサイズ J = 5  ストライド s = 2  パディング p = 1  出力 𝑦𝑙,𝑚 2048 x 128 102 4 256 0 0 0 0 0 256 2048 +2 (パディング) 2048 カーネル数:128 128
  11. 11. 各層の計算,最適化手法  バッチ正規化  各ミニバッチで特徴ごとに独立して,平 均0,分散1 の正規化を行う  Dropout,プーリングに変わる有効な手段  最適化手法:Adam [5] 𝑚0 = 𝑣0 = 0 𝑚 𝑡 = 𝛽1𝑚 𝑡−1 + 1 − 𝛽1 𝛻𝑄𝑖 𝑊 𝑣𝑖 = 𝛽2𝑣𝑡−1 + 1 − 𝛽2 𝛻𝑄𝑖 w ∘ 𝛻𝑄𝑖 w 𝑚 𝑡 = 𝑚 𝑡 1 − 𝛽1 𝑡 𝑣 𝑡 = 𝑣 𝑡 1 − 𝛽2 𝑡 𝑤𝑡 = 𝑤𝑡−1 − 𝛼 𝑚 𝑡 𝑣 𝑡−𝜀  推奨値:α=0.001,β1=0.9, β2=0.999,ε=10e-8  DCGAN: α=0.0002,β1=0.5  学習の安定化のため  誤差関数 :交差エントロピー  ミニバッチサイズがm, 各ミニバッチのある特 徴をxとし,B={x_i...x_i} とする  𝑦𝑖が出力,𝛾 = 10−5 ,𝛽 = 0.9はパラメータ 11
  12. 12. DCGANによるループ音源生成  DCGANによる学習,生成  生成データの目標  訓練データの一部を使った新たな音源の生成  ノイズが少なく,音がはっきり聞こえること  出力にバリエーションがあること  データ数は2,4  エレキベースのループ音源  単音が主体,単調なもの  同一のキー,テンポ  64 サンプルを生成し,比較 12
  13. 13. 2つのデータによる学習(学習の推移)  50000エポック  一方のネットワークが最適化されると一方の誤差が大きくなる対立関係が見られる  互いに収束することなく,これが繰り返されている epoch 13
  14. 14. 14 主成分分析:4096次元 → 2次元 訓練データ テストデータ
  15. 15. 15 訓練データ テストデータ
  16. 16. 16訓練データ1 訓練データ0 生成データ • 外観はほぼデータ0 • 低い周波数成分は 強く出ている → ベースの音が強 調されている
  17. 17. 17 訓練データ テストデータ
  18. 18. 18訓練データ1 訓練データ0 生成データ • それぞれの データの1音 から2つの音 を発音
  19. 19. 2データでの学習,生成  訓練データの一部を使った新たな音源の生成  区間ごとにいずれかの訓練データを反映させている  ノイズが少なく,音がはっきり聞こえること  訓練データと比較するとノイズは多少感じる  ベースの音に関しては強調して発音されている  出力にバリエーションがあること  1音ごとの組み合わせで作られているもの  1音を分解して組み合わせているもの  これらによって多様な出力が得られた 19
  20. 20. 4つのデータによる学習(学習の推移)  50000エポック epoch 20
  21. 21. 4データ 21 訓練データ テストデータ
  22. 22. 22 生成データ
  23. 23. まとめ  DCGANを使ったループ音源の学習,生成を行った.  データ数は2,4で行い,それらの生成データは  一定の区間ごとに訓練データとの一致がみられ,それらの組み合わせにより訓練 データにないデータを生成することができた  訓練データとくらべてノイズが含まれるものの,演奏自体ははっきりと認識するこ とができた  データ数を増やすと,音が重なり合い,不自然に聞こえる部分もあった  今後の課題  より多くのデータを使った学習  高音質のデータによる学習 23 学会業績 • 細川 皓平, 川村 秀憲, DCGANによるループ音源の学習と生成, WSSIT2017, 留寿都, 2017(予定) • 細川 皓平, 川村 秀憲, ディープラーニングによるループ音源の学習と生成, 平成28年度電気・情報関係学会北海道支部連合大会, 札幌 2016 • 細川 皓平, 川村 秀憲, 畳み込みニューラルネットワークを用いた人物画像の認識と評価, 情報処理学会第78回全国大会, 神奈川, 2M-01, 2016 • 細川 皓平, 川村 秀憲, 畳み込みニューラルネットワークを用いた人物画像の同一性判定,情報処理北海道シンポジウム2015, 札幌, AM29, 2015

×