首页 > 其他分享 >飞桨科学计算线下交流会|基于PINN的传播动力学研究

飞桨科学计算线下交流会|基于PINN的传播动力学研究

时间:2023-08-07 14:33:35浏览次数:336  
标签:PINN 科学计算 动力学 信息 传播 飞桨 拟合 方法

分享者:中国传媒大学大数据分析与挖掘实验室博士生张志强

众所周知,我们处于网络信息大爆炸的时代。现代互联网产生了大量的舆情信息,其中很多信息并不是正常的信息,是因为在网络中存在着部分恶意造谣者。国家非常重视舆情治理,它与整个国家的安全息息相关。网络中许多貌似无用的热点话题,也与我们的日常生活具有紧密关联,引起大众的广泛关注,在某种意义上也会影响到整个社会生活的方方面面。

飞桨科学计算线下交流会|基于PINN的传播动力学研究_科学计算

部分具有网络舆情监测或舆情治理功能的平台

在整个信息传播过程中,引起人们关注的话题,往往是遵循某一规律进行传播的。此处我重点关注网络中微博的信息传播情况。这里借用了殷复莲教授在2020年出版的《网络信息传播建模与分析》一书,书中将网络信息传播的整个过程,抽象为一种单信息传播的模式。例如在微博中有一个大V发布了一条信息,随后会产生很多的评论数据以及累计转发量数据。

飞桨科学计算线下交流会|基于PINN的传播动力学研究_飞桨_02

在此背景之下,可以将整个网络信息传播抽象成如图所示形式。

这种形式仿造了医学领域传染病动力学的研究基础,把网民划分为四类群体:第一类是易受影响的群体,他们没有接触到这些信息;第二类是已经接触到信息的群体;在这个群体之中会有一部分人进行转发,这类人群被称之为转发者。转发之后,一部分人因已接触过这些信息而失去兴趣,因而变成免疫者。

单信息传播SFI动力学模型

飞桨科学计算线下交流会|基于PINN的传播动力学研究_飞桨_03

图 单信息传播SFI动力学模型

简单将这一单信息传播过程进行抽象的建模,可以用SFI动力学模型表示。模型中有三个主要的群体,即S、F和I,分别代表易受影响人群、传播人群和信息免疫人群。

这一模型与传染病动力学模型的不同之处在于:传染病领域是可以实时获得各个群体的状态,例如某个个体处于感染或免疫的状态。但在信息传播领域,往往只能获得已经接收到信息群体的数据。例如可以将微博中的转发量作为已接受到信息的群体数量。难点在于获得信息免疫人群的数据。所以在此引入新的变量C代表累积传播人群。以微博为例,可以用某一条微博信息的累计转发量来代表这个群体。其中存在一些参数,比如说贝塔、阿尔法、P,此处类似传染病动力学模型,它们各有特殊含义。借此完成对整个单信息传播的动力学建模,图3为模型的基本的微分方程形式。引入累计转发量,可以通过爬虫的方法获得某一条新闻或舆论的累计转发人群,或是接触到信息的人群的具体情况。

嵌入物理神经网络

我的方法是将PINN方法引入到信息传播过程,关注在时间推进的情境下,各个群体的数量变化。此处的输入数据仅为时间,输入数据也可以包含一些其他变量,如距离,但并非现实生活中的物理距离,它可能是网络中的两个节点或网络社交的距离,如好友关系。通过某种方式递出距离,同时也需要获得各个群体的初值。

通过PINN方法,可以对整个单信息传播的过程进行建模。建模过程中主要想获得舆论传播某条信息的未来发展趋势,这一行为对于探索传播规律、舆情信息的监控和治理等大有裨益。

飞桨科学计算线下交流会|基于PINN的传播动力学研究_科学计算_04


基于Paddle的实验结果

飞桨科学计算线下交流会|基于PINN的传播动力学研究_科学计算_05

图 基于经典最小二乘法、蒙特卡洛采样法的拟合效果

此类方法非常依赖于真实数据的情况。同时也对各个状态的初值非常敏感。

飞桨科学计算线下交流会|基于PINN的传播动力学研究_飞桨_06

图 基于飞桨平台,使用PINN的方法拟合单信息传播模型的效果

基于PINN的方法,首先其整体拟合效果往往优于传统方法。其次,使用PINN的方法可以加入一些其他变量。在尝试过程中,我加入了部分社交距离的变量,验证它相比于经典方法,做偏微分的拟合效果更突出。最后,这一方法对初值和边界并不敏感。无论传染病动力学还是信息传播动力学,初值和边界对整个结果的重要性不言而喻,很多情况下结果的偏差是不合理的初值和边界选择导致的。

此外,我也做了部分信息传播方面的其他研究:引入情感变量,将转发群体进行情感的分类,包含正面情感、负面情感或中性情感三种情况。

飞桨科学计算线下交流会|基于PINN的传播动力学研究_飞桨_07

基于传统方法的拟合情况,尤其是在舆论发展到快速传播阶段时,拟合效果并不理想。关于非常经典的谣言的两个阶段,一是谣言的传播阶段,二是辟谣信息的传播阶段,这类信息的传播结果,需要分阶段各自进行动力学的拟合,然而使用PINN的方法可以将整个过程进行建模。

总结与展望

1.使用PINN的方法在多个传播动力学模型上均可取得优于传统方法的拟合结果;

2.相比于纯数据驱动方法,结合动力学模型能够预测更长阶段且减少误差累积;

3.PINN方法在反问题求解上受初值或边界值影响不明显,拟合更加高效;

4.处理多输入问题(如偏微分方程),拟合参数同时获得各个状态值的输出,PINN方法更加高效;

5.在信息传播动力学问题中,除时间t外的自变量比较难确定,关于传播动力学中偏微分方程的拟合还有待实验验证。


标签:PINN,科学计算,动力学,信息,传播,飞桨,拟合,方法
From: https://blog.51cto.com/u_15512933/6993672

相关文章

  • 软件测试|Python科学计算神器numpy教程(二)
    前言上一篇文章我们介绍了numpy的安装和ndarray的部分知识,本篇文章我们来介绍一下numpy的数组的常用属性以及创建数组相关内容。数组常用属性ndarray.shapeshape属性的返回值一个由数组维度构成的元组,比如2行3列的二维数组可以表示为(2,3),该属性可以用来调整数组维度的......
  • 【Python】numpy_科学计算的基础库
    简介Numpy中的数组的存储效率和输入输出性能均优于Python中等价的基本数据结构Numpy是一个开源的Python的科学计算库,用于快速处理任意维度的数组。 Numpy支持常见的数组及矩阵的操作,对于同样的计算任务有着比Python更简洁的指令和更高效的算法。Numpy使用na......
  • 无涯教程-jQuery - Spinner组件函数
    WidgetSpinner函数可与JqueryUI中的窗口小部件一起使用。Spinner提供了一种从一组中选择一个值的快速方法。Spinner-语法$("#menu").selectmenu();Spinner-示例以下是显示Spinner用法的简单示例-<!doctypehtml><htmllang="en"><head><metacharset="......
  • 软件测试|Python科学计算神器numpy教程(十)
    numpy字符串处理简介NumPy是一个功能强大的Python库,主要用于科学计算和数据处理。除了处理数值数据外,NumPy还提供了一些强大的字符串处理功能。本文将介绍NumPy中常用的字符串处理函数,包括字符串拼接、切片、查找、替换等操作,展示NumPy在字符串处理方面的优势。字符串拼接NumPy提供......
  • 软件测试|Python科学计算神器numpy教程(十一)
    NumPy数学函数:强大的数值计算工具简介NumPy是Python中广受欢迎的科学计算库,提供了丰富的数学函数,可用于处理数组和矩阵中的数值数据。这些数学函数包含了许多常见的数学运算,如三角函数、指数函数、对数函数、统计函数等。本文将介绍NumPy中一些常用的数学函数及其用法,展示NumPy在数......
  • 视觉套件专项活动!与飞桨技术专家一起提升技术实力,更多荣誉奖励等你领取
    作为中国最早开源的深度学习框架,飞桨深度践行开源理念,开放拥抱社区,重视生态构建,与开发者和生态伙伴共成长,已成为国内综合竞争力第一的产业级深度学习平台。截至目前,飞桨已凝聚750万名开发者。在飞桨套件的建设中,除了来自百度的工程师外,还汇聚了一批热爱飞桨、热爱开源的开发者,他们......
  • 视频直播源码,Android自定义Spinner样式
    视频直播源码,Android自定义Spinner样式设置Spinner的背景图,如下代码:   <Spinner          android:id="@+id/sp_gender"          android:layout_width="match_parent"          android:layout_height="mat......
  • 百度飞桨PP-YOLOE ONNX 在LabVIEW中的部署推理(含源码)
    目录前言一、什么是PP-YOLO二、环境搭建1、部署本项目时所用环境2、LabVIEW工具包下载及安装三、模型的获取与转化1、安装paddle2、安装依赖的库3、安装pycocotools4、导出onnx模型(1)导出推理模型(2)安装paddle2onnx(3)转换成onnx格式四、在LabVIEW实现PP-YOLOE的部署推理1、LabVIEW......
  • jQuery插件之jquery.spinner数字智能增减插件
    jQuery插件之jquery.spinner数字智能增减插件参考地址:http://www.helloweba.com/view-blog-282.html左右加减数字像京东提交订单时目前使用的是左右加减数字的效果,这个效果直接明了,操作简单。我们使用jquery.spinner.js插件实现左右加减数字,调用方法非常简单,请看演......
  • Scipy -- 科学计算库
    Scipy--科学计算库目录:文件输入/输出:scipy.io特殊函数:scipy.special线性代数运算:scipy.linalg插值:scipy.interpolate优化和拟合:scipy.optimize统计和随机数:scipy.stats数值积分:scipy.integrate快速傅里叶变换:scipy.fftpack信号处理:scipy.signal图像处理:sc......