【GANs】C-RNN-GAN

【GANs】C-RNN-GAN: Continuous recurrent neural networks with adversarial training

  • 5 C-RNN-GAN
    • 5.1 引言
    • 5.2 C-RNN-GAN: 具有对抗性训练的连续循环网络
    • 5.3 实验设置
    • 5.4 代码实现

C-RNN-GAN原文链接

5 C-RNN-GAN

5.1 引言

GAN是一类神经网络体系结构,旨在生成现实数据。

RNN通常用于数据序列建模。这些模型通常使用最大似然法则进行训练。

文章提出C-RNN-GAN架构,它通过对抗训练来建模序列的整个联合概率,并能够生成数据序列。
通过对古典音乐序列进行训练,使用音阶一致性和音域等指标对系统进行评估

结论是,生成对抗训练是一种可行的训练网络的方式,可以对连续数据序列上的分布进行建模,并且还可以对许多其他类型的连续数据进行建模。
【GANs】C-RNN-GAN_第1张图片

5.2 C-RNN-GAN: 具有对抗性训练的连续循环网络

定义以下损失函数 L D L_D LD L G L_G LG:
L G = 1 m ∑ i = 1 m l o g ( 1 − D ( G ( z ( i ) ) ) ) L D = 1 m ∑ i = 1 m [ − l o g D ( x ( i ) ) − ( l o g ( 1 − D ( G ( z ( i ) ) ) ) ) ] \begin{align} L_G &=\frac{1}{m} \sum\limits_{i=1}^{m} log(1-D(G(z^{(i)})))\\ L_D &= \frac{1}{m} \sum\limits_{i=1}^{m}[ -logD(x^{(i)})-(log(1-D(G(z^{(i)}))))] \end{align} LGLD=m1i=1mlog(1D(G(z(i))))=m1i=1m[logD(x(i))(log(1D(G(z(i)))))]
其中, z ( i ) z^{(i)} z(i) [ 0 , 1 ] k {[0,1]}^{k} [0,1]k中的均匀随机向量的序列,而 x ( i ) x(i) x(i)是来自训练数据的序列, k k k表示随机序列中的数据的维数。

G G G中每个单元格的输入是一个随机向量,与先前单元格的输出串联。鉴别器由 B i − L S T M Bi-LSTM BiLSTM组成.

5.3 实验设置

模型布局细节: G G G D D D中的 L S T M LSTM LSTM网络深度为2,每个 L S T M LSTM LSTM单元具有350个内部 (隐藏) 单元。 D D D具有双向布局,而 G G G是单向的。 D D D中每个 L S T M LSTM LSTM单元的输出被馈送到具有跨时间步长共享的权重的完全连接的层中,然后将每个单元的一个sigmoid输出平均为该序列的最终决定。

5.4 代码实现

论文开源代码

你可能感兴趣的:(GANs,rnn,生成对抗网络,深度学习)