写点什么

谷歌研究团队找到提高自我监督学习鲁棒性的方法

  • 2020-03-08
  • 本文字数:1989 字

    阅读完需:约 7 分钟

谷歌研究团队找到提高自我监督学习鲁棒性的方法

如何进一步提高自我监督学习的鲁棒性是计算机视觉领域的一大难题,Google Brain 的研究人员就此问题发表了一篇论文,本文为 AI 前线第 105 篇论文导读,我们将对这篇论文的具体方法和效果进行解读。


近日,Google Brain 研究人员发表了一篇关于“如何提高自我监督学习的鲁棒性方法”的新研究。研究中提出了一个自动删除快捷方式特征的通用框架,该框架能使自我监督的模型优于以传统方式训练的模型。

摘要

在自我监督的视觉表现学习中,特征提取器在一个“预置任务”(Pretext task 可以理解为是一种为达到特定训练任务而设计的间接任务或预置任务)上进行训练,因为可以快速生成标签。这种方法存在的一个主要问题是,特征提取器在快速学习过程中关注于低级视觉特征(low-level visual features),例如色差或水印,无法学习有用的语义表示。


为解决这一问题,研究人员提出了一个自动删除快捷特征的通用框架。我们的主要假设是,那些最初被用来解决预置任务的特征也是在经过对抗训练后最容易成为增加任务难度的特征。我们通过训练“镜头”网络进行微小的图像更改,从而最大程度降低预置任务的性能,证明了这种假设适用于常见的预置任务和数据集。在所有测试中,使用修改过的图像学习的表现都优于未使用修改过的图像学习的表现。此外,镜头所做的修改揭示了预置任务和数据集的选择如何影响自我监督学习的特征。

方法

我们建议使用一个轻量级的图像-图像转换网络(或称“镜头”)来处理图像,以提高自我监督的视觉表现,该网络通过对抗训练来弱化特征提取网络在预置任务上的性能。在本研究中,我们首先定义了“快捷”视觉特征的概念。


直观地说,根据预置任务和学习表现的下游应用,快捷特征可以定义为(i)能够通过关注低级视觉特征快速、准确解决预置任务的特征;(ii)对下游应用程序是无用的,且能阻止学习有用的语义表示。



图注:旋转预测预置任务的自动快捷删除示例。镜头学会了删除预置任务更容易解决的特征(具体来说,它在这个例子中隐藏了水印)。快捷删除迫使网络学习更高级的特性来解决预置任务,提高了语义表示质量。


我们首先规范化基于预置任务的 SSL 的一般设置,然后描述如何修改这个设置来防止快捷特征。



对于分类预置任务,我们可以训练镜头,使预测的类概率偏向于可能性最小的类。因此损失函数变成:



具体方法可以归结为:


  • 提出一个简单而通用的自动删除快捷方式的方法,几乎可以适用于任何预置任务。

  • 我们在大量的预置任务和两个不同的训练数据集(ImageNet 和 YouTube-8M frames)上验证了所提出的方法,在所有方法、上游训练数据集和两个下游/评估数据集(ImageNet 和 Places205)上显示出均有改善。特别需要注意的是,我们的方法可以替代那些人工手动删除快捷特征的预处理过程。

  • 我们使用镜头来比较不同预置任务和数据集之间的快捷特征。

实验

在实验中,研究人员在开源数据集 CIFAR-10 上训练了一种自我监督模型,并对其进行预测,以预测稍微旋转的图像的正确方向。为了测试镜头,他们在输入图像上添加了带有方向信息的快捷特征,这些快捷特征使模型无需学习目标级特征即可解决旋转任务。研究人员在报告中称,从合成的快捷特征中学习的模型(没有镜头)的语义表示表现不佳,而戏剧性的是,从镜头中学习的特征提取器总体上表现更好。



图注:模型示意图。在本文的实验中,我们对镜头 L 使用 U-Net 框架,对特征提取器 F 使用 ResNet50 v2 框架。



图注:使用不同的自我监督预置任务对 ImageNet 上训练的模型的表示进行评估。这些分数在逻辑回归模型中是准确的(以 %为单位)。以粗体表示的值在 0.05 的显著性水平上优于次佳的方法。训练图像按照各自的原始文件进行预处理。



图注:顶部:三张来自 ImageNet 的示例图像,由经过不同预置任务训练的镜头处理。输入图像上的虚线方块显示了用于基于补丁的任务的区域;底部:从测试集中随机选择的 1280 张图像的平均重建损失函数值。为了显示方便,截取了第 95 个百分位数。


在第二项测试中,该团队在开源语料库 ImageNet 中的一百万幅图像上训练了一个模型,并让其预测了图像中包含的一个或多个补丁的相对位置。研究人员称,对于所有已测试的任务,增加镜头可以使 baseline 得到改善。

结论

研究人员总结称:“结果表明,使用经过对抗训练的镜头自动删除快捷方式的好处可广泛应用于所有预置任务和数据集。此外,我们发现,各种类型的特征提取器都具备这种能力。除了提高表示方法外,我们的方法使我们能更直观地看到通过自我监督学习的特征,并能对这些特征进行量化和比较。我们确认,这种方法可以检测并弱化先前工作中出现的快捷特征。”


在未来的研究中,Google Brain 研究团队计划探索新的镜头架构,并探究该技术是否可以应用于进一步改进监督学习算法的问题上。


论文地址:


https://arxiv.org/pdf/2002.08822.pdf


参考链接:


https://venturebeat.com/2020/02/26/researchers-method-improving-self-supervised-ai-model-robustness/


2020-03-08 13:403248

评论 1 条评论

发布
用户头像
类似于gan
2020-03-12 18:13
回复
没有更多了
发现更多内容

遇到了几道关于作用域的前端小题

空城机

JavaScript 大前端 11月日更

不可思议,阿里巴巴首发:Java核心框架指导手册,竟1小时点击量破千万

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

System.Text.Json自定义Conveter

喵叔

11月日更

明道云对接企查查,一键矫正客户信息

明道云

Pulsar VS. Kafka(1): 统一的消息消费模型(Queue + Stream)

Apache Pulsar

kafka 架构 云原生 Apache Pulsar 消息中间件

架构实战营 - 模块四作业

危险游戏

架构实战营

Hive基本理论和常用函数

犟马骝

真香!Github一夜爆火,阿里性能优化不传之秘终于开源

热爱java的分享家

Java 程序人生 性能优化 编程语言 经验分享

模块四作业-redis 存储方案设计 - 学生考试试卷

Geek_cb2b43

字节跳动面试官:SpringBoot统一接口返回和全局异常处理怎么玩?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

极客时间算法训练营Week01

jjn0703

算法训练营

架构实战营-模块五

瓜子葫芦侠

「架构实战营」

【高并发】深度解析ScheduledThreadPoolExecutor类的源代码

冰河

Java 并发编程 多线程 高并发 异步编程

记一次提升18倍的性能优化

捉虫大师

性能优化 Go 语言

模块四作业

Asha

「架构实战营」

调优达到上限?这份尊享版性能实战套餐,让你领先别人好几个级别

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

终于有人将Github星标百万的Spring技术精髓收录成册

热爱java的分享家

Java 面试 程序人生 springboot 经验分享

【LeetCode】N 叉树的最大深度Java题解

Albert

算法 LeetCode 11月日更

考试试卷存储方案

天天向上

架构实战营

Pulsar VS. Kafka(2): 以Segment为中心的架构

Apache Pulsar

kafka 架构 分布式 Apache Pulsar 消息中间件

微博评论的高性能高可用计算架构

deng

架构实战

架构实战营模块四作业

孙志强

架构实战营

微博评论的高性能高可用计算架构

deng

架构实战

微服务架构中,二次浅封装实践

架构 分布式 微服务 技术栈 二次封装

nginx配置详解

小鲍侃java

11月日更

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起实践RocketMQ的服务搭建及配置操作

洛神灬殇

RocketMQ 11月日更 Apache RocketMQ 集群搭建

第四模块总结

张靖

架构训练营

区块链技术革命才刚刚开始

CECBC

先睹为快即将到来的HTML6

devpoint

JavaScript html5 11月日更

你敢相信?我用了3个月成功破茧成蝶,从简历被拒到收割8个大厂offer

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

Elasticsearch写入数据的过程是什么?以及是如何更新索引数据的

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

谷歌研究团队找到提高自我监督学习鲁棒性的方法_AI&大模型_Google_InfoQ精选文章