导语:高扬,现某创业公司数据科学家、人工智能专家。前欢聚时代资深大数据专家,有丰富的机器学习、深度学习实战经验。著有《白话大数据与机器学习》《白话深度学习与TensorFlow》等热销书籍。
在高扬老师此前的分享中,有不少同学问到高扬老师各种关于入门深度学习这个前沿技术领域的问题。部分重要问题,高扬老师做了具体的回复。真传X技术教育平台致力于让更多技术人受益其中,经高扬老师授权,我们将在此分享高扬老师专业的答疑。
另外,真传X学院邀请到高扬老师开讲系列深度学习入门进阶实战课程,想转型的同学可以联系我们。
今天的分享,将集中在初学深度学习的解惑:入门深度学习时,应该学些什么?需要什么基础?
最近被人问的最多的一个问题是“我想入门深度学习,我应该学些什么”。
老实说,这个问题不是那么好回答,毕竟每个人的知识背景和技能背景实在是太不一样了。如果要假设一个人基本具备大专以上的水平和比较好的学习能力的话,可以假设一条学习路径。
第一:学习Linux的基本应用
这主要指的是类似Ubuntu和CentOS这类主流Linux操作系统上的Shell操作,以及管道、端口、进程、内存等相关资源的概念。不推荐在Windows上去做深度学习的应用,因为几乎全行业的人都在Linux上做工程,如果只有你使用Windows的话,那么你会有一个很大的风险,那就是当出现各种问题的时候你很可能在网上找不到有人讨论跟你发生相同的错误时的解决方案。这对于在开源环境下的学习是十分不利的。
这个部分我建议可以系统地学习上一个月到两个月。当然在这个过程中可以穿插学习其它的知识。
第二:学习Python的应用与进阶技巧
虽然Python作为一种语言来说,跟深度学习没有什么本质的联系。只不过,Python的普及性现在变得原来越好,书写简洁,可读性好,开源社区也非常活跃。有很多第三方都开发了很多功能很强大的Python功能包,或者说对Python的调用做了支持,例如numpy,scipy,pandas等等这些就是其中的代表。那么使用Python语言,并掌握一些常用的包使用技巧会让你有站在巨人肩膀上前行的感觉。套用黄健翔的名言——你不是一个人在战斗。
这个部分是一个持续学习的过程。作为基础部分来说,Python学习一个月左右也就差不多了,关键是要多练习。
第三:相关的数学知识
这个部分大家不要害怕,因为在使用框架的过程中,你基本没有什么机会去实战数学方面的才华(除非是做模型优化的时候,例如SVD)。所以基本知道什么叫导数,偏导数,什么叫链式法则;凸函数的极值点求解怎么个思路,非凸函数的求解有哪些算法。OK,到这里可以告一段落了。我当然不会阻拦有能力的同学继续深入学习数学知识,只不过作为转行入门的数学知识,到这里已经基本够用了。
这个部分,对于大本修过高数并且没有完全还给老师的那些同学应该都是已经不用再学的了。对于没学过的同学,如果高中的数学知识掌握得还好的话,那么一周时间应该绰绰有余。
第四:一种框架的使用
不管是Tensorflow、Caffe、Torch、Chainer,还是其他的框架,可以说是尺有所短寸有所长。现在大家都喜欢用Tensorflow主要是因为他背后的老大是Google,社区活跃,所以不容易冷场。在执行效率方面,很多场景不及Caffe,但是好像并不能阻挡大家学习的热情。Caffe,刚刚说了,执行效率高,但是编译起来有很多很多很多很多的坑,所以行业里有一句戏言——“安装一万三,一层五块钱”,其实说的就是安装很麻烦,但是网络模型定义并不难这么一个事情。总之,大家在选择框架之前多做了解吧,我个人觉得Tensorflow还是可以去follow的,相对资料比较多。
这个部分的学习,如果想要熟练掌握的话也是要用至少三个月到六个月左右的不断学习才行了。多查手册,多从Github上淘淘宝贝。
第五:Github
刚刚还说到Github,现在就着重提一下。
在全球有很多好事者喜欢把自己的代码放到Github上去,不管动机是什么,但总是给我们这些学习的人带来了很多可以参考的学习材料。有的是做了某个论文的实现,有的是自己研究的一个小项目,林林总总不一而足,不乏有很多有价值的模型代码。能不能用在你的生产环境不好说,但是比其它任何实战教学来得都直接,所以有能力的人应该多去那里取取经,开阔一下视野。
声明:真传X已获得高扬老师授权发布此原创文,转载需经高扬老师本人授权