Convolutional neural networks(CNN) (一) 入门参考

来源:互联网 发布:mac怎么查看隐藏文件夹 编辑:程序博客网 时间:2024/05/25 20:00

笔者对 Convolutional neural networks(CNN) 卷积神经网络入门学习资料使用汇总:

{ 可以按照本文顺序进行了解,亦可以根据个人之前的掌握,灵活调整 。笔者也尚在学习,还望不吝赐教。}


1. 力推 Metacademy,不仅是CNN,机器学习相关内容都可以得到清晰的学习规划及相应资料的出处。

2. 对于可能会用到的矩阵相关知识,推荐The Matrix Cookbook 进行查阅相关。

3. 可以按照Metacademy的推荐路线来进行学习,这里给出本人的拙劣学习路线:

       A. 概念性了解:Toronto University 的 CNN Lecture ,部分内容不懂也没有关系,只是有一个感性的认识。
       B. 中文版本CNN基本介绍:中科院计算所 人工智能与机器学习 12-CNN and its variants , 又稍有些领悟。
       C. 主线是 Stanford University 的 UFLDL的wiki部分,笔者是按照顺序逐章节进行的阅读。

       C--. 在UFLDL的sofmax章节之前,笔者先参阅了Logistic Regression相关博文,加深理解。

       C++. 如有时间可以先学习Andrew Ng 的Machine Learning。

       D. 加深理解 CS231n Convolutional Neural Networks for Visual Recognition。Conv Layer讲的很清楚,另外参数选取也给出了指导。

       E. 笔者在学习过3.D后仍对BP算法在CNN中的应用不甚清楚,因此《 Notes on Convolutional Neural Networks 》中的推导成为对UFLDL的BP部分在CNN的扩展阅读。该Paper的中文版也被大牛zouxy09翻译并发布到Blog上,笔者认为部分文字与原文有出入,请参照原文阅读。另《 Notes on ConvNet 》中部分符号含义(比如W表示是哪两层的连接关系)与UFLDL有差异,请读者注意区分。

       E--. 不过3.E的推导有些晦涩,对于将ConV Layer与SubSampling Layer分别考虑参数BP优化,与UFLDL的Convolutional Neural Network的推导又略有不同,UFLDL似乎是两层和在一起进行BP学习,tornadomeet的Blog中对此问题也进行了讨论,但是更偏向于《 Notes on ConvNet 》的思路,不过博文中对于问题二问题四的表述有借鉴意义。

       F. 为了加深对各层间链式求导法则以及为日后阅读Caffe,MxNet,.etc的源代码做铺垫,strongly recommend将UFLDL的 wiki 以及 tutorial 里面所有的exercise都自己实现一遍,我也会将自己的实现稍后open到Blog。

4. 学完并理解3.A.B.C--.C.D.E中的推导步骤,笔者窃以为可以阅读CNN相关文献了。笔者最先接触的是《NIPS2012_ImageNet Classification with Deep Convolutional Neural Networks》,至于之后的学习规划,读者可以根据自己的方向和喜好进行选择。

4++. 你将会发现AlexNet在 Input Image的 size上有一点小问题,这在CS231n中有讨论(Zero-padding)。

Note:

UFLDL中出现的log均为MatLab中的log即数学上的ln,自然对数。





0 0
原创粉丝点击