对比预测编码表示学习

对比预测编码表示学习

引言

在这里插入图片描述

文章主要提出如下几点:首先将高维数据压缩到更加紧凑的潜在嵌入(latent embdding)空间,在这个空间中条件预测更容易被建模。第二,在这个潜在空间中使用自回归模型,以对未来的多个步骤做预测。在最后,依靠噪声对比估计文献的损失函数,以类似的方式用于学习自然语言模型中的词嵌入,从而允许整个模型端到端的训练。我们将得到的模型,对比预测编码( CPC )应用于广泛不同的数据模态,图像,语音,自然语言和强化学习,并表明相同的机制在这些领域的每个领域学习有趣的高级信息,表现优异。

对比预测编码(CPC,Constrastive Predicting Coding)

动机和直觉

模型背后的主要直觉是学习编码(高维)信号不同部分之间潜在共享信息的表示。同时它丢弃了更局部的低级信息和噪声。在时间序列和高维建模中,使用下一步预测的方法利用了信号的局部平滑性。在未来进一步预测时,共享的信息量变得更低,模型需要推断更多的全局结构。这些跨越多个时间步的"慢特征" 往往是更有趣的(例如,语音中的音素和语调,图像中的物体,或书籍中的故事情节。)。

直接建模 p ( x ∣ c ) p(x|c) p(xc)计算代价一般非常大,对于提取 x x x c c c之间的共享信息而言,可能不是最优的。当预测未来信息时,我们以最大限度保留原始信号 x x x c c c的互信息的方式将目标x (未来)和上下文c (当前)编码成一个紧凑的分布式向量表示(凭借非线性学习映射)

这个方式定义为:

I ( x ; c ) = ∑ x , c p ( x , c ) l o g p ( x , c ) p ( x ) p ( c ) = ∑ x , c p ( x , c ) l o g p ( x ∣ c ) p ( x ) I(x;c)=\sum_{x,c}p(x,c)log\frac{p(x,c)}{p(x)p(c)}=\sum_{x,c}p(x,c)log\frac{p(x|c)}{p(x)} I(x;c)=x,cp(x,c)logp(x)p(c)p(x,c)=x,cp(x,c)logp(x)p(xc)
最大化编码表示之间的互信息。

对比预测编码CPC

Figure 1中展示了对比预测编码(CPC)模型架构,首先, g e n c g_{enc} genc表示一个非线性编码器,它将观测量 x t x_t xt的输入序列映射成潜在表示 z t = g e n c ( x t ) z_t=g_{enc}(x_t) zt=genc(xt),具有较低的时间分辨率。然后,自回归模型 g a r g_ar gar总结所有潜在空间中的 z ≤ t z_{\le t} zt并产生一个上下文的潜在表示 c t = g a r ( z ≤ t ) c_t=g_{ar}(z_{\le t}) ct=gar(zt)

不直接建模 p k ( x t + k ∣ c t ) p_k(x_{t+k}|c_t) pk(xt+kct)来预测 x t + k x_{t+k} xt+k,而是建模 x t + k x_{t+k} xt+k c t c_t ct之间留存互信息的密度比率。

f k ( x t + k , c t ) ∝ p ( x t + k ∣ c t ) p ( x t + k ) f_k(x_{t+k},c_t)\propto \frac{p(x_{t+k}|c_t)}{p(x_{t+k})} fk(xt+k,ct)p(xt+k)p(xt+kct)
注意到密度比f可以非正规化为(不必整合到1)。文章中使用了一个简单的对数双线性模型来建模它:
f k ( x t + k , c t ) = e x p ( z t + k T W k c t ) f_k(x_{t+k},c_t)=exp(z_{t+k}^TW_kc_t) fk(xt+k,ct)=exp(zt+kTWkct)
W k c t W_kc_t Wkct用于每一步k都有一个不同的 W k W_k Wk进行预测。或者,可以使用非线性网络或递归神经网络。

InfoNCE Loss

给定N个随机样本集合X = { x1,… xN },其中1个来自 p ( x t + k ∣ c t ) p(x_{t+k}|c_t) p(xt+kct)的正样本,N - 1个来自"提议"分布 p ( x t + k ) p(x_{t+k}) p(xt+k)的负样本。
L N = − E [ l o g f k ( x t + k , c t ) ∑ x j ∈ X f k ( x j , c t ) ] \mathcal{L}_N=-\mathbb{E}\left[log\frac{f_k(x_{t+k},c_t)}{\sum_{x_j\in \mathbf{X}}f_k(x_j,c_t)}\right] LN=E[logxjXfk(xj,ct)fk(xt+k,ct)]
优化这个损失函数将使得 f k f_k fk估计密度比率。
将这种损失的最优概率记为 p ( d = i ∣ X , c t ) p( d = i | X , c_t) p(d=iX,ct),其中[ d = i]是样本xi为"正"样本的指标。样本xi是由条件分布 p ( x t + k ∣ c t ) p(x_{t+k}|c_t) p(xt+kct)而不是建议分布 p ( x t + k ) p(x_{t+k}) p(xt+k)得出的概率如下:
p ( d = i ∣ X , c t ) = p ( x i ∣ c t ) ∏ l ≠ i p ( x l ) ∑ j = 1 N p ( x j ∣ c t ) ∏ l ≠ j p ( x l ) = p ( x i ∣ c t ) p ( x i ) ∑ j = 1 N p ( x j ∣ c t ) p ( x j ) p(d=i|\mathbf{X},c_t)=\frac{p(x_i|c_t)\prod_{l\neq i}p(x_l)}{\sum_{j=1}^N p(x_j|c_t)\prod_{l\neq j}p(x_l)}=\frac{\frac{p(x_i|c_t)}{p(x_i)}}{\sum_{j=1}^N \frac{p(x_j|c_t)}{p(x_j)}} p(d=iX,ct)=j=1Np(xjct)l=jp(xl)p(xict)l=ip(xl)=j=1Np(xj)p(xjct)p(xi)p(xict)

I ( x t + k , c t ) ≥ l o g ( N ) − L N I(x_{t+k},c_t)\ge log(N)-\mathcal{L}_N I(xt+k,ct)log(N)LN
N越大,越贴近。

prove

L N o p t = − E X l o g [ p ( x i ∣ c t ) p ( x i ) p ( x i ∣ c t ) p ( x i ) + ∑ x j ∈ X n e g p ( x j ∣ c t ) p ( x j ) ] = E X l o g [ 1 + p ( x i ) p ( x i ∣ c t ) ∑ x j ∈ X n e g p ( x j ∣ c t ) p ( x j ) ] ≈ E X l o g [ 1 + p ( x i ) p ( x i ∣ c t ) ( N − 1 ) E x j p ( x j ∣ c t ) p ( x j ) ] = E X l o g [ 1 + p ( x i ) p ( x i ∣ c t ) ( N − 1 ) ] ≥ E X l o g [ p ( x i ) p ( x i ∣ c t ) ( N − 1 ) ] = − I ( x i , c t ) + l o g ( N − 1 ) \begin{align} \mathcal{L}_N^{opt} &= -\mathbb{E}_{X}log\left[\frac{\frac{p(x_i|c_t)}{p(x_i)}}{\frac{p(x_i|c_t)}{p(x_i)}+\sum_{x_j\in X_{neg}} \frac{p(x_j|c_t)}{p(x_j)}}\right]\\ &=\mathbb{E}_{X}log\left[1+\frac{p(x_i)}{p(x_i|c_t)}\sum_{x_j\in X_{neg}}\frac{p(x_j|c_t)}{p(x_j)}\right]\\ &\approx \mathbb{E}_{X}log\left[1+\frac{p(x_i)}{p(x_i|c_t)}(N-1)\mathbb{E}_{x_j}\frac{p(x_j|c_t)}{p(x_j)}\right]\\ &=\mathbb{E}_{X}log\left[1+\frac{p(x_i)}{p(x_i|c_t)}(N-1)\right]\\ &\ge \mathbb{E}_{X}log\left[\frac{p(x_i)}{p(x_i|c_t)}(N-1)\right]\\ &= -I(x_i,c_t)+log(N-1) \end{align} LNopt=EXlog p(xi)p(xict)+xjXnegp(xj)p(xjct)p(xi)p(xict) =EXlog 1+p(xict)p(xi)xjXnegp(xj)p(xjct) EXlog[1+p(xict)p(xi)(N1)Exjp(xj)p(xjct)]=EXlog[1+p(xict)p(xi)(N1)]EXlog[p(xict)p(xi)(N1)]=I(xi,ct)+log(N1)

对于(5)(6)原论文为:
= E X l o g [ 1 + p ( x i ) p ( x i ∣ c t ) ( N − 1 ) ] ≥ E X l o g [ p ( x i ) p ( x i ∣ c t ) N ] = − I ( x i , c t ) + l o g ( N ) \begin{align} &=\mathbb{E}_{X}log\left[1+\frac{p(x_i)}{p(x_i|c_t)}(N-1)\right]\\ &\ge \mathbb{E}_{X}log\left[\frac{p(x_i)}{p(x_i|c_t)}N\right]\\ &= -I(x_i,c_t)+log(N) \end{align} =EXlog[1+p(xict)p(xi)(N1)]EXlog[p(xict)p(xi)N]=I(xi,ct)+log(N)
我认为是在最优化条件下, p ( x i ) ≤ p ( x i ∣ c t ) p(x_i)\le p(x_i|c_t) p(xi)p(xict)

InfoNCE也与MINE(最大互信息估计)相关,记 f ( x , c ) = e F ( x , c ) f(x,c)=e^{F(x, c)} f(x,c)=eF(x,c),则:
E X [ l o g f ( x , c ) ∑ x ∈ X f ( x , c ) ] = E ( x , c ) [ F ( x , c ) ] − E ( x , c ) [ l o g ∑ x j ∈ X e F ( x j , c ) ] = E ( x , c ) [ F ( x , c ) ] − E ( x , c ) [ l o g ( e F ( x , c ) + ∑ x j ∈ X n e g e F ( x j , c ) ) ] ≤ E ( x , c ) [ F ( x , c ) ] − E c [ l o g ( ∑ x j ∈ X n e g e F ( x j , c ) ) ] \begin{align} \mathbb{E}_X\left[log\frac{f(x,c)}{\sum_{x\in \mathbf{X}}f(x,c)}\right]\ &=\mathbb{E}_{(x,c)}\left[F(x, c)\right]-\mathbb{E}_{(x,c)}\left[log\sum_{x_j\in X}e^{F(x_j, c)}\right]\\ &=\mathbb{E}_{(x,c)}\left[F(x, c)\right]-\mathbb{E}_{(x,c)}\left[log\left(e^{F(x, c)}+\sum_{x_j\in X_{neg}}e^{F(x_j, c)}\right)\right]\\ &\le \mathbb{E}_{(x,c)}\left[F(x, c)\right]-\mathbb{E}_{c}\left[log\left(\sum_{x_j\in X_{neg}}e^{F(x_j, c)}\right)\right]\\ \end{align} EX[logxXf(x,c)f(x,c)] =E(x,c)[F(x,c)]E(x,c) logxjXeF(xj,c) =E(x,c)[F(x,c)]E(x,c) log eF(x,c)+xjXnegeF(xj,c) E(x,c)[F(x,c)]Ec log xjXnegeF(xj,c)

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

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

相关文章

DC系列靶场---DC 2靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sV -p- -sC -T4 172.30.1.141 域名解析 echo 172.30.1.141 dc-2 >> /etc/hosts 目录枚举 gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b…

探索XEX数字资产交易的优势与操作指南

随着数字资产市场的快速发展,越来越多的投资者开始关注并参与其中。XEX交易所作为一个新兴的数字资产交易平台,以其用户友好的界面和高效的交易服务,迅速吸引了大量用户。本文将介绍XEX数字资产交易的主要特点和优势,帮助新手更好…

物联网在电力行业的应用

作者主页: 知孤云出岫 这里写目录标题 作者主页:物联网在电力行业的应用简介主要应用领域代码案例分析1. 智能电表数据采集和分析2. 设备监控和预测性维护3. 能耗管理和优化4. 电力负载预测5. 分布式能源管理6. 电动汽车充电管理7. 电网安全与故障检测 物联网在电力行业的应用…

python+onlyoffice+vue3项目实战20240722笔记,环境搭建和前后端基础代码

开发后端 先创建data目录,然后在data目录下创建一个test.docx测试文档。 后端代码: import json import req import api from api import middleware, PlainTextResponseasync def doc_callback(request):data = await api.req.get_json(request)print("callback ==…

数据结构——堆(C语言版)

树 树的概念: 树(Tree)是一种抽象数据结构,它由节点(node)的集合组成,这些节点通过边相连,把 节点集合按照逻辑顺序抽象成图像,看起来就像一个倒挂着的树,也…

使用C#手搓Word插件

WordTools主要功能介绍 编码语言:C#【VSTO】 1、选择 1.1、表格 作用:全选文档中的表格; 1.2、表头 作用:全选文档所有表格的表头【第一行】; 1.3、表正文 全选文档中所有表格的除表头部分【除第一行部分】 1.…

java面向对象进阶篇--《多态》

目录 一、前言 二、认识多态 方法重写(Override): 方法重载(Overload): 示例: Person类(父类) Administrator(子类) Student(子…

docker搭建ES 8.14 集群

参考:【docker搭建es8集群kibana】_docker 安装生产级 es 8.14 集群-CSDN博客 1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客 2、现在需要重新搭建为docker ES集群 准备新搭建3个点 一、准备工作 提前开…

构建网络安全之盾:应对“微软蓝屏”教训的全面策略

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

深度学习模型Transformer结构

Transformer结构是一种基于自注意力(Self-Attention)机制的深度学习模型,最初由Vaswani等人在2017年的论文《Attention Is All You Need》中提出,用于解决自然语言处理(NLP)领域的任务,如机器翻…

MySQL --- 库的操作

一、创建数据库 create database [ if not exists ] 数据库名; // []中的为可选项 在创建库时,也可以指定数据库采用的字符集(character set)和数据库字符集的校验规则(collate) (当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集&#x…

【复习】软件工程

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现: 开发成本和进度的估计常常很不准确 用户对已完成的软件系统不满意,闭门造车 软件质量(quality)不可靠 软件常常是不可维护的 软件产品供不应…

css技巧混合模式

看上面这个神奇的效果,文字在黑色背景里面显示为白色,而在白色的背景里面显示为黑色,这就是文字智能适配背景。 看到这样的需求,大多数人第一时间想到的是,文字元素有两个,是完全重叠的两层,一…

Facebook在内容创作中的新策略与机会

随着社交媒体的不断发展,内容创作已经成为了平台吸引和留住用户的核心竞争力。Facebook作为全球最大的社交平台之一,不断调整和优化其内容创作策略,以适应用户需求的变化和技术的进步。本文将深入探讨Facebook在内容创作中的新策略与机会&…

考研复习7月进度严重滞后?

宇哥说:来不及了! 因为基础30讲和强化36讲,加起来已经快300小时了。 所以,必须换个思路: 不看课行吗? 大多数人7月的情况是这样的: 1. 听完线代,高数知识点忘得差不多了&#xf…

JMeter接口测试-3.断言及参数化测试

1. 断言 JMeter官方断言(Assertion)的定义 用于检查测试中得到的响应数据是否符合预期,用于保证测试过程中的数据交互与预期一致 断言的目的: 一个取样器可以添加多个不同形式的断言,根据你的检查需求来添加相应的…

自动驾驶系列—智能巡航辅助功能中的路口通行功能介绍

自动驾驶系列—智能巡航辅助功能中的车道中央保持功能介绍 自动驾驶系列—智能巡航辅助功能中的车道变换功能介绍 自动驾驶系列—智能巡航辅助功能中的横向避让功能介绍 自动驾驶系列—智能巡航辅助功能中的路口通行功能介绍 文章目录 2. 功能定义3. 功能原理4. 传感器架构5. 实…

Java语言程序设计基础篇_编程练习题**15.18(使用鼠标来移动一个矩形)

**15.18(使用鼠标来移动一个矩形) 请编写一个程序显示一个矩形。可以使用鼠标单击矩形内部并且拖动(即按住鼠标移动)矩形到鼠标的位置。鼠标点成为矩形的中央习题思路: 新建一个面板Pane(),新建一个Rectangle() 为Rectangle注册…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十九章 Linux MISC驱动

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

web每日一练

每日一题 每天一题罢了。。 ctfshow内部赛签到 扫到备份文件 login.php <?php function check($arr){ if(preg_match("/load|and|or|\||\&|select|union|\|| |\\\|,|sleep|ascii/i",$arr)){echo "<script>alert(bad hacker!)</script>&q…