Deep Learning – Music Generation – 2019
Jean-Pierre Briot
Jean-Pierre Briot
Jean-Pierre.Briot@lip6.fr
Laboratoire d’Informatique de Paris 6 (LIP6) Sorbonne Université – CNRS Programa de Pós-Graduação em Informática (PPGI) UNIRIO
Deep Learning Techniques for Music Generation Compound and GAN (6) - - PowerPoint PPT Presentation
Deep Learning Techniques for Music Generation Compound and GAN (6) Jean-Pierre Briot Jean-Pierre.Briot@lip6.fr Laboratoire dInformatique de Paris 6 (LIP6) Sorbonne Universit CNRS Programa de Ps-Graduao em Informtica (PPGI)
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
Jean-Pierre Briot
Jean-Pierre.Briot@lip6.fr
Laboratoire d’Informatique de Paris 6 (LIP6) Sorbonne Université – CNRS Programa de Pós-Graduação em Informática (PPGI) UNIRIO
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
2
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
3
mini-bach.py
auto-bach.py – Variational Autoencoder (VAE) VRAE
– LSTM lstm.py, Celtic
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
4
– DeepHear, auto-bach.py
– VRAE
– Music-VAE 784 400 200 100
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ 𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ Generator Discriminator
5
𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ 𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ 𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ 𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ 𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ Real Data Base Fake Real Real
Fake ?
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
6
[Nam Hyuk Ahn, 2017]
– Generator
» Transforms Random noise Vectors into Faked Samples
– Discriminator
» Estimates probability that the Sample came from training data rather than from G
– Minimax 2-player game
D(x): PD(x from real data) (Correct) D(G(z)): PD(G(z) from real data) (Incorrect) 1 - D(G(z)): PD(G(z) from Generator) (Correct) Prediction by D P=1 P=0
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
PD(x from real data) Correct
PD(G(z) from real data) Incorrect
7
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ 𝐻 𝑨, 𝜄 𝐻 𝜄 ℝ ℝ 𝐸 𝑦, 𝜄𝐸 𝐸 𝜄𝐸 ℝ
[Goodfellow, 2016]
Generator Discriminator
𝑨 𝐻 𝑨 or 𝑦 𝐸 𝐻𝑨 or 𝐸 𝑦
8
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
, 𝐸
← Compute gradient of Discriminator loss, 𝐾
,
~ 𝑞
, 𝐸
,
9
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
CelebFaces Attributes Dataset (CelebA) > 200K celebrity images Synthetic (Generated) Celebrity images
[Karras et al., 2018] [Brundage et al., 2018]
10
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
[Xu, 2018]
11
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
GAN(Bidirectional-LSTM2, LSTM2)
(forward and backward) values to be (or not) representative of the Real data
– Analog to RNN Encoder-Decoder which considers the hidden layer as the summary of a sequence
13
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
– Previous measure – Chord sequence
– Previous measure (1D conditions) – Various previous measures (2D conditions)
– Conditioning on previous measure 1D/2D and on chord sequence 1D/2D for one/all convolutional layers – Ex: previous measure 1D and on chord sequence 2D for all convolutional layers
» Follows more chord sequence
– Pop music dataset
14
https://soundcloud.com/vgtsv6jf5fwq/model3
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
15
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
16
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
17
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
18
[Jonathan Hui, 2016]
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
19
Corpus Conformance Generator>Discriminator Variability Discriminator>Generator
[Jonathan Hui, 2016]
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
20
Corpus Conformance Generator>Discriminator Variability Discriminator>Generator
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
fools D the most, the most realistic sample from the discriminator perspective
21
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
Generated samples move toward the closest boundary This ensures that each generated sample has a nearby data example But it does not ensure that each real data has a nearby generated sample [Li, 2019]
22
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
1) For each real data, what is the closest generated sample? 2) The generated sample moves toward that real data
23
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
Some Similarities:
Differences:
[Dykeman, 2016]
24
Deep Learning – Music Generation – 2019
Jean-Pierre Briot
– Bidirectional RNN, combining two RNNs, forward and backward in time – RNN-RBM [Boulanger-Lewandowski et al., 2012], combining an RNN (horizontal/sequence) and an RBM (vertical/chords)
– Sparse autoencoder – Variational autoencoder (VAE) = Variational(Autoencoder)
– Stacked autoencoder = Autoencodern – RNN Encoder-Decoder = Autoencoder(RNN, RNN)
– C-RBM [Lattner et al., 2016] = Convolutional(RBM) – C-RNN-GAN [Mogren, 2016] = GAN(Bidirectional-LSTM2, LSTM2) – Anticipation-RNN [Hadjeres & Nielsen, 2017] = Conditioning(RNN, RNN)
25