【论文阅读】Twin Neural Network Regression

news2025/2/26 4:10:19

论文下载
GitHub
bib:

@ARTICLE{SebastianKevin2022Twin,
	title 		= {Twin neural network regression},
	author 		= {Sebastian Johann Wetzel and Kevin Ryczko and Roger Gordon Melko and Isaac Tamblyn},
	journal 	= {Applied AI Letters},
	year 		= {2022},
	volume 		= {3},
	number 		= {4},
	pages 	    = {e78},
	doi         = {10.1002/ail2.78}
}


1. 摘要

We introduce twin neural network (TNN) regression.

This method predicts differences between the target values of two different data points rather than the targets themselves.

The solution of a traditional regression problem is then obtained by averaging over an ensemble of all predicted differences between the targets of an unseen data point and all training data points.

Whereas ensembles are normally costly to produce, TNN regression intrinsically creates an ensemble of predictions of twice the size of the training set while only training a single neural network.

虽然集合通常是昂贵的生产,但TNN回归本质上创建的预测集合是训练集大小的两倍,同时只训练单个神经网络。为什么是这样的,阅读后面的内容值得注意。

Since ensembles have been shown to be more accurate than single models this property naturally transfers to TNN regression.

We show that TNNs are able to compete or yield more accurate predictions for different data sets, compared to other state-of-the-art methods.

Furthermore, TNN regression is constrained by self-consistency conditions.

We find that the violation of these conditions provides an estimate for the prediction uncertainty.

Note:
全文中主要出现了两个关键字,esembleself-consistency

2. 算法描述

在这里插入图片描述
从这张图中,可以大概的看出算法的华点。经典的神经网络主要是直接预测一个值,而TNNR是预测两个向量之间的距离。这样就将原本预测未知点的值转化为了预测已知点与未知点之间的差值。值得注意的是,twin neural network也叫孪生网络(siamese neural network),是度量学习中的内容。

从图中的环,可以同样推出self-consistency。也就是说:
( y 3 − y 1 ) + ( y 1 − y 2 ) + ( y 2 − y 3 ) = 0 (y_3-y_1) + (y_1-y_2)+(y_2-y_3) = 0 (y3y1)+(y1y2)+(y2y3)=0
F ( x 3 , x 1 ) + F ( x 1 , x 2 ) + F ( x 2 , x 3 ) = 0 (1) F(x_3, x_1) + F(x_1, x_2) + F(x_2, x_3) = 0 \tag{1} F(x3,x1)+F(x1,x2)+F(x2,x3)=0(1)
其中,等式1表述的就是self-consistency

算法细节:

  1. The training objective is to minimize the mean squared error on the training set.
  2. we employ standard gradient descent methods adadelta (and rmsprop) to minimize the loss on a batch of 16 pairs at each iteration.
  3. All data is split into 90% training, 5% validation, and 5% test data. Each run is performed on a randomly chosen different split of the data.
  4. we train on a generator which generates all possible pairs batchwise before reshuffling.

3. 实验

我一般是不会仔细看实验的,在这篇论文中我看到一个有意思的点。

3.1. | Prediction accuracy

在这里插入图片描述
论文中说,TNNR算法的优势是将训练集拓充到了二次方,但是在实际实验中,在大训练集上,TNNR反而会变差。

If the training set is very large, the number of pairs increases quadratically to a point where the TNN will in practice converge to a minimum before observing all possible pairs. At that point, the TNN begins to lose its advantages in terms of prediction accuracy.

其实,我觉得主要是模型的参数量太小,训练集变大,限制了神经网络的学习能力。

3.2. | Prediction uncertainty estimation

利用self-consistency的违反来建模预测不确定性。但是在实验部分的表述我不太能看懂。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/618862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot整合邮箱验证码实现用户注册

唠嗑部分 今天我们来分享一下在系统开发过程中,如何使用验证码来验证用户并完成用户注册 首先来看一下成品界面展示 说一下以上注册功能的设计: 用户手动输入用户名(全数据库唯一)、密码、确认密码、邮箱地址(单个邮箱最多可注册3个用户)、正确的邮箱…

Arm 推出 2023 全面计算解决方案,加速终端 AI 应用开发和部署

在当今数字化时代,人们对移动端计算能力的要求已经上升到了前所未有的高度。他们需要移动设备具有更快、更先进、更持久的计算能力,以提高生产力和生活质量。而科技厂商在满足人们对移动端计算能力的需求的同时,还需要从整个生态系统的角度出…

通过python封装接口seller_nick获取京东店铺所有商品数据,京东店铺所有商品数据接口,京东API接口

目的: 通过python封装接口seller_nick获取京东店铺所有商品数据,方法如下: 使用京东开放平台提供的API接口文档,找到seller_nick接口的具体参数及请求方式。 使用Python中的requests库发送请求,获取接口返回的数据。 …

nuxt3.0学习-三、nuxt.config.ts配置、跨域处理以及浏览器适配处理

nuxt官方对于nuxt.config.ts配置的介绍在Nuxt3.0 nuxt.config.ts配置 关于如何配置本人只能给出一点点启发,具体的配置需要根据个人需求去配置 nuxt.config.ts配置、跨域处理 import { prismjsPlugin } from "vite-plugin-prismjs"; export default de…

CompletableFuture异步和线程池

一、线程回顾 1、初始化线程的 4 种方式 1)、继承 Thread 2)、实现 Runnable 接口 3)、实现 Callable 接口 FutureTask (可以拿到返回结果,可以处理异常) 4)、线程池 方式 1 和方式 2&am…

《精通特征工程》学习笔记(1):数值特征处理

不进行多余的解释,想看原文直接下载pdf查看,本文是精简提炼了重要的方法写进来。 1.二值化 在百万歌曲数据集中,原始的收听次数并不是衡量用户喜好的强壮指标。(在统计学术语 中,“强壮”意味着该方法适用于各种情况…

【2611. 老鼠和奶酪】

来源:力扣(LeetCode) 描述: 有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。 下标为 i 处的奶酪被吃掉的得分为: 如果第一只老鼠吃掉,则得分为 reward1[i] 。如果第二…

Hive之HPLSQL安装手册

软件版本信息: CDH: cdh5.14.0 Hive: 1.1.0 Impala:2.11.0一:下载地址 Hplsql官网: http:www.hplsql.org/download 下载的是:hplsql-0.3.31.tar.gz版本 二:安装步骤 解压下载的hplsql-0.3.…

kafka 02

4.API开发 准备&#xff1a; 创建项目 &#xff0c; 添加依赖 XML <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> <depen…

如何评价编程语言 Reason?

Reason编程语言的设计目标是为开发人员提供一种易于理解和学习的工具&#xff0c;同时提供静态类型检查和高效的代码执行。Reason基于OCaml语言&#xff0c;并引入了JavaScript的语法和工具链&#xff0c;使得开发者能够在现有的JavaScript生态系统中更好地开发和维护代码。Rea…

2023,数据库国产替代走到哪了?

如今&#xff0c;战场不仅银行&#xff0c;参战者也不仅单独的一家。对中国的国产数据库而言&#xff0c;机会和挑战都在加速涌来。 作者|思杭 编辑|皮爷 出品|产业家 2023&#xff0c;数据库格局正在变化&#xff0c;愈演愈烈。 如果说哪个环节是如今国产替代的最火热…

chatgpt赋能python:Python中如何输出两个数

Python中如何输出两个数 对于任何一种编程语言来说&#xff0c;输出两个数都是非常基础的知识点&#xff0c;Python也不例外。在Python中&#xff0c;我们可以使用print()函数来输出两个数。本篇文章将会介绍如何在Python中输出两个数。 介绍 在Python中&#xff0c;输出两个…

Python让文档处理变得轻松:如何快速替换Word文档中的关键字

应用场景&#xff1a; Python自动化处理Word文档的功能可以应用于许多场景&#xff0c;以下是其中一些常见的应用场景&#xff1a; 批量处理文档&#xff1a;如果您需要处理大量的Word文档&#xff0c;例如替换文本、添加文本、修改格式等&#xff0c;手动完成这些任务将非常耗…

驱动LSM6DS3TR-C实现高效运动检测与数据采集(4)----上报匿名上位机实现可视化

概述 LSM6DS3TR-C是单芯片“3轴陀螺仪 3轴加速度计”的惯性 测量单元(IMU)&#xff0c; 五种种可选满量程的陀螺仪(125/250/500/1000/2000 dps)和加速度计(2/4/8/16 g)。 上述工程中选择的加速度和陀螺仪对应的量程为2g和2000dps&#xff0c;对应的灵敏度如下所示&#xff0c…

具有更多存储空间和带宽的亚马逊云科技Snowball Edge存储优化型设备

亚马逊云科技AWS Snow Family系列设备用于将数据经济高效地迁移到云端并在边缘进行处理。增强型Snowball Edge存储优化型设备专为PB级数据迁移项目而设计&#xff0c;具有210TB的NVMe存储空间&#xff0c;每秒可传输高达1.5千兆字节的数据。这些设备还包括10GBASE-T、SFP48和QS…

缩略图加密学习总结

一、缩略图加密概述 完全加密为噪声图像后&#xff0c;密文图像的文件扩展&#xff0c;传输存储消耗更多的资源。完全加密的噪声图像的可用性建立在对密文进行解密的基础上&#xff0c;耗费大量的计算代价。原始图像中精细的视觉信息被抹去以保护隐私,而粗略的视觉信息被保留以…

Vue+element UI实现列表全部数据排序

element ui 表格中的sortable属性只能实现当前页数据的排序&#xff0c;无法实现整张表全部数据的排序&#xff0c;所以需要采取自定义的排序方式重新触发接口&#xff0c;获取排序好的全部列表 Java后端的分页列表有这两个字段需要前端去传递&#xff1a; el-table 上加上so…

springboot 2.6.12 自定义解析 yaml 加密数据

文章目录 一、简介二、yaml 默认解析简单说明三、自定义 yaml 解密解析器四、配置 PropertySourceLoader五、简单测试 一、简介 为了保证项目的配置文件的安全性&#xff0c;需要对第三方组件 mysql、redis、es、mq 等用户名密码进行加密处理&#xff0c;可以使用现成的三方包…

【springboot项目开发】文件上传与下载

目录 总体介绍 文件上传 介绍 文件上传的前端需求 文件上传的前端代码 文件上传的后端需求 文件上传的后端代码 文件下载 介绍 前端需求 前端代码 后端需求 后端代码 总体介绍 文件的上传和下载功能&#xff0c;是项目开发过程中比较常见的业务需求&#xff0c;我们…

开源 Golang 微服务入门二:RPC 框架 Kitex

前言 前一篇笔记介绍了字节跳动的开源 Golang 微服务 HTTP 框架 Hertz&#xff0c; 如下&#xff1a; 开源 Golang 微服务入门一&#xff1a; HTTP 框架 Hertz 本文将要介绍同样是字节跳动开源的 Golang 微服务 RPC 框架 Kitex。 Kitex 简介 Kitex 字节跳动内部的 Golang 微…