8月初由Yoshua Bengio、 Leon Bottou等大神组成的讲师团奉献了10天精彩的讲座,剑桥大学自然语言处理与信息检索研究组副研究员Marek Rei参加了本次课程,在本文中,他精炼地总结了学到的26个有代表性的知识点,包括分布式表示,tricks的技巧,对抗样本的训练,Neural Machine Translation,以及Theano、Nvidia Digits等,非常具有参考价值。
1、分布式表示(distributed representations)的需要
在Yoshua Bengio开始的讲座上,他说“这是我重点讲述的幻灯片”。下图就是这张幻灯片:
假设你有一个分类器,需要分类人们是男性还是女性,佩戴眼镜还是不佩戴眼镜,高还是矮。如果采用非分布式表示,你就在处理2*2*2=8类人。为训练精准度高的分类器,你需要为这8类收集足够的训练数据。但是,如果采用分布式表示,每一个属性都会在其他不同维度中有所展现。这意味着即使分类器没有碰到佩戴眼镜的高个子,中国直播网,它也能成功地识别他们,因为它学会了从其他样本中单独学习识别性别,佩戴眼镜与否和身高。
2、局部最小在高维度不是问题
Yoshua Bengio的团队通过实验发现,优化高维度神经网络参数时,就没有局部最小。相反,在某些维度上存在鞍点,它们是局部最小的,但不是全局最小。这意味着,在这些点训练会减慢许多,直到网络知道如何离开这些点,但是我们愿意等足够长的时间的话,网络总会找到方法的。
下图展示了在网络训练过程中,两种状态的震动情况:靠近鞍点和离开鞍点。
给定一个指定的维度,小概率p表示点是局部最小的可能性,但不是此维度上全局最小。在1000维度空间里的点不是局部最小的概率和就会是,这是一个非常小的值。但是,在某些维度里,这个点是局部最小的概率实际上比较高。而且当我们同时得到多维度下的最小值时,训练可能会停住直到找到正确的方向。
另外,当损失函数接近全局最小时,概率p会增加。这意味着,如果我们找到了真正的局部最小,那么它将非常接近全局最小,这种差异是无关紧要的。
3、导函数,导函数,导函数
Leon Bottou列出了一些有用的表格,关于激活函数,损失函数,和它们相应的导函数。我将它们先放在这里以便后续使用。
更新:根据评论指出,斜率公式中的最小最大函数应该调换。
4、权重初始化策略
目前在神经网络中建议使用的权重初始化策略是将值归一化到范围[-b,b],b为:
由Hugo Larochelle推荐,Glorot和Bengio发布(2010)。
5、神经网络训练技巧
Hugo Larochelle给出的一些实用建议:
归一化实值数据。减去平均值,再除以标准差。
降低训练过程中的学习率。
更新使用小批量数据,梯度会更稳定。
使用动量,通过停滞期。
6、梯度检测
如果你手动实现了反向传播算法但是它不起作用,那么有99%的可能是梯度计算中存在Bug。那么就用梯度检测来定位问题。主要思想是运用梯度的定义:如果我们稍微增加某个权重值,模型的误差将会改变多少。
这里有更详细的解释:Gradient checking and advanced optimization。
7、动作跟踪
人体动作跟踪可以达到非常高的精准度。下图是来自Graham Taylor等人(2010)发表的论文Dynamical Binary Latent Variable Models for 3D Human Pose Tracking中的例子。该方法使用的是条件受限的玻尔兹曼机。
8、使用语法还是不使用语法?(即“需要考虑语法吗?”)
Chris Manning和Richard Socher已经投入了大量的精力来开发组合模型,它将神经嵌入与更多传统的分析方法组合起来。这在Recursive Neural Tensor Network这篇论文中达到了极致,它使用加法和乘法的互动将词义与语法解析树组合。
然后,该模型被Paragraph向量(Le和Mikolov,2014)打败了(以相当大的差距),Paragraph向量对语句结构和语法完全不了解。Chris Manning将这个结果称作“创造‘好的’组合向量的一次失败”。
然而,最近越来越多的使用语法解析树的工作成果改变了那一结果。Irsoy和Cardie(NIPS,2014)在多维度上使用更深层的网络成功地打败了Paragraph向量。最后,Tai等人(ACL,2015)将LSTM网络与语法解析树结合,进一步改进了结果。
这些模型在斯坦福5类情感数据集上结果的精准度如下:
从目前来看,使用语法解析树的模型比简单方法更胜一筹。我很好奇下一个不基于语法的方法何时出现,它又将会如何推动这场比赛。毕竟,许多神经模型的目标不是丢弃底层的语法,而是隐式的将它捕获在同一个网络中。
9、分布式与分配式
Chris Manning本人澄清了这两个词之间的区别。
分布式:在若干个元素中的连续激活水平。比如密集词汇嵌入,而不是1-hot向量。
分配式:表示的是使用上下文。word2vec是分配式的,当我们使用词汇的上下文来建模语义时,基于计数的词汇向量也是分配式的。
10、依赖状态分析
Penn Treebank中的依赖分析器比较:
#p#分页标题#e#
特别声明:本文为中国直播网直播号作者或机构上传并发布,仅代表该作者或机构观点,不代表中国直播网的观点或立场,中国直播网仅提供信息发布平台。
版权声明:版权归著作权人,转载仅限于传递更多信息,如来源标注错误侵害了您的权利,请来邮件通知删除,一起成长谢谢
欢迎加入:直播号,开启无限创作!一个敢纰漏真实事件,说真话的创作分享平台,一个原则:只要真实,不怕事大,有线索就报料吧!申请直播号请用电脑访问https://zbh.zhibotv.com.cn。