论文笔记 Spatial contrasting for deep unsupervised learning
在我们设计无监督学习模型时,应尽量做到
- 网络结构与有监督模型兼容
- 有效利用有监督模型的基本模块,如dropout、relu等
无监督学习的目标是为有监督模型提供初始化的参数,理想情况是“这些初始化的参数能够极大提高后续有监督模型准确率,即使有监督任务的训练样本数很少”。类别理解就是,我们在Imagenet上通过有监督的方式训练得到了表达能力很强的网络,在我们迁移至新的任务时(该任务带有训练标签的样本有限),我们一般固定在Imagenet上训练好模型的前N层(N可以根据实际需要调整),然后微调剩余的层。无监督学习的目的,简单理解就是“即使不用label,我也能学到表达能力很强,甚至更好的网络”,然后我们可以根据具体任务微调网络。
作者在文中指出“It is empirically observed that deeper layers tend to contain more abstract information from the image. Intuitively, features describing different regions within the same image are likely to be semantically similar and indeed the corresponding deep representations tend to be similar. Conversely, regions from two probably unrelated images tend to be far from each other in the deep representations”。
简单理解就是“一幅图像内一个区域的deep representations应该尽可能与另一个区域的deep representations相似,与不相关图像区域的deep representations尽可能相异”。
下图图示了以上含义(请仔细理解一下loss函数的语义,是不是就是上述的“简单理解”呢?):

为了能够应用有监督深度学习标准训练流程(SGD, Batch),作者对上图目标函数进行了一些处理。核心就是Batch内每一幅图片取两个区域,所有这些区域两两进行对比,得到:

这样就能够采取标准的有监督深度学习训练流程进行训练了。此外有监督深度学习的任何模块,该框架都可以无缝的引入。
我们可以通过下面这个流程图更加对流程有一个更加“程序化”认识(也即,可以用代码实现上述流程)

总结:这种做法可以概括为“基于patch的无监督范式”,这篇文章的思路很简单,也给了我很大启发(也即,将需要在整个数据集上进行的两两对比简化到Batch内的两两对比)。论文中的实验结果很好(但github上有一位网友,难以复现论文的结果)。
论文笔记 Spatial contrasting for deep unsupervised learning的更多相关文章
- 【论文笔记】多任务学习(Multi-Task Learning)
1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...
- 【论文笔记】DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families
DeepOrigin: End-to-End Deep Learning for Detection of New Malware Families 标签(空格分隔): 论文 论文基本信息 会议: I ...
- 【转载】论文笔记系列-Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning
一. 引出主题¶ 深度学习领域一直存在一个比较严重的问题——“灾难性遗忘”,即一旦使用新的数据集去训练已有的模型,该模型将会失去对原数据集识别的能力.为解决这一问题,本文提出了树卷积神经网络,通过先将 ...
- 论文笔记之:Continuous Deep Q-Learning with Model-based Acceleration
Continuous Deep Q-Learning with Model-based Acceleration 本文提出了连续动作空间的深度强化学习算法. 开始正文之前,首先要弄清楚两个概念:Mod ...
- 论文笔记 — MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
论文:https://github.com/ei1994/my_reference_library/tree/master/papers 本文的贡献点如下: 1. 提出了一个新的利用深度网络架构基于p ...
- (论文笔记Arxiv2021)Walk in the Cloud: Learning Curves for Point Clouds Shape Analysis
目录 摘要 1.引言 2.相关工作 3.方法 3.1局部特征聚合的再思考 3.2 曲线分组 3.3 曲线聚合和CurveNet 4.实验 4.1 应用细节 4.2 基准 4.3 消融研究 5.总结 W ...
- 论文笔记:(ICML2020)On Learning Sets of Symmetric Elements
目录 摘要 一.引言 二.先前的工作 三.基础 3.1 符号和基本定义 3.2 G-不变网络 3.3 描述等变层 3.4 Deep sets 四.DSS层 4.1 对称元素集合 4.2 等变层的表征 ...
- 论文笔记之:DeepCAMP: Deep Convolutional Action & Attribute Mid-Level Patterns
DeepCAMP: Deep Convolutional Action & Attribute Mid-Level Patterns CVPR 2016 本文提出一种 分割图像 patch 的 ...
- 论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation
Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation xx
随机推荐
- Vue+axios 实现http拦截及路由拦截
现如今,每个前端对于Vue都不会陌生,Vue框架是如今最流行的前端框架之一,其势头直追react.最近我用vue做了一个项目,下面便是我从中取得的一点收获. 基于现在用vue+webpack搭建项目的 ...
- 用户登录(Material Design + Data-Binding + MVP架构模式)实现
转载请注明出处: http://www.cnblogs.com/cnwutianhao/p/6772759.html MVP架构模式 大家都不陌生,Google 也给出过相应的参考 Sample, 但 ...
- C#中 dynamic 关键字
所有表达式都能隐式的转换成dynamic,因为所有的表达式最终都能生成从Object派生出的类型. ; int b = a; //隐式转换错误 int b2 = (int)a; ; int b3 ...
- 【Uva 10498】满意值
Description Kaykobad教授把为ACM选手买饭的任务交给了Nasa.Nasa决定买n种不同的食物.然后他询问了m名选手对每种食物的需求量.选手们当然不会给出任何符合逻辑的回答,他们只是 ...
- java线程(二)
线程范围变量 我们知道线程在cpu上的使用权并不是长时间的,因为计算机的cpu只有一个,而在计算上运行的进程有很多,线程就更不用说了,所以cpu只能通过调度来上多个线程轮流占用cpu资源运行,且为了保 ...
- 产品经理学Python:逻辑判断与运算符
这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...
- java 对时间(Date)随笔!
/** * 获取系统当前时间 * @return 系统当前时间 */ public static Date now() { return new Date(); } /** * 根据指定的日期,获取其 ...
- 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化
联系QQ:305-710439斗牛app上架应用宝.牛牛手机游戏推广.百人牛牛app应用开发.棋牌游戏上传.手游APP优化 iOS开发iPhone/iPad平台安卓手机软件开发机型覆盖范围 超过113 ...
- bootstrap 获得轮播中的索引或当前活动的焦点对象
今天用bootstrap做一个轮播,当轮播滚到每张图的时候,在页面下面就显示相对应的内容,那么问题来了:为了轮播图的可扩展性,我们肯定需要知道当前活动(显示图片)的索引号,查了bootstrap文档, ...
- 升讯威微信营销系统开发实践:(5) Github 源码:微信接口的 .NET 封装。
微信开发系列教程,将以一个实际的微信平台项目为案例,深入浅出的讲解微信开发.应用各环节的实现方案和技术细节. 本系列教程的最终目标是完成一个功能完善并达到高可用性能指标的微信管理软件,所以除了与微信本 ...