大家好,我是为人造的智能操碎了心的智能禅师。
做 AI 做久了,难免会有一些心得体会。
昨天禅师向广大希望学习做 AI 的人,提供了一份非常有价值的“学习路径”。
今天,禅师再进一步,给大家提供一份非常实在的“入行”指南。
文章提到的问题,一定也有你正面临的困惑,这篇文章就回答你的问题。
本文作者:
同济大学计算机专业硕士,曾就职于海康威视研究院担任计算机视觉方向算法工程师,发表多篇学术论文、申请多项国家专利,参与多项图像、自然语言项目相关课题研发工作,在计算机视觉领域具有深厚的专业知识和工程开发经验。 网易云课堂讲师(已发布课程“从简到繁再到简的CNN网络综述”、“从入门到实战RNN深度网络”)、百度深度学习讲师(课程:深度学习中正则化方法)。
全文大约2500字。读完可能需要下面这首歌的时间
目前,“深度学习”这一词已经变得越来越普及,生活中也是到处都充斥着这一词汇,同时也有越来越多的人开始想要从事这一行的相关工作,尝试着接触、了解这一行业。
当然,关于这一行业的相关介绍很多,也很杂乱,初学者往往很容易被各种各样的概念搞得很迷惑,即便是计算机从业者有时候也分不清深度学习的很多问题和概念。
包括,很多朋友在选择了这个方向以后,依然会感到迷茫,因为有太多的研究方向去做,自然语言处理、语音识别、计算机视觉等等。
最近很多朋友比较关心如何入行深度学习/机器学习,有来自其他行业的,也有计算机相关专业的。通过这篇文章,希望能够给大家再次解惑。
首先大概筛选了一些,大家私信、知乎以及微信公众号上反馈的问题结果(这里仅仅部分):
1)想做计算机视觉/机器视觉,读研应该选什么专业?
2)请问,哪些本科专业研究生阶段可以学 AI 呢?
3)嵌入式行业真的没前途吗?
4) 读博期间的目标和节奏应该是怎样的(主要在计算机视觉,深度学习,SLAM 等发展非常迅速的领域)?
5)如何看待现在机器学习岗位的高薪?
6)普通的一本院校计算机专业毕业以后找工作会看你的学校计算机专业强不强吗?
7)计算机视觉直博,浙大 CAD 实验室和中科院自动化所选择?
8)想问一下,计算机视觉这个大方向怎么选小方向啊?
9)想要搞高新技术产业,例如人工智能等,但本科进入电子信息类,需要转到计算机专业吗?打算读博?
10)我是准大一学生,一直想学计科,没想到被调剂到安全工程,我比较死心眼,打算自学计科,我该怎么做?
11) 人工智能最近这么火,今后会不会人才过剩?
12)计算机专业找工作是否注重本科学历为 985,211,还是更看重自身能力?
13)目前准研一,想自己研究机器视觉/计算机视觉,导师这边没有项目,硕士就读于一所 211 大学?
14)想考深度学习方向的研究生,请问国内哪个大学比较好? 15)计算机科学专业的发展方向问题?
16)入门机器学习,一个月可以学到什么程度?可否提供学习规划?
17)计算机科学与技术哪个方向就业前景好?
18)……
从上述这些问题总结来看,可以概括为以下几个方面:
不知道是否应该入行或者转专业,比较关心:什么样的人适合学习机器学习/深度学习?需要多长时间,能学到什么程度?是否注重学历,学校背景?行业会不会过剩?
转行到深度学习/机器学习方向之后不知道如何下手或者入门?如何规划?如何选方向?如何选择学校?导师?
关于 AI 方向找工作问题:机器学习算法岗位面试官关心什么问题?计算机视觉岗位需要哪些技能?
接下来,笔者主要针对上述问题进行分析。以下内容为笔者个人认知,希望大家辩证的看待。
具备基本的数学基础,或者通过短时间学习能够掌握基本的数学知识
比如:高数、线性代数、概率统计、矩阵。如果高中毕业,不建议入行;文科同学,逻辑思维不强不建议入行。
具备编程基础,或者通过学习能够快速掌握 Python 语言
同样,编程也需要逻辑思维能力,如果不具备,不建议入行。
至于专业重不重要,这个真的要看个人能力
只能说,你如果具备计算机或者相关专业,基础会相对来说好一些,找工作时,企业也会更倾向这样的人才。
首先,这一定不是一个短期的事情
据笔者了解到,通过培训机构从其他行业转行 Java,前前后后时间加起来都至少需要大半年的时间。
如果零基础,通过两三个月就入门深度学习,找到一个不错的工作,这几乎是不可能实现的。
给大家简单列了下入门深度学习 / 机器学习课程体系:
从内容上看:
1、数学基础包括了:高数、线性代数、概率统计、矩阵。 编程基础:Python、MATLAB、C/C++、CUDA 2、机器学习理论基础:西瓜书+花书 3、实战进阶(三选一):计算机视觉、语音、自然语言处理 4、深入理解某一算法领域:比如,计算机视觉中的分类问题、图像检索、检测问题等等
从时间上来看:
1、数学基础:每本书 2 周时间,需要 1 个月 2、编程基础(对于零基础):Python 可以先学,1 个月,C / C++,1 个月,CUDA 暂时不需要,这也仅仅是初级的入门,勉强会写代码,如果想熟练的写各种脚本,程序,至少也要 1 – 2 年时间的积累 3、机器学习理论基础:西瓜书 1 个月 + 花书 1 个月 4、实战入门:1个月 5、实战进阶:2个月 6、深入某一算法:2个月
总共加起来,1 + 2 + 2 + 2 + 1 + 2 + 2 = 12个月,也就是,对于零基础的人,没有个1年的时间的打磨,基本上很难真正的算入行这个领域。
通过上面的分析,希望大家能够理智的面对入行、转行的问题。如果准备入行了,就要静下心来积淀,不希望有人再问,“ 为什么我学了三个月看了很多相关的东西,依然找不到工作”?
几个月就想跟别人熬了几年的一样?什么时候算法工程师这么廉价了?
其次,能学到什么程度?
这个问题,因人而异,如果有可能给大家做个能力测评(可能会放在我的公众号上)。
实际上,对于每一个转行的人来说,都会比较关心这个问题,担心自己学不会,或者行业不适合自己。尽然决定入行了,就做好不适合自己,可能会蹉跎岁月的心理准备。实际上,笔者更倾向,这样的朋友不要转行。不想跟大家说,“ 只要不是太笨,都能学好 ” 这类不负责任的话。
机器学习 / AI 深度学习算法工程师,是一个烧脑的工作,大家谨慎入行,合适自己的才是最好的。
关于笔者如何调研相关具体方向内容:
1、查看硕士博士论文; 2、找到关键词,查阅顶会和顶刊文章,并快速阅读; 3、查找 arxiv 上最新研究进展; 4、查找综述类的文章,把内容串起来; 5、github 或者作者主页找代码,调试; 6、结合新的文章思路,进行模型改进、优化。
最后,实际上,做的久了你就会发现,实际上 AI 算法工程师会涉及到各种各样的方向、任务,最终大多数方向也是殊途同归,每个领域依然是要静下心来做透。
如果大家还是不知道如何去做的话,篇幅有限,笔者也没办法把各种方向一一列举开,详细分析,推荐大家阅读笔者的达人课 [深度学习新手入门][2],里面涉及到了各种各样的方向选择,如何入门的相关问题,具体领域的介绍,分析,希望能够帮助大家快速定位到自己的领域,入行深度学习。
很多朋友会关心 AI 岗位如何面试,面试官会关心什么问题。实际上,不同公司情况也是不一样的。
原文链接:https://cloud.tencent.com/developer/article/1371967