1700538550
1700538551
池化操作除了能显著降低参数量外,还能够保持对平移、伸缩、旋转操作的不变性。平移不变性是指输出结果对输入的小量平移基本保持不变。例如,输入为(1,5,3),最大池化将会取5,如果将输入右移一位得到(0,1,5),输出的结果仍将为5。对伸缩的不变性(一般称为尺度不变性)可以这样理解,如果原先神经元在最大池化操作之后输出5,那么在经过伸缩(尺度变换)之后,最大池化操作在该神经元上很大概率的输出仍然是5。因为神经元感受的是邻域输入的最大值,而并非某一个确定的值。旋转不变性可以参照图9.19。图中的神经网络由3个学得的过滤器和一个最大池化层组成。这3个过滤器分别学习到不同旋转方向的“5”。当输入中出现“5”时,无论进行何种方向的旋转,都会有一个对应的过滤器与之匹配并在对应的神经元中引起大的激活。最终,无论哪个神经元获得了激活,在经过最大池化操作之后输出都会具有大的激活。
1700538552
1700538553
1700538554
1700538555
1700538556
图9.19 池化操作的旋转不变性
1700538557
1700538558
问题3 卷积神经网络如何用于文本分类任务?
1700538559
1700538560
难度:★★★☆☆
1700538561
1700538562
分析与解答
1700538563
1700538564
卷积神经网络的核心思想是捕捉局部特征,起初在图像领域取得了巨大的成功,后来在文本领域也得到了广泛的应用。对于文本来说,局部特征就是由若干单词组成的滑动窗口,类似于N-gram。卷积神经网络的优势在于能够自动地对N-gram特征进行组合和筛选,获得不同抽象层次的语义信息。由于在每次卷积中采用了共享权重的机制,因此它的训练速度相对较快,在实际的文本分类任务中取得了非常不错的效果。
1700538565
1700538566
图9.20是一个用卷积神经网络模型进行文本表示,并最终用于文本分类的网络结构[20]。
1700538567
1700538568
1700538569
1700538570
1700538571
图9.20 卷积网络在文本分类任务上的应用
1700538572
1700538573
(1)输入层是一个N×K的矩阵,其中N为文章所对应的单词总数,K是每个词对应的表示向量的维度。每个词的K维向量可以是预先在其他语料库中训练好的,也可以作为未知的参数由网络训练得到。这两种方法各有优势,一方面,预先训练的词嵌入可以利用其他语料库得到更多的先验知识;另一方面,由当前网络训练的词向量能够更好地抓住与当前任务相关联的特征。因此,图中的输入层实际采用了两个通道的形式,即有两个N×K的输入矩阵,其中一个用预先训练好的词嵌入表达,并且在训练过程中不再发生变化;另外一个也由同样的方式初始化,但是会作为参数,随着网络的训练过程发生改变。
1700538574
1700538575
(2)第二层为卷积层。在输入的N×K维矩阵上,我们定义不同大小的滑动窗口进行卷积操作
1700538576
1700538577
1700538578
,
1700538579
1700538580
(9.42)
1700538581
1700538582
其中xi:i+h−1代表由输入矩阵的第i行到第i+h−1行所组成的一个大小为h×K的滑动窗口,w为K×h维的权重矩阵,b为偏置参数。假设h为3,则每次在2×K的滑动窗口上进行卷积,并得到N−2个结果,再将这N−2个结果拼接起来得到N−2维的特征向量。每一次卷积操作相当于一次特征向量的提取,通过定义不同的滑动窗口,就可以提取出不同的特征向量,构成卷基层的输出。
1700538583
1700538584
(3)第三层为池化层,比如图中所示的网络采用了1-Max池化,即为从每个滑动窗口产生的特征向量中筛选出一个最大的特征,然后将这些特征拼接起来构成向量表示。也可以选用K-Max池化(选出每个特征向量中最大的K个特征),或者平均池化(将特征向量中的每一维取平均)等,达到的效果都是将不同长度的句子通过池化得到一个定长的向量表示。
1700538585
1700538586
(4)得到文本的向量表示之后,后面的网络结构就和具体的任务相关了。本例中展示的是一个文本分类的场景,因此最后接入了一个全连接层,并使用Softmax激活函数输出每个类别的概率。
1700538587
1700538588
1700538589
1700538590
1700538592
百面机器学习:算法工程师带你去面试 06 深度残差网络
1700538593
1700538594
1700538595
1700538596
场景描述
1700538597
1700538598
随着大数据时代的到来,数据规模日益增加,这使得我们有可能训练更大容量的模型,不断地提升模型的表示能力和精度。深度神经网络的层数决定了模型的容量,然而随着神经网络层数的加深,优化函数越来越陷入局部最优解。同时,随着网络层数的增加,梯度消失的问题更加严重,这是因为梯度在反向传播时会逐渐衰减。特别是利用Sigmoid激活函数时,使得远离输出层(即接近输入层)的网络层不能够得到有效的学习,影响了模型泛化的效果。为了改善这一问题,深度学习领域的研究员们在过去十几年间尝试了许多方法,包括改进训练算法、利用正则化、设计特殊的网络结构等。其中,深度残差网络(Deep Residual Network,ResNet)是一种非常有效的网络结构改进,极大地提高了可以有效训练的深度神经网络层数。ResNet在ImageNet竞赛和AlphaGo Zero的应用中都取得了非常好的效果。图9.21展示了ImageNet竞赛在2010年—2015年的比赛时取得冠军的模型层数演化;在2015年时,利用ResNet训练的模型已达到152层,并且相较往年的模型取得了很大的精度提升。如今,我们可以利用深度残差网络训练一个拥有成百上千网络层的模型。
1700538599
[
上一页 ]
[ :1.70053855e+09 ]
[
下一页 ]