您的位置:首页 > 理论基础 > 计算机网络

神经网络概念理解

2017-03-26 00:21 253 查看

激励函数有哪些?各有什么特点?









为什么引入非线性激励函数?

如果不用非线性激励函数(其实相当于激励函数是f(x)=x),每一层输出都是上层输入的线性函数,无论该神经网络多少层,输出都是输入的线性组合,与没有隐藏层效果一样,即为最原始的感知机了。

为什么引入ReLU?

1. 对于深层网络,sigmoid函数反向传播时,很容易出现梯度消失,从而无法完成深层网络的训练。

2. ReLU会使神经元的一部分输入不产生作用,这样就有了输入神经元的稀疏效果,缓和了过拟合问题的发生。

3. 采用sigmoid等函数时,算激活函数时(指数运算),计算量大,求导涉及除法,计算量相对大,而采用ReLU激活函数,整个过程的计算量节省很多。

共享权值

如果局部感知域为5*5,那么每个隐藏层的神经元有一个5*5的权值,并且该隐藏层的所有神经元对应的权值都是相同的,并共享一个bias。即使用同一个参数矩阵weights和一个bias。这意味着这一个隐藏层的所有神经元都是检测同一个特征,只不过它们位于图片的不同位置而已。

共享权重和bias的一大好处是它极大的减少了网络参数数量,对于每个特征映射,只需要5*5个权重,再加一个bias。

池化层

池化层放在卷积层的后面,池化层的目的是简化从卷积层输出的信息,更具体一点,一个池化层把卷积层的输出作为其输入并输出一个更紧凑的特征映射。

常用池化操作:

Max-pooling:若池化层区域为2×2,则选择2×2区域里激活值最大的值,因此可以把max-pooling看成神经网络关心某个特征在这个区域是否出现,但不关心特征的精确位置。

L2-pooling:对2×2区域的每个值平方然后求和后取平方根。

Dropout的作用

dropout是一种防止模型过拟合的技术。它的基本思想是在训练的时候随机的dropout(丢弃)一些神经元的激活,这样可以让模型更鲁棒,因为它不会太依赖某些局部的特征(因为局部特征有可能被丢弃)。被dropout的节点可以暂时认为不是网络结构的一部分,但是它的权重得保存下来(只是暂时不更新),因为下次样本输入时它可能又得工作了

Dropout和Pooling区别

dropout的本质是规则化,防止过拟合。训练过程中某几个权重参数随机为0,下次训练过程中又有几个权重参数随机为0,但每次训练都能得到一样的结果,也就是被dropout的权重参数可被其它权重参数替代,那么多次训练后参数比较均衡,也就起了规则化的作用。

pooling的本质是降维。

损失函数

MSE:在多层网络中存在梯度消失的问题。

交叉熵:用于度量两个概率分布之间的相似性。为了解决参数更新效率下降这一问题,我们使用交叉熵代价函数替换传统的平方误差函数。
K-L散度

全连接层作用

全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。

CNN的本质

CNN最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?

以上几个不相关问题的相关性在于,都存在局部与整体的关系,由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性。

CNN抓住此共性的手段主要有四个:局部连接/权值共享/池化操作/多层次结构。

局部连接使网络可以提取数据的局部特征;权值共享大大降低了网络的训练难度,一个Filter只提取一个特征,在整个图片(或者语音/文本) 中进行卷积;池化操作与多层次结构一起,实现了数据的降维,将低层次的局部特征组合成为较高层次的特征,从而对整个图片进行表示。

什麽样的资料集不适合用深度学习?

数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势。
数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性。图像中像素组成物体,语音信号中音位组合成单词,文本数据中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变。对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理。举个例子:预测一个人的健康状况,相关的参数会有年龄、职业、收入、家庭状况等各种元素,将这些元素打乱,并不会影响相关的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐