HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

The Simple Essence of Automatic Differentiation - Conal Elliott

Microsoft Research3 HN recommenders · recommended in 4 months, 2018-2023
YouTube
17K views · 8 years ago · talk · evergreen

Conal Elliott presents his paper on automatic differentiation, deriving a simple, generalized AD algorithm from a natural specification. Varying the representation of derivatives yields forward and reverse mode algorithms that avoid the complexity and statefulness of backpropagation.

Cited as the more accessible companion to the paper, and as the most interesting treatment of AD via compiling to categories.

Machine learning & deep learningFunctional programmingPure mathematics#automaticdifferentiation#functionalprogramming#categorytheory#backpropagation#haskell

6 comments from Hacker News

@eli_gottlieb2023 · in “Understanding Automatic Differentiation in 30 lines of Python”

AD is just a Cartesian lens of Jacobians and total derivatives in the category of smooth functions, what's the problem? ▶ this video

JokeView on HN
@sriku2022 · in “Automatic Differentiation in 38 lines of Haskell”

I'm yet to give reverse mode a second try, but my attempts at forward mode (linked in parent post) were on my own without the paper's help. There's a talk that Conal gives that makes the paper a bit more accessible - ▶ this video - but only a bit more. I know it'll take effort to wrap my head around the implementation details ... but the paper certainly helped clarify things I was stumbling around about.

RecommendsView on HN
@infogulch2022 · in “Differentiable Programming – A Simple Introduction”

The most interesting thing I've seen on AD is "The simple essence of automatic differentiation" (2018) [1]. See past discussion [2], and talk [3]. I think the main idea is that by compiling to categories and pairing up a function with its derivative, the pair becomes trivially composable in forward mode, and the whole structure is easily converted to reverse mode afterwards. [1]: link [2]: link [3]: Talk at Microsoft Research: ▶ this video Other presentations listed here: link

Strongly recommendsView on HN
@noblethrasher2019 · in “Differentiable Programming Manifesto”

He also gave nice presentation on AD: ▶ this video (surprised that you didn't already mention it, considering the venue ;-))

RecommendsView on HN
@infogulch2018 · in “Automatic Differentiation in Machine Learning: A Survey [pdf]”

Another paper related to AD was posted last month: The Simple Essence of Automatic Differentiation [0]. Video presentation [1]. I found it pretty awesome, just in case you hadn't seen it. [0]: https//news.ycombinator.com/item?id=18306860 [1]: ▶ this video

RecommendsView on HN
@bmc75052018 · in “The Simple Essence of Automatic Differentiation [pdf]”

This paper won a best paper award at ICFP 2018. Conal Elliott recently gave a longer talk about it at Microsoft Research: ▶ this video

CitesView on HN
Backpropagation calculus | Deep Learning Chapter 410:18

Backpropagation calculus | Deep Learning Chapter 4

3Blue1Brown
4M views • 9 years ago
Brian Beckman: Don't fear the Monad1:07:10

Brian Beckman: Don't fear the Monad

jasonofthel33t
415K views • 13 years ago
Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript1:02:15

Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming in JavaScript

Fullstack Academy
227K views • 9 years ago
Lecture 7A: Metacircular Evaluator, Part 11:24:38

Lecture 7A: Metacircular Evaluator, Part 1

MIT OpenCourseWare
32K views • 7 years ago
Parsing with Derivatives1:13:10

Parsing with Derivatives

Stanford
13K views • 15 years ago
Category Theory in Life - Eugenia Cheng40:39

Category Theory in Life - Eugenia Cheng

Lambda World
113K views • 9 years ago
The Functional Programmer's Toolkit - Scott Wlaschin1:05:51

The Functional Programmer's Toolkit - Scott Wlaschin

NDC Conferences
79K views • 7 years ago
Depth-first search in APL11:32

Depth-first search in APL

Dyalog
11K views • 12 years ago
Lecture 1A: Overview and Introduction to Lisp1:12:56

Lecture 1A: Overview and Introduction to Lisp

MIT OpenCourseWare
420K views • 7 years ago
Backpropagation, intuitively | Deep Learning Chapter 312:47

Backpropagation, intuitively | Deep Learning Chapter 3

3Blue1Brown
6.4M views • 9 years ago
Category Theory by Tom LaGatta1:36:54

Category Theory by Tom LaGatta

AI Council
73K views • 12 years ago
Category Theory 1.1: Motivation and Philosophy46:46

Category Theory 1.1: Motivation and Philosophy

Bartosz Milewski
394K views • 10 years ago
1. Introduction, Finite Automata, Regular Expressions1:00:34

1. Introduction, Finite Automata, Regular Expressions

MIT OpenCourseWare
626K views • 5 years ago
Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure42:25

Glenn Vanderburg - Cló: The Algorithms of TeX in Clojure

ClojureTV
9K views • 11 years ago
Lecture 7A | MIT 6.001 Structure and Interpretation, 19861:24:38

Lecture 7A | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
35K views • 17 years ago
Invited Talk - Guy Steele1:07:22

Invited Talk - Guy Steele

ClojureTV
39K views • 9 years ago
David Beazley - Lambda Calculus from the Ground Up - PyCon 20193:26:34

David Beazley - Lambda Calculus from the Ground Up - PyCon 2019

PyCon 2019
52K views • 7 years ago
Four Solutions to a Trivial Problem - Guy Steele Jr.1:01:47

Four Solutions to a Trivial Problem - Guy Steele Jr.

Google TechTalks
36K views • 10 years ago
A Sudoku Solver in APL9:43

A Sudoku Solver in APL

Dyalog
47K views • 14 years ago
Stanford Seminar: Beyond Floating Point: Next Generation Computer Arithmetic1:31:28

Stanford Seminar: Beyond Floating Point: Next Generation Computer Arithmetic

Stanford Online
33K views • 9 years ago