穿山甲是新型冠状病毒“二传手”

近日有研究认为,穿山甲可能是新型冠状病毒的潜在中间宿主。这项研究引发了学界一些争议和讨论。

对于广大受众来说,我们能从科学研究中得到什么启发?这项研究对于防控病毒有何启示?

美国斯克里普斯研究所免疫学家和计算生物学家克里斯蒂安·安德森表示,他比较了已公开的穿山甲携带病毒的基因序列,发现其与新型冠状病毒基因序列相似,期待更多的相关数据。

目前,Manifold 的开源版本提供了 npm 软件包版本,而对于 Jupyter Notebook 的绑定,则提供了一个 Python 包版本。要开始使用 Manifold,请按照 GitHub Repo 中的文档进行操作并在本地安装,或者查看 Uber 的演示网站。

结论是,中华菊头蝠被认为是SARS病毒的自然宿主,也就是病毒的源头。

3日凌晨,尚未休息的昂格丽玛对记者说,“这段时间随着新冠肺炎疫情确诊病例数的逐日下降,我们的业余生活中也多了瑜伽、音乐等项目,不过在治疗中依然不敢马虎大意。”

针对野生和养殖果子狸的大范围流行病学调查也显示,大部分地区的果子狸并没有感染SARS病毒。

春天是象征希望的季节

与赵文玲的“山珍海味”不同,昂格丽玛这位来自内蒙古第四医院的草原“小姐姐”认为,“运动”很有效。

有专家认为,如果蝙蝠是新型冠状病毒自然宿主的结论成立,蝙蝠冠状病毒与人类新型冠状病毒的差异意味着,还存在一个或多个中间宿主。

与 Python 相比,处理数据密集计算对 JavaScript 计算引擎来说是个挑战。为了让开发者看到有意义的模式,需要大约计算 1 万个数据记录(「行」)。除了其他操作,KL 发散的聚类和计算需要在前端进行,这可能会造成速度瓶颈。根据测试结果,开发者在更新性能比较视图中的簇数量时,使用纯 JavaScript 实现的计算可能需要 10 多秒时间。

Manifold 利用可视化分析技术让机器学习开发者能够超越总体指标检测模型无法精准预测的数据子集;它还通过揭示性能表现较好和较差数据子集之间的特征分布差异,来说明模型性能表现不佳的潜在原因。

用户可通过 2 种方式使用 Manifold,即:通过 Python 包或 npm 包(通过网页)。由于代码可重用性和模块化对两个工作流的共存至关重要,因此,Python 和 JavaScript 代码库也被组织成了 3 个不同的功能模块:

因为有太多的点,无法清楚地识别模式;需要通过抽离或减少点来揭示模式; 难以确定哪些特征对于 y 轴最有价值,以便识别出相关模式; 随着模型数量的增加,不同模型之间的比较变得更难;

“许多新冠肺炎患者刚入院时,普遍压力大、食欲差,为了让患者增强食欲,我们在防护服上画这些图案,并声情并茂讲解这些食物的吃法,起到很大作用。”赵文玲兴奋地说。

而特征属性视图,由两套特征分布直方图构成,用于比较两个选定数据段的特征。

据介绍,1月30日,为及时满足武汉“雷神山医院”近千台施工机械的润滑需要,长城润滑油华中分公司组织党员骨干自驾车辆前往“雷神山”医院建设基地,将捐赠的6个品种1000桶润滑油产品顺利送达。2月2日,当接到“雷神山”施工项目作业三一重工项目部润滑油品短缺的消息,长城润滑油再次迅速响应,在2小时内组织了一支由销售和技术服务人员组成的9人突击队奔赴现场,为正在施工的起重机等设备提供免费润滑油品加注服务。

中间宿主可以说是病毒从自然宿主传播到人类过程中的“二传手”;

结论:虽然病毒传播路径还未彻底明晰,但现有证据显示,导致新冠肺炎疫情和SARS疫情的病毒都很可能来自野生动物。

“扶危渡厄,守望相助。”昂格丽玛表示,“这是我这段时间最大的感受,如果需要补充的话,还有四个字,‘不问归期’。”

参与研究的华南农业大学教授沈永义对媒体表示,这批穿山甲不是来自广东,也不是来自某特定种群,是团队从某些特定机构获取的,不代表自然界中绝大多数的穿山甲携带冠状病毒。

赵文玲所说的“山珍海味”,来自于内蒙古大草原的特色食品——奶豆腐、牛肉干、手把肉、烤羊腿、对夹等。

“当地患者在每次查房结束都会说‘谢谢医生’。每次听到这句话时,心头就会为之一暖,特别感动。”

通用二进制分类和回归模型调试的模型无关性支持。开发者将能够分析并比较各种算法类型的模型,使他们能够辨别不同数据切片的性能差异。 对表格特征输入的可视化支持,包括数字、类别和地理空间特征类型。 利用每个数据切片的特征值分布信息,用户可以更好地了解某些性能问题的潜在原因,例如,模型的预测损失与其数据点的地理位置和分布之间是否存在相关性。

通过组件化并将其包含在 npm 包中,Manifold 具有更好的灵活性,既可以用作独立服务,也可以集成到其他机器学习系统(如 Michelangelo)中。

SARS病毒源头究竟在哪儿?

模型无关性; 模型性能评估的可视化分析,超越了模型性能汇总统计,以此来提高准确性; 将可视化分析系统和标准模型训练计算分开的能力,帮助更快和更灵活进行模型开发;

患者的特色饭“山珍海味”

“我们为患者搭配的特色饭‘山珍海味’对这里的患者很管用,已经收到好多出院患者的感谢信了。”

与 Jupyter Notebook 集成。Manifold 接受作为 Pandas DataFrame 对象的数据输入,并在 Jupyter 中呈现该数据的可视化效果。由于 Jupyter Notebook 是数据科学家和机器学习工程师使用最广泛的数据科学平台之一,因此这种集成让用户得以能够在不中断正常工作流的情况下分析他们的模型。

传统上,数据科学家在开发模型时,他们使用汇总分数,例如:对数损失、曲线下面积(AUC)和平均绝对误差(MAE)来评估每个候选模型。尽管这些指标提供了有关模型执行情况的直观数据,但它们并未传达有关模型执行不佳的原因以及如何改善模型性能的大量信息。因而,模型构建者倾向于依赖反复试验和误差来决定如何改善模型。

2002年至2003年出现SARS疫情后,研究人员从野生动物市场上果子狸体内检测到的病毒与人群中流行的病毒全基因组序列一致性达99.8%,表明果子狸将病毒传播给人类。

由于生成 Manifold 可视化涉及一些密集的数值计算(聚类、KL 发散),计算性能不足会拖慢用户界面的渲染,影响到整个用户体验。因此,Manifold 使用了 Python 并利用其 DataFrame 处理和机器学习库(如 Pandas 和 Scikit-Learn)实现所有重量级的计算。

岭南现代农业科学与技术广东省实验室与华南农业大学合作的团队,通过分析1000多份宏基因组数据,认为穿山甲是新型冠状病毒的潜在中间宿主。

新冠肺炎疫情暴发以来,研究人员加紧对病毒溯源。

小编再次强调,野生动物可能携带大量病毒。

因此,果子狸被认为参与病毒从自然宿主到人类传播过程,是SARS病毒的中间宿主。

此外,它还可以显示对于每一个数据子集,一些候选模型将有怎样的预测准确性差异,从而为一些高级处理(如模型集成)提供数据根据。

这项研究尚未经同行评议,有其他研究者提出了不少疑问。比如1000份宏基因组样本是否具有代表性?β属冠状病毒包含多种类型,部分穿山甲样品中发现的β属冠状病毒是SARS冠状病毒、新型冠状病毒还是其他病毒?

为了让模型迭代过程更加可操作,并能够提供更多的信息,Manifold 应运而生,它是一个用于机器学习性能诊断和模型调试的可视化工具。Manifold 是一个独立的 Web 工具和 Python 包,它有 3 个主要优势:

也有学者认为穿山甲有参与新型冠状病毒传播的潜力。

一个著名案例就是果子狸被认为是严重急性呼吸综合征(SARS)冠状病毒中间宿主。

Manifold 界面包括两个部分,分别是性能比较视图和特征属性视图。其中,性能比较视图,由带有小提琴编码的多路图组成,用于比较模型和数据段之间的性能;

石正丽团队近日在英国《自然》杂志上报告说,新型冠状病毒与来源于蝙蝠样本的一株冠状病毒(简称TG13)基因相似,两种病毒序列一致性高达96%。这一结果表明,蝙蝠可能是新型冠状病毒在自然界的宿主。

“扶危渡厄,守望相助”

历经十多年调查,中国科学院武汉病毒研究所石正丽团队2017年在美国《科学公共图书馆·病原体》杂志上报告,在云南省一个偏远洞穴中发现携带SARS样冠状病毒的中华菊头蝠种群,从它们体内所含病毒毒株中找到人类SARS病毒的全部基因组组分,这些毒株基因频繁重组可能形成了人群中流行的病毒。

随着机器学习越来越成为相关业务不可分割的部分,提供使模型更透明且易于理解工具就显得更加重要,这一工具可以使得开发者能自信自如地使用机器学习生成的预测。但考虑到机器学习模型本质上是不透明的复杂性,则需要通过新兴的机器学习可视化来解决这个问题。

识别影响模型性能的数据段,以及这些数据如何影响模型的性能; 评估这些数据段的聚合特征,以便识别某些模型行为背后的原因。

谈起这段特殊的经历,刘轶夫激动地说:“春天是象征希望的季节,我们是一群带着信念与爱而来的‘战士’,定不负众望,全力以赴做好救治工作,待花开之时,平安回家!”(完)

研究人员警示,要避免病毒从野生动物传播给人,就应该尊重自然,保护野生生物栖息地,不要非法捕捉和买卖野生动物。

Manifold 通过以下三个步骤帮助用户发现模型需要改进的区域:

雷锋网 AI 开发者   雷锋网(公众号:雷锋网)

基本相似的数据点不会重复出现在图表上,只突出显示最主要的高层差异; 因为减少了图表中各种形状的数量,所以可以在同一图表中绘制不同的模型,以更好地加以比较;

在 Manifold 的第一个开源版本中,Uber 添加了各种特性,使模型调试比内部迭代更容易。版本 1 的特性包括:

自然宿主可以理解为病毒“源头”。

目前,中国石化长城润滑油全力落实 “严格落实复工前疫情防控、严格复工后疫情管控、严格复工安全生产条件审查、慎重开展工程及检维修施工作业”四项相关措施。通过加强防疫工作执行力度、规范生产工作管理、制定相关情况处置预案,有序引导各单位安全、顺利、稳妥复工。

开发者希望通过可视化原型显示了数据空间中的模型性能,根据其性能(x 轴)和其中一个特征的值(y 轴)定位每个数据点,但该方法存在 3 个主要挑战:

35岁的刘轶夫是内蒙古林业总医院医生,到湖北荆门沙洋县支援。他说:“当地政府很暖心,给我们开小灶,吃牛羊肉,每天房间里都送来最新鲜的水果。”

以蝙蝠为例,它是百余种病毒的自然宿主,可能携带埃博拉病毒、马尔堡病毒、狂犬病毒、亨德拉病毒、尼帕病毒等可能感染人类的病毒。由于蝙蝠具有特殊免疫系统,它虽携带病毒,自己却极少发病。

因为大多数用于机器学习的可视化工具需要额外的计算处理,超过了模型训练后端具备的计算处理能力,所以在把它们与其它机器学习系统集成在一起可能很复杂且不可扩展。Manifold 针对这种情况提出了解决方案,通过在可视化分析系统中分开处理训练模型所需的计算,可以进行更快的迭代,并得到了更简洁直观的数据接口。

为了提前解决这些问题,开发者实现了一些聚合 / 简化操作;即:不单独表示每个数据点,而是把它们组成子集。在开发中,无需使用 y 轴来编码特定特征的值,而是使用了表示不同数据子集的分类轴。该方法演变成了最终的性能图表,并具有两个显著的优点:

因此,我们把 TensorFlow.js 作为线性代数实用库来实现我们的 k 均值聚类和 KL 发散计算。因为这种类型的计算可以被矢量化,从而可以利用 WebGL 加速,所以更新同样数量的簇的任务可以在不到 1 秒的时间里完成,超过原来性能的 100 倍。

穿山甲是否为其中之一?

首先科普两个概念——病毒中间宿主和自然宿主。

1978年出生的赵文玲,是内蒙古赤峰市医院呼吸与危重症科副主任医师,也是内蒙古首批支援湖北医疗队成员之一。

3月3日下午,身在湖北荆门京山市的赵文玲声音爽朗、亲切。她说:“上午,刚对两名确诊新冠肺炎儿童进行了‘心理疏导’,孩子们看到防护服上的小猪佩奇,很高兴。”

2003年5月25日,一只果子狸突然出现在武汉新洲城关街头,随后被放归山林。新华社发

而在工具的「性能比较」视图中显示模式的关键,在于把测试数据集分成子集。在 Manifold 中,子集是基于一个或多个性能列的聚类算法自动生成的,于每个模型,具有相似性能的数据被分到同一个组中(因为该算法确保模型 X 的性能对于子集 Y 中不同的数据点是一致的)。下图则说明了这个过程:

该团队分析的穿山甲样品中β属冠状病毒(新型冠状病毒属于β属冠状病毒)的阳性率为70%,从宏基因组拼接出来的穿山甲病毒序列与目前感染人的毒株序列相似度达99%。

2014年10月2日,穿山甲在新加坡夜间动物园亮相。新华社发

同时,借助 Manifold 的设计,开发者也颠覆了传统机器学习模型的可视化,无需检查模型,而是直接通过以下方式检查各个数据点:

为了应对这个挑战,Manifold 在设计之初则考虑到了机器学习模型服务,并从分类和回归模型开始入手;这也使得该工具可以通过揭示数据子集之间的特征分布差异为机器学习模型开发黑盒提供更高的透明度。

雷锋网原创文章,。详情见转载须知。

但是,研究人员认为果子狸不是SARS病毒在自然界的源头,因为这种病毒同样能让果子狸生病,说明果子狸同病毒难以“和谐共存”。

数据转换器,一种将来自其他内部服务(如 Michelangelo)的数据格式转换为 Manifold 内部数据表示格式的功能; 计算引擎,一种负责运行聚类和其他数据密集计算的功能; 前端组件,Manifold 可视化分析系统(其 Python 包使用了 JavaScript 前端组件的内置版本)的用户界面。

以前的机器学习可视化方法通常包括:直接可视化内部结构或模型参数和受底层算法约束的设计,但这可能导致无法扩展到可以处理更大范围内的通用用例。

英国《自然》杂志网站援引格拉斯哥大学计算病毒学家戴维·罗伯逊的话说,穿山甲可能是中间宿主的“候选者”,研究人员发现了如此接近的序列,是非常让人感兴趣的。

基于每个实例预测损失和其他特征值的交互式数据切片和性能比较。 用户将能够根据预测损失、基准真相(Ground Truth)或其他感兴趣的特征对数据进行切片和查询。这个特性将使用户能够通过通用的数据切片逻辑快速验证或拒绝其假设。

新冠肺炎疫情暴发以来,中国北疆内蒙古派出847名“白衣战士”驰援湖北荆门等地。在过去一个多月中,他们最大的感受是,已克服最初恐慌,正一点点看到曙光。

但由于依赖 Python 后端会降低了 Manifold 的灵活性,难以实现组件化,这也成了在将 Manifold 和企业机器学习生态系统集成时的一个缺点。因此,除了 Python 计算外,Manifold 用 GPU 加速器添加了第 2 个用户工作流,该 GPU 加速器是用更加灵活的 JavaScript 编写而得。下图展示了两个工作流如何与 Manifold 集成的过程:

比较 首先,给定一个具有一个或多个机器学习模型输出的数据集,Manifold 比较并突出显示模型或数据子集之间的性能差异。 切片 该步骤允许用户根据模型性能选择感兴趣的数据子集以便进行进一步的检查。 属性 然后,Manifold 突出显示所选数据子集之间的特征分布差异,帮助用户找到性能结果背后的原因。