可微分编程的要素

Blondel    Mathieu    Roulet    Vincent [
摘要

在大型模型、海量数据集、加速硬件以及最后但并非最不重要的可微分编程的变革力量的推动下,人工智能最近经历了显着的进步。 这种新的编程范式可以实现复杂计算机程序(包括具有控制流和数据结构的程序)的端到端区分,从而使基于梯度的程序参数优化成为可能。

作为一种新兴的范式,可微分编程建立在计算机科学和应用数学的多个领域之上,包括自动微分、图形模型、优化和统计。 本书对可微分编程有用的基本概念进行了全面的回顾。 我们采用两个主要观点,即最优化观点和概率观点,两者之间有明显的类比。

可微分编程不仅仅是程序的微分,也是为了微分而对程序进行深思熟虑的设计。 通过使程序可微,我们本质上在其执行过程中引入了概率分布,从而提供了一种量化与程序输出相关的不确定性的方法。

3: