您当前的位置:首页> 行业动态 >正文
环球快资讯丨sicp学习笔记: 用lisp实现一个求导程序

2023-03-17 21:06:25     来源 : 哔哩哔哩

记得之前看tensorflow, numpy等库的api中提供了自动求导的函数, 觉得其中一定是用了某些高深的数值分析算法,但在 sicp书中也给了个简单的求导程序, 本质是基于求导法则的递归性质来实现的, 感觉有点意思记录一下。

我们先来看看求导法则:

可以看到最后两条求导法则满足递归的性质, 求导的运算过程通过分解后会得到越来越小的片段,最终将产生出常量和变量, 他们的导数都是0或者1.


(相关资料图)

代码实现

首先我们定义谓语(返回值为bool的函数):

然后我们需要定义出结果的构造方法:

最后实现求导函数:

接下来我们可以测试一下啦:

复杂一点的:

当然, 这个求导程序还是一个朴素的实现, 还需要对结果进行化简, 但是它已经实现了最核心的部分了...

最近在重0开始撸一个c++小型的深度学习框架, 后面我也会添加自动求导的功能:

https://github.com/StepfenShawn/tidf

标签:

X 关闭

行业要闻
6月底前河南省实现“场所码”全覆盖 升级后的“场所码”有啥功能

6月底前河南省实现“场所码”全覆盖 升级后的“场所码”有啥功能

公安部推行新车上牌新规 便利群众快捷上牌

公安部推行新车上牌新规 便利群众快捷上牌

北京市经信局公布今年第三批北京市“专精特新”中小企业名单

北京市经信局公布今年第三批北京市“专精特新”中小企业名单

“520”迎婚姻登记高峰!深圳市民政局:高峰日扎堆登记可能影响体验感

“520”迎婚姻登记高峰!深圳市民政局:高峰日扎堆登记可能影响体验感

北京市东城区41条措施落地 2790家中小微企业享受政策支持

北京市东城区41条措施落地 2790家中小微企业享受政策支持

地球上最幸福的人!56岁非洲建筑师获普利兹克建筑奖

地球上最幸福的人!56岁非洲建筑师获普利兹克建筑奖

新疆阿克苏地区库车市发生4.1级地震 震源深度21千米

新疆阿克苏地区库车市发生4.1级地震 震源深度21千米

从东北到西北 他在“军垦第一城”规划着城建未来

从东北到西北 他在“军垦第一城”规划着城建未来

西藏米林“家庭农场”:引领种植产业 助力乡村振兴

西藏米林“家庭农场”:引领种植产业 助力乡村振兴

大雨洪水中的这7个瞬间,让我们流泪了……

大雨洪水中的这7个瞬间,让我们流泪了……