现在无论是计算机专业还是其他的实体行业(机械、制造等等)对于人工智能的需求都还是蛮大的。所以现在也有很多人想入门人工智能,或者转行人工智能。其实人工智能是一个很大的方向,现在提到的人工智能基本上都默认以深度学习为主导的方法,但其实人工智能和深度学习的关系是:深度学习是机器学习的一个子集,机器学习是人工智能的一个子集。那么现在深度学习这么火,答主就简单的出深度学习的角度来回答一下这个问题。
其实对于深度学习这个日新月异,每年爆发式更新模型的方向来说,学习路线的最尽头肯定是阅读你这个方向最新的论文,无论是科研人员还是已经走上工作岗位打算转行的打工人。阅读论文的来源一般是各种顶会(CVPR、ECCV、ICCV)、顶刊(TPAMI)。如果你嫌麻烦可以直接去谷歌学术或者 arXiv 上搜索你关注的内容,在搜索的时候最好把时间设定在最近几年。
说完学习路线的尽头,我们来看看入门的一些要求。对于入门深学习而言,你是必须掌握 Python 这门语言的,主要的原因是很多模型开源的代码都是基于 Python 实现的,而且目前针对深度学习的两个主流框架 pytorch 和 TensorFlow 都是支持 Python 开发的,也就是说深度学习的生态很大一部分是依赖 Python 的。所以说学习和掌握 Python 是入门深度学习必须的步骤,如果你不会也不用担心,入门 Python 还是非常简单的,目前知乎推出了一个基于 Python 的数据开发课程,如果你感兴趣的话可以购买学习一下,现在也不是很贵才一毛钱,以后可能就不好说了,所以直接买就完事了,也算是薅羊毛了。
好当你掌握了 Python,那么下一步就是去学习一些基础的数学知识了,因为如果一点数学知识都不知道的话后面论文中的公式你可能都看不懂,更不用提推导复现模型了。但你也没必要害怕,主要的就是基本的线性代数知识,也就是本科大一下学期学的,以及一些高等数学中的微积分知识。因为深度学习说的通俗一点就是大量的线代中矩阵运算和微积分中偏微分用于梯度下降。
当你掌握 Python 编程和基本的线代知识以及微积分以后,你现在就可以去看看最基本的深度学习网络模型了。虽然说现在深度学习日新月异,但是目前的很多新模型都是基于这些基础模型上进一步创新和跨领域应用的。这些基本的模型不仅能带你理解深度学习,也能帮你打下坚实的基础,这对于你后面去理解新模型和创新是非常重要的
下面就从计算机视觉(二维图片处理、三维点云数据处理)、自然语言处理列举几个最基本的模型。
深度学习网络基础知识:正向传播、梯度下降、反向传播、常见的几个 LOSS 函数(损失函数)
开山鼻祖:FCN 网络(全连接神经网络)
计算机视觉(2D 图片任务):
1.CNN(这个就不过多介绍了,已经是如雷贯耳了)
2.FCN(膨胀卷积,是分割任务中祖师爷般的存在)
3.RCNN 系列(目标检测任务霸主,现在很多下游任务还是会把 faster rcnn 当做骨干网络)
计算机视觉(3D 视觉点云或者体素任务):
1.PointNet/PointNet++(在三维视觉中基于点数据流派的开山之作)
2.VoteNet(何凯明在三维目标检测的力作)
自然语言处理方向:
- RNN(这个模型年纪虽然可能比你都大(1982 年)但这并不影响他在 NLP 领域的影响力)
- LSTM(1997 年,是对 RNN 的一个改进版本)
- transform(这个不多说,现在真的是 transform 及其子孙模型大行其道的时代,光在自然语言领域卷还不够,现在都跑到计算机视觉领域来卷了)
当你读完上面论文,你就可以去专门的看你自己方向的论文了,希望这篇回答对你有所帮助。
原文作者:数学建模钉子户
原文链接:https://www.zhihu.com/question/47089447/answers/updated