hosokawa m
-
Upload
harmonylab -
Category
Technology
-
view
179 -
download
5
Transcript of hosokawa m
北海道大学 大学院 情報科学研究科情報理工学専攻 調和系工学修士2年 細川 皓平
DCGAN を用いたループ音源生成に関する基礎研究A STUDY ON MUSIC LOOPS GENERATION USING DCGAN
1
研究背景 現在の音楽制作
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
ループ音源による音楽制作 ループ音源 ( サンプルループ, 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-81.
生の音声データの学習,生成: WaveNet [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
DCGAN (DEEP CONVOLUTIONAL GAN)
GAN による画像生成: DCGAN[4]
ネットワーク構造の工夫 パラメータの最適化
[4] Radford, Alec, Luke Metz, and Soumith Chintala. "Unsupervised representation learning with deep convolutional generative adversarial networks." arXiv preprint arXiv:1511.06434 (2015).
同じ背景で違うものが写っている画像 特徴ベクトルの演算により,画像の特徴の足し引きが可能
DCGAN を使ったループ音源の生成
5
DCGAN によるループ音源生成 DCGAN のループ音源への適用
2 次元から1次元への変更 それに伴う適切なパラメータ,学習手法の検証 訓練データの次元数の統一
予備実験: AutoEncoder Discriminator の出力層を 100 次元に変更して Encoder として扱い,
Generator を Decoder として学習 訓練データを入力したときに復元ができるかを検証
6
生成データの目標 訓練データの一部を使った新たな音源の生成
波形画像 ノイズが少なく,音がはっきり聞こえること
振幅スペクトル 出力にバリエーションがあること
主成分分析,波形画像
→ 訓練データ数が少数の方が簡易→ データ数 2 から初め,徐々に増やしていく
ループ音源の前処理
ループ音源 サンプリング周波数: 44.1 [kHz] ビット深度: 16 [bit] WAVE 形式
入力の際の次元の統一 DCGAN : 64 x 64 次元 → 4096 次元に統一
各ループ音源により長さが違う 一小節ごとに分割 サンプリング周波数の変換により,フレーム数を 4096 に 出力も 4096 次元となる 今回は 2048 [Hz] で復元
7
DISCRIMINATOR
c0
c1
bn1
c2
bn2
c3
bn3
fc
[0, 1]
ループ音源
2048x
128
1024x
256
512X
51226214
4
256x
1024
次元数• bn: バッチ正規化層• fc: 全結合層
reshape
• c : 畳み込み層• カーネルサイズ : 5• ストライド : 2• パディング : 1
活性化関数: Relu( 出力層のみ sigmoid)
bn0
4096x1
1
8
チャネル数フレーム数
GENERATOR
fc
bn0
dc1
bn1
dc2
bn2
dc3
bn3
dc4
ループ音源Z
100256
x1024
512X512
2048x
128
1024x
256
4096x1
次元数• fc: 全結合層• bn: バッチ正規化層
reshape• dc : 逆畳み込み層
• カーネルサイズ : 5• ストライド : 2• パディング : 1
活性化関数: Leaky Relu ( 出力層のみ tanh)
262144
9
チャネル数フレーム数
各層の計算 ループ音源の畳込み
入力 2048 x 128カーネルサイズ J = 5 ストライド s = 2 パディング p = 1 出力 1024 x 256
2048 +2 ( パディング )
各要素の周りを( ストライド -1) でパディング
ストライド1で畳み込み
アンプーリング
1024
0 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
1024
256
0 0 0 0 0 256
2048 +2 ( パディング ) 2048
カーネル数: 128
128
各層の計算,最適化手法バッチ正規化
各ミニバッチで特徴ごとに独立して,平均 0, 分散 1 の正規化を行う Dropout ,プーリングに変わる有効な手段
最適化手法: Adam [5]
推奨値: α=0.001 , β1=0.9 , β2=0.999 , ε=10e-8
DCGAN: α=0.0002 , β1=0.5 学習の安定化のため
誤差関数 :交差エントロピー
ミニバッチサイズが m, 各ミニバッチのある特徴を x とし, B={x_i...x_i} とする ,はパラメータ
11
DCGAN によるループ音源生成 DCGAN による学習,生成
生成データの目標 訓練データの一部を使った新たな音源の生成 ノイズが少なく,音がはっきり聞こえること 出力にバリエーションがあること
データ数は2,4 エレキベースのループ音源
単音が主体,単調なもの 同一のキー,テンポ
64 サンプルを生成し,比較
12
2 つのデータによる学習(学習の推移) 50000エポック
一方のネットワークが最適化されると一方の誤差が大きくなる対立関係が見られる 互いに収束することなく,これが繰り返されている
epoch
13
14主成分分析: 4096 次元 → 2 次元訓練データテストデータ
15
訓練データテストデータ
16訓練データ 1
訓練データ 0
生成データ • 外観はほぼデータ0
• 低い周波数成分は強く出ている → ベースの音が強調されている
17
訓練データテストデータ
18訓練データ 1
訓練データ 0
生成データ• それぞれのデータの1音から2つの音を発音
19
2 データでの学習,生成 訓練データの一部を使った新たな音源の生成
区間ごとにいずれかの訓練データを反映させている
ノイズが少なく,音がはっきり聞こえること 訓練データと比較するとノイズは多少感じる ベースの音に関しては強調して発音されている
出力にバリエーションがあること 1音ごとの組み合わせで作られているもの 1音を分解して組み合わせているもの
これらによって多様な出力が得られた
4 つのデータによる学習(学習の推移) 50000エポック
epoch
20
4 データ 21
訓練データテストデータ
22
生成データ
23
まとめ DCGAN を使ったループ音源の学習,生成を行った. データ数は 2 , 4 で行い,それらの生成データは
一定の区間ごとに訓練データとの一致がみられ,それらの組み合わせにより訓練データにないデータを生成することができた 訓練データとくらべてノイズが含まれるものの,演奏自体ははっきりと認識することができた データ数を増やすと,音が重なり合い,不自然に聞こえる部分もあった
今後の課題 より多くのデータを使った学習 高音質のデータによる学習学会業績
• 細川 皓平 , 川村 秀憲 , DCGAN によるループ音源の学習と生成 , WSSIT2017, 留寿都 , 2017 (予定)• 細川 皓平 , 川村 秀憲 , ディープラーニングによるループ音源の学習と生成 , 平成 28 年度電気・情報関係学会北海道支部連合大会 , 札幌 2016• 細川 皓平 , 川村 秀憲 , 畳み込みニューラルネットワークを用いた人物画像の認識と評価 , 情報処理学会第 78回全国大会 , 神奈川 , 2M-01, 2016• 細川 皓平 , 川村 秀憲 , 畳み込みニューラルネットワークを用いた人物画像の同一性判定 , 情報処理北海道シンポジウム 2015, 札幌 , AM29, 2015