人工智能【从小白到大神】第六章作业


1.什么是全连接和局部链接?二者的区别是什么?

全连接网络:

(1)参数数量太多。
(2)没有利用像素之间的位置信息(离得远的像素间的联系很小)。
(3)网络层数的限制(通过梯度下降法难以训练全连接网络,其梯度传递层数有限。

局部连接:

(1)局部范围全连接:每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。卷积核的大小远小于输入的大小。在深度卷积网络中,处在网络深层的单元可能与绝大部分输入是简介交互的。处于卷积网络更深层中的单元,它们的接受域比处在浅层单元的接受域要大。
(2)权值共享:一组连接可以共享同一个权重,减少了很多参数。我们只需要学习一个参数集合,而不需要对于每个位置都需要学习一个单独的参数集合。
(3)平移等变:一个函数输入改变,输出也会发生同样的变化

区别:全连接是全局范围内所有神经元都链接,每层神经元按照一维排列的,也就是排成一条线的样子;而局部连接每层的神经元是按照三维排列的,也就是排成一个长方体的样子,有宽度、高度和深度。

2.卷积是如何计算的?

卷积操作其实就是每次取一个特定大小的矩阵[公式](蓝色矩阵中的阴影部分),然后将其对输入[公式](图中蓝色矩阵)依次扫描并进行内积的运算过程。可以看到,阴影部分每移动一个位置就会计算得到一个卷积值(绿色矩阵中的阴影部分),当[公式]扫描完成后就得到了整个卷积后的结果[公式](绿色矩阵)。

更好的更完整的解释:https://zhuanlan.zhihu.com/p/268179286

3.池化操作和激活函数的作用分别是什么?

池化操作的作用:池化层亦称子采样层,它也是卷积神经网络的另外一个“神来之笔”。通常来说,当卷积层提取目标的某个特征之后,我们都要在两个相邻的卷积层之间安排一个池化层。

池化层函数实际上是一个统计函数。以如图13-7所示的二维数据为例,如果输入数据的维度大小为W×H,给定一个池化过滤器,其大小为w×h。池化函数考察的是在输入数据中,大小为w×h的子区域之内,所有元素具有的某一种特性。常见的统计特性包括最大值、均值、累加和及L2范数等。池化层函数力图用统计特性反应出来的1个值,来代替原来w×h的整个子区域。

 

 因此,可以这么说,池化层设计的目的主要有两个。最直接的目的,就是降低了下一层待处理的数据量。比如说,当卷积层的输出大小是32×32时,如果池化层过滤器的大小为2×2时,那么经过池化层处理后,输出数据的大小为16×16,也就是说现有的数据量一下子减少到池化前的1/4。当池化层最直接的目的达到了,那么它的间接目的也达到了:减少了参数数量,从而可以预防网络过拟合。

激活函数的作用:

神经元之间的连接是线性的,但激活函数可不一定是线性的啊,有了非线性的激活层在,多么玄妙的函数,我们都能近似表征出来。所以,在卷积神经网络中,激活层是必须保留的。激活层存在的最大目的,莫过于引入非线性因素,以增加整个网络的表征能力。这时,选取合适的“激活函数”就显得非常重要了。在前面的章节中,我们提到了常用的激活函数Sigmoid(或tanh函数),也是可用的(如图13-3所示)。

 

但Sigmoid之类激活函数有个很大的缺点,就是它的导数值很小。比如说,Sigmoid的导数取值范围仅为[0, 1/4]。且当输入数据(x)很大或者很小的时候,其导数趋都近于0。这就意味着,很容易产生所谓的梯度弥散(vanishing gradient)现象。没有了梯度的指导,那么神经网络的参数训练,就如同“无头的苍蝇”,毫无方向感。

因此,如何防止深度神经网络陷入梯度消失,或说如何提升网络的训练效率,一直都是深度学习非常热门的研究课题。

目前,在卷积神经网络中,最常用的激活函数久是修正线性单元(Rectified Linear Unit,简称ReLU)。这个激活函数是由Hinton等人2010年提出来的[3]。标准的ReLU函数为f(x)=max(x,0)

即当x>0时,输出x; 当x<=0时,输出0。如图13-4所示,请注意,这是一条曲线啊,只不过它在原点处不够那么圆润而已。

        4.局部响应归一化的作用是什么?

(1)神经学的启发。在神经生物学中,有一个概念叫做侧抑制(lateral inhibitio ),指的是被激活的神经元会抑制它周围的神经元,局部响应归一化就是借鉴“侧抑制”的思想来实现局部抑制,当我使用relu激活函数的时局部抑制更明显。

(2)削弱数据差异。归一化数据处理可以消除数据之间的量纲差异,便于数据利用与快速计算。

(3)增强网络泛化能力。对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。LRN通过在相邻卷积核生成的feature map之间引入竞争,从而有些本来在feature map中显著的特征更显著,而在相邻的其他feature map中被抑制,这样让不同卷积核产生的feature map之间的相关性变小。

5.随机梯度下降算法的原理是什么?

首先给出梯度下降法:

[公式]很大时,每次迭代计算所有的[公式]会非常耗时。

随机梯度下降的想法就是每次在[公式]中random选取一个计算代替如上的[公式],以这个随机选取的方向作为下降的方向。

 由于, 当选取step size 时,算法在期望的意义下收敛。

注意到在[公式] 靠近极小值点[公式]时,[公式],这导致随机梯度下降法精度低。由于方差的存在,要使得算法收敛,就需要[公式][公式]逐渐减小。因此导致函数即使在强凸且光滑的条件下,收敛速度也只有[公式]. 后来提出的变种SAG,SVRG,SDCA都是在降方差,为了保证在[公式]时,方差趋于0。以上提到的几种变种都能达到线性收敛速度。 源自:https://www.zhihu.com/question/28728418?sort=created