人工智能都需要掌握什么

人工智能教育1年前 (2023)发布 aixure
71 0 0
导读:一提到人工智能,很多人都会想到不简单,头脑一般的人根本学不进去,格物斯坦表示:在学人工智能之前,要掌握多门相关的理论学科作为基础,才能得心应手的去学,过程还是比较艰辛的,但一定要克服才行。 统计学.要深入理解机器学习,必须要有扎实的统计学基…

一提到人工智能,很多人都会想到不简单,头脑一般的人根本学不进去,格物斯坦表示:在学人工智能之前,要掌握多门相关的理论学科作为基础,才能得心应手的去学,过程还是比较艰辛的,但一定要克服才行。

统计学.要深入理解机器学习,必须要有扎实的统计学基础知识,这涉及到几个方面:度量模型是否成功的各种方法(精确度、召回率、ROC曲线下面积等)。损失函数和评估指标的选择是如何偏离模型的输出的。如何理解过拟合和欠拟合,以及偏差/方差折衷。你对模型的结果有什么样的信心。

机器学习理论.在训练神经网络的时候,实际上发生了什么?是什么使得某些任务可行,而其他任务不可行?要弄清楚这些问题,最好的方法不是深入研究理论知识,而是试着通过图形和示例来了解机器学习。需要理解的概念范围包括:不同的损失函数的工作原理是什么、为什么反向传播是有用的、计算图是什么。而对于如何建立一个功能模型,以及如何跟团队里的其他人员进行有效地交流,这些都需要深入地理解。下面我给出了一些参考资料:

数据处理.如果你去问任何一个数据科学家他们的主要工作是什么,他们会告诉你,90%的工作是数据处理。这与应用AI同样重要,因为模型的成功与否与数据的质量(和数量)强相关。数据工作包含多个方面,但可归纳为下面几类:

数据采集(包括:找到好的数据源、准确度量数据的质量和分类、获取和推断标签)数据预处理(缺失数据填补、特征工程、数据增强、数据规范化、交叉验证分割)数据后处理(使模型的输出可用、清理工作、处理特殊情况和异常值)

熟悉数据处理工作最好的方法是获取一个数据集并试着使用它。有很多在线数据集,以及很多提供API的社交媒体和新闻媒体网站。基于上面提到的几个步骤,我们可以这样进行学习:获取一个开源的数据集,并对其进行检查。它有多大(点和特征的数量)?数据如何分布?是否存在缺失值或异常值?构建一个将原始数据转换为可用数据的转换流程。如何填补缺失值?如何正确处理异常值?如何规范化数据?能创造出更多的表现特征吗?检查转换过的数据集。

对模型进行调试或调优.调试机器学习算法(无法收敛,或者得到的结果不合理)与调试普通代码有着很大的区别。同时,要找出合适的架构和超参数则需要具备扎实的理论基础和完备的基础架构,以便对不同的配置进行彻底的测试。由于目前机器学习领域发展迅猛,而调试模型的方法也在不断地发展。以下是从我们部署模型的讨论和经验中总结出来的“合理性检查”列表,这些条目也以某种方式反映了许多软件工程师熟悉的KISS原理。

从一个已经被证明可以使用类似数据集的简单模型开始,以尽快获得基线版本。经典的统计学习模型(线性回归、最近邻居等)或者简单的启发式算法或规则通常能帮你解决80%的问题,并且能更快地实现需求。刚开始的时候,要用最简单的方式来解决问题(请参阅谷歌的机器学习规则的前几点)。如果你决定训练一个更复杂的模型以改进基线版本,那么可以用数据集的一个很小的子集来进行训练并达到过拟合。这能够确保这个模型至少还有学习的能力。不断地对模型进行迭代,直到对5%的数据量过拟合。

一旦开始用更多的数据进行训练,那么超参数就开始发挥更大的作用了。你需要理解这些参数涉及到的理论,这样才能找到合理的值。请采用有针对性的方法对模型进行调优。简要地记录下你曾经使用的所有配置及其结果。在理想情况下,可以使用自动超参数搜索策略。最开始的时候,使用随机搜索就足够了。你的开发能力越强,则这些步骤实现起来就越快,反之亦然。

软件工程.许多的应用机器学习允许你充分发挥自己在软件工程方面的技能,虽然有时也会有一点小改变。这些技能包括:测试流水线的各个方面(数据的预处理和增强、输入输出的整理、模型推理时间)。基于模块化和可重用的原则来构建代码。训练过程中的不同点对模型进行备份(设置检查点)。配置一个分布式的基础架构,这样能更加有效地进行训练、超参数搜索或者推演。

综上所述,少年们要学好人工智能之前,知识面和动手能力方面要比平常人更出类拔萃才行,现代高科技社会需要的是优秀的奇才,而不是平庸的劳动者。

赞助本站

© 版权声明

相关文章

暂无评论

暂无评论...