В ответ на этот вопрос я загрузил пакет с именем ad в Hackage для обработки автоматического дифференцирования в Haskell в обратном режиме.
Внутренне он использует трюк Энди ГиллаКанзас-Лава для наблюдения за совместным использованием на ленте, которую она записывает для целей обратного распространения, и использует брендинг на уровне типов, чтобы избежать путаницы в чувствительности.
Я пытался держать API относительно близко к API Барака Перлмуттера и Джеффри Марка Сискинда.Причудливый пакет, но я не мог удержаться от нескольких мелких изменений для общей информации.
Мне все еще нужно пройти и закончить оставшиеся неосуществленные комбинаторы прихотей, найти хороший способ построитьAD в обратном режиме, подтвердите, что я не испортил свои воспоминания о базовом исчислении, и предоставьте хороший API для использования этого подхода для получения локальных контрольных точек обратного режима в программе AD в обратном режиме, но я вполне доволен тем, какдела прогрессируют до сих пор.