正版现货新书 JAX可微分编程 9787115609359 程琪皓著
全新正版现货,以书名为准,放心购买,购书咨询18931383650朱老师
¥
76.52
5.9折
¥
129.8
全新
库存102件
作者程琪皓著
出版社人民邮电出版社
ISBN9787115609359
出版时间2023-05
装帧平装
开本16开
定价129.8元
货号12610678
上书时间2024-10-07
商品详情
- 品相描述:全新
- 商品描述
-
商品简介
本书以Google开发的JAX开源框架为载体,详细介绍了JAX在可微分编程领域的应用,具体包括自动微分的基本原理、数据结构,以及自动微分在实际场景中的应用,其涉及的领域包括但不限于算法优化、神经网络、工程建模、量子计算等。
本书分为3部分,总计10章外加5篇附录。第1部分介绍了可微分编程的基本原理,包括手动求导、数值微分、符号微分以及自动微分的前向模式和反向模式,在未调用任何库函数的情况下,从零开始构建起了符号微分及自动微分的数据结构。第2部分是对JAX库特性的介绍,包括JAX的基本语法、自动微分、即时编译和并行计算,并以此为切口,对深度学习、λ演算等领域进行了深入浅出的讲解。第3部分是自动微分在实际场景中的应用,除了算法优化、神经网络等极其经典的应用场景,这一部分还给出了自动微分在工程建模、量子计算等方面的理论及应用。
本书涵盖的范围虽广,但对其中每个领域的介绍都绝非浅尝辄止,无论材料的选取、内容的编排,还是论述的视角、观点的呈现,均不乏新颖之处。通过本书的学习,读者不但可以掌握JAX开源框架的用法,还可以获悉JAX在可微分编程领域的具体应用方法。本书适合在工作中会用到自动微分技术的工程技术人员、高校科研人员阅读,也适合对JAX感兴趣并希望能掌握其应用的AI技术人员阅读。
作者简介
程琪皓,北京大学物理学院本科生,曾获第36届全国中学生物理竞赛(浙江赛区)一等奖、“未名学子”奖学金、沈克琦奖学金、北京大学三等奖学金等多项奖励。研究方向涉及强化学习、低维超导实验、量子计算、分子模拟等多个领域。
目录
六重奏女士的诅咒1
第1章程序视角下的微分运算9
1.1函数与求导9
1.1.1求导的基本概念10
1.1.2梯度操作(GradientOperator)11
1.1.3雅可比矩阵(JacobianMatrix)12
1.1.4黑塞矩阵(HessianMatrix)13
1.2手动求导14
1.3数值微分(NumericDifferentiation)14
1.3.1数值微分的理论基础14
1.3.2数值微分的误差来源16
1.3.3数值微分的程序实现19
1.4符号微分(SymbolicDifferentiation)24
1.4.1计算图24
1.4.2计算图的构建26
1.4.3SymPy库简介34
第2章自动微分39
2.1前向模式(forwardmode)40
2.1.1前向模式的理论40
*2.1.2前向模式的二元数诠释44
2.1.3前向微分的程序实现49
2.2反向模式(backwardmode)58
2.2.1反向模式的理论58
*2.2.2反向模式和前向模式的统一60
2.2.3反向模式的程序实现67
第3章初识JAX78
3.1数组的创建79
3.1.1数组的性质79
3.1.2创建数组的函数81
3.1.3随机数组的创建84
3.2数组的修改86
3.2.1多维数组的重排86
3.2.2多维数组的扩展89
3.2.3多维数组的索引92
3.2.4越界行为的处理95
3.2.5异地更新95
3.3数组的运算97
3.3.1语义广播97
3.3.2数组运算98
3.3.3线性代数100
3.3.4科学计算102
3.3.5爱因斯坦求和约定102
3.4使用蒙特卡罗方法估计圆周率105
第4章JAX的微分运算109
4.1微分操作的语法109
4.1.1JAX中的梯度操作110
4.1.2JAX中的雅可比矩阵116
4.1.3JAX中的黑塞矩阵118
4.1.4自定义算符及隐函数求导120
4.2梯度下降125
4.2.1从最小二乘法说开去126
4.2.2寻找极小值130
4.2.3训练及误差133
4.2.4全连接神经网络140
第5章JAX的编程范式及即时编译150
5.1函数式编程151
5.1.1函数式编程的价值观151
5.1.2JAX中的即时编译158
5.1.3JAX中的条件语句162
5.1.4JAX中的流程控制语句166
5.1.5静态变量170
*5.2λ演算172
5.2.1λ演算的基本设定172
5.2.2λ演算中的布尔代数176
5.2.3λ演算中的自然数177
5.2.4λ演算中的递归181
第6章JAX的并行计算186
6.1函数vmap187
6.2使用vmap在GPU上并行训练194
6.3函数pmap197
6.4使用pmap更新细胞自动机200
第7章优化算法208
7.1下降算法概要209
7.1.1下降算法的数学表述209
7.1.2步长的选取213
7.1.3终止条件的选取218
7.1.4下降方向的选取219
*7.1.5共轭梯度算法223
7.2一阶优化算法233
7.2.1动量法233
7.2.2自适应算法242
7.2.3Adam246
第8章循环神经网络250
*8.1神经网络的生物学基础250
8.1.1神经元的电化学性质251
8.1.2神经元输出过程的建模254
8.1.3神经元构成网络的建模256
8.2循环神经网络263
8.2.1简单循环神经网络263
8.2.2循环神经网络的梯度回传272
8.2.3简单循环神经网络的程序实现277
8.2.4长短期记忆单元及其程序实现286
8.2.5案例:股票预测292
第9章案例:FAST主动反射面的形态调节298
9.1背景介绍298
9.2数据的预处理301
9.3约束优化问题的提出及模型的训练306
9.4程序运行结果的讨论314
第10章量子计算中的自动微分316
*10.1量子计算的数学基础317
10.1.1算符与量子态317
10.1.2算符的指数323
10.1.3算符的对易子326
*10.2量子计算的物理基础329
10.2.1波粒二象性329
10.2.2薛定谔方程331
10.2.3动量空间338
*10.3基于量子体系的自动微分341
10.3.1量子比特342
10.3.2参数优化347
附录APython中类的介绍354
附录B拓扑排序369
附录C信息和熵376
附录D下降算法的收敛性分析390
附录E神经元的HodgkinHuxley模型400
后记410
内容摘要
本书以Google开发的JAX开源框架为载体,详细介绍了JAX在可微分编程领域的应用,具体包括自动微分的基本原理、数据结构,以及自动微分在实际场景中的应用,其涉及的领域包括但不限于算法优化、神经网络、工程建模、量子计算等。
本书分为3部分,总计10章外加5篇附录。第1部分介绍了可微分编程的基本原理,包括手动求导、数值微分、符号微分以及自动微分的前向模式和反向模式,在未调用任何库函数的情况下,从零开始构建起了符号微分及自动微分的数据结构。第2部分是对JAX库特性的介绍,包括JAX的基本语法、自动微分、即时编译和并行计算,并以此为切口,对深度学习、λ演算等领域进行了深入浅出的讲解。第3部分是自动微分在实际场景中的应用,除了算法优化、神经网络等极其经典的应用场景,这一部分还给出了自动微分在工程建模、量子计算等方面的理论及应用。
本书涵盖的范围虽广,但对其中每个领域的介绍都绝非浅尝辄止,无论材料的选取、内容的编排,还是论述的视角、观点的呈现,均不乏新颖之处。通过本书的学习,读者不但可以掌握JAX开源框架的用法,还可以获悉JAX在可微分编程领域的具体应用方法。本书适合在工作中会用到自动微分技术的工程技术人员、高校科研人员阅读,也适合对JAX感兴趣并希望能掌握其应用的AI技术人员阅读。
主编推荐
1.涵盖了JAX在可微分编程领域的应用,包括自动微分的基本原理、数据结构以及在算法优化、神经网络、工程建模、量子计算等领域中的应用。 2.作者程琪皓是北京大学物理学院本科生,多次获得国家竞赛的奖项,具有丰富的研究经验和实践能力。 3.通过本书的学习,读者不仅可以掌握JAX开源框架的用法,还可以深入了解可微分编程的理论和实践,并在AI技术领域中应用。 4.内容深入浅出,新颖可靠,详细介绍了自动微分的基本原理、JAX库的特性和实际场景中的应用方法。 5.阅读本书后,你将可以了解JAX在可微分编程领域的应用,并掌握自动微分的基本原理和应用技巧,帮助你提高工作效率并拓展职业发展前景。
精彩内容
本书以Google开发的JAX开源框架为载体,详细介绍了JAX在可微分编程领域的应用,具体包括自动微分的基本原理、数据结构,以及自动微分在实际场景中的应用,其涉及的领域包括但不限于算法优化、神经网络、工程建模、量子计算等。
本书分为3部分,总计10章外加5篇附录。第1部分介绍了可微分编程的基本原理,包括手动求导、数值微分、符号微分以及自动微分的前向模式和反向模式,在未调用任何库函数的情况下,从零开始构建起了符号微分及自动微分的数据结构。第2部分是对JAX库特性的介绍,包括JAX的基本语法、自动微分、即时编译和并行计算,并以此为切口,对深度学习、λ演算等领域进行了深入浅出的讲解。第3部分是自动微分在实际场景中的应用,除了算法优化、神经网络等极其经典的应用场景,这一部分还给出了自动微分在工程建模、量子计算等方面的理论及应用。
本书涵盖的范围虽广,但对其中每个领域的介绍都绝非浅尝辄止,无论材料的选取、内容的编排,还是论述的视角、观点的呈现,均不乏新颖之处。通过本书的学习,读者不但可以掌握JAX开源框架的用法,还可以获悉JAX在可微分编程领域的具体应用方法。本书适合在工作中会用到自动微分技术的工程技术人员、高校科研人员阅读,也适合对JAX感兴趣并希望能掌握其应用的AI技术人员阅读。
— 没有更多了 —
以下为对购买帮助不大的评价