就像孙悟空和牛魔王一样抢夺紫霞仙子,进入对抗状态
网络训练可以等效为目录函数的极大-极小问题
极大:让判别器区分真实数据和伪造数据的准确率最大化
极小:让生成器生成的数据被判别器发现的概率最小化
传统生成模型定义了模型的分布,进而求解参数。比如在已知数据满足正态分布的前提下,生成模型会通过极大似然估计等方法根据样本来求解正态的均值和方差。生成对抗网络摆脱了对模型分布的依赖,也不限制生成的维度,大大拓宽了生成数据样本的范围,还能融合不同的损失函数,增加了设计的自由度。
三、循环神经网络(RNN)
循环神经网络就是将长度不定的输入分割为等长的小块,再使用相同的权重系统进行处理,从而实现对变长输入的计算与处理。
比方说妈妈在厨房里突然喊你:“菜炒好了,赶紧来。。.。。.”,即使后面的话没有听清楚,也能猜到十有八九是让你赶紧吃饭
记忆
循环神经网络t时刻的输出取决于当前时刻的输入,也取决于网络前一时刻t-1甚至更早的输出。
W表示从输入到状态的权重矩阵,U表示从状态到状态的转移矩阵。
对循环神经网络的训练就是根据输出结果和真实结果之间的误差不断调整参数W和U,直到达到预设要求的过程,训练方法也是基于梯度的反向传播算法。前馈神经网络某种程序上也具有记忆特性,只要神经网络参数经过最优化,优化的参数就会包含以往数据的踪迹,但是优化的记忆只局限于训练数据集上,当训练的醋应用到新的测试数据集上时,其参数并不会根据测试数据的表现做出进一步调整。1.双向RNN比如有一部电视剧,在第三集的时候才出现的人物,现在让预测一下在第三集中出现的人物名字,你用前面两集的内容是预测不出来的,所以你需要用到第四,第五集的内容来预测第三集的内容,这就是双向RNN的想法
如果想让循环神经网络利用来自未来的信息,就要让当前的状态和以后时刻的状态建立直联系,就是双向循环神经网络。
双向循环网络包括正向计算和反向计算两个环节
双向循环网络需要分别计算正向和反向的结果,并将两者作为隐藏层的最终参数。
2.深度RNN将深度结构引入循环神经网络就可以得到深度循环网络。比如你学习英语的时候,背英语单词一定不会就看一次就记住了所有要考的单词,一般是带着先前几次背过的单词,然后选择那些背过但不熟的内容或者没背过的单词来背
递归神经网络通过树状结构将一个完整的句子打散为若干分量的组合,生成的向量不是树结构的根节点。
四、长短期记忆网络(LSTM)
如果非要给记忆加一个期限,希望是一万年
LSTM就是实现长期记忆用的,实现任意长度的记忆。要求模型具备对信息价值的判断能力,结合自身确定哪些信息应该保存,哪些信息该舍弃,元还要能决定哪一部分记忆需要立刻使用。4种组成LSTM通常由下面4个模块组成
①记忆细胞(memorycell)
作用是存储数值或状态,存储的时限可以是长期也可以是短期②输入门(inputgate)
决定哪些信息在记忆细胞中存储③遗忘门(forgetgate)
决定哪些信息从记忆细胞中丢弃④输出门(outputgate)
决定哪些信息从记忆细胞中输出
五、卷积神经网络(CNN)
将鲜花用包装纸沿着对角线卷起来,顾名思义卷积
卷积神经网络(convolutionalneuralnetwork)指至少某一导中用了卷积运算(convolution)来代替矩阵乘法的神经网络。
1.卷积是什么卷积是对两个函数进行的一种数学运算,我们称(f?g)(n)为f,g的卷积
我们令x=τ,y=n?τ,那么x+y=n,相当于下面的直线
第二枚骰子概率为g(1)、g(2)、。。.g(m)
②做馒头机器不断的生产馒头,假设馒头生产速度是f(t),
那么一天生产出来的馒头总量为
生产出来后会逐渐腐败,腐败函数为g(t),比如10个馒头,24小时会腐败
10?g(t)
一天生产出来的馒头就是
③做鱼
卷积看做做菜,输入函数是原料,核函数是菜谱,对于同一输入函数鲤鱼来说
核函数中的酱油权重较大,输出红烧鱼
核函数中的糖和醋权重大较大,输出西湖醋鱼
核函数中的辣椒权重较大,输出朝鲜辣鱼
④图像处理假设一幅图有噪点,要将它进行平滑处理,可以把图像转为一个矩阵
如果要平滑a1,1点,就把a1,1点附近的组
成矩阵f,和g进行卷积运算,再填充回去f和g的计算如下,其实就是以相反的方向进行计算,像卷毛巾一样
2.卷积神经网络特性
卷积运算的特性决定了神经网络适用于处理具有网络状结构的数据。典型的网络型数据就是数字图像,无论是灰度还是彩色图像,都是定义在二维像素网络上的一组标题或向量。卷积神经网络广泛地应用于图像与文本识别之中,并逐渐扩展到自然语言处理等其他领域。①稀疏感知性
卷积层核函数的大小通常远远小于图像的大小。
图像可能在两个维度上都有几千个像素,但核函数最大不会超过几十个像素。
选择较小的核函数有助于发现图像中细微的局部细节,提升算法的存储效率和运行效率。②参数共享性
一个模型中使用相同的参数。每一轮训练中用单个核函数去和图像的所有分块来做卷积。③平移不变性
当卷积的输入产生平衡时,其输出等于原始输出相同数量的平移,说明平移操作和核函数的作用是可以交换的。
3.卷积神经网络分层
当输入图像被送入卷积神经网络后,先后要循环通过卷积层、激励层和池化层,最后从全连接层输出分类结果。①输入层
输入数据,通常会做一些数据处理,例如去均值、归一化、PCA/白化等②卷积层
卷积层是卷积神经网络的核心部分,参数是一个或多个随机初始化的核函数,核函数就像按照灯一样,逐行逐列扫描输入图像。扫描完毕后计算出的所有卷积结果可以构成一个矩阵,这个新的矩阵叫特征映射(featuremap)。卷积层得到的特征一般会送到激励层处理③激励层
主要作用是将卷积层的结果做非线性映射。常见的激励层函数有sigmoid、tanh、Relu、LeakyRelu、ELU、Maxout④池化层
在连续的卷基层和激励层中间,用于压缩数据和参数的量,用于减少过拟合。
简而言之,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。
常见的最大池化做法就是将特征映射划分为若干个矩形区域,挑选每个区域中的最大值。
⑤全连接层
两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部,输出分类结果。
在卷积神经网络的训练里,待训练的参数是卷积核。
卷积核:也就是用来做卷积的核函数。
卷积神经网络的作用是逐层提取输入对象的特征,训练采用的也是反向传播的方法,参数的不断更新能够提升图像特征提取的精度