- 人工智能
- 深度学习
- 音频
- 媒体生成
- 计算机视觉
【免费下载链接】magenta
Magenta: Music and Art Generation with Machine Intelligence
Magenta 项目(Music and Art Generation with Machine Intelligence)的reviews目录收录了一批论文精读(paper review)文章,由团队内外的研究者撰写,目标是让领域内的每个人都应该阅读和理解的经典论文被更多人看懂。本文以 magenta/reviews/README.md 为索引主线,逐一梳理其中收录的 6 篇精读的核心思想、模型结构与实验结论,并结合当前仓库中的实际源码(如 NADE 实现、钢琴卷帘生成模型、图像风格化与 GAN 相关代码)做交叉印证。读完本文,你将掌握这些生成模型论文的来龙去脉,并知道如何在 Magenta 仓库中找到对应的落地实现。
专栏定位与收录清单
magenta/reviews/README.md 开宗明义:这个目录存放的是对“领域内每个人都应该阅读和理解”的研究论文的精读文章。它目前收录了 6 篇,覆盖了从 2012 年到 2016 年之间对生成模型影响深远的经典工作:
- DRAW: A Recurrent Neural Network for Image Generation(Gregor 等,Tim Cooijmans 撰文)
- Generating Sequences with Recurrent Neural Networks(Graves,David Ha 撰文)
- A Neural Algorithm of Artistic Style(Gatys 等,Cinjon Resnick 撰文)
- Pixel Recurrent Neural Networks(Van den Oord 等,Kyle Kastner 撰文)
- Generative Adversarial Networks(Goodfellow 等,Max Strakhov 撰文)
- Modeling Temporal Dependencies in High-Dimensional Sequences(Boulanger-Lewandowski 等,Dan Shiebler 撰文)
从主题上看,这 6 篇构成了生成模型的一个代表性横截面:从图像生成(DRAW、PixelRNN)、序列/手写生成(Graves 2013)、艺术风格迁移(Gatys),到对抗训练(GAN)与音乐序列建模(RNN-RBM)。README 还特别说明这是一个社区项目:如果你有想解读的论文,可以先提交 issue 说明想写哪一篇,主题获批后提交 Pull Request,审核通过即被收录展示。
DRAW:用循环网络在画布上"画画"
DRAW 精读 讲解的 DRAW(Deep Recurrent Attentive Writer)由 Gregor 等人提出,核心创新是让神经网络通过“在画布上作画”的方式生成图像。相比此前的生成模型,它有两大优势:
- 迭代式生成:模型可以从粗略草图开始,逐步细化;
- 局部化交互:通过注意力机制与画布局部交互,模型可以专注于场景的一部分,而不必一次性生成整个场景。
模型结构:交织的双 RNN
DRAW 由两个交织的 RNN 组成——编码器(encoder)与解码器(decoder),两者共同构成一个循环变分自编码器(recurrent VAE),每个时间步交换一次隐编码:
在每个时间步,编码器 RNN 接收上一时刻的编码器状态、解码器状态以及从输入图像 x 中读取的信息,计算隐编码 z 的后验分布 Q(z|x)——通常表现为一对均值向量和方差向量,参数化一个对角高斯分布。采样得到的 z 传入解码器,解码器将其写入画布。该过程重复固定次数后,画布的最终状态被用于确定可见分布 P(x|z):在灰度 MNIST 手写数字数据集上,画布通过 logistic sigmoid 函数映射为独立伯努利概率矩阵。
训练损失由两项构成:一是所选先验 P(z) 到各步 Q(z|x) 分布的 KL 散度之和;二是输入图像在 P(x|z) 下的对数似然。生成阶段则从先验 P(z) 中采样每个隐向量 z——编码器不参与生成。
精读中还给出了一条非常实用的经验:实践中不会从最终可见分布 P(x|z) 直接采样,而是取均值或众数。原因在于该分布通常把像素建模为相互独立的,而真实图像具有很强的空间结构(相邻像素强相关),独立采样会产生不自然的图像。
可微注意力机制
DRAW 的读写操作通过视觉注意力完成:在输入图像上施加一个均匀的高斯滤波器网格,每个滤波器对应提取 patch 中的一个像素;patch 像素值是图像像素以滤波器权重做线性组合的结果。滤波器网格由神经网络根据解码器隐状态映射出的位置与缩放参数控制。写回画布的过程类似但取转置:模型先产生 patch,注意力机制再把 patch 投影回图像。相比此前 Schmidhuber 与 Huber 在 1990 年开创的视觉注意力工作,DRAW 的注视模型(foveation model)是可微的,因此可以端到端地用反向传播训练,而不是简单裁剪图像的一块区域。
精读末尾给出的相关工作包括:作为基础的 VAE、引入更通用且计算更高效的可微仿射变换的 Spatial Transformer Networks,以及将 DRAW 扩展为条件于图像描述(caption)的 AlignDRAW——在大规模图像-描述对训练后可依据文字生成图像。
Graves 2013:用 RNN 建模序列的概率分布
summary_generation_sequences.md 解读的是 Alex Graves 于 2013 年发表的《Generating Sequences with Recurrent Neural Networks》,这是讨论用 RNN 做序列生成的奠基论文之一。其核心思路是:不再让模型精确预测未来会发生什么,而是预测未来事件的概率分布。即便对人类来说,估计某事件未来“有多可能”也比精确预测要容易得多。
从 N-gram 到 LSTM
对非马尔可夫序列,问题可形式化为:给定序列的完整历史,计算下一时间步取值的条件概率分布:
P(Y[n+1]=y[n+1] | Y[n]=y[n], Y[n-1]=y[n-1], Y[n-2]=y[n-2], ...) (1)
简单方法如 N-gram 模型通过截断 n-N 之前的历史来近似公式 (1),但当 N 增大时无法良好扩展。RNN 的递归结构可以记住过去信息的丰富表示,论文提出使用 LSTM 单元让网络即使在很遥远的过去也能记住信息,从而将下一值的概率密度函数(PDF)近似为当前序列值与当前隐状态的函数:
P(Y[n+1]=y[n+1] | Y[n]=y[n], H[n]=h[n]) (2)
训练使用随时间反向传播(BPTT),配合生成序列与真实训练序列之间的交叉熵损失,并用梯度裁剪防止梯度和权重爆炸。论文在莎士比亚作品、维基百科全文和在线手写数据库等多个序列数据集上做了训练。训练完成后,只要 RNN 产生的概率分布足够接近数据的真实经验分布,就可以从该分布中采样,生成“看起来合理”的假序列——精读把它形象地称为让 RNN“做梦”,并列举了奥巴马演讲机器人、deepdrumpf 等知名应用。
混合高斯输出:从文本到手写
文本生成是最广泛的应用场景(数据易得、softmax 即可建模分布),但精读指出更少被探索的路径是用同样方法生成实数序列,例如真实声波、手写和矢量绘画。论文在 IAM 在线手写数据库上做了实验:平板设备将手写记录为一串表示坐标偏移的小向量,每个向量附带一个表示“笔抬起”的二元状态(end of stroke)。模型要建模的条件联合分布是下一个偏移坐标 (X, Y) 与笔状态 S 的联合分布:
P(X[n+1], Y[n+1], S[n+1] | X[n], Y[n], S[n], H[n]) (3)
论文的方法是用混合高斯分布(多个小高斯分布叠加)近似 X、Y 的条件分布,而 S 是伯努利随机变量。这种用神经网络输出混合分布参数的技术最初由 Bishop 为前馈网络提出(混合密度网络,MDN),本文将其扩展到了 RNN:每个时间步,RNN 把 (x, y, s, h) 转换成随时间变化的混合高斯 PDF 参数。精读展示了采样过程中可视化这些概率分布的例子——红色点代表偏移分布,灰色线条的深浅代表笔状态概率。
论文后续章节还给出条件采样方法:让模型同时看到要写的字符、前后字符信息,从而理解字符间的衔接细节:
P(X[n+1], Y[n+1], S[n+1] | X[n], Y[n], S[n], C[n+1], C[n], C[n-1], H[n]) (4)
局限与扩展
精读也直言该模型的局限:随机性只集中在输出层,难以捕捉眼睛、耳朵、鼻子、身体、脚、尾巴这类更高层概念,因此对更复杂的矢量动物画这类数据集训练会失败。一个潜在扩展是把 RNN 升级为变分 RNN(VRNN),将隐变量(latent variable / thought vector)嵌入模型内部以控制输出的内容与风格——初步实验表明 VRNN 生成的手写样本能保持同一种书写风格,而不是在多种风格间跳来跳去。
艺术风格迁移:Gatys 的 Neural Algorithm of Artistic Style
styletransfer.md 解读的是 2015 年 8 月 Tübingen 大学 Gatys 等人发表的《A Neural Algorithm of Artistic Style》。它展示了如何用一幅作品的风格去呈现另一幅内容图像,并因此在社交媒体上广泛传播,让公众认识到原本用于图像应用的深度学习工具也能创造富有想象力的艺术。
内容损失与风格损失的构造
论文构建了一个由风格损失 Ls 与内容损失 Lc 组成的能量最小化问题。关键工具是具备图像层次化理解能力的深度卷积网络 VGG-19:
- 内容损失 Lc:在特定层(conv4_2)计算 X 的输出与内容图 C 的输出之间的 ½ 平方误差(L2 距离)。
- 风格损失 Ls:使用Gram 矩阵——某一层各向量化特征图之间的内积矩阵。Gram 矩阵经验上是特征相关性的良好代理,因此两张图像 Gram 矩阵的 L2 差异可以作为风格相似度的度量。直觉上可以把风格迁移理解为纹理建模:Gram 矩阵相当于特征响应的空间汇总统计量,对齐这些统计量就能对齐风格。具体实现中,对 conv1_1、conv2_1、conv3_1、conv4_1、conv5_1 每一层分别计算 X 与 S 的 Gram 矩阵均方误差并求和,即得风格误差 Ls。
从一张白噪声图像 X 出发,用 L-BFGS 联合最小化两个损失即可产生风格迁移效果。精读给出的调参与实践要点包括:
- 两个损失的权重参数 Lc、Ls 需要根据 C 与 S 做一定调节;
- 用其中一张输入图像初始化 X 效果略好,但会让结果确定化;
- 实践中网络会先匹配绘画的低层风格特征,再逐渐向图像的内容修正;
- GPU 上单张图像约需 3~5 分钟;
- 效果随所用卷积网络而变化——例如用人脸检测训练的网络做人脸风格迁移效果更好。
这些内容在该仓库的 magenta/models/image_stylization 中能找到直接落地的参考实现,例如 model.py 中的transform函数定义了收缩(contract)、残差(residual)与扩展(expand)三阶段的风格迁移网络结构。
三个后续方向
精读还简要介绍了三篇后续工作:
- 颜色保持风格迁移(Color-Preserving):Gatys 等的后续论文在风格迁移时保留内容图的颜色。第一种方法是用线性变换把风格图的配色方案对齐到内容图的配色方案,用变换后的 S' 替代原 S;另一种方法只在亮度空间做迁移,先提取 S 与 C 的亮度通道,在亮度域完成风格迁移后再把原色彩通道压印回去。文中对两种方法的优劣做了对比讨论。
- 视频风格迁移:Ruder 等的工作探讨把风格迁移应用到视频。朴素地对每一帧独立运行 Gatys 算法会产生闪烁和虚假的不连续,因为风格迁移问题的解不稳定。他们用光流(optical flow)做正则化,借助 DeepFlow 与 EpicFlow 光流估计;此外通过双向运行光流检测被遮挡区域与运动边界,并通过惩罚偏离时间上较远帧来保证长期一致性。
- 即时风格迁移(Instant Style Transfer):Johnson 等的工作解决速度问题。Gatys 与 Ruder 的方法每帧都要 3~5 分钟的优化,他们则在 VGG 前加了一个“图像变换网络”(ITN):固定风格图 S,把 VGG 视为给定 S 后返回风格与内容损失之和的黑盒,ITN 的输入是待迁移的内容图 C,通过优化风格与内容损失把 C 变换为 C'。由于对所有 C 都保持 S 不变,就无需逐图做冗长的优化前向/反向传播——这是当时唯一能以每秒 15 帧速度做风格迁移的模型。
PixelRNN:逐像素自回归的图像生成
pixelrnn.md 解读的《Pixel Recurrent Neural Networks》(Van den Oord、Kalchbrenner、Kavukcuoglu)组合了多种技术,提出了 PixelCNN 与两种 PixelRNN 三个新生成模型,大幅提升了图像生成领域的技术水平,并获得了 ICML 2016 最佳论文奖。精读开篇展示的图像来自一个在约 100 万张 32×32 彩色 ImageNet 图像上训练的 PixelRNN 模型。
链式法则与条件分解
逐像素生成图像的常见方法(NADE、MADE 等)是:选定一个像素值,用它来条件化下一个预测,因此需要假定像素的某种排序(例如从左上到右下、逐行推进)。概率上,这是用链式法则把图像的联合概率
p(image) = p(x_0, x_1, x_2 … x_n)
重写为条件分布的乘积:
p(image) = p(x_0) · p(x_1 | x_0) · p(x_2 | x_1, x_0) …
这种“条件乘积”思路配合高效的卷积预处理,是 PixelCNN 与 PixelRNN 的共同基础。这种依赖链用 RNN 很容易建模,但卷积处理如何获得同样上下文?答案是掩码(mask):掩码是无需显式递归即可建模序列条件概率的巧妙手段(MADE 中已有出色应用)。
Mask A 与 Mask B
论文使用两类掩码:A与B。两者都被精心构造以保证某个像素的预测永远不会依赖于它自身的输入值。关键区别在于被预测像素是否在掩码中心“打开”:
- Mask A:确保当前像素不贡献于自身预测,用于网络输入层,消除问题连接;
- Mask B:在 Mask A 清除输入层的自连接后,后续层都可用 Mask B,此时允许当前通道上的自连接。
这个区别非常微妙,却是模型正确工作的关键。将掩码应用到卷积前的滤波器权重上,就能得到正确的依赖域。精读提到,Ishaan Gulrajani 提供了一份 numpy 生成这些掩码的示例代码(其仓库还实现了 PixelCNN 和一种在 MNIST 上表现良好的 PixelRNN),并评价这类实现“简单得令人惊讶”,是理解架构的绝佳代码参考。
三种模型架构
- PixelCNN:架构最直接——堆叠若干带 ReLU 激活的掩码卷积,输入层用 Mask A、后续每层用 Mask B,最后一层用 1×1 卷积输出 3×256 个特征图(RGB 像素情形),并在输出端取逐像素交叉熵损失。
- Row LSTM与Diagonal BiLSTM:两种 PixelRNN,都用掩码卷积预计算 LSTM 的输入门。Diagonal BiLSTM 通过斜切映射(skew mapping)在线性映射空间中计算卷积,使双向网络在每一层都能捕获完整、理想的上下文,之后再用逆变换“还原”,并在后续层重复。
此外所有架构都可叠加残差连接、跳连、沿深度的门控以及基于学习型卷积上采样的多尺度结构。精读特别指出:不加任何技巧的 Diagonal BiLSTM 已在 MNIST 上达到当时最先进水平,而加入大部分增强的更大模型则碾压了 CIFAR-10 的旧纪录(论文未披露表 5 中具体架构细节)。
上下文窗口、精确似然与采样
三种模型都用掩码卷积控制每步可见的上下文与通道。Row LSTM 与 Diagonal BiLSTM 额外用递归处理捕获更大的即时上下文窗口,而非仅靠深度增长上下文;Diagonal BiLSTM 中每个 RNN 位置在每一层都能看到全部可用上下文,其上下文与理想上下文完全一致——这也是为什么仅 1 层 Diagonal BiLSTM 就能有出色结果。精读还补充了一个细节:Row LSTM 需要中心上下文多出一个绿色像素邻居,否则采样时缺乏水平方向已见内容的上下文,难以建模水平直线这类属性。
与 DRAW 给出的似然下界不同,PixelRNN 系列直接使用逐像素的分类交叉熵,因此能给出精确似然。用 categorical cross-entropy 加 softmax,模型可以直接把概率质量只放在 [0, 255] 范围内的合法像素值上,且该损失在分类任务中已被充分研究。
采样 PixelCNN 时,先让模型处理一张空白图像,预测左上角像素的红色通道;把新输入再喂给模型预测该像素的绿色通道;再预测蓝色通道,然后依次处理第二个像素……PixelRNN 的采样方式类似,只是预测所用架构不同——无论哪种,采样都是顺序过程。精读最后给出一个重要视角:直接建模 32×32 彩色图像的全部条件概率是一条 3072 个条件概率的线性链(NADE 的做法),而 PixelCNN 利用拓扑结构让依赖链随深度增长,实现从局部到全局约 sqrt(n) 的有效依赖增长,这与真实图像“局部强相关、全局弱相关”的特性天然吻合。
GAN:生成器与判别器的对抗博弈
GAN.md 解读的是 Goodfellow 等 2014 年提出的生成对抗网络(GAN)。其高层思想是让两个神经网络“对弈”:第一个网络生成样本,第二个网络同时尝试区分这些生成样本与真实数据样本。
为什么需要 GAN
精读先回答了“为什么做这件事”:深度生成模型此前远不如深度判别模型成功,部分原因是优化算法中需要近似难以处理的概率后验,迫使实践者使用马尔可夫链蒙特卡洛(MCMC)等技术;而且许多有助于训练判别模型的方法对生成模型并不适用。GAN 的对抗框架纯靠反向传播即可训练,缓解了这些问题。
最小最大博弈与对抗损失
GAN 植根于博弈论。生成器(generator)生成自认为真实的样本;判别器(discriminator)以监督方式用“真实/生成”两个标签训练,区分数据集样本与生成器产生的样本。生成器则被训练来最大化判别器在生成样本上的错误,从而学会逼近真实数据分布。整体上优化的对抗损失就像一个最小最大博弈,其解对应生成器与判别器之间的纳什均衡。
损失包含两部分:一部分让判别器更擅长区分真实样本与假样本,另一部分让生成器生成判别器认为真实的样本。输入是一个服从某分布(通常是 N 维正态或均匀分布)的噪声向量。
两个部分可以各自用基于梯度的方法独立优化:先对判别器做一步优化,再对生成器做一步优化,让它在欺骗新判别器方面变得更好。早期训练中判别器错误率很低时,生成器的学习信号会接近零、收敛缓慢;这可以通过改最大化另一项来修复——它收敛到相同的解,但在判别器错误率低时提供强梯度。
训练过程的直观解释
训练 GAN 拟合数据分布可以直观理解为:真实数据服从某个分布(图中黑色虚线),真实样本从中采样;假样本由生成器把噪声域映射到数据域产生(绿色线);判别器给每个样本一个“来自真实分布”的概率(蓝色虚线)。
生成器与判别器各自随机初始化,然后:训练判别器区分真假(图 b)→ 固定判别器、训练生成器最大化判别器错误(图 c)→ 再训练判别器……直至收敛。收敛时生成器学到的分布与真实分布完全重合,判别器无法区分真假,因此对任何样本都一致返回 ½(图 d)。
实验数据与缺点
定量评估方面,精读给出了当时论文中的对数似然数据:在 MNIST 上,GAN 诱导分布对真实数据的近似对数似然约为 225(标准误差 2),而深度信念网络(DBN)约为 138;在更难的多伦多人脸数据集上,GAN 对选定真实样本达到 2057 ± 26,最佳 DBN 为 1909 ± 66。
GAN 的缺点同样突出:难以优化,两个网络必须保持同步——判别器赢太多则生成器学不到东西(判别错误过小),生成器赢太多则判别器太弱无法教学。最糟糕的退化情形是模式坍缩(generator collapse):生成器退化为只产生单个样本并被判别器糟糕地分类,这暴露了实践中生成器未必收敛到数据分布这一深层问题。精读给出三种缓解技巧:
- 让判别器“更弱”——使用更小的模型(生成更难、需要更多参数,因此生成器应显著更大);
- 在判别器中使用 dropout,减少其犯下可被生成器利用的错误;
- 对判别器使用自适应 L2 正则化——判别器太强时增大 L2 系数削弱它,生成器追上后再降低。
相关工作中还列举了 LAPGAN(拉普拉斯金字塔生成图像)、RCGAN(RNN 逐层叠加生成图像)、条件 GAN(依据标签生成)、InfoGAN(让输入噪声携带语义而非纯随机)、Improved Techniques for Training GANs、BiGAN(支持从样本空间投影回隐空间)以及对抗自编码器(用对抗损失把 VAE 的隐空间对齐到某先验分布)。
仓库中与对抗训练直接相关的实现包括 magenta/models/gansynth/lib/model.py,其中以 flags 形式暴露了discriminator_ac_loss_weight、discriminator_learning_rate等判别器超参数,magenta/models/gansynth/lib/layers.py 中还有判别器用作批量判别(batch discrimination)的层——这些正是对 GAN 判别器设计思想的工程化落地。
RNN-RBM:高维序列的时间依赖建模与复调音乐
rnnrbm.md 解读的是 Boulanger-Lewandowski 等 2012 年的工作《Modeling Temporal Dependencies in High-Dimensional Sequences》,这是一篇承上启下的重要论文:它连接了 2000 年代到 2010 年代初基于能量模型的研究与更现代的 RNN 研究,提出的算法也是当时最成功的复调音乐生成算法之一,并为 Graves 2013 等后续序列生成模型研究铺平了道路。
架构:RNN 决定 RBM 的参数
论文描述了一系列强大的序列生成模型,其中最核心的是RNN-RBM(循环神经网络-受限玻尔兹曼机)。可以把它理解为一串 RBM,其参数由 RNN 决定:序列中每个 RBM 都能建模复杂的高维概率分布,而 RNN 让每个分布以上一步的分布为条件。与 RBM 一样,RNN-RBM 是无监督生成模型,目标是直接建模无标签数据(如视频或音乐)的概率分布。
架构并不复杂:每个 RNN 隐单元 h(t) 与一个 RBM 配对。h(t) 接收观测向量 v(t) 与上一隐单元 h(t-1) 的输入,其输出是 RBM(t+1) 的参数,RBM(t+1) 以观测向量 v(t+1) 为输入。与任何带隐单元的序列模型一样,h(t) 编码了序列在 t 时刻的状态——对音乐而言可能是当前和弦或歌曲情绪等信息。
值得注意的设计是:所有 RBM 共享同一权重矩阵,只有隐层与可见层偏置向量由 RNN 隐单元的输出决定。RBM 权重矩阵的作用是给所有 RBM 分布施加一致的先验,偏置向量则负责传递时间信息。
生成与训练
用 RNN-RBM 生成序列时,先对 RNN 做 priming(预热),然后循环执行三步:
- 用 RNN→RBM 的权重、偏置矩阵和 h(t-1) 的状态确定 RBM(t) 的偏置向量;
- 执行 Gibbs 采样(重复 k 次后取可见状态)从 RBM(t) 采样生成 v(t);
- 用 v(t)、h(t-1) 与 RNN 的权重偏置矩阵确定 h(t)。
成本函数是对比散度(contrastive divergence)对 RBM(t) 计算的观测向量 v(t) 负对数似然的估计。实践中通过两步计算:先做 Gibbs 采样得到样本 v(t),再取 v(t) 与 v(t)自由能之差;损失的梯度用 BPTT 回传。
音乐应用与扩展
作者用 RNN-RBM 生成复调音乐:输入 RNN、输出 RBM 的都是 MIDI 钢琴卷帘(piano roll)中的行。精读对比了 Nottingham 数据库歌曲、“Fix You”(Coldplay)等真实钢琴卷帘与 RNN-RBM 生成的钢琴卷帘:
基础 RNN-RBM 能生成听起来不错的音乐,但难以产生超出几个和弦的时间结构,因此论文探讨了若干扩展:
- Hessian-Free 优化:高效执行二阶优化的算法,更好地捕获时间依赖;
- LSTM 单元:把 RNN 单元换成 LSTM 以提升对歌曲中长程模式的表达能力(如 Lyu 等的后续论文);
- 用 NADE 替换 RBM:NADE(神经自回归分布估计器)用可处理的分布建模数据,不引入对比散度带来的梯度近似误差,生成的音乐展现出更多局部结构(RNN-NADE);
- 用深度信念网络(DBN)替换 RBM:DBN 由多个堆叠 RBM 构成,可利用多层形成数据的层次化表示,Vohra 等的后续工作把 DBN 与 LSTM 结合,生成了比 RNN-RBM 更复杂的音乐。
NADE 的思想在仓库中有直接的工程实现:magenta/common/nade.py 实现了完整的 NADE(Neural Autoregressive Distribution Estimator),包括编码器权重w_enc、转置解码器权重w_dec_t与可选的内部偏置项,并提供log_prob与sample两个核心接口。更关键的是,magenta/models/pianoroll_rnn_nade/pianoroll_rnn_nade_graph.py 中的RnnNade类直接组合 RNN 与 Nade 来建模钢琴卷帘——这正是 rnnrbm.md 所讲“用 NADE 替换 RBM”思想在 Magenta 里的落地形态。该模型的完整使用方式(数据集构建、训练、生成)可参见 magenta/models/pianoroll_rnn_nade/README.md。
六篇精读的脉络与仓库印证
将这 6 篇串联起来,可以看出一条清晰的生成模型演进线索:
- DRAW(2015)与PixelRNN(2016)代表“迭代/顺序式图像生成”的两个方向:前者用循环注意力在画布上逐步作画(似然下界),后者用掩码卷积实现逐像素自回归(精确似然);
- Graves 2013给出序列生成的一般范式(分布预测 + 采样),其混合密度输出思想与 RNN-RBM、NADE 在音乐生成中相互交织;
- Gatys 2015把判别式特征网络(VGG)反向用于内容-风格分解,开创了艺术生成这一大众化领域;
- GAN(2014)提出无显式似然的对抗式生成框架,其判别器设计在 gansynth 等仓库模块中得到工程化体现;
- RNN-RBM(2012)为复调音乐生成奠基,其“用 NADE 替换 RBM”的扩展直接催生了仓库中的 pianoroll_rnn_nade 模型与 nade.py 实现。
对读者而言,magenta/reviews/README.md 及其六篇精读不仅是论文导读,更是一张把论文思想映射到 magenta/models 与 magenta/common 源码的地图。如果你有想解读的经典论文,也欢迎按 README 的说明提交 issue 提议主题、获批后提交 Pull Request,让这个社区专栏持续生长。
- 人工智能
- 深度学习
- 音频
- 媒体生成
- 计算机视觉
【免费下载链接】magenta
Magenta: Music and Art Generation with Machine Intelligence
相关推荐
console-powers与TypeScript完美集成:类型安全的控制台调试
console powers与TypeScript完美集成:类型安全的控制台调试 console powers是一个专为开发者打造的轻量级工具库,它能帮助你创建
深度学习论文精读完全指南:从AlexNet到Sora的32篇经典论文深度解析
深度学习论文精读完全指南:从AlexNet到Sora的32篇经典论文深度解析 GitHub 加速计划 / pa / paper reading 项目提供深度学习
文档教程人工智能DRAW:面向图像生成的循环神经网络 —— 论文精读(Magenta 研究论文评论)
DRAW:面向图像生成的循环神经网络 —— 论文精读(Magenta 研究论文评论) 本文基于 Magenta 仓库 magenta/reviews/draw.
人工智能深度学习音频媒体生成计算机视觉
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考