Neural ODE 神经常微分方程

news2024/10/6 13:51:58

Neural ODE

ODE常微分方程
欧拉法求解:欧拉法求解过程是一个递归的过程,这个思想和牛顿法、梯度下降法是相似的。并且它将函数离散化,分割成一个个小段来求解。欧拉法求解的常微分方程的形式通常为在这里插入图片描述
在这里插入图片描述
图片来自知乎Neural ODE,这个世界终究是连续的

使用欧拉法解方程的例子:摘自欧拉法(Euler‘s method)求常微分方程(ODE)近似解
在这里插入图片描述
代码:

import numpy as np
import matplotlib.pyplot as plt
y0=1 #初始条件
def f(x,y):
    return y-2*x/y
def Eular(y0,n,f):
    y=[y0] #储存各个点的函数值
    y0=y0
    for x in np.linspace(0,1,n):
        '''求函数在区间[0,1]近似解,分n份'''
        y1=y0+f(x,y0)/n
        y.append(y1)
        y0=y1
    return y
y=Eular(1,10,f=f)
x=np.linspace(0,1,len(y))
plt.plot(x,y,color='blue')
plt.show()

神经常微分方程:
在这里插入图片描述
求解常微分方程时,可以用ODEsolver。它就相当于是计算器,我们给出初始to,h(t0),神经网络,要求的时间t ,它就可以自动求解。
在这里插入图片描述
ODEsolver本质上就是用数值解法一步步求解到T。数值法求wi+1是由wi加上步长h*区间上的平均变化率。不同的算法,对平均变化率的取法不同。
Euler方法的平均变化率取的ti点的导数
改进Euler:
先由当前点用欧拉法求出下一点wi+1’的值,再用当前点梯度和预报点梯度的平均 作为 区间平均变化率 求解真正wi+1点的值。
在这里插入图片描述
龙格-库塔方法比Euler有更高的精度。
rk2:
先用欧拉法估计h/2处的梯度,再用这个值计算wi+1。

rk4:
wi+1由wi和四个梯度的加权平均确定,步长 h。
k 1 是这一步开始处使用欧拉方法的导数;
k 2 是 h/2 处的导数,在 k 1基础上;
k 3 依旧是 h/2 处的导数,在k2基础上;
k 4 是在k3基础上终点h 处的导数。
几种数值解法和真实解的对比,RK方法的准确率比较高。

一般的反向传播算法 要保存前向计算过程中的activation激活图。而ODE使用adjoint method (伴随方法),不需要保存激活图也能计算梯度。
因为伴随方法 把反向过程 看作一个新的ODE初值求解问题 (IVP),直接用ODE Solver计算得到梯度值。这样减少内存占用。

应用:

最近的研究发现梯度下降算法的迭代过程(GDA) 可以看作是常微分方程 (ODE) 的欧拉离散化。
在这里插入图片描述
设计一个网络来估计我们要求的参数的梯度,这里是原型p。
有了估计的梯度后,使用odesolver求解p在指定时刻的值。这个指定时刻M由训练阶段使损失收敛的超参决定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/461531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EventBus源码解析

文章目录 前言一、EventBus使用二、EventBus事件流程分析1.注册订阅者2.发布事件Event3.接收事件Event4.取消注册订阅者 三、发送粘性事件问答EventBus 以及它的优点EventBus原理 EventBus中设计模式为什么要使用 EventBus 来替代广播呢?说下 5 种线程模式的区别Eve…

进程、进程组、会话期

进程 在内核中,每个进程都使用一个不同的大于零的正整数来标识,称为进程号pid(process ID)。 进程组 一个进程可以通过 fork() 调用创建一个或多个子进程,这些进程就可以构成一个进程组。例如, liyongj…

UE4架构初识(四)

目录 UE4仿真引擎学习 一、架构基础 1. GameMode 2. GameState 3. GameSession UE4仿真引擎学习 一、架构基础 1. GameMode 即使最开放的游戏也拥有基础规则,而这些规则构成了 Game Mode。在最基础的层面上,这些规则包括: 出现的玩家和…

深度赋能产业数字化转型,蚂蚁集团数字化三件套亮相中国国际金融展

“十四五”规划纲要指出:加快推动数字产业化,推进产业数字化转型,实施“上云用数赋智”行动,推动数据赋能全产业链协同转型。明确提出了通过科技创新,加快产业数字化转型的要求。 4月25日,以“荟萃金融科技…

Flowable打印调用原生API查询接口的SQL日志

一.简介 建议在 Spring Boot 的 application.properties 中添加如下配置,开启 flowable 日志: logging.level.org.flowabledebug这个配置表示开启 flowable 的日志,开启日志的好处是可以看到底层的 SQL语句。 二.查询部署信息 例如查询流…

【python中的魔法方法有哪些?】

__init__(self, ...): 类的构造函数,用于创建一个类的实例并初始化它的属性。__str__(self): 返回对象的字符串表示形式,可以用于打印对象或者转化成字符串。__repr__(self): 返回对象的字符串表示形式,通常是用于开发者调试和查看对象信息。…

4.24~25(总结)

第一周任务 - Virtual Judge 分析:这道题开始想错了,所以错了一次。后来又仔细读了一遍题,才发现,要是最长的那个排序子数组,所以第二次就做出来了,它其实应该分为两大块,第一块找左边的起点&a…

HTTPS (HTTP+SSL) 对称/非对称加密 中间人攻击 证书加密

💖 欢迎来阅读子豪的博客(JavaEE篇 🤴) 👉 有宝贵的意见或建议可以在留言区留言 💻 欢迎 素质三连 点赞 关注 收藏 🧑‍🚀码云仓库:补集王子的代码仓库 不要偷走我小火…

“源擎”云原生分布式核心业务系统有什么产品优势?

“源擎”核心系统利用云原生、分布式、微服务技术,基于企业架构设计思想,构建了基础服务、业务服务、交易中心以及系列支撑组件,包含业务架构和多个微服务应用。 业务架构中,交易中心为银行提供了更灵活的选择,支持产…

出现Invalid bound statement (not found)问题的解决办法(已解决)

前言: 今天在写项目时出现了Invalid bound statement (not found):xxxx这个问题,网上找了很多博客都不行,最后修改了配置文件解决了问题,借此将此类问题常见的解决办法汇总一下。 话不多说,直接列出解决办法如下&…

linux-0.11 研究

前言 多阅读优秀代码,才能提高快速、深刻理解代码的能力。linux 内核源码无疑是最好的选择,不过当前 linux 内核版本为 6.3,代码量是相当庞大了,别说看完整个代码了,就算是看完一个子系统,都是不太现实的。…

PostgreSQL的安装与配置(Windows版本)

下载windows安装包 官网地址 安装 官网下载安装包 安装 测试 默认信息直接回车,最后密码输入设置的超级用户密码即可

【Python游戏】在这款程序员游戏新作《现代空战—战机游戏》里,你可以体验一把紧张的空战感觉、刺激鸭~打飞机游戏都能有那么多骚操作……

导语 不知道大家有没有幻想过遨游在广阔蓝天进行惊险的空战吗? 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 虽然这样的画面常常只会出现在电影之中,但小编今天给大家编写的一款…

【数据结构】顺序表和链表基本实现(含全代码)

文章目录 一、什么是线性表1. 什么是顺序表动态开辟空间和数组的问题解释LeetCode-exercise 2. 什么是链表2.1链表的分类2.2常用的链表结构及区别2.3无头单向非循环链表的实现2.4带头双向循环链表的实现2.5循序表和链表的区别LeetCode-exercise 3. 快慢指针LeetCode-exercise 一…

【牛客刷题专栏】0x24:JZ23 链表中环的入口结点(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…

【GPT】文本生成任务(生成摘要、文本纠错、机器翻译等的模型微调)

note 文章目录 note一、NLG任务二、NLG之文本摘要2.1 基于mT5的文本摘要2.2 基于openai接口测试2.3 基于chatGPT接口 三、根据自己的数据集进行模型微调四、文本纠错任务五、机器翻译任务Reference 一、NLG任务 NLG:自然语言生成任务,很多NLP任务可以被…

Redis入门到入土(day02)

五大数据类型 官方文档 全段翻译: Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合&#…

vue项目 解决el-table自适应高度,vue页面不显示多条滚动条,超出的部分让el-table内部出现滚动条(推荐使用第二种解决方案)

一、需求 后台管理系统:最常见的页面都是由—>左侧菜单、头部tabView页签、主体数据渲染页面(AppMain);而一般AppMain页面又分为: 搜索区域、table数据(分页),可能也会存在底部&a…

Reid训练代码之数据集处理

本篇文章是对yolov5_reid这篇文章训练部分的详解。 该项目目录为: . |-- config # reid输入大小,数据集名称,损失函数等配置 |-- configs # 训练时期超参数定义 |-- data # 存储数据集和数据处理等代码,以及yolov5类别名称等 |--…

【高分论文密码】大尺度空间模拟预测与数字制图技术

大尺度空间模拟预测和数字制图技术和不确定性分析广泛应用于高分SCI论文之中,号称高分论文密码。 大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律,又可以为复杂的机理过程模型大尺度模拟提供技术基础。 在本次&#x…