首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Science China|用增强的联邦学习应对药物发现数据小和偏的困境

联邦学习代表了一种场景,即多个参与者可以集体训练一个模型而不共享原始数据,在充分利用来自不同来源的分布式数据的同时,不泄露数据的敏感信息 (如机密性和知识产权的数据) 。...用不同任务模拟跨数据孤岛的联邦学习过程 在本文的研究中,联合团队使用三个任务来模拟跨数据孤岛的联合学习过程:基于化学结构进行药物溶解度、激酶抑制活性和hERG心脏毒性的预测。...如表2所示,在5个独立的运行中,每5个epochs的本地训练性能中的模型更新,平均产生了最佳的预测性能。 表2 使用不同的Federated Averaging epochs的性能 ?...一般来说,在单个数据集上训练的子模型在他们自己的内部测试集上取得了较高的性能,但在其他测试集上的性能要低得多,表明这些子模型不能很好地泛化。...A,集中式模型是在单个参与者 (只有数据集F1、F2、F3和F4) ,或数据集F1/F2/F3/F4的联合/集合上训练的,而联邦学习模型是跨客户F1/F2/F3/F4训练的。

55040

Beyond Accuracy:Behavioral Testing of NLP Models with Checklist 论文阅读

在一个另外的用户案例中,CHECKLIST 的使用者生成了超过两倍的测试集(每个测试包含一个数量级以上的例子),并且相比于那些不使用 CHECKLIST 的用户,他们发现了几乎三倍的 bug 2 CHECKLIST...从概念上讲,用户通过在矩阵中填写单元格来 "检查" 模型,每个单元格潜藏多个测试集。本节我们更多的了解行(功能)和列(测试类型)的细节,以及如何填写单元格。...虽然测试单个组件在软件工程中很常见,但是现在流行的 NLP 模型很少一次构建一个组件。...,用户可以将其过滤成积极,消极和中性的填充列表,然后在多个测试中重复使用(图 2)。...除了模板特性和掩蔽语言模型的建议,它还包含各种可视化,用于编写测试期望值(例如单调性)和扰动的抽象,保存 / 共享测试以及测试套件,以便可以在不同的模型和不同的团队中重复使用测试,以及通用扰动,例如字符交换

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JUnit 5 单元测试教程

    JUnit5 在软件开发过程中,我们通常都需要测试自己的代码运行是否正常,可能对一个函数进行简单测试,也可能是多个功能的组合测试。不管使用哪种方式,都是为了更好的测试我们的代码是否存在逻辑缺陷。...多个单元测试组合测试,可以确保我们的程序符合预期。JUnit 单元测试可以在开发阶段发现问题,让我们可以提前修复代码,因此十分重要。...在 idea 中运行可以到的错误日志,提示预期是 dog,实际是 cat org.opentest4j.AssertionFailedError: Expected :cat Actual :dog...JUnit 测试通过 @BeforeAll 使用 @BeforeAll 可以在单元测试前初始化部分信息,@BeforeAll 只能使用在静态方法上,被注解的方法会在测试开始前运行一次。...} } 在 idea 中运行后,可以看到配置的中文名称。

    1.1K20

    一文简述如何使用嵌套交叉验证方法处理时序数据

    具体来说,我们解决了以下问题: 1)在不造成数据泄露的情况下,对时序数据进行分割;2)在独立测试集上使用嵌套交叉验证得到误差的无偏估计;3)对包含多个时序的数据集进行交叉验证。 ?...本文主要针对缺乏如何对包含多个时间序列的数据使用交叉验证的在线信息。 本文有助于任何拥有时间序列数据,尤其是多个独立的时间序列数据的人。...多时序嵌套交叉验证 现在有两种分割单个时间序列的方法,接下来我们将讨论如何处理具有多个不同时间序列的数据集。...现在,测试集和验证集仅包含来自一个参与者(例如参与者 A)的数据,并且数据集中所有其他参与者的所有数据都被允许存在于训练集中。图 5 描述了这种方法是如何适用于群体知情的日前向链嵌套交叉验证的。...该图显示,参与者 A 第 18 天的数据是测试集(红色),之前三天是验证集(黄色),训练集(绿色)包含参与者 A 的所有先前数据以及其他参与者(本例中为 B、C、D 和 E)的所有数据。

    1.4K30

    教程 | 一文简述如何使用嵌套交叉验证方法处理时序数据

    具体来说,我们解决了以下问题: 1)在不造成数据泄露的情况下,对时序数据进行分割;2)在独立测试集上使用嵌套交叉验证得到误差的无偏估计;3)对包含多个时序的数据集进行交叉验证。 ?...本文主要针对缺乏如何对包含多个时间序列的数据使用交叉验证的在线信息。 本文有助于任何拥有时间序列数据,尤其是多个独立的时间序列数据的人。...多时序嵌套交叉验证 现在有两种分割单个时间序列的方法,接下来我们将讨论如何处理具有多个不同时间序列的数据集。...现在,测试集和验证集仅包含来自一个参与者(例如参与者 A)的数据,并且数据集中所有其他参与者的所有数据都被允许存在于训练集中。图 5 描述了这种方法是如何适用于群体知情的日前向链嵌套交叉验证的。...该图显示,参与者 A 第 18 天的数据是测试集(红色),之前三天是验证集(黄色),训练集(绿色)包含参与者 A 的所有先前数据以及其他参与者(本例中为 B、C、D 和 E)的所有数据。

    1.1K30

    单体和微服务的流水线有哪些不同?

    它被一组松散耦合的服务替代,这些服务在运行时通过API连接,在容器、节点和pod中运行。微服务被跨团队重用,这增加了对改进组织(域驱动设计)、协作、通信和可见性的需求。...微服务流水线中最大的变化是让多个应用程序团队在生命周期中独立地移动使用单个微服务。同样,人们必须停止思考“应用”,而是思考“功能”,以充分理解即将到来的转变。...版本控制 单体: 跟踪源代码内容中的更改。分支和合并更新允许多个开发人员处理单个文件。...它自动执行开发、测试和生产之间的工作流过程,协调外部工具来完成工作。持续交付要求生命周期过程中的所有参与者以正确的顺序执行,并集中他们的日志。...CD工具将需要包含模板工作流的功能,允许将共享模板中的修复应用于所有子工作流。管理数百个单独的工作流是不实际的。此外,插件需要被封装起来,并与CD工具的版本解耦。

    1.3K20

    使用 .NET CLI 构建项目脚手架

    前言 在微服务场景中,开发人员分配到不同的小组,系统会拆分为很多个微服务,有一点是,每个项目都需要单元测试,接口文档,WebAPI接口等,创建新项目这些都是重复的工作,而且还要保证各个项目结构的大体一致...简介 NET 命令行接口 (CLI) 工具是用于开发、生成、运行和发布 .NET 应用程序的跨平台工具链。...接下来,我会介绍如何构建自定义的项目模板。...你可能很熟悉在.NET 中对单个项目进行打包,比如类库,可以在VS中直接对项目使用右键打包,也可以使用dotnet pack命令,不一样的是,我们需要打包的是整个项目结构,而不是单个项目。...安装并使用 在终端中运行 dotnet new --install Dy.Template 命令安装,安装成功后,应该可以看到下边的输出,里边包含了我们的自定义模板 运行 dotnet new Dy.Template

    69930

    DCP:一款用于弥散磁共振成像连接组学的工具箱

    MATLAB用于设计GUI,Docker用于打包和运行软件。Docker 的使用使 DCP 成为跨平台的工具箱。...然后,使用掩模从共注册到 b0 图像空间的单个结构图像中删除头骨。使用 SPM 中的归一化工具箱将共同注册到 b0 图像空间的单个结构图像映射到 ICBM152 模板中,从而生成非线性变换矩阵T。...2.3 使用DCP测试测试结构网络指标的重测可靠性2.3.1 被试本实验的数据选自 HCP,包括 43 名年龄在 22 至 35 岁之间的健康受试者(30 名女性)。...最后,将在指定路径中生成网络分析的输出文件夹,其中包含使用特定参数构造的每个网络矩阵的每个文件夹。在文件夹中,每个网络属性都有一个 MATLAB 文件,其中包含所有主题的指标。...为了研究DCP处理图像数据的效率,我们基于BABRI和HCP数据集进行了一些基线运行时测试。记录了为不同数量的受试者构建结构网络的时间成本。

    19010

    推荐:微服务入坑详细指南

    2.4 引入分库分表中间件后面临的问题 跨库操作 在关系型数据库中,多张表之间往往存在关联,我们在开发过程中需要使用JOIN操作进行多表连接。...业务系统之所以使用分布式系统,主要原因有两个: 提升整体性能 当业务量猛增,单个服务器已经无法满足我们的业务需求的时候,就需要使用分布式系统,使用多个节点提供相同的功能,从而整体上提升系统的性能,这就是使用分布式系统的第一个原因...服务部署 当我们完成业务代码的开发后,就需要进入部署阶段。在部署过程中,我们将会引入持续集成、持续交付、持续部署,并且阐述如何在微服务中使用他们。...所以如果在项目建设初期直接使用微服务架构,那么服务边界频繁地调整会极大增加系统开发的复杂度,你要知道,在多个系统之间调整边界比在单个系统的多个模块之间调整边界的成本要高很多。...我们可以把镜像理解成一个小型操作系统,这个操作系统中包含了系统运行所需的所有依赖,并将系统也部署在这个“操作系统”中。

    99950

    谁是最好的WebRTC SFU?

    如果你计划在WebRTC中有多个参与者,那么最终可能会使用选择性转发单元(SFU)。...测试套件 在与谷歌和其他许多公司的合作下,我们开发了KITE,这是一个测试引擎,它可以让我们轻松地支持各种客户端——浏览器和跨移动或桌面的本机客户端——以及各种测试场景。...它被用来测试WebRTC的实现,每天都在不同的浏览器上运行。 选择测试客户端 负载测试通常使用单个客户机来控制客户机的影响。理想情况下,您可以在单个虚拟机中并行运行测试客户机的多个实例。...这样你就有了Chrome或Firefox,可以同时运行多个实例。我们认为Chrome的webdriver实现更容易管理,需要处理的标志和插件更少(比如H264),所以我们选择使用Chrome。...图2给出了比特率作为每个SFU参与者数量的函数。可以看到,WebRTC的拥塞控制算法在早期(大约250名参与者)就开始运行,以保持比特率。然而,图3显示了延迟的线性增长。

    1.7K20

    Spring框架的作用域小结

    在Spring中,所有可复用的软件模块被称之为Bean,这几乎覆盖了一个应用程序中的所有的对象。...如何管理Bean实例的生命周期。这就是本文要讨论的范畴。 Bean 的作用域指的是 Spring 如何管理 Bean 实例的生命周期,以及在什么范围内共享 Bean 实例。...下面我们先来看下Bean的几种作用域 Bean的几种作用域 Spring 定义了几种常见的作用域: 作用域 使用范围限制 作用域的简要描述 Singleton 无限制 在整个应用程序中只会创建一个实例,...的多个对象生命周期不相交 Bean 是线程绑定的,例如与用户会话相关的 Bean 如何使用作用域 默认情况下,Singleton是Spring框架的默认作用域,在本文开头的例子中,运行后myBean1...那么我们如何手动指定Bean的作用域呢。 XML配置中如何指定作用域 Spring框架中,XML配置使用scope标签 来指定作用域。

    21420

    知识体系梳理2.0

    MyBatis-PageHelper SpringBoot 基本使用 数据源的配置 配置文件 web开发 模板引擎的使用 自动装配原理 07 JVM 认识Java虚拟机(默认Hotspot实现) 类加载机制...此模式最先由 Eric Evans 在 Domain-Driven Design(域驱动的设计)中描述。...当客户端必须向不同的后端系统发出多个调用来执行某项操作时,此模式非常有用使用网关可将多个单独请求聚合成一个请求。当客户端必须向不同的后端系统发出多个调用来执行某项操作时,此模式非常有用。...此模式可以通过将共享服务功能(如 SSL 证 书的使用)从应用程序的其他部分移动到网关,简化应用程序开发。 Gateway Routing(网关路由模式)使用单个终结点将请求路由到多个服务。...如果希望在单个终结点上公开多个服务,并根据请求路由到适当的服务,则此模式非常有用。 Sidecar(挎斗模式 )将应用程序的帮助程序组件部署为单独的容器或进程,以提供隔离和封装。

    42520

    nature neuroscience:整合脑干和皮层功能结构

    讨论在本研究中,我们使用高分辨率 7 T fMRI 数据集与包含 58 个核的综合脑干图谱,研究皮质功能如何反映脑干功能。我们在脑干中发现了一组紧凑的整合中心,它们与皮质有很强的功能连接。...随着脑干采集和处理协议的建立,包含更多个体的数据集将使我们能够测试脑干 FC 的个体差异是否可以预测认知的个体差异。总之,我们绘制了脑干-皮质连接的功能结构。...本报告未排除任何参与者,参与者每小时可获得 35 美元的报酬。在 7 T疗程期间,获得了三次 10 分钟的运行,而在 3 特斯拉下获得了一次 9 分钟的运行。...在三次 fMRI 测试之间,通过口头方式验证参与者的清醒状态。使用泡沫垫来尽量减少头部运动,并提供耳塞。...通过对 FA 或 T2 加权图像(取决于核)进行聚类,对每个参与者进行半自动分割。簇被识别为细胞核,在某些情况下,当簇包含多个细胞核时,使用关于细胞核解剖结构的先验知识手动将细胞核彼此分离。

    7410

    通过自动化提升手动及模板化Dockerfile

    EXPOSE 3000 CMD ["node", "index.js"] 虽然此 Dockerfile 对于单个应用程序来说很简单,但跨多个微服务 管理类似的文件或更新它们以反映新的依赖项会变得越来越复杂且容易出错...最好将它们作为 dev 依赖项包含在 package.json 中并在本地使用它们,以确保跨环境的一致性。...这包括设置适当的运行时环境、处理依赖项以及配置应用程序在容器化环境中运行所需的构建步骤。...本地开发 —— 自动化框架可以通过模拟云环境来实现云原生应用程序的离线开发和测试。这意味着开发人员可以在与目标部署环境非常相似的免费环境中测试他们的应用程序,从而减少“在我的机器上运行!”综合症。...使用 Nitric 创建概念验证,了解如何简化应用程序开发并自动生成在云中运行应用程序所需的样板。

    24110

    20+最好的开源自动化测试工具

    所有服务于软件测试特定目的的开源工具统称为开源测试工具。 对于软件测试人员而言,应该如何选择哪种开源测试工具用于企业实践呢?...Capybara是一个开源的验收测试框架,在测试web应用程序时非常有用。它模拟与应用程序交互的真实用户的行为。 它可以与Cucumber、RSpec、Minitest等其他测试工具一起使用。...Katalon是一个免费的web和移动测试自动化解决方案。它使用简单,提供跨平台支持,并具有良好的JIRA集成。您可以使用Katalon studio轻松地创建测试、运行测试、查看报告和维护测试。...这个免费和开放源代码的工具是由一家领先的软件公司创建的-证明专业知识在芬兰。它是一个用于软件测试管理的现代web工具,主要用于敏捷项目。 通过使用标签特性和简单的拖放界面,可以快速规划测试的执行。...是一个开源的Android UI测试框架,有助于在单个应用程序中创建可靠的用户界面测试。这个应用程序的自动同步功能非常酷。

    9.2K41

    Junit5系列-什么是Junit5?

    JUnit Jupiter JUnit Jupiter 是新的编程模型和扩展模型的组合,用于在JUnit 5中编写测试和扩展。 Jupiter子项目为运行基于平台的测试提供了一个测试引擎。...junit-platform-runner 用于在JUnit 4环境中的JUnit平台上执行测试和测试套件的运行器。...也就是我们在只有Junit4的环境下,我们通过添加此依赖,可以直接使用Junit5中的一些功能。 有关详细信息,请参阅使用JUnit 4运行JUnit平台。...junit-jupiter-engine JUnit Jupiter测试引擎实现,仅在运行时需要,也是我们在使用junit5时必须要添加的。...在使用Maven 或Gradle引用多个上述工件时,可以使用以下Maven坐标下提供Bill of Materials POM来简化依赖关系管理 。

    2.3K31

    搭建 WPF 上的 UI 自动化测试框架

    我们需要对开发出来的系统进行自动化测试,而 .NET 平台的自动化测试平台在公司内部还没有其它部门完成,所以我们在 2010 年的时候使用 Ruby + VS UIUnitTest 开发了一个 UI 自动化...OpenExpressApp:【OpenTest】 之 如何实现自动化测试框架》 该测试平台已经实现了由测试人员编写易读的 UI 自动化测试代码以完成日常的自动化测试需求,已经比较易用。...使用演示     接下来,简单以我们目前的一个模块来说明一下 OEA 中的 UIA 是如何使用的。...其对应的代码如下: class PBS模板 : GIX4测试用例 { protected override void 运行() { 打开当前测试模块("模板管理.PBS模板...之前代码对应的软件运行时界面: ? UIA 框架结构及相关重点      在整个 OEA 框架中,UIA 框架是一个重要的组成部分。

    2.1K110

    使用Hyperledger Fabric和Composer实现区块链应用程序

    在Hyperledger中,不仅开发了单个区块链框架(或平台)。相反,重点是并行采用多种方法,创造协同效应,可重复使用的组件和灵活性。...在最简单的场景中,整个链代码部署在所有参与者加入的单个通道上。但是,为了创建封装区域并仅允许选定的参与者在其中进行通信,可以配置具有受限参与者组的通道。...每个参与者为他们所属的每个通道保留一份分类帐副本。这为网络中的每个现有信道创建了区块链数据结构。与区块链一样,交易存储在块中,这些块在单个连接列表中成为加密链。...lib文件夹包含实现交易处理器功能的JS文件。当然,我们想测试这个业务逻辑并将我们的单元测试存储在test/文件夹中。模型定义(参与者,资产,交易等)在models/中。...在测试设置之后,我们现在可以针对嵌入式网络编写测试用例。由于其长度,设置代码未包含在列表中,但可以在test/EngineSupplychainSpec.js中的主分支上查看和测试。

    2.1K20

    开发必备之单元测试

    单测不负责检查跨类或者跨系统的交互逻辑,那是集成测试需要覆盖的范围。...JUnit Vintage:用于在新的框架中兼容运行 JUnit3.x和JUnit4.x的测试用例。...类似 ,可以在每一个测试方法运行前,都运行一个指定的方法,在JUnit5 中, 除了运行@Test注解的方法,还额外支持运行@ParameterizedTest 和@RepeatedTest注解的方法...@AfterEach 与JUnit4 中的@After类似 ,可以在每一个测试方法运行后,都运行一个指定的方法,在JUnit5 中, 除了运行@Test注解的方法,还额外支持运行@ParameterizedTest...@AfterClass 类似,可以在每一个测试类运行后,都运行一个指定的方法 @Disabled 与JUnit4 中的@Ignore类似,注明某个测试的类或方法不再运行 @Nested 为测试添加嵌套层级

    21010

    FreeSurfer自动分割海马亚区算法的重测信度分析

    尽管可以相对可靠地测量海马总体积,但了解这一信度如何受到不同扫描仪采集的影响至关重要,因为在大规模临床试验中可能会使用多个扫描平台。...结果表明与标准处理流程相比,纵向处理流程提供了一个更可靠的测量结果,并支持其作为潜在的神经影像生物标志物的使用,进而跟踪疾病的进展和在临床试验中测试治疗反应的预后测量,比如在与海马有关的神经退化疾病中。...所有参与者在2个月内接受了基线扫描和后续扫描,扫描范围为7-50天,使用西门子Trio扫描仪。...纵向处理流程使用海马的二值模板,该模板是使用从每个受试者的基础模板分割中提取出来的。 海马亚区分割可视化见图1,三维渲染图见图2。 ? 图1 单个被试的海马亚区分割和彩色示意图 ?...但是,研究者发现包含额外的扫描仪会影响可靠性。在纵向处理中,跨站点(Trio与Prismafit)扫描相比的同站点多次(Trio-A与Trio-B)扫描的可靠性较差。

    2.5K30
    领券