小白深度学习入坑指南

写博客的初衷&适合的人群

之前自己学习CV&ML深感资源匮乏,无人指导。刚好有人问我这方面的教程,所以就大概整理一下这些资料。申明一下,我比较懒,不太可能写成那种实验教程一样的东西,大多数东西只是点到为止。所以更适合有一些编程,linux基础,知道计算机视觉,机器学习有大概概念的的人看。这里的计算机视觉稍微的偏向二维图像的识别和理解。

理论篇

说明

我在这里列的一些书籍和课程不一定需要全部看完了再去实践,做些小实验。相反,有一些实验的感性认识会帮助你理解这里面的内容。当然,要想更加透彻和深入这些书肯定也是不够的,这里只是最基础的内容。而且这里大多数都是英语书籍和课程,相信我,坚持看完,不追求全部看懂,你会习惯看英语的。

数学

概率论(本科基本够了),矩阵理论( http://math.sjtu.edu.cn/course/Matrix/)网易公开课的线性代数也很推荐,讲得非常透彻,我很最喜欢的课程之一。

CV

课程:
计算机视觉导论
https://classroom.udacity.com/courses/ud810/lessons/3490398568/concepts/47481911650923(有人把视频搬到了bilibili,下载到本地就变成有字幕的了)
书籍:
《数字图像处理》,《数字图像处理 MATALB版》(入门),《计算机视觉一种现代化的方法》,《计算机视觉算法与应用》(重要)

ML

课程:
机器学习导论:吴恩达Coursera的课。
机器学习基石:台大的课,b站搜机器学习就有了。
书籍:
《PRML:Pattern Recognition and Machine Learning》 一本看懂,基础就够了。

DL

课程:
深度学习与计算机视觉:
http://study.163.com/course/courseLearn.htm?courseId=1003223001#/learn/video?lessonId=1003686329&courseId=1003223001 ,李菲菲学生讲的课,看完基本上就有个对深度学习大概的概念了。
深度学习与自然语言处理:
也是李菲菲的课,这个自己找一下,考验一下用谷歌搜索东西的能力(其实是我懒)。
书籍:
《deep learning》
https://github.com/exacity/deeplearningbook-chinese有中文版翻译,最近出书了还是充值一下信仰吧。

优化

这个我还没有涉及,我只知道这又是个大坑。据说斯坦福有个叫做凸优化的公开课还不错。其他优化大部分在决策论里面会提到。这方面我不熟悉,需要自己探索。

实践篇

linux

《鸟哥的私房菜》入门必备指南

python

《python学习手册》 《python核心编程》 2和3差别不是特别大

深度学习框架

新手:keras
tensorflow(调试方便) pytorch (新), caffe(写脚本就可以训练模型) mxnet自己选一个

框架学习

keras:https://keras-cn.readthedocs.io/en/latest/
TensorFlow:http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/basic_usage.html
不要问我为啥不贴其他的,因为我也不会啊。。。。O(∩_∩)O哈!共同交流学习。

硬件配置

显存越大越好。
2G只能训练个MINIST
4G可以训练faster rcnn
6G->8G训练一般的模型
12G->INF 大模型
用CPU真的很慢,训练minist还行。

软件环境配置

参考几个我之前参考的网址:
http://blog.csdn.net/autocyz/article/details/52299889
http://www.linuxidc.com/Linux/2016-11/137561.htm
http://blog.topspeedsnail.com/archives/10116
http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html
http://blog.csdn.net/wishchin/article/details/52327257

常见的几个问题

1,Anaconda: cannot import cv2 even though opencv is installed (how to install opencv3):
https://stackoverflow.com/questions/39977808/anaconda-cannot-import-cv2-even-though-opencv-is-installed-how-to-install-open
2,登录循环
很大可能是显卡驱动安装错了,在命令行重新安装好正确的显卡驱动就好了。
3,是不是会深度学习就可以不学其他的了?
错,它只是机器学习的一种,其他领域依然有学习的必要。各自有各自的应用场景。
4,是不是深度学习啥都能做?
错,不具有局部相关性的数据是没法做的。
5,是不是深度学习就是AI
错,它跟你们家养的鸽子的分辨事物的能力差不多。
6,是不是学好深度学习就有好的工作或者paper?
并不是,找工作好要看其他的计算机相关的专业素养,以及思考问题解决问题的能力。写paper是要有好的大佬指导的,看待问题的角度和解决问题的思路很重要,网络也不是你想的那么容易训练。
7,是不是理论学精通了做实验更好?
不是,学点理论,做些实验,学点理论,做点试验。。。。。。东西是学不完的。

提高篇

看文章,做实验

文章一般看顶会的。cvpr nips iccv icml 等等,大约看个100篇就有感觉了。

推荐一些公众号或者学术分享平台,感觉自己找到了大队伍

1,Kaggle 在线比赛
2,http://www.gitxiv.com/ 最新带源码的高质量的论文
3,公众号:将门创投 VALSE 搭伙学术 大数据文摘 量子位
这两个都会有定期的在线分享,往期视频地址:
将门创投:
http://jiangmen.gensee.com/webcast/site/ondemand?id=
https://www.douyu.com/1086863
VALSE:
http://www.iqiyi.com/u/2289191062/v
4,推特上关注大佬们。

走上人生巅峰

那是,不太现实的,深度学习只是个比较通用的方法,还是希望能够花些精力在扎实基础理论和专业素养培养上,以及掌握好传统的方法。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐