本书是对(深度)神经网络(NN)这一主题的入门介绍。神经网络是大语言模型、生成式人工智能以及众多其他应用的核心技术。由于“神经”这一术语带有较多的历史包袱,而神经网络本质上只是可微分算子的组合,因此在合适的上下文中,我更倾向于使用更为简洁的术语——“可微模型”来指代它们。 2009年,我几乎是偶然读到了一篇由 Yoshua Bengio 撰写的关于“深度”神经网络强大能力的论文 [Ben09],那时自动微分库如 Theano [ARAA+16] 正在变得流行。就像爱丽丝闯入了一个奇妙的编程国度——一个可微分的仙境,在那里,诸如选择一个元素这样看似简单的操作变得异常困难,而像识别猫这样原本复杂的任务却变得令人惊讶的简单。 过去十多年里,我一直在阅读、实现和讲授这类模型。本书是我尝试将这些年所学内容加以提炼的一个粗略总结,重点放在神经网络的设计及其最常见的组成部分上。鉴于该领域发展迅速,我力求在理论与代码、历史视角与最新趋势之间取得良好平衡。我假设读者具有一定的机器学习和线性代数基础,但在必要时也会涵盖相关的基础内容。