新型肺炎疫情防控战火热进行中,除了逆行的医护人员外,AI 领域也力求为疫情防控工作贡献自己的一份力量。
作为一家有情怀、有担当的企业,在祖国正面临危机的时刻,南栖仙策有义务、更有能力为抗「疫」贡献一份自己的力量。
南栖仙策自主研发的 Universe 平台,搭建数据驱动疫情传播模型,区别于传统流行病传播模型,可以融入更多的专业模型,结合 AI 和疫情传播专业领域知识,通过对病情传播进行推演,可有助于疫情防控决策。在流行病领域,SIR 模型是常用的流行病传播模型。SIR 模型关注三类人群数量,即易感染人数、感染人数、康复人数,如图 1 所示,SIR 模型主要通过两个参数来调整三类人群的转换,从而模拟疾病的传播感染和康复过程。显然,发明于 1760 年的 SIR 模型过于抽象,很多实际影响传染过程的因素难以在模型中体现,其中一个重要因素就是大多数传染病都有潜伏期。SEIR 模型在 SIR 模型的基础上增加了潜伏人群,如图 2 所示,SEIR 具有三个待定参数。SEIR 模型仍然过于简化,并且由于模型基于动力学方程演算,得到的结果往往过于理想,例如从图 3 的示例结果可以看到,所有人群的曲线都非常光滑,与真实数据只能进行大致的匹配。图 3. SIR 和 SEIR 模型的推演结果示例(图片来源:知乎用户 qwe14789cn)是否能设计更加复杂的传染病传播模型,既可以符合人们对疾病传播的理解,又可以更好的描述多种影响因素?要达到这样的目的,需要模型能够融入人类知识、又要能够通过拟合数据来确定模型的多个参数,目前的 AI 模型很难同时具备这两点。AI 决策新星公司南栖仙策的 Universe 平台提供了这样的能力。下面我们来看看如何在 Universe 中构建更加复杂的传染病传播模型。图 4 显示了 Universe 的初始界面。在上方是数据领域,默认有参数模块用于设置待确定的参数,和变量模块用于设定计算过程中的变量。在下方是机器学习领域,默认放置了损失函数模块用于评判模型结果的好坏,以及机器学习算法模块用于选择学习方法,系统提供了默认的通用学习方法,一般情况无需修改。其余界面空间用于搭建模型,系统默认提供了初始化函数。对于模型,我们可以做这样的假定(注:该假定缺乏专家的支持,不具备权威性,不应被加以任何应用):从某个起点开始,出现了第 0 位感染者;感染者具有潜伏期,这里我们假设最大潜伏期是 20 天(没有任何依据),并且我们假设潜伏期具备感染力;潜伏期感染者有一定的机率发病(根据媒体报道,有相当数量没有任何症状的感染者),发病的患者有一定机率在医院被确诊(据报道有部分患者未去医院);在医院的患者得到了很好的隔离,不再具备传染能力。以上假设当然仍然是非常简化的,这里我们仅仅根据这样的假设,演示如何搭建模型。我们在 Universe 中增加传染函数 FInfection、确诊函数 FConfirmation、潜伏期死亡函数 FDeath,和病程发展函数 FProgress。由于我们假设确诊患者已隔离,其中的死亡人数对于疾病传播没有影响,故略去。另外,我们在数据区域加入某地区真实的累计确诊数据 Records。形成的模型我们命名为「潜伏期发展」模型,结构如图 5 所示。下面我们说明每一个模块的实现。模块内的编程均为标准的 Python 语言。在初始化函数 Init function 中,我们主要处理初始感染人数。注意到我们假设有最多 20 天的潜伏期,那么在观察到第一个确诊病人时,潜伏期数组就应该填有前 20 天的感染潜伏人数。然而潜伏人数是未知数,因此我们设定一个待确定参数 PInit,表示第一个确诊病人 20 天前的潜伏感染人数。因此 Init function 中的代码仅仅为系统将只执行一次 Init function,然后迭代执行整个模型 UT 次。我们设计 FProgress 为病情进展函数,即把每一天的潜伏期人数往后挪动一天。然后在 FInfection 计算一天的感染人数。设定参数有人均每日接触人数 PContactNum 和接触平均传染率 PInfeRatio。FConfirmation 函数计算确诊人数。假设感染 5 天后有概率 PCon 被确诊,并且确诊后移出潜伏队列。FDeath 函数计算死亡人数,设定参数 PDeath 为日均死亡率。Loss function 函数计算模型误差。这里我们考虑模型得到的确诊人数与实际确诊人数的误差。最后在 Parameters 模块列出待确定参数,PInit、PContactNum、PInfeRatio、PCon、PDeath 并并设定合理取值范围。通过以上步骤,就完成了模型的构建,并留出了 5 个待确定参数。启动系统的训练过程,片刻即可得出最符合数据的参数值。以新加坡为例,我们将新闻公开报道的新加坡感染者数据输入,学习得到模型参数。图 6 显示了模型对比真实数据的结果,可以看到模型给出的数据已经捕捉到了真实数据的发展趋势。图 6. 实际数据与模型运行结果。左:累计确诊人数。右图:日增确诊人数。学到的模型,自然可以在真实数据结束的日期之后继续推演未来的发展情况,同时还可以推演对疫情进行控制后的发展情况。这里,我们在四种情况下推演未来 60 天的传染走势:不加防控,或者在 2 月 15 日开始加强防控,分别控制人均接触 15 人、10 人、5 人,不同接触人数可以通过修改模型的 PContactNum 值实现。图 7 显示了在三种情况下的累计和日增确诊人数推演结果。可见,如果不加控制,未来 60 天感染人数将迅速增长,可能达到 5000 人,而当人均接触人数控制在 10 以下时,传染得以控制,确诊人数在 300 人内。图 7. 模型推演未来 60 天确诊人数发展情况。左:累计确诊人数。右图:日增确诊人数。在这次的疫情治理中,从体温测量到机器人配送,人工智能可以在多个方面发挥作用,同时国家也对人工智能行业提出了更大的期望。我们希望能在疫情防控上结合自身的人工智能产品为国家打赢这场不能输的防疫战役贡献自己的力量,我们研发的可编程决策平台 Universe 可以助力决策精准化,疫情防控的很多决策都关系到如何平衡经济发展和疫情控制,一旦决策错误,都会付出大量的代价,这就需要人工智能来辅助精准决策。本文提供的模型是非专业人士的构造的一个简单模型,在此模型的模拟的结果我们可以看到国家的防控政策对感染率产生了很大的影响,显然这是一个正确的决策,而且这个决策国家付出了很大的经济发展的代价,这就凸显了决策精准的重要性,必须要提升防控政策的准确度,避免防控不力或者过度防控,在什么时间点,多少省份,实施多严格的防控措施都是需要决策的,而这个显然不能在实际环境中试错。我们的平台就提供了一个「零试错」的环境来给出决策方案,Universe 平台可以结合其他行业的专业模型(病毒传播模型,人口流动模型,经济学模型等等),采用尽量多的数据快速的训练出一个新的模型,这个模型更加贴近实际的疫情传播,该模型可以助力提供防控措施的精准决策,使得疫情防控带来的影响更小,效果更大,兼顾了民生和经济。同样,这个平台上可以给出更多其他的决策模型,用于各行各业,让大家享受人工智能带来的便利。Universe 平台即将开放试用,详情请点击「阅读原文」查看。南栖仙策是南京大学人工智能创新研究院孵化的一家专注于智能决策的人工智能新锐公司,专注于为各行业客户提供智能决策策略训练、迁移等服务,帮助客户实现自主、智能的决策。
南栖仙策核心技术团队由首席科学家俞扬教授的带领,在相关技术领域特别是强化学习、智能对抗等方面处于全国领先,全球知名的地位。俞扬教授被评为国际「人工智能十大新星」,获亚太数据挖掘「青年成就奖」。