分享

软件工程师如何转行做人工智能?

 zhuxrgf 2020-09-25

感谢阅读!

我是一名C 软件工程师,而且也在学习人工智能。分享一下我是怎样学习的。不一定适合你,仅供参考,不对的地方还望批评指正!

我研究生是研究模式识别方向,图像处理领域。学过《模式识别》《机器挖掘》等类似的课程,对我学习AI有一定的帮助,但是对于学习AI也有一定的难度。我的学习过程是这样的:

01 学习Python

Python的学习是转行人工智能的基础,这个是一定要学的。如果你是C 或者Java工程师,学python会非常快,因为都是面向对象的语言。基本一周就可以看机器学习的开源代码。学习编程语言对于程序员来说很easy了,这里不再多说。

可以简单的学习一些机器学习基本Python库,比如numpy,scikit-learn,Theano,Tensorflow,Caffe2等等。选择就是,用到再学!



02 从项目出发

机器学习分为:图像识别,语音识别,自然语言处理等方向,选择一个自己感兴趣的方向,然后找对应的项目。从项目出发并不是说从做项目开始,对于没有领域知识的程序员,写代码是很痛苦的。从项目出发的本意是:

不要从学习概率论,高等数学等基本理论开始。我第一阶段就是从这些基本理论开始,效果很不好。这些理论枯燥,没有针对性,没法理解这些理论跟AI到底是什么关系。因此,很容易放弃。

从项目开始:找个开源项目,比如GitHub上的开源项目OpenFace,去读源码,看人脸识别是如何做到的。读源码的时候一定会碰到各种机器学习的Python库,一些机器学习算法。以此为出发点,熟悉Python库的使用方法。碰到的机器学习算法这就是开始学习AI的切入点。

从项目开始的好处是,能将理论和实践相结合,比单纯学习理论更能理解理论的妙处!



03 学习碰到的理论

在项目中碰到的机器学习算法,要想清楚明白是怎么来的,就要去论文中追本溯原,学习算法的使用环境,算法实施过程,算法的数学推导。这个时候就是学习数学基础的时机,只学习对应的章节,用不到的暂时不用学。

学习算法,还借助一些介绍机器学习算法的基础,把算法彻底弄懂。系统学习基本算法基础,比如卷积人工神经网络,反向传导,线性回归,贝叶斯网络,支持向量机SVM,决策树等等。这也很有帮助!

04 一定要动手!

算法动手:

在学习理论知识,机器学习的算法时,都会碰到算法的实现过程。一般现在很多Python库已经提供了算法的实现,直接调用即可。但是如果自己有时间还是要实现一下算法,能加深理解。作为程序员都知道,只有在亲自动手的时候,才发现问题。

应用动手:

学习机器学习,一定要自己动手,真正用机器学习解决一个问题。但是现在机器学习对硬件要球较高,训练时间也很高。因此,我建议,无需用巨大的数据集,用非常小的即可,只要能解释过程即可。



05 坚持坚持再坚持!

对于上班族来说,时间很宝贵,所以要从996的时间之外挤出时间学习十分不容易,因此就要十分有毅力,有恒心。既然开始,就不能轻易放弃,要养成固定一个在一个固定时间点学习,比如每晚10点学习两小时,那就每晚都学,即使没状态哪怕看看以前的也要学。这样,固定的时间做固定的事,坚持下来概率较大!

做一名程序员不易,要转行的程序员更不易!任何时候,身体健康第一!且行且珍重!如果有需要的资料,可以私信我,希望能给你提供帮助!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多