人工智能研究人员的数学先决条件是什么?

人工智能 参考请求 研究 图书 学术界 教育
2021-11-05 20:08:38

理解人工智能所涉及的各种算法的核心部分,开发自己的算法,有哪些数学前提?

请参考一些具体的书籍。

3个回答

良好的数学基础

首先确保充分掌握中级代数以及微积分和离散数学的其他一些基础,包括这些主题中的术语和基本概念。

  • 无限系列
  • 逻辑证明
  • 线性代数和矩阵
  • 解析几何,尤其是局部和全局极值(最小值和最大值)、鞍点和拐点之间的区别
  • 集合论
  • 可能性
  • 统计数据

控制论基础

Norbert Wiener,Cyber​​netics,1948 年,麻省理工学院出版社,包含时间序列和反馈概念,其清晰度和命令在后续作品中未见;它还包含对信息论的介绍,从香农的 log 2公式开始,用于定义信息量。这对于理解信息熵概念的扩展很重要。

结石

找一本好的微积分书,确保你对这些类别的关键理论和应用有清晰的认识。

  • 时间序列
  • 无限系列
  • 收敛性——人工网络在学习过程中理想地收敛到一个最优值。
  • 偏微分
  • 雅可比矩阵和黑森矩阵
  • 多元数学
  • 边界地区
  • 离散数学

其中大部分是在微积分,斯特朗,麻省理工学院,韦尔斯利剑桥出版社虽然 PDF 可以在网络上获得,但它是基本的并且不是特别深。我们实验室图书馆中的一本是Intermediate Calculus , Hurley, Holt Rinehart & Winston, 1980它是全面的,在某些方面比我在我的家庭图书馆里的那个更好,普林斯顿大学为大二学生使用的那个。

确保您在超过 ℝ 2(超过 2D)的空间中工作舒适。例如,由于水平、垂直、像素深度和电影帧尺寸,RNN 通常位于 ℝ 4到ℝ 7等空间中。

有限数学

不幸的是,我能想到的任何三本书的组合都没有所有这些。

  • 有向图——在树或电路(人工网络)之前学习这个,因为它是所有这些配置的超集拓扑
  • 抽象符号树 (AST)
  • 高级集合论
  • 决策树
  • 马尔可夫链
  • 混沌理论(特别是随机和伪随机的区别)
  • 博弈论始于冯诺依曼和摩根斯坦的博弈论,该领域的开创性工作
  • 离散系统中的收敛,尤其是将理论应用于整数、定点或浮点算术中的信号饱和
  • 统计均值、偏差、相关性以及熵、相对熵和交叉熵的更先进的概念
  • 曲线拟合
  • 卷积
  • 概率,尤其是贝叶斯定理
  • 算法理论(哥德尔不确定性定理和图灵完备性)

化学和神经病学

从高中化学中回忆化学平衡是件好事。平衡在更复杂的人工智能设计中起着关键作用。了解 GAN 中生成模型和判别模型之间的共生关系将有助于学生进一步理解。

生物系统内的控制功能仍然是人工智能研究中概念证明的主要来源。随着研究人员在想象不直接模仿生物学某些方面(在撰写本文时仍相距甚远)的适应形式方面变得更具创造性,创造力可能在人工智能研究目标制定中发挥更大的作用。

即便如此,人工智能可能仍将是一个很大程度上跨学科的领域。

我是一名教授,最近与我在其他机构的许多同事协商,为新的 AI 专业设计了数学要求。

其他答案,尤其是这个答案,很好地分类了所有可能在 AI 中某处有用的特定主题,但并非所有这些都对理解核心主题同样有用。在其他情况下,理解该主题与理解相关的 AI 算法本质上是相同的,因此我们通常只是一起教授它们,而不是假设前提知识。例如,马尔可夫决策过程并不难教给已经了解图论概率基础的人,所以我们通常只在 AI 课程中教授强化学习时涵盖它们,而不是作为数学中的一个单独主题课程。

我们确定的数学要求如下:

  • 一到两个学期的离散数学课程。与该领域的任何特定主题一样,这与证明和数学严谨性一样重要。它主要只是“基础”知识,但其中的一些内容非常有用。对无限求和感到满意,图形基础、组合学和渐近分析可能是最直接适用的部分。我喜欢Susanna Epp 的书

  • 一门或两学期的线性代数课程,对 AI 中的各种主题都很有用,尤其是机器学习和数据挖掘。Lay & Lay是一本不错的书,但可能不是绝对最好的。Shilov是 Ian Goodfellow 和其他人的推荐,但我自己没有尝试过。

  • 一门概率课程,可能还有一门现代统计学课程(即以贝叶斯为重点)。但是,较早的统计学课程或针对社会科学家的课程并不是很有用。我的统计学家同事现在正在使用Lock5,并且有很好的使用经验。

  • 至少是微分和积分,最好至少是向量微积分中的偏导数,但也许是整个课程。这在优化、机器学习和基于经济学的人工智能方法中很有用。斯图尔特是最常见的教科书。它很全面,可以用于所有三门课程,但它的解释并不总是最好的。不过我还是会推荐它。

这些是核心话题。如果您也没有传统的编程背景,那么图论课程和渐近复杂性或算法设计和分析的基础知识可能是很好的补充。不过,通常 AI'ers 来自标准的计算机科学背景,可以很好地涵盖所有这些内容。

对于像梯度下降这样的简单算法,你需要很好地掌握偏导数。特别是如果你想实现神经网络。此外,大多数算法都经过矢量化以提高计算速度,因此您需要熟悉矩阵数学。这涉及到对矩阵的维度、乘积的维度、矩阵的乘法、转置等非常快速和舒适。在极少数情况下,您可能会使用矩阵微积分直接得出最优解,因此应该使用该领域的一些结果。继续前进,您需要了解一些功能分析。这需要直观了解 sigmoid 和 tanh、log 等激活函数在做什么。掌握概率和期望也非常有用。您还应该清楚正交向量和内积。

话虽如此,我建议你掌握基本的微积分和矩阵运算,并尝试学习 AI 概念。如果您无法弄清楚某些事情,请探索数学。

注意:同样,这仅用于启动。