赞
踩
本文前半部分介绍深度网络的理论基础,重点介绍残差网络、生成对抗网络。后半部分介绍实现深度网络的模型框架Keras的使用。目的是让读者快速上手,达到抛砖引玉的目的。
残差网络,准确的称呼是Deep Residual Network来源于Deep Residual Learning for Image Recognition,作者何凯明(自行谷歌) http://kaiminghe.com/
在实践中发现,前期的网络模型在层数增加,深度加深的过程中,学习能力反而没有达到人们预期的那样。这是因为利用梯度下降弱化,导致网络学习能力“老化”。
作者针对这一问题,提出了residual的结构,目的是尝试让前后层之间非直接的连接,而是用一种恒等映射的方式,让不同层的输出输入建立关系,作者认为这两种表达的效果相同,但是优化的难度却并不相同,作者假设F(x)的优化会比H(x)简单的多。这一想法也是源于图像处理中的残差向量编码,通过一个reformulation,将一个问题分解成多个尺度直接的残差问题,能够很好的起到优化训练的效果。这个Residual block通过shortcut connection实现,通过shortcut将这个block的输入和输出进行一个element-wise的加叠,这个简单的加法并不会给网络增加额外的参数和计算量,同时却可以大大增加模型的训练速度、提高训练效果,并且当模型的层数加深时,这个简单的结构能够很好的解决“老化”问题。
生产对抗网络模型,从 Ian Goodfellow 在 14 年发表了 论文 Generative Adversarial Nets 以来,生成式对抗网络 GAN 广受关注,最近一直很火。下面简单了解下GAN网络的原理和过程。
GAN受到博弈论中二人零和博弈的启发,在GAN中的博弈双方分别是生产模型G和判别模型D。生成模型G捕捉样本数据的分布,用服从某一分布的噪声Z生成一个类似于真实训练数据的样本,追求的目标就是越像真实数据越好。判别模型D就是个二分类器,估计一个样本来自于训练数据的概率,如果样本来自于真实的样本数据,则D输出大概率,否则D输出小概率。举个栗子,
生成网络 G 好比假币制造团伙,专门制造假币,判别网络 D 好比警察,专门检测使用的货币是真币还是假币,G 的目标是想方设法生成和真币一样的货币,使得 D 判别不出来,D 的目标是想方设法检测出来 G 生成的假币。
在训练的过程中先固定一方,更新另一个网络的权重,然后反过来更新。在这个过程中俩模型都在极力优化自己的模型,从而形成竞争对抗,一直到双方实现设置的平衡。也就是说这个时候,G模型能制造出和真实样本一摸一样的数据集,D模型的辨别正确率为50%。
在原作者的文章中使用这样的公式描述:
详细的原理推到和名次解释详见:https://arxiv.org/abs/1406.2661的文章Generative Adversarial Networks;接着我们看这篇文章:Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks。对,深度卷积生成对抗网络。https://arxiv.org/abs/1511.06434,这篇文章对深度网络的工程实践又进一步,验证和说明了不同应用和场景下得到不一样的时间效果的结论。这篇文章的内涵是在GAN网络中引入卷积网络。
人间最美好的事情我认为就是读书耕田。理论知识好比我们耕地的想法和别人如何耕地的方法论,要想收获,那就要自己动手,使用得当的工具,这是庄稼丰收的前提。接下来我们顺其自
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。