范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

神经网络解常微分方程(ODE,附源码)

  1 原理简介
  微分方程可以写成 2部分 : 第一部分 满足初始和边界条件 并包含 不可调节参数  第二部分不会影响第一部分,这部分涉及 前馈神经网络 ,包含 可调节参数(权重) 。
  因此在构建微分方程的函数时,要满足上述两个条件,今天就来简单看下。
  假设存在以下 微分方程 :
  上述微分方程 f  对应着一个函数u(t)  ,同时满足初始条件u(0)=u_0  ,为此可以令:
  则 NN(t)  的导数 为:
  根据以上等式, NN(t)  的导数近似于 :
  可以把上式 转换成损失函数 :
  简而言之,就是 已知微分函数 ,然后用神经网络去拟合该微分函数的原函数 ,然后 用微分公式作为损失函数去逼近原微分函数 。
  微分公式:
  此外,还需要将 初始条件考虑 进去:
  上述并不是一个好的方法, 损失项越多会影响稳定性 。为此会定义一个新函数 ,该函数要满足初始条件同时是t  的函数:
  则 损失函数 为 :
  注意,神经微分网络目前主要是去近似一些 简单的微分函数 ,复杂的比较消耗时间 以及需要高算力 。 2 实践
  假设存在下述微分函数和网络:
  import tensorflow as tf import matplotlib.pyplot as plt import numpy as np   np.random.seed(123) tf.random.set_seed(123)   """微分初始条件以及相应参数定义""" f0 = 1 # 初始条件 u(0)=1   # 用于神经网络求导,无限小的小数 inf_s = np.sqrt(np.finfo(np.float32).eps)    learning_rate = 0.01 training_steps = 500 batch_size = 100 display_step = training_steps/10   """神经网络参数定义""" n_input = 1     # 输入维度 n_hidden_1 = 32 # 第一层输出维度 n_hidden_2 = 32 # 第二层输出维度 n_output = 1    # 最后一层输出维度 weights = { "h1": tf.Variable(tf.random.normal([n_input, n_hidden_1])), "h2": tf.Variable(tf.random.normal([n_hidden_1, n_hidden_2])), "out": tf.Variable(tf.random.normal([n_hidden_2, n_output])) } biases = { "b1": tf.Variable(tf.random.normal([n_hidden_1])), "b2": tf.Variable(tf.random.normal([n_hidden_2])), "out": tf.Variable(tf.random.normal([n_output])) } """优化器""" optimizer = tf.optimizers.SGD(learning_rate)     """定义模型和损失函数""" """多层感知机""" def multilayer_perceptron(x):   x = np.array([[[x]]],  dtype="float32")   layer_1 = tf.add(tf.matmul(x, weights["h1"]), biases["b1"])   layer_1 = tf.nn.sigmoid(layer_1)   layer_2 = tf.add(tf.matmul(layer_1, weights["h2"]), biases["b2"])   layer_2 = tf.nn.sigmoid(layer_2)   output = tf.matmul(layer_2, weights["out"]) + biases["out"]   return output   """近似原函数""" def g(x):   return x * multilayer_perceptron(x) + f0   """微分函数""" def f(x):   return 2*x   """定义损失函数逼近导数""" def custom_loss():   summation = []   # 注意这里,没有定义数据,根据函数中t的范围选取了10个点进行计算   for x in np.linspace(0,1,10):     dNN = (g(x+inf_s)-g(x))/inf_s     summation.append((dNN - f(x))**2)   return tf.reduce_mean(tf.abs(summation))   """训练函数""" def train_step():   with tf.GradientTape() as tape:     loss = custom_loss()   trainable_variables=list(weights.values())+list(biases.values())   gradients = tape.gradient(loss, trainable_variables)   optimizer.apply_gradients(zip(gradients, trainable_variables))   """训练模型""" for i in range(training_steps):   train_step()   if i % display_step == 0:     print("loss: %f " % (custom_loss()))   """绘图""" from matplotlib.pyplot import figure figure(figsize=(10,10))   # True Solution (found analitically) def true_solution(x):   return x**2 + 1    X = np.linspace(0, 1, 100) result = [] for i in X:   result.append(g(i).numpy()[0][0][0])    S = true_solution(X) plt.plot(X, S, label="Original Function") plt.plot(X, result, label="Neural Net Approximation") plt.legend(loc=2, prop={"size": 20}) plt.show()
  参考:
  https://towardsdatascience.com/using-neural-networks-to-solve-ordinary-differential-equations-a7806de99cdd

石家庄中考生成绩上不了普高线,升学该怎么办?普高线也叫提档线,就是你过了这条线,就可以在普高建档,有高中学籍!当然前提是有学校可上,目前来看刚过普高线的学生也未必能上普高。过不了普高线的学生基本上是上不了普通高中的,这里提示面对职场冷暴力你是怎么应对的?职场冷暴力,一般是指上司或群体用非暴力的方式刺激对方,致使一方或多方心灵受到严重伤害约行为,主要体现在让人长期饱受讥讽怎么突破职场冷暴力?这个问题涉及面太广,简言之乃是一个为人处事重庆的房价,具体比如中央公园,未来走势会如何?重庆的中央公园板块,去过很多次,草坪确实很大,看起来嘿安逸,其实这个板块,和贵阳的观山湖也是很类似的,主要就是以一个城区中心公园为主要元素,然后周边扩展开来,而且巧合的是,贵阳的观今日立夏,今年庄稼丰收吗?老祖宗看立夏天气就能预判,咋回事?今天是五月五日立夏,立夏一般为每年的五月五日或五月六日为立夏日。立夏后证明进入夏天,也是夏季的第一节气,天气也会有所提升。天气的好坏对庄稼影响也很大,比如洪涝干旱直接影响庄稼的生长廊坊现在的房价能不能入手?如果是刚需可以入!但是如果是投资,劝你冷静一点吧,环京虽然有了很大幅度调整,但是未来已经没有上涨空间了,观大势,觅新路!我说能入手的话,你会真的去买吗?你不会。我说不能入手的话,你如果房子降价了,以前买房子有贷款的人怎么办?房子降价了,以前买房子贷款的人还偷着乐呢,因为还款压力也跟着变小了,是不是颠覆了你以往的认知?听我给大家讲完这两个例子,你就明白了其中的缘由。一般买房分两种情况,一种是刚需,一种是有5万,存到邮政和存到信用社,哪个利息高,哪个安全?咱们先不说邮储银行和信用社哪个存款利率高?因为存款利率市场化以来,大家为了解决负债端压力都在拼,邮储银行作为新晋的国有六大行之一,丝毫不亚于地方中小银行的信用社。最起码在国有六大行邮政银行的储蓄卡不再使用了,该怎么处理?谢谢邀请!您提到的问题有很大的共性,相信很多朋友手上都有许多储蓄卡,有一些卡用不到了,那么怎么办好呢?是销户?还是临时保留?的确是一个头疼的问题。接下来,我就根据自身一些长期的工作如果你已到退休年龄,用20万补交养老险,每月领四千多,你愿意吗?如果用20万补交养老保险金,月领4000元。如果不补交呢?开多少退休金?我们如果用4000(元)12(月)48000元(年收入),480004192000元,将每年社保递增,粗略计癌症从一开始就已经决定一个人的命运,治和不治都一样,是真的吗?是假的!癌症病人的命运有三种结局治愈,带瘤生存,因癌症去世。这里面有很多变数,治和不治差别很大!我们下面举例说明,用证据说话一查出癌症及时,治愈!大部分早期癌症和一部分中晚期癌症可您觉得住养老院一个月多少钱可以接受?现在有养老院和老年公寓价格是不一样的。有钱肯定去老年公寓,租一个标准间两个人住的,你一个月吃住可能是要3000左右吧,这个当然条件好,一天三顿饭有人伺候你,过集体生活舒服。如果没钱
山东人当年为何要闯关东,而不是闯东南?这与日本人有关如果您喜欢这篇作品,欢迎点击右上方关注。感谢您的鼓励与支持,希望能给您带来舒适的阅读体验。中国地域辽阔人口众多,因为历史原因,我国曾经有过不少大规模的人口迁徙活动。其规模之大,常常1949年反动会道门曹县王河村暴乱,舅舅牺牲时不满17岁我从小对舅舅没有什么印象,因为他很早就牺牲了,家里人也很少提起他。有一年,我跟父亲去县城,在一个街道上碰到了一个走路歪脖子的男人,大约五六十岁,我还在猜疑这个人怎么歪脖子走路。父亲42年,鬼子重兵扫荡,八路隐蔽玉米地,队长红袖箍被敌望远镜发现1926年农历三月十五日,老八路孟令琛出生在山东省长清县孝里镇黄花园村。38年秋后,八路军开进冀鲁豫边区,积极开展敌后游击战争,小孟跟随父亲的情报站,给八路军秘密传送情报。42年8浅谈五代十国(三)两个盐贩王仙芝和黄巢的创业奋斗史(3)两支起义军在两个方向上辗转多地,几个月间大仗小仗打了不少,各有胜负。朝廷也无力投入更多的人和资源来分开作战,毕竟都是钱,留着自己享乐,不香吗?逐个击破才符合当下的现实状况,朝廷决定苏格兰也要独立?英国这回头疼了在大部分人的印象中,英国的政局一直相对比较稳定,近些年没有出现过大的分裂情况,但自2014年以来,英国治下的苏格兰却屡次要求独立,这是怎么回事呢?首先我们来简单看看苏格兰与英格兰之16世纪爱尔兰英属直辖区兴衰折射了什么?从今天的英国地图上就能看出,有一块领土没有出现在英国的国旗上,这就是北爱尔兰。把英国国旗拆开,实际上折射的是当个重要部分,分别是主体部分英格兰,北方的苏格兰以及威尔士。不过后来加入胡风一度猎,准乎礼法,奏响盛唐之时代强音引言礼乐制度起源于周朝,以礼法并用的方式,将礼乐制度与法律法规相结合,与宗法制度相辅相成,从而加强中央集权的权威,达到稳定社会巩固统治的目的。而婚姻则是其中的重要内容,它不仅局限于宙斯与莎士比亚浪漫之约,相隔千年浓情依旧,神话与现实深情羁绊引言古希腊文化是西方文明的发源地,而希腊神话也随着希腊这个民族逐步走向了西方世界,并进入文明时代,因此对西方世界产生了深刻影响。希腊神话以故事的形式出现在大众的视野中,表现了希腊人历史上的韩寿偷的是什么香,直到法门寺地宫被打开,谜团才被揭开在日常生活中,我们经常会引用到成语,但在众多成语中,有些成语是对历史人物事迹的总结,蕴含丰富的人生启示,有句成句叫韩寿偷香,但各位读者,你们知道韩寿偷的是什么香吗?直到法门寺地宫被一个亡国之君可以有多惨伊沛霞著宋徽宗札记一个亡国之君可能有多悲惨屈辱,宋徽宗(及其子钦宗)提供了生动的案例。公元1127年,南宋高宗建炎元年,三月,女真人在洗劫开封近四个月后准备北返。二十三日,女真人宣布,他们索要的金银古代男人标配三妻四妾,三妻是指哪三妻?四妾又是什么?很久以前,男女地位差别很大。一个男人可以同时拥有许多女人,并为他生儿育女。久而久之,人们称此为三妻四妾。那么你指的是哪三个老婆呢?什么是四妾?01所谓三妻制在很久以前,男女之间的婚