PaddlePaddle是百度的一个深度学习框架,这次参加了PaddlePaddle的七日课程,下面我分享一下这次学习的所思和所想。
1.重视数学基础
机器学习和深度学习是一门交叉学科,涉及到数学,计算机,统计学,信息学等知识。特别是机器学习和深度学习中的算法,需要良好的数学基础。例如深度学习的梯度下降,就需要我们熟系向量,多元函数微分等知识。又例如机器学习中线性回归最优参数的求证,需要我们了解矩阵求导等知识。又例如机器学习的贝叶斯分类器,就需要我们了解条件概率。所以,学习框架不在于我们如何会调API,或者会调优参数,最重要的是要知其然更要知其所以然,这样才可以举一反三,真正解决实际问题。
2.重视Python基础
我之前使用的是C#,现在学习Python,因为编程思维是想通,所以上手很快,但个人感觉,C#,Java等编程语法比较贴近人类语言的语法,Python就有点不一样,有些地方的语法甚至有些奇怪,例如变量名:__convList=[],__a__=1。又例如方法名:def __Fun()。又例如Python可以继承多个类,其特有的寻找父类的方式,和C#完全不一样。又如Python有不少的内置方法,这也是一个特色。又如Python是解释型,而C#是编译型。又如Python的变量不用声明类型,而C#需要声明。又如Python没有Stack,Queue,它一个元组能够干完Stack和Queue所有的事,等等。
3.搞清楚自己以后的学习方向
深度学习的方向有:CV,语音识别,NLP等等,当然前期在学习的时候,可以去了解这些不同的方向。但一旦确立了方向,还是需要去深度了解这一个领域的知识。例如确定了以后要搞CV,那么就认真恶补一下图像处理方面的基础知识,不然只会调深度学习框架,那又如何能够真正解决问题?
4.重视机器学习
深度学习是机器学习的一个子集,所以要重视机器学习的学习,要把常见的机器学习算法和基础知识理解好,熟记好。
展望未来
希望我们能够顺势而为,弯道超车,实现我们的目标和理想,加油!