论文笔记 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
随机推荐
- OutOfMemoryError内存不足
java.lang.OutOfMemoryError内存不足错误.当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误. 造成此错误的原因有一下几个: 1.内存中加载的数据量过于庞大,如一次从数 ...
- php 启动过程 - reqeust RINIT 过程
php 启动过程 - reqeust RINIT 过程 概述 apache 接收到请求之后, 交给 php 处理 php 模块在接收到请求后, 会对请求进行初始化, 及 RINIT 过程 调用触发 a ...
- sql server 2008 数据库管理系统使用SQL语句创建登录用户详细步骤
--服务器角色:--固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL Server,且不能更改分配给它们的权限. --可以在数据库中不存在用户帐户的情况下向固定服 ...
- vue视频学习笔记01
video 1 vue:读音: v-u-eview vue到底是什么?一个mvvm框架(库).和angular类似比较容易上手.小巧mvc:mvpmvvmmv*mvx官网:http://cn.vuej ...
- hdu 4552 怪盗基德的挑战书
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4552 思路: 其实可以用KMP+DP解决 我这里给出后缀数组的解题方法 思路: 初始化ans=n(n为 ...
- [刷题]算法竞赛入门经典(第2版) 5-11/UVa12504 - Updating a Dictionary
题意:对比新老字典的区别:内容多了.少了还是修改了. 代码:(Accepted,0.000s) //UVa12504 - Updating a Dictionary //#define _XieNao ...
- git笔记--git@OSC
之前安装了git,用了不久就升级系统了,发现又忘记了步骤,虽然网上有很多教程,但寻找需要浪费太多的时间,由于github连接比较慢,所以使用了开源中国的托管http://git.oschina.net ...
- VMTools安装
先启动CentOS并成功登陆如下图,发现底部提示,准备安装 2.选择虚拟机菜单栏--安装VMware tools 3.光驱目录中拷贝VMwareTools-10.0.5-3228253.tar.gz到 ...
- 用CSS3实现饼状loading效果
原文地址:http://visugar.com/2017/05/17/CSS3%E9%A5%BC%E7%8A%B6loading%E6%95%88%E6%9E%9C/ 写在前面 (附录有源码及效果) ...
- thinkphp中的钩子_什么是钩子?
讲到插件,不得不讲钩子.首先,我们之前说明了插件是一个扩展的功能实现. 既然是扩展的,那么就要很灵活.可复用,并不是像我们之前开发项目,一个功能实现了,就写死在代码里了. 项目其他地方要用了,怎么办, ...