到目前为止,我们已经讨论了MLP、CNN和RNN架构。这些是判别模型,即可以做出预测的模型。 前面,我们连载了六次数学博士的深度学习方法(点击直达): 一个数学博士的深度学习方法(第6部分):神经网络架构RNN 一个数学博士的深度学习方法(第5部分) 一个数学博士的深度学习方法(第4部分) 一个数学博士的深度学习方法(第3部分) 一个数学博士的深度学习方法(第2部分) 一个数学博士的深度学习方法(第1部分) 博士的更多学习方法和算法可以直接打开整个系列:链接 这次我们将讨论生成模型,例如自动编码器和GAN,以及其他有趣的神经网络架构。 判别模型本质上是学习估计条件概率分布p(x);也就是说,给定一个值,他们尝试根据他们对x的概率分布的了解来预测结果。生成模型是学习数据的概率分布并学习如何生成似乎来自该概率分布的数据的神经网络架构。一个例子是一个用很多人的面孔训练的网络,并学习如何生成不存在的人的面孔,例如这个网站上的面孔:https:thispersondoesnotexist。comen 创建合成数据是生成模型的一种用途,但不是唯一的用途。 自动编码器(AE) 为了更好地理解自动编码器的工作原理,让我们看一个自动编码器的一种简单表示。 自动编码器的一个简单示例。 本质上,自动编码器是两部分的组合:编码器和解码器。编码器获取高维输入数据并映射到低维空间(潜在空间),解码器获取潜在空间中的数据并尝试在原始高维空间中重建这些数据。 这样做的一个好处是自动编码器可以拍摄一张图片并映射到潜在空间,并且在这个过程中,只保留最重要的部分,因此将消除噪声并压缩图片。 如果我们将编码器表示为zf(x),将解码器表示为xg(z),则自动编码器为xg(f(x)),我们希望xx。权重不同但一起学习,通常使用MSE损失函数来衡量自编码器的质量。用更数学的术语来说,编码器在点(输入数据)所在的流形(高维表面)中学习向量场,并将向量场投影到低维空间保留向量场;而解码器采用低维向量场并在高维空间中重建它们。 去噪自编码器(DAE) 它是自动编码器的一种变体,因为它学习重建损坏或嘈杂的输入。本质上,我们使用条件分布C(xx)从原始数据生成损坏的数据,并且使用损坏的数据,我们的自动编码器必须学习如何重建未损坏的数据。在这种情况下,用于训练的数据将采用(x,x)的形式,其中x是原始数据,x是相应的损坏数据。 变分自动编码器(VAE) 这是另一种自动编码器的变体。在这种情况下,VAE不是学习函数f和g,而是学习输入数据的概率密度函数。如果先验概率密度函数是p(z)(假设的概率密度),似然p(xz)(给定潜在空间的输入分布),那么学到的概率密度函数就是后验概率密度p(zx),即p(zx)p(z)p(xz)。这就是贝叶斯推理的方法。 这种方法更好,因为真实数据是嘈杂的。 在这种情况下,当VAE试图学习概率分布时,我们可以使用KullbackLiebler散度作为损失函数。 生成对抗网络(GAN) 这是一种受博弈论启发的神经网络架构;它由IanGoodfellow于2014年创建。它由两个网络(一个生成器网络和一个批评者网络)组成,相互竞争。从这里可以看出,GAN已经取得了显著的成果。 生成器网络试图通过生成看起来像真实数据的合成数据来欺骗评论家网络,而评论家网络试图找出另一个网络产生的数据是否是假的。 当然,GAN很难训练,因为不能保证两个网络会收敛。一个网络的梯度下降不会影响另一个网络的梯度,并且两者必须收敛在一起,否则参数可能会振荡和不稳定。 现在我们将讨论其他类型的神经网络。 迁移学习 训练一个深度神经网络不是一件容易的事,它需要大量好的数据、计算能力和时间(你知道,时间就是金钱),所以迁移学习是一种尝试使用经过训练的网络(即针对一项特定任务进行训练,例如识别猫品种)并将其适应于另一但类似的任务(例如识别狗品种)。 考虑猫狗的例子,假设我们有一个训练有素的CNN,所以第一层可以检测基本特征,最后一层可以检测一些更高级的特征,最后一层传递给三个全连接网络。我们可以保留层,但只训练完全连接的部分。当然,对于这项工作,我们需要猫和狗的图像具有相同的大小。这就是迁移学习背后的想法。它节省了大量资源并允许一些非常酷的事情,例如将斑马条纹放在马身上,视频请私信联系。 元学习 另一种更新的(和有前途的)技术是元学习。元学习是学习如何自己学习新任务的能力,这是达到通用人工智能(AGI)的一项要求。 人类可以通过几个例子来了解猫和狗之间的区别,并且有一些技术可以尝试用人工神经网络做同样的事情,这些被称为小样本学习。 与元学习相关的架构有一些,例如记忆增强神经网络(MANN)、神经图灵机(NTM)、元网络(MetaNet)。 几何深度学习 直到这里看到的所有架构都有一个共同点:它们都是用表格数据训练的。但并非现实世界中的所有数据都可以正确放入表格数据中,例如来自社交网络的数据。社交网络可以更恰当地建模为图,只需将每个人视为一个节点,并且两个人在社交网络中相关,因此有一条连接两个节点的边。 即使在邻接矩阵中考虑,如果我们想在边上放置不同的权重并保留一些其他信息,表格数据也不是保存这种关系的好东西。在这种情况下,有一个更好的架构:图神经网络。 出现几何深度学习这个术语是因为一般来说,我们可以将数据视为某个流形(高维表面)中的点,如果这些点连接起来,我们就会在这个流形中获得一个图。这样,如果方便的话,我们可以忘记流形并只使用图形。 这是所有的了! 这是一系列关于深度学习数学的文章的结尾,共7个部分。 关于它还有很多,这是一个很大的研究领域,但一切都有尽头。然而,我的学习还没有结束!我希望尽快写一些有趣的话题。 感谢您的陪伴,很快再见!