论文笔记:MEASURING DISENTANGLEMENT: A REVIEW OF METRICS

0 摘要

  • 学习解缠和表示数据中的变化因素是人工智能中的一个重要问题。虽然已经取得了许多关于学习这些表示的进展,但如何量化解缠仍然不清楚。
    • 虽然存在一些度量标准,但对它们的隐含假设、真正衡量的内容以及限制了解甚少。
    • 因此,当比较不同的表示时,很难解释结果
  • 本篇论文调查了有监督的解缠度量标准,并对它们进行了深入分析。
    • 提出了一个新的分类体系,将所有的度量标准分为三个类别:基于干预、基于预测器和基于信息。
    • 进行了大量实验,研究了解缠表示的特性,以便在多个方面进行分层比较。
    • 通过实验结果和分析,我们对解缠表示特性之间的关系提供了一些见解。
    • 分享了如何衡量解缠的指南。

1 介绍

1.1 背景

  • 解缠表示可以独立地捕捉解释数据的真实潜在因素。这种表示具有许多优势
    • 在下游任务中使用时,可以
      • 提高预测性能
      • 减少样本复杂性
      • 提供解释性
      • 改善公平性
  • 最初,通过视觉检查来评估解缠度,但近年来的研究努力致力于提出更严格评估的度量标准
    • 通常,随着新的表示学习方法的提出,会同时提出一种新的度量标准,以突出现有度量标准未能捕捉到的优势。
      • 不幸的是,往往不清楚这些度量标准具体衡量的是什么,以及在什么条件下它们是适用的
    • ——>在选择模型或超参数设置之前,必须选择一个适合的解耦程度度量标准
  • 本文相关代码:GitHub - ubisoft/ubisoft-laforge-disentanglement-metrics

1.2 相关工作

Challenging common assumptions in the unsupervised learning of disentangled representations

ICML 2019

  • 在没有归纳偏差的情况下,解缠预定义因素是不可能的
  • 随机种子和超参数对性能的影响要大于所研究模型的架构
  • 进行了实验,以衡量论文中使用的六个度量标准的一致性程度
    • 在简单的dSprites数据集上,六个度量标准中的五个度量标准相关,但在其他更现实的数据集上相关性较弱

A framework for the quantitative evaluation of disentangled representations,

ICLR 2018

提出了一个评估解缠表示的框架

确定了解缠表示的三个理想属性:显性(explicitness)、紧凑(compactness)和模块化(modularity)

提出了一个由三个部分组成的新度量标准

2 解耦表征的特点

  • 关于解缠的定义没有统一的观点,但大多数人都同意两个主要方面
    • 表示必须是分布式的。
      • ——>输入是解释性因素的组合,并对应于表示空间中的一个点
        • 称这个点为“code,编码”。
        • 每个解释性因素都在编码的不同维度中进行编码
    • 表示还应该为下游任务编码相关信息。
      • 根据应用和表示学习算法的不同,编码和因素之间的关系可能会有很大的差异

2.1 表征中的因素独立性

  • 因素独立性意味着一个因素的变化不会影响其他因素,即它们之间没有因果效应
    • 在一个解缠表示中,因素在表示空间中也是相互独立的
    • 换句话说,一个因素只影响表示空间的一个子集,而且只有这个因素影响这个子空间
    • 不同的论文对这个属性有不同的叫法(解耦性 disentanglement,模块性 modularity)
      • 论文中使用模块性
  • 一些作者认为,各个受因素影响的表示空间子集应尽可能小
    • 不同的论文对这个属性有不同的叫法(完整性 completeness,紧凑型 compactness)
    • 但是,有的时候强制紧凑性可能会产生反效果
      • 当描述复杂因素时,一组冗余的编码维度提供了更大的灵活性
  • 在实践中,识别出有用且可解释的独立因素是一项具有挑战性的任务
    • 因素必须在概念上独立,但也应在统计上独立

2.2 信息内容

  • 一个解耦表示应该完整地描述感兴趣的解释因素
  • 论文称之为明确性 explictness。
  • 学习模型须将表示空间划分为与每个类别相对应的区域。

 3 度量标准的特点

  • 度量标准应该将最低分归因于完全随机或完全缠绕的表示,将最高分归因于完美解缠的表示
  • 度量标准的分数还应该与其所测量的解缠特性的质量呈线性变化
    • 解耦属性越好,得分越高
    • 坏的情况是度量标准作为一个阶跃函数,这会导致分数的可解释性差,使得具有相同分数的两个模型之间的比较毫无意义
      • 此外,这种行为使得度量标准非常不稳定
  • 度量标准不应对超参数配置过于敏感。
    • 低参数敏感性能够确保在不同配置下的稳定性。
    • 对配置过度敏感的度量标准行为不可预测,可能会导致在比较模型时得出不准确的结论
  • 在现实世界的应用中,数据集往往存在噪声。
    • 衡量紧凑性或模块性的度量标准应该对噪声具有容忍性
    • 衡量明确性的度量标准应该反映表示中的噪声量。

4 度量方法

 4.0 记号

  •  假设有N个observationX=\{\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_N\}
    • 每一个observation \mathbf{x}_i都假定由M个因子\mathbf{v}=\{v_1,v_2,\cdots,v_m\}完全解释,记为g(\mathbf{v})\rightarrow \mathbf{x}
    • n个observation,就有n个对应的M维的v
      • V=\{\mathbf{v}_1,\mathbf{v}_2,\cdots,\mathbf{v}_n\}
  • 一个表示学习算法希望将\mathbf{x}映射到\mathbf{z}\mathbf{z}就是前面说的‘’code“)中
    • 其中\mathbf{z} \in R^d
    • n个observation,就被映射到n个d维的z中
      • Z=\{\mathbf{z}_1,\mathbf{z}_2,\cdots,\mathbf{z}_n\}
  • 解耦度量是希望计算一个比较V和Z的打分

4.1 三种解耦度量方法

基于干预(intervention)的度量标准

创建在其中一个或多个因素保持不变的数据子集来比较编码

基于预测器(predictor)的度量标准使用回归器或分类器从编码中预测因素
基于信息(information)的度量标准利用信息论原理,如互信息(MI),来量化因素和编码之间的关系

4.2 基于干预的度量标准

  • 固定因素(v),创建子集,比较自己中的因素(v)和编码(z)
  • 采样过程需要大量不同的数据样本才能产生有意义的分数
  • 主要优点是这些度量标准不对因素-编码关系做任何假设
  • 缺点:超参数需要调整(数据子集的大小和数量、离散化粒度、分类器的超参数或距离函数的选择)

4.2.1 Z-diff /β-VAE

  • 选择实例(x)对来创建batch
    • 在一个batch中,随机选择一个因素vi
    • 在vi上有相同数值的样本v1和v2(v_i^1=v_i^2=v_i)形成一个数据对
    • 收集固定数量的数据对
    • 用对应编码的绝对差表示这一对样本(p=|z^1-z^2|)
    • 子集中所有对差异的平均值创建了训练集中的一个点 (个人觉得,一个点的意思是,平均差异+哪个因素vi固定)
    • 该过程重复多次以构成一个相当大的训练集
  • ——>最后,在数据集上训练一个线性分类器来预测固定的因素是哪个
    • 分类器的准确率就是Z-diff分数
  • intuition
    • 与固定因子vi相关联的编码维度应该具有相同的值
      • ——>与其他编码维度相比,这个编码维度差异较小

4.2.2 Z-min

4.2.3 Z-max

4.2.4 IRS(Intervention Recurrence Score)

  • 对因素实现进行干预之前和之后计算编码集之间的距离
  • intuition
    • 干扰因素的变化不应该影响与目标因素相关的编码维度
  • 方法
    • 首先,从实例中创建一个参考集,其中目标因素的实现被固定
    • 然后,第二个集合包含具有相同目标因素实现但干扰因素实现不同的实例
    • 计算与目标因素相关的编码维度的均值之间的距离
    • 采样和距离测量过程重复多次,最终的score是最大距离

4.3 基于预测的方法

  • 训练回归器或分类器以从编码中预测因素(f(z)→v)
  • 分析预测器以评估每个编码维度在预测因素方面的有用性

4.3.1 Disentanglement, Completeness and Informativeness (DCI)

  • 分别报告了模块性、紧凑性和显式性的分数。
  • 他们训练回归器从编码中预测因素。通过检查回归器的内部参数来(每个因素和编码维度对的预测重要性权重Rij)估计模块性和紧凑性。
  • 他们使用线性的Lasso回归器或非线性因素-编码映射的随机森林。
    • 对于Lasso回归器,重要性权重Rij是模型学习到的权重的大小
    • 对于随机森林,则使用编码维度的基尼重要性。
紧凑性

C_i=1+\sum_{j=1}^d p_{ij} log_dp_{ij}

pij 编码第j个维度对因子第i个维度重要的概率 p_{ij}=\frac{R_{ij}}{\sum_{k=1}^d R_ik}

整个表征的平均紧凑度:所有因子的平均紧凑性

模块性

D_j=1+\sum_{i=1}^M p_{ij}log_Mp_{ij}

pij 编码第j个维度对因子第i个维度重要的概率 p_{ij}=\frac{R_{ij}}{\sum_{k=1}^M R_kj}

整个表征的模块性:编码每个维度的模块性Dj的加权求和\sum_{j=1}^d \rho_jD_j

\rho_i=\frac{\sum_{i=1}^M R_{ij}}{\sum_{k=1}^d\sum_{i=1}^M R_{ik}}

显示性回归器的预测误差:1-6*MSE

4.3.2 显性分数

  • 使用简单的分类器(如逻辑回归),并使用ROC曲线下面积(AUC-ROC)来报告分类性能
  • 最终得分是所有因素的所有类别的平均AUC-ROC

4.3.3 SAP

4.4 基于信息的方法

  • 估计因素和编码之间的互信息(MI)来计算解缠度分数
    • 互信息的取值范围通常是非负的。
    • 互信息值为0表示两个变量之间没有任何相关性或依赖关系。
    • 较高的互信息值表示两个变量之间存在较强的相关性或依赖关系,即它们的变化趋势相互影响较大。
    • 互信息的具体解释可能需要根据具体的应用场景和数据特点进行进一步的分析和解释。

4.4.1 MIG 

MIG计算因素和编码之间的互信息

  • 计算每个因子和每个编码的互信息I(v_i,z_j)
    • 最大的互信息记为I(v_i,z_*),次大的记为I(v_i,z_o)
  • H(vi)是vi的熵

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一键开启GPT 平行时空模式

不知道大家日常使用GPT的时候,在一次会话中是如何完成同类任务的对话的? 简单点来说,假设你已经完成了角色设定,比如你设定GPT是一名文案编辑,那么接下来你会多次给它提交稿件让它进行编辑,那么在多次提交的时候&…

抽象工厂模式

一.定义 抽象工厂模式(Abstract Factory Pattern)是一种比较常用的模式,其定义如下: Provide an interface for creating families of related or dependent objects without specifyingtheir concrete classes.(为创建一组相关或相互依赖的对象提供一个接口&#…

算法刷题-双指针-二分法

27. 移除元素 力扣题目链接 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需…

Web前端开发技术储久良第三版课后答案

P16-第1章 练习与实验答案 练习1 1.选择题 (1)B (2)B (3)B (4)D (5)A 2.填空题 (1)标记、文本 (2)Tim Berners-Lee(蒂姆伯纳斯李) (3)查看 (4)NotePad、EditPlus、TextPad、TopStyle、UltraEdit等 (5)超文本标记语言、统一资源定位符(器&am…

Axios和Spring MVC[前端和后端的请求和响应处理]

在前后端交互中,Axios和Spring MVC扮演着不同的角色,分别负责前端和后端的请求和响应处理。它们之间的作用如下: Axios(前端): 发送HTTP请求:前端使用Axios库发送HTTP请求到后端。可以使用Axi…

webpack生产模式配置

一、生产模式和开发模式介绍 生成模式(production mode)是指在开发完成后将代码部署到生产环境中运行的模式,通常需要进行代码压缩、优化、合并,以减少文件大小和请求次数,提高页面加载速度和运行效率。 开发模式&am…

02_LinuxLED驱动开发

目录 Linux下LED灯驱动原理 地址映射 ioremap函数 iounmap函数 I/O内存访问函数 LED灯驱动程序编写 编写测试APP 编译驱动程序 编译测试APP 运行测试 Linux下LED灯驱动原理 Linux下的任何外设驱动,最终都是要配置相应的硬件寄存器。所以LED灯驱动最终也是对I.MX6ULL…

LVS-DR群集部署

目录 一、LVS-DR数据包流向分析 二、 DR 模式的特点 总结 三、LVS-DR中的ARP问题 1.在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱 2.路由器根据ARP表项,会将新来的请求报文转发给RealServer,导致Director的VIP失效 3.解…

React 对比class与Effect Hook优化响应式数据更新监听,感受useEffect真正的强大

还是之前写过的一个组件 import React from "react"export default class index extends React.Component{constructor(props){super(props);this.state {name: "小猫猫"}}componentDidMount ()>{document.title this.state.name;}componentDidUpda…

吴恩达ChatGPT课爆火

点上方计算机视觉联盟获取更多干货 没想到时至今日,ChatGPT竟还会犯低级错误? 吴恩达大神最新开课就指出来了: ChatGPT不会反转单词! 比如让它反转下lollipop这个词,输出是pilollol,完全混乱。 哦豁&#…

【调制BFSK】二进制频移键控FSK的数字调制(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

简要介绍 | 单目深度估计

注1:本文系“简要介绍”系列之一,仅从概念上对单目深度估计进行非常简要的介绍,不适合用于深入和详细的了解。 注2:"简要介绍"系列的所有创作均使用了AIGC工具辅助 探索视觉世界的无限可能:单目深度估计介绍…

【Android开发基础】Canvas画笔(以刮刮乐为例)

文章目录 一、引言二、设计1、获取图片资源2、获取屏幕信息3、Canvas涂层4、随机内容5、屏幕监听 三、附件1、UI设计2、总代码(1)控件初始化(2)图层初始化 3、源代码 一、引言 (本篇博客只说明Canvas画笔的使用&#…

HTML5 介绍

目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> 文档类型声明 2.2 <html>标签 2.3 <meta>标签 设置字符编码 2.4 引用样式表 2.5 引用JavaScript文件 3. 完整页面示例 4. 资料网站 1. HTML5介绍 1.1 介绍 …

GPT-4的中国2023高考作文

我选取2023年上海的作文题&#xff08;我比较感兴趣&#xff09;&#xff0c;题目如下&#xff1a; 面对这个题目&#xff0c;不知道各位有什么想法么&#xff1f;如果你去考试&#xff0c;你会怎么写&#xff1f; 来&#xff0c;我们看看AI是怎么写的。 以下是GPT-4的作文&a…

Quarkus - 发布JSON Restful服务

目标 基于实现第一个Hello World发布一个JSON的Restful服务&#xff0c;该服务提供GET,POST,DELETE三个接口&#xff0c;分别是获取水果列表&#xff0c;添加水果&#xff0c;根据水果名字删除水果。 发布Rest服务 POM配置 添加jackson扩展的依赖 <dependency><gr…

OWASP 之跨站脚本xss基础技能

OWASP 之跨站脚本xss基础技能 一.XSS概述二.漏洞危害三.XSS漏洞绕过方法1.手工测试XSS步骤2.常见xss3.绕过方法 四.xss防御方法a.CSP内容安全策略b.HttpOnlyc.输入输出检查d.使用防御函数 五.pikachu靶场1.反射型XSS&#xff08;get&#xff09;2.反射型XSS&#xff08;post&am…

通过使用动态ip解决网络连接问题

互联网的使用已经成为我们生活中不可或缺的一种生活方式。但是&#xff0c;有时候我们会遇到网络连接问题&#xff0c;如IP地址冲突、网络瘫痪等等。这种情况往往会影响我们的工作&#xff0c;现在我们一般使用动态ip地址来解决这些问题。 一、什么是动态ip地址 动态IP地址是由…

浏览器插件 | Font Picker - 网页字体识别工具

目录 软件简介 Font Picker插件背景 Font Picker插件离线安装教程 Font Picker 小结 软件简介 Font Picker 插件是一款用于 Chrome 浏览器的字体选择器&#xff0c;这种网页字体识别工具看起来非常的干净&#xff0c;使用起来也十分的简单。本文提供Font Picker网页字体…

计算机网络通信过程

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…