2018-08-01 神经网络

一、生物神经网络和人工神经网络

        人工神经网络靠的是正向和反向传播来更新神经元, 从而形成一个好的神经系统, 本质上, 这是一个能让计算机处理和优化的数学模型.。而生物神经网络是通过刺激, 产生新的联结, 让信号能够通过新的联结传递而形成反馈。


参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-0-ANN-and-NN/

二、神经网络

        下图就是一个神经网络。它有很多层组成,最开始的输入层负责接收信息,然后由中间的隐含层对其进行加工处理,最后有输出层输出计算机对输入信息的认知。

神经网络

        训练神经网络需要大量的数据,训练的时候输出结果有对的也有错的。错的结果会被当作经验,从输出层反向传递回去在正确的方向上对每个神经元进行一定的调整,使其在下一次训练的时候能够输出更准确的结果。

        每个神经元都有对应的激活函数,见下图。

激活函数

        在一次训练中,部分神经元被激活,如果结果错误,那么就会让一部分神经元变得更迟钝,一部分变得更敏感。

部分神经元被激活



参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-1-NN/

                  https://www.jianshu.com/p/e112012a4b2d

三、卷积神经网络CNN

        CNN一般用于图像处理,它处理的是一个区域而不仅仅是一个点,通过一个滑动窗口,对图片信息进行卷积运算,从而总结出更高层的结构。

CNN处理流程

        比较流行的搭建结构见下图:

CNN结构

         首先是输入的图片(image), 经过一层卷积层 (convolution), 然后在用池化(pooling)方式处理卷积的信息, 这里使用的是 max pooling 的方式. 然后在经过一次同样的处理, 把得到的第二次处理的信息传入两层全连接的神经层 (fully connected),这也是一般的两层神经网络层,最后在接上一个分类器(classifier)进行分类预测。

        上边提到的pooling是将小邻域特征点进行整合得到新的特征,而max pooling是提取这一小邻域中值最大的那个特征作为新的特征。比如一个2×2的邻域,[1 3; 2 0],经过一次max pooling后就变为[3]。

        全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。


参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-2-CNN/

                  https://blog.csdn.net/JIEJINQUANIL/article/details/50042791

                  https://blog.csdn.net/l691899397/article/details/52267166

四、循环神经网络RNN

        RNN一般对有序的数据进行处理,其处理流程大致如下:

RNN处理流程

        每次RNN都会产生一个 S(t),用以描述当前的状态,然后再综合之前的状态得出当前的输出。比如 Y(t+1) 是 综合 S(t) 和 S(t+1) 后得到的。


参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-3-RNN/

五、LSTM 循环神经网络

1. RNN的弊端

        RNN学习时,如果出现误差,会反向传递误差以调整参数,每一步都会乘以一个参数W。如果W小于1,那么误差就会逐渐缩小,到最后可能会得到一个趋近于0的数,这种情况叫做梯度消失或者梯度弥散。如果W大于1,那么误差就会逐渐变大,到最后可能会得到一个无穷大的数,这种情况叫做梯度爆炸。这就是普通 RNN 没有办法回忆起久远记忆的原因(比如,无法回忆起反向传回来的误差)。

梯度消失


梯度爆炸

         LSTM(Long Short-Term Memory 长短期记忆网络)就是为了解决这种问题诞生的。

LSTM模型

        不过LSTM只能避免RNN的梯度消失,但是不能对抗梯度爆炸问题。好在梯度膨胀不是个严重的问题,一般靠裁剪后的优化算法即可解决,比如梯度裁剪(如果梯度的范数大于某个给定值,将梯度同比收缩)。

        梯度剪裁的方法一般有两种:

        1.一种是当梯度的某个维度绝对值大于某个上限的时候,就剪裁为上限。

        2.另一种是梯度的L2范数大于上限后,让梯度除以范数,避免过大。

        那么LSTM是如何避免梯度消失的呢?

传统RNN和现代RNN



参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-4-LSTM/

                  https://blog.csdn.net/laolu1573/article/details/77470889

                  https://www.jianshu.com/p/9dc9f41f0b29

六、自编码

        自编码器是一种压缩解压的神经网络

自编码

        前半部分可以用做编码器,如下图。编码器可以提取出数据的精髓,可以用来对其他神经网络的输入数据进行提取,减轻神经网络的负担。

编码器

        自编码器的后半部分可以用作解码器,这可以作为一种生成器(GAN),比如下面这个例子。

模仿并生成手写数字

参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-5-autoencoder/

七、生成对抗网络

        常见的神经网络有多种,有普通的前向传播神经网络(下图 左) , 有分析图片的 CNN 卷积神经网络(下图 中) , 有分析序列化数据, 比如语音的 RNN 循环神经网络(下图 右) , 这些神经网络都是用来输入数据, 得到想要的结果。

        而生成网络则是”凭空”捏造结果,即通过一些随机数来生成结果。生成对抗网络 GAN 就是现在最流行的一种生成网络。

        GAN 中有一个Generator和Discriminator。其中,Generator负责生成,Disciminator负责评价生成的结果,然后将评价结果传给Generator,使其进行一些有利的调整以生成更好的结果。实际就是Generator和Discriminator的“对抗”。

GAN结构

参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-6-GAN/

八、神经网络的黑盒不黑

        神经网络一般可以分为三层,输入层、隐含层(也就是“黑盒”)、输出层,如果我们去掉输入层,将隐含层作为输出层,我们可以得到输入数据的重要代表特征。

代表特征

        如果隐含层中有多层,我们还可以再次去掉隐含层中的一层,最终输出的也是一系列代表特征,这样看来,这“黑盒”也不算太“黑”。

        上边的方法在迁移学习中有所应用,有时候我们只需要神经网络的理解能力,即代表特征提取能力,可以去掉它的输入层,与别的神经网络拼接到一起以完成别的任务。比如,下面就是一个图片分辨神经网络迁移到图片中物品价值预测的例子。

预测照片里事物的价值

参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-7-feature-representation/

九、神经网络:梯度下降

        梯度下降是优化问题中的一个分支。优化问题大概有三种解决方法:牛顿法 (Newton’s method), 最小二乘法(Least Squares method), 梯度下降法 (Gradient Descent)。神经网络采用的就是梯度下降法来对其神经元的参数进行优化。

        梯度下降就是在梯度的方向上下降,从而达到最低点(即最优点)。这里的梯度可以理解为斜率。

梯度下降

        神经网络中的优化一般都有很多局部最优点,通常梯度下降到的都是局部最优点,虽然比不上全局最优点,但这也有足够优秀了。

局部最优和全局最优

十、迁移学习

参考链接:https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-9-transfer-learning/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容