Skip to content

AI 入行问答,一份非常实在的“入行”指南

目前,“深度学习”这一词已经变得越来越普及,生活中也是到处都充斥着这一词汇,同时也有越来越多的人开始想要从事这一行的相关工作,尝试着接触、了解这一行业。

很多朋友在选择了这个方向以后,依然会感到迷茫,因为有太多的研究方向去做,自然语言处理语音识别计算机视觉等等。

如何入行深度学习/机器学习?

什么样的人适合学习机器学习/深度学习?

以下几类人比较适合学习机器学习/深度学习:

  1. 具备良好数学基础的人

    • 高等数学基础扎实:机器学习和深度学习中很多算法和模型的原理涉及到大量的高等数学知识,如导数、偏导数、梯度等概念在优化算法中频繁使用;泰勒展开等知识在一些模型的近似和推导中也很关键。例如在神经网络的反向传播算法中,需要运用导数来计算损失函数对各层权重的梯度,以便更新权重,使模型不断优化。
    • 线性代数掌握较好:向量、矩阵等线性代数的概念和运算在机器学习中无处不在。数据通常以向量或矩阵的形式表示,很多算法的运算也是基于线性代数的操作。比如在主成分分析(PCA)等降维算法中,需要对数据的协方差矩阵进行特征值分解等操作,以找到数据的主要成分。
    • 概率论与数理统计精通:机器学习中的很多模型和算法都是基于概率和统计理论的。例如,朴素贝叶斯算法基于贝叶斯定理,需要对概率进行计算和推理;在模型评估中,需要用到各种统计指标,如准确率、召回率、F1 值等。对概率分布、随机变量等概念的深入理解,有助于更好地理解和应用这些算法。
  2. 有编程能力的人

    • 熟练掌握编程语言:Python 是机器学习和深度学习领域最常用的编程语言之一,熟练掌握 Python 语言及其相关的科学计算库(如 NumPy、Pandas、Matplotlib 等)和深度学习框架(如 TensorFlow、PyTorch 等)非常重要。能够用代码实现算法、处理数据、训练模型和进行模型评估等操作。例如,使用 Python 和相关库可以方便地读取和预处理数据,构建神经网络模型,并对模型进行训练和测试。
    • 具备良好的编程思维和算法设计能力:能够将复杂的问题分解为可实现的代码模块,设计高效的算法和数据结构来解决问题。在处理大规模数据和复杂模型时,良好的编程思维和算法设计能力可以提高代码的运行效率和模型的训练速度。
  3. 对人工智能有强烈兴趣和热情的人

    • 保持好奇心:机器学习和深度学习是不断发展和演进的领域,新的算法、技术和应用不断涌现。对这个领域有强烈兴趣的人会保持好奇心,积极主动地学习和探索新的知识,关注行业的最新动态和研究成果。例如,主动阅读相关的学术论文、参加技术论坛和研讨会等,不断拓宽自己的知识面。
    • 具备钻研精神:在学习和实践过程中,会遇到各种挑战和困难,如模型的过拟合、欠拟合、训练时间过长等问题。有钻研精神的人会坚持不懈地寻找解决方案,不断尝试和调整算法和参数,以提高模型的性能。
  4. 有相关领域专业知识的人

    • 计算机科学专业背景:计算机科学专业的人在学习机器学习和深度学习时具有一定的优势,他们对计算机系统、算法、数据结构等方面的知识有较好的掌握,能够更快地理解和应用机器学习的相关技术。例如,在进行模型的部署和优化时,计算机科学专业的知识可以帮助他们更好地理解硬件和软件的限制,提高模型的运行效率。
    • 其他理工科专业背景:如电子工程、机械工程、生物学、物理学、化学等专业的人,他们在各自的领域中积累了丰富的专业知识和数据,这些专业知识和数据可以与机器学习和深度学习技术相结合,产生新的应用和创新。例如,生物信息学领域利用机器学习和深度学习技术对基因数据进行分析和预测;物理学中的实验数据可以通过机器学习算法进行建模和分析。
  5. 具备良好逻辑思维能力的人

    • 能够理解和分析复杂的逻辑关系:机器学习和深度学习中的算法和模型往往具有复杂的逻辑结构,需要具备良好的逻辑思维能力才能理解和分析。例如,在决策树算法中,需要根据不同的特征和条件进行分支判断,以构建决策树模型;在神经网络中,各层神经元之间的连接和信息传递也具有复杂的逻辑关系。
    • 善于进行逻辑推理和问题解决:能够根据已知的信息和条件,进行逻辑推理和分析,找出问题的关键所在,并提出合理的解决方案。在机器学习的项目中,需要对数据进行分析和预处理,选择合适的模型和算法,对模型进行评估和优化等,这些都需要良好的逻辑思维能力。
  6. 入行需要多长时间,能学到什么程度?

首先,这一定不是一个短期的事情,通过培训机构从其他行业转行 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 算法工程师会涉及到各种各样的方向、任务,最终大多数方向也是殊途同归,每个领域依然是要静下心来做透。

如何入门的相关问题,具体领域的介绍,分析,希望能够帮助大家快速定位到自己的领域,入行深度学习。

基于 MIT 许可发布