×

CHAD用于表达性总体语言。 (英语) Zbl 07813349号

总结:我们展示了如何应用正向和反向模式组合同态自动微分(CHAD)[M.Vákár,莱克特。注释计算。科学。12648, 607–634 (2021;Zbl 1473.68058号);M.VákárT.斯梅丁,“CHAD:组合同态自动微分”,ACM Trans。程序。语言系统。44,第3期,第20号论文,49页(2022年;doi:10.1145/3527634)]到具有表达型系统的函数式编程语言,其特点是
元组类型;
总和类型;
归纳类型;
共性类型;
函数类型。
我们通过分析适当类别的(Sigma)-类型(Grothendieck结构)中此类类型的范畴语义来实现这一点。对于这种表达型系统,我们使用一种新的范畴逻辑关系技术,通过显示CHAD计算原始程序实现的函数的通常数学导数,在这种情况下给出了CHAD的正确性证明。其结果是一种原则性的、纯功能性的、可证明正确的方法,用于在具有表达型系统的全功能编程语言上执行正向和反向模式自动微分(AD)。

MSC公司:

68倍 计算机科学
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Abadi,M.和Plotkin,G.D.(2020年)。一种简单的可微分编程语言。摘自:《2020年POPL会议录》,ACM。
[2] Adámek,J.和Koubek,V.(1979年)。函子的最小不动点。计算机与系统科学杂志19(2)163-178·Zbl 0423.18007号
[3] Adamek,J.、Milius,S.和Moss,L.(2010年)。初始代数和终端余代数:综述。https://web.archive.org/web/20150919161434/https://www.tu-braunshweig.de/Medien-DB/iti/suvey_full.pdf。
[4] Adámek,J.和Rosickí,J.(1994)。《本地可呈现和可访问类别》,伦敦数学学会讲稿Ceries,第189卷,剑桥大学出版社·Zbl 0795.18007号
[5] Adámek,J.和Rosickí,J.(2020年)。免费完成类别有多好?拓扑及其应用27324。身份证号:106972。
[6] Ahman,D.、Ghani,N.和Plotkin,G.D.(2016)。依赖类型和光纤计算效果。摘自:软件科学和计算结构基础国际会议,Springer,36-54·Zbl 1475.68057号
[7] Altenkirch,T.、Levy,P.和Staton,S.(2010年)。高阶容器。摘自:欧洲可计算性会议,施普林格,11-20·兹比尔1286.68327
[8] Alvarez-Picallo,M.、Ghica,D.R.、Sprunger,D.和Zanasi,F.(2023年)。用于反向模式自动区分的功能字符串图。In:Klin,B.和Pimentel,E.(eds.)第31届EACSL计算机科学逻辑年会,CSL 2023年2月13日至16日,波兰华沙,LIPIcs,第252卷,Schloss Dagstuhl-Leibniz Zentrum für Informatik,6:1-6:20。
[9] Barr,M.(1993)。完备集合论中的终端余代数。理论计算机科学114(2)299-315·Zbl 0779.18004号
[10] Barr,M.和Wells,C.(2005年)。拓扑、三元组和理论。表征理论应用分类2005(12)1-288·Zbl 1081.18006号
[11] Barthe,G.、Crubille,R.、Lago,U.D.和Gavazzo,F.(2020年)。关于开放逻辑关系的多功能性——连续性、自动微分和包含定理。摘自:Müller,P.(编辑)编程语言与系统——第29届欧洲编程研讨会,ESOP 2020,作为欧洲软件理论与实践联合会议的一部分举行,ETAPS 2020,都柏林,爱尔兰,2020年4月25日至30日,计算机科学会议录,第12075卷,Springer,56-83·Zbl 1508.68055号
[12] Baydin,A.G.、Pearlmutter,B.A.、Radul,A.A.和Siskind,J.M.(2017)。机器学习中的自动分化:一项调查。机器学习研究杂志18153:1-153:43·Zbl 06982909号
[13] Bird,G.(1984)。两类本地可供选择的类别的限制。悉尼品类研讨会报告。悉尼大学博士论文。
[14] Borceux,F.和Janelidze,G.(2001年)。伽罗瓦理论,《剑桥高等数学研究》,第72卷,剑桥,剑桥大学出版社·Zbl 0978.12004号
[15] Brunel,A.、Mazza,D.和Pagani,M.(2020年)。线性否定的简单型lambda-calculus中的反向传播。摘自:2020年POPL会议记录。
[16] Carboni,A.、Lack,S.和Walters,R.F.C.(1993)。广泛和分布式类别介绍。纯代数与应用代数杂志84(2)145-158·Zbl 0784.18001号
[17] Christensen,J.D.和Wu,E.(2014)。微分空间的切线空间和切线丛。arXiv预打印arXiv:1411.5425。
[18] Cockett,J.R.B.、Cruttwell,G.S.H.、Gallagher,J.、Lemay,J.S.P.、Macadam,B.、Plotkin,G.D.和Pronk,D.(2020年)。反向衍生工具类别。在:CSL 2020会议记录·Zbl 07650831号
[19] 克罗尔,R.L.1993。类型分类,剑桥,剑桥大学出版社·Zbl 0837.68077号
[20] Diller,J.(1974)。Eine variante zur辩证法-heyting-arithmetik endlicher类型的解释。Archive für mathematische Logik und Grundlagensforschung16(1-2)49-66·Zbl 0277.02006
[21] Dubuc,E.(1968年)。相邻三角形。收录:《中西部类别研讨会报告》,第二期,柏林,施普林格,69-91·Zbl 0172.02103号
[22] Dubuc,E.(1970年)。丰富范畴理论中的Kan扩展,数学课堂讲稿,第145卷,Cham,Springer·Zbl 0228.18002号
[23] Elliott,C.(2018)。自动微分的简单本质。美国计算机学会程序设计语言会议录2(ICFP)70。
[24] Fong,B.、Spivak,D.和Tuyéras,R.(2019年)。Backprop作为函子:监督学习的合成视角。2019年第34届ACM/IEEE计算机科学逻辑研讨会(LICS),IEEE,1-13。
[25] Gabriel,P.和Ulmer,F.(1971)。Lokal präsenierbare Kategorien。(本地可呈现类别),《数学讲义》,第221卷,Cham,Springer·Zbl 0225.18004号
[26] 哥德尔,V.K.(1958)。尤伯·埃因·比舍尔·诺赫(Un ber eine bisher noch nicht benützte erweiterung des finiten standpunktes)。辩证法12(3-4)280-287·Zbl 0090.01003号
[27] Gray,J.W.(1966年)。纤维和共纤维类别。在:分类代数会议记录(加利福尼亚州拉霍亚,1965年),纽约,施普林格,21-83·Zbl 0192.10701号
[28] Griewank,A.和Walther,A.(2008)。《评估衍生品:算法区分的原理和技术》,第105卷,SIAM·Zbl 1159.65026号
[29] Huot,M.、Staton,S.和Vákár,M.(2022)。高阶函数的高阶自动微分。计算机科学中的逻辑方法18(1)1-41·兹伯利07566054
[30] Huot,M.、Staton,S.和Vákár,M.(2020年)。通过差异和分类粘合实现自动区分的正确性。摘自:FoSSaCS会议记录·Zbl 07250945号
[31] Hyland,J.M.E.(2002)。抽象的证明理论。《纯粹与应用逻辑年鉴》114(1-3)43-78·Zbl 1007.03056号
[32] Iglesias-Zemmour,P.(2013)。美国数学学会衍射·Zbl 1269.53003号
[33] Jacobs,B.(1999)。《范畴逻辑和类型理论》,《逻辑和数学基础研究》,第141卷,阿姆斯特丹,爱思唯尔出版社·Zbl 0911.03001号
[34] Johnstone,P.T.(2002)。《大象素描:拓扑理论简编》,第2卷,牛津,牛津大学出版社·Zbl 1071.18001号
[35] Kelly,G.M.(1974)。条令附属物。收录于:类别研讨会(悉尼类别理论研讨会论文集,1972/1973),数学课堂讲稿,第420卷,257-280·Zbl 0334.18004号
[36] Kelly,G.M.(2005)。丰富范畴理论的基本概念。表示论应用类别2005(10)1-136·Zbl 1086.18001号
[37] Kerjean,M.和Pédrot,P.-M.(2021年)\(\partial\)用于Dialectica:键入可差分编程。工作纸或预打印。
[38] Krawiec,F.、Peyton Jones,S.、Krishnaswami,N.、Ellis,T.、Eisenberg,R.A.和Fitzgibbon,A.(2022)。可证明正确、渐近有效、高阶反向模式自动微分。美国计算机学会程序设计语言会议录6(POPL)1-30。
[39] 拉克,S.(2012年)。非标准同构。《纯粹与应用代数杂志》216(3)593-597·Zbl 1256.18001号
[40] Lambek,J.和Scott,P.J.(1988年)。《高阶范畴逻辑导论》,第7卷,剑桥,剑桥大学出版社·Zbl 0642.03002号
[41] Lee,J.M.(2013)。平滑歧管。In:平滑流形简介,Springer,1-31·Zbl 1258.53002号
[42] Leinster,T.(2014)。基本范畴理论,第143卷,剑桥高等数学研究,剑桥,剑桥大学出版社·Zbl 1295.18001号
[43] Linnainmaa,S.(1970年)。算法的累积舍入误差表示为局部舍入误差的泰勒展开。赫尔辛基大学硕士论文(芬兰语),6-7。
[44] Lucatelli Nunes,F.(2016年)。在双共轭三角形上。分类理论与应用31论文编号9217-256。
[45] Lucatelli Nunes,F.(2017年)。假单胞菌及其后代。博士论文(第1章)。科英布拉大学。arXiv:1802.01767。
[46] Lucatelli Nunes,F.(2018年)。关于双点和松弛代数的提升。范畴与一般代数结构及其应用9(1)29-58·Zbl 1454.18018号
[47] Lucatelli Nunes,F.(2019年)。伪代数和非正则同构。应用分类结构27(1)55-63·Zbl 1411.18009号
[48] Lucatelli Nunes,F.(2021年)。下降数据和绝对Kan扩展。分类理论与应用37论文编号18530-561。
[49] Lucatelli Nunes,F.(2022年)。语义分解和下降。应用分类结构30(6)1393-1433·兹比尔1502.18044
[50] Lucatelli Nunes,F.和Vákár,M.(2022a)。ML系列语言的自动区分:通过逻辑关系的正确性。arXiv电子打印,arXiv:2210.07724。
[51] Lucatelli Nunes,F.和Vákár,M.(2022b)。部分特征的逻辑关系和自动区分正确性。arXiv电子打印,arXiv:2210.08530。
[52] Mac Lane,S.(1971年)。工作数学家分类,数学研究生教材,第5卷,Cham,Springer·Zbl 0232.18001号
[53] Macdonald,J.和Sobral,M.(2004)。单子的方面。收录于:《分类基础》,《数学及其应用百科全书》,第97卷,剑桥,剑桥大学出版社,213-268·邮编:1043.18004
[54] Mak,C.和Ong,L.(2020年)。一种用于高阶反向模式自动微分的微分形式拉回编程语言。arxiv:2002.08241。
[55] Makkai,M.和Paré,R.(1989)。可访问的类别:范畴模型理论的基础,当代数学,第104卷普罗维登斯,RI,美国数学学会·Zbl 0703.03042号
[56] Mazza,D.和Pagani,M.(2021年)。pcf中的自动区分。美国计算机学会程序设计语言会议录5(POPL)1-27。
[57] Moss,S.K.和Von Glehn,T.(2018年)。类型理论的辩证模型。收录:Dawar,A.和Grädel,E.(eds.)《第33届ACM/IEEE计算机科学逻辑研讨会论文集》,2018年7月9日至12日,英国牛津,ACM,739-748·Zbl 1453.03004号
[58] Pearlmutter,B.A.和Siskind,J.M.(2008)。功能框架中的反向模式AD:Lambda是最终的反向传播器。美国计算机学会程序设计语言与系统汇刊(TOPLAS)30(2)7。
[59] Pitts,A.M.(1995)。范畴逻辑。剑桥大学计算机实验室技术报告。
[60] Plotkin,G.(2018)。差分编程语言的一些原理。受邀演讲,POPL。
[61] Santocanale,L.(2002)\(\mu\)-双完全类别和奇偶游戏。RAIRO-理论信息学与应用-信息技术与应用36(2)195-227·兹标1024.18001
[62] Speelpening,B.(1980)。快速编译算法给出的函数的偏导数。技术报告,伊利诺伊大学,Urbana(美国)。计算机科学系。
[63] Tu,L.W.(2011)。歧管。在:歧管简介,施普林格,47-83。
[64] Vákár,M.(2017)。搜索有效的依赖类型。牛津大学博士论文。arXiv预打印arXiv:1706.07997。
[65] Vákár,M.(2021)。较高类型的反向AD:纯粹、原则性和指称正确。收入:ESOP,607-634·Zbl 1473.68058号
[66] Vákár,M.和Smeding,T.(2022)。CHAD:组合同态自动微分。美国计算机学会程序设计语言与系统汇刊44(3)20:1-20:49。
[67] Vytiniotis,D.、Belov,D.、Wei,R.、Plotkin,G.和Abadi,M.(2019年)。与众不同的咖喱。2019年NeurIPS ML研讨会的项目转型。https://openreview.net/forum?id=ryxuz9SzDB。
[68] Wang,F.、Wu,X.、Essertel,G.、Decker,J.和Rompf,T.(2019年)。解密可微编程:移位/重置倒数第二个反向传播算子。美国计算机学会程序设计语言会议录3(ICFP)1-31。
[69] Wengert,R.E.(1964年)。一个简单的自动导数评估程序。ACM7(8)463-464的通信·Zbl 0131.34602号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。