易企秀 旗下 网站建设,房产网站建设整体架构,番禺是哪里,做一个营销型网站CNN卷积神经网络 一个卷积神经网络主要由以下5层组成#xff1a;
数据输入层/ Input layer卷积计算层/ CONV layerReLU激励层 / ReLU layer池化层 / Pooling layer全连接层 / FC layer 1. 数据输入层
该层要做的处理主要是对原始图像数据进行预处理#xff0c;其中包括
数据输入层/ Input layer卷积计算层/ CONV layerReLU激励层 / ReLU layer池化层 / Pooling layer全连接层 / FC layer 1. 数据输入层
该层要做的处理主要是对原始图像数据进行预处理其中包括
去均值把输入数据各个维度都中心化为0如下图所示其目的就是把样本的中心拉回到坐标系原点上。归一化幅度归一化到同样的范围如下所示即减少各维度数据取值范围的差异而带来的干扰比如我们有两个维度的特征A和BA范围是0到10而B范围是0到10000如果直接使用这两个特征是有问题的好的做法就是归一化即A和B的数据都变为0到1的范围。PCA/白化用PCA降维白化是对数据各个特征轴上的幅度归一化 2. 卷积计算层
这一层就是卷积神经网络最重要的一个层次也是“卷积神经网络”的名字来源。 在这个卷积层有两个关键操作
局部关联。每个神经元看做一个滤波器(filter)窗口(receptive field)滑动 filter对局部数据计算 先介绍卷积层遇到的几个名词
深度/depth解释见下图步幅/stride 窗口一次滑动的长度填充值/zero-padding
激励层的实践经验
①不要用sigmoid不要用sigmoid不要用sigmoid ② 首先试RELU因为快但要小心点 ③ 如果2失效请用Leaky ReLU或者Maxout ④ 某些情况下tanh倒是有不错的结果但是很少
参见 Geoffrey Hinton即深度学习之父的论文Rectified Linear Units Improve Restricted Boltzmann Machines 墙裂推荐此论文 现在上篇文章写的免费下载论文的方法就可以用上了。
4.池化层
池化层夹在连续的卷积层中间 用于压缩数据和参数的量减小过拟合。 简而言之如果输入是图像的话那么池化层的最主要作用就是压缩图像。
这里再展开叙述池化层的具体作用
特征不变性也就是我们在图像处理中经常提到的特征的尺度不变性池化操作就是图像的resize平时一张狗的图像被缩小了一倍我们还能认出这是一张狗的照片这说明这张图像中仍保留着狗最重要的特征我们一看就能判断图像中画的是一只狗图像压缩时去掉的信息只是一些无关紧要的信息而留下的信息则是具有尺度不变性的特征是最能表达图像的特征。特征降维我们知道一幅图像含有的信息是很大的特征也很多但是有些信息对于我们做图像任务时没有太多用途或者有重复我们可以把这类冗余信息去除把最重要的特征抽取出来这也是池化操作的一大作用。在一定程度上防止过拟合更方便优化。 5.全连接层 两层之间所有神经元都有权重连接通常全连接层在卷积神经网络尾部 总结卷积通过卷积核进行特征提取池化层进行压缩最终转为全连接层进行汇总 RNN 循环神经网络 循环神经网络(RNN)知识入门 - 知乎
比较特殊的LSTM循环神经网络
RNN背后的想法是利用顺序信息。在传统的神经网络中我们假设所有输入和输出彼此独立。但对于许多任务而言这是一个非常糟糕的想法。如果你想预测句子中的下一个单词那你最好知道它前面有哪些单词。RNN被称为循环因为它们对序列的每个元素执行相同的任务输出取决于先前的计算。考虑RNN的另一种方式是它们有一个“记忆”它可以捕获到目前为止计算的信息。理论上RNN可以利用任意长序列中的信息但实际上它们仅限于回顾几个步骤稍后将详细介绍。
长短期记忆(LSTM)模型可用来解决稳定性和梯度消失的问题。在这个模型中常规的神经元被存储单元代替。存储单元中管理向单元移除或添加的结构叫门限有三种遗忘门、输入门、输出门门限由Sigmoid激活函数和逐点乘法运算组成。前一个时间步长的隐藏状态被送到遗忘门、输入门和输出门。在前向计算过程中输入门学习何时激活让当前输入传入存储单元而输出门学习何时激活让当前隐藏层状态传出存储单元。
RNN在NLP的许多任务上取得巨大成功。主要的应用领域有
语言建模与生成文本本文示例重点介绍 给定一系列单词我们想要预测给定下一单词的概率能够预测下一个单词的副作用是我们得到一个生成模型它允许我们通过从输出概率中抽样来生成新文本应用模式many to one机器翻译 机器翻译类似于语言建模因为我们的输入是源语言中的一系列单词例如德语我们希望以目标语言输出一系列单词例如英语应用模式many to many语音识别 给定来自声波的声学信号的输入序列我们可以预测一系列语音片段及其概率应用模式many to many 生成图像描述 与卷积神经网络一起RNN已被用作模型的一部分以生成未标记图像的描述应用模式one to many RAN对抗神经网络 生成对抗网络GAN - 知乎
GANGAN包含有两个模型一个是生成模型generative model一个是判别模型(discriminative model)。生成模型的任务是生成看起来自然真实的、和原始数据相似的实例。判别模型的任务是判断给定的实例看起来是自然真实的还是人为伪造的真实实例来源于数据集伪造实例来源于生成模型。
这可以看做一种零和游戏。论文采用类比的手法通俗理解生成模型像“一个造假团伙试图生产和使用假币”而判别模型像“检测假币的警察”。生成器generator试图欺骗判别器discriminator判别器则努力不被生成器欺骗。模型经过交替优化训练两种模型都能得到提升但最终我们要得到的是效果提升到很高很好的生成模型造假团伙这个生成模型造假团伙所生成的产品能达到真假难分的地步。
在这个过程中我们想象有两类人警察和罪犯。我们看看他们的之间互相冲突的目标
罪犯的目标他的主要目标就是想出伪造货币的复杂方法从而让警察无法区分假币和真币。警察的目标他的主要目标就是想出辨别货币的复杂方法这样就能够区分假币和真币。 随着这个过程不断继续警察会想出越来越复杂的技术来鉴别假币罪犯也会想出越来越复杂的技术来伪造货币。这就是 GAN 中“对抗过程”的基本理念。 GAN 充分利用“对抗过程”训练两个神经网络这两个网络会互相博弈直至达到一种理想的平衡状态我们这个例子中的警察和罪犯就相当于这两个神经网络。其中一个神经网络叫做生成器网络 GZ它会使用输入随机噪声数据生成和已有数据集非常接近的数据另一个神经网络叫鉴别器网络 DX它会以生成的数据作为输入尝试鉴别出哪些是生成的数据哪些是真实数据。鉴别器的核心是实现二元分类输出的结果是输入数据来自真实数据集和合成数据或虚假数据相对的概率。
本文我们用 TensorFlow 实现了一种概念验证 GAN 模型能从非常简单的数据分布中生成数据。在你自己练习时建议将文中代码进行如下调整 对鉴别器更新之前和之后的情况进行可视化改变各个层级的激活函数看看训练和生成样本的区别添加更多层以及不同类型的层看看对训练时间和训练稳定性的影响调整代码以生成数据包含来自两个不同曲线的数据调整以上代码能够处理更复杂的数据比如 MNISTCIFAR-10等等。
手把手教你理解和实现生成式对抗神经网络GAN - 知乎
对抗神经网络可用用在很多领域图片生成老照片上色图片内容修改等等