The Elements of Differentiable Programming

Auteurs : Mathieu Blondel, Vincent Roulet

Draft version 1

Résumé : Artificial intelligence has recently experienced remarkable advances, fueled by large models, vast datasets, accelerated hardware, and, last but not least, the transformative power of differentiable programming. This new programming paradigm enables end-to-end differentiation of complex computer programs (including those with control flows and data structures), making gradient-based optimization of program parameters possible. As an emerging paradigm, differentiable programming builds upon several areas of computer science and applied mathematics, including automatic differentiation, graphical models, optimization and statistics. This book presents a comprehensive review of the fundamental concepts useful for differentiable programming. We adopt two main perspectives, that of optimization and that of probability, with clear analogies between the two. Differentiable programming is not merely the differentiation of programs, but also the thoughtful design of programs intended for differentiation. By making programs differentiable, we inherently introduce probability distributions over their execution, providing a means to quantify the uncertainty associated with program outputs.

Soumis à arXiv le 21 Mar. 2024

Explorez l'arbre d'article

Cliquez sur les nœuds de l'arborescence pour être redirigé vers un article donné et accéder à leurs résumés et assistant virtuel

Accédez également à nos Résumés, ou posez des questions sur cet article à notre Assistant IA.

Beta

Recherchez des articles similaires (en version bêta)

En cliquant sur le bouton ci-dessus, notre algorithme compare le titre et le résumé de cet article à tous les articles de la même catégorie arXiv que nous avons résumés, et trouve les plus proches. Vous pouvez le relancer de temps en temps : les résultats s'améliorent à mesure que notre base grandit.