前言
读完几篇论文后本打算对CNN的原理做一些个人的理解和分享,但在看完这几个博客后,完全打消了这种念头,因为,写的实在太好了,不好意思再插一脚,献个丑。废话不多说,献上传送门!
[1]YJango大神(生物学角度的解读):https://zhuanlan.zhihu.com/p/27642620;
[2]Yoon Kim论文(CNN在文本分类中的应用):https://arxiv.org/pdf/1408.5882.pdf (EMNLP 2014);
论文图
论文中的实验
1.模型
1)CNN-rand: 所有的word vector都是随机初始化的,同时当做训练过程中优化的参数;
2)CNN-static: 所有的word vector直接使用无监督学习即Google的Word2Vector工具(COW模型)得到的结果,并且是固定不变的;
3)CNN-non-static: 所有的word vector直接使用无监督学习即Google的Word2Vector工具(COW模型)得到的结果,但是会在训练过程中被Fine tuned;
4)CNN-multichannel: CNN-static和CNN-non-static的混合版本,即两种类型的输入;
2.数据
word2vec使用谷歌预训练的GoogleNews-vectors-negative300.bin
3.数据集
4.训练和调参
1)filter window(kernel)的高度(h):3,4,5;每个高度的Feature Map的数量为100,一共300个Feature Map;
2)Dropout rate 0.5;
3)L2 constraint (正则化限制权值大小)不超过3;
4)mini-batch size 50;
5)通过网格搜索方法(Grid Search)得到的最优参数;
6)优化器使用Adadelta。
5.结果
(详细的实验解读:http://www.jianshu.com/p/594d1984fbd9)
[3]对“卷积”的理解:https://www.zhihu.com/question/22298352?rf=21686447;
[4]CNN在NLP中的应用:http://www.cnblogs.com/yelbosh/p/5808706.html;