为什么在反向传播中感知器初始值不能为0_ICLR2019少样本学习新思路:利用转导(Transductive)和标签传播...

本文主要是介绍为什么在反向传播中感知器初始值不能为0_ICLR2019少样本学习新思路:利用转导(Transductive)和标签传播...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

5d61478c9eab76b8fcbfb5421ac92559.png

Learning to Propagate Labels: Transductive Propagation Network for Few-shot Learning

文章链接:https://arxiv.org/pdf/1805.10002.pdf

代码链接:https://github.com/csyanbin/TPN

1. Motivation: 少样本学习问题为什么要用转导(Transductive)?

目前大部分深度学习的算法依赖于大量的标准数据,这些数据的采集、标注需要耗费大量的人力成本。然而在标注数据比较少的情况下,深度学习的应用和效果都受到了限制。与之相反,人类具有从少量数据中学习的能力,例如给一个小朋友看过几张苹果的图片之后,他就可以很快学会“苹果”这个类别。
少样本学习(few-shot learning)的目标是在已知类别(Seen Class)训练一个分类模型,使它能够在只有少量数据的未知类别(Unseen Class)上面具有很好的泛化性能。少样本学习面临两个重要的问题:(1)已知类别和未知类别之间没有交集,导致它们的数据分布差别很大,不能直接通过训练分类器和微调(finetune)的方式得到很好的性能;(2)未知类别只有极少量数据(每个类别1或者5个训练样本),导致分类器学习不可靠。
对于第一个问题,Matching Networks提出了episodic training的策略。一个episode就是一个少样本学习的子任务,包含训练集和测试集。这里的episode类似于深度学习中的mini-batch的概念。
对于第二个问题,目前解决方法较少。我们提出利用转导(Transductive)的思想,拿到所有无标注数据,建立权重图,得到全部预测结果,如下图:

e7d5cebe54906beee5d94d74456a17c7.png
转导推理(Transduction) vs 归纳推理(Induction)

我们提出的转导方法将全部无标注数据和有标注数据一起建立一个无向图,通过标签传播的 方式得到全部无标注数据的标签。相比较归纳推理(Inductive)方法,我们可以利用无标注数据的分布实现更好的预测。

2. Method: 如何进行标签传播

df07db15d22386f3a7f93d9679f268e9.png
算法流程

这篇文章提出了转导传播网络(Transductive Propagation Network),主要分成四个模块:

1) 特征编码。这一部分我们参考常用方法,使用一个四层神经网络,将每张图片编码成64x5x5 = 1600维的特征向量。

2) 建立无向图。我们对任意两个特征向量,使用高斯相似函数计算它们在无向图上的权重:

。这里
我们通过一个两层网络学习得到。

建立图这一步非常重要,因为图中包含的是有标注和无标注数据两两之间的相似性关系,这个关系可以指导后面一步的标签传播。

3) 标签传播。有了上一步的图结构,标签信息就可以在图上面从有标注数据依次传播到无标注数据。这一步可以通过一个公式直接给出结果:

是预测结果,
是归一化之后的图权重,
是初始标签。

4) 计算损失。得到

之后,我们和真正的标签计算交叉熵损失函数,然后通过反向传播,更新特征编码和无向图部分的网络参数。

在第2)步中,我们通过一个网络

学习一个样本相关的图结构,针对每一个子任务(episode)我们学习一个单独的图结构,图的权重根据不同的任务和数据动态调整。在第3)步中,我们利用了标签传播算法存在解析解的良好特性,使每个子任务的求解一步完成,而不是像其他方法比如MAML那样,需要多次迭代。
2)和3)两个步骤,体现了我们论文题目中的"Learning to Propagate Label"的思想。

3. Experiment:算法性能

我们的方法在常见的miniImagenet和tieredImagenet数据集上,取得了最佳性能。对比算法包括MAML(ICML2017),Prototypical Network(NIPS2017)和Relation Network(CVPR2018)等。

528eb4fae4fd53deefb93527c4254595.png
miniImagenet

29164985692efb0d8dfb452381fc09c8.png
tieredImagenet

同时我们的算法还可以进行半监督(semi-supervised) 少样本学习,同样取得了非常好的性能,具体可以参考我们的论文。

4. Future:未来方向

本文提供了在训练数据较少的情况下,如何更好地利用无标注数据的一个思路。

如何改进图的结构,有没有比标签传播更好的方式,这些都是未来可以研究很探讨的方向。

这篇关于为什么在反向传播中感知器初始值不能为0_ICLR2019少样本学习新思路:利用转导(Transductive)和标签传播...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/808046

相关文章

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

Spring Boot 事务详解(事务传播行为、事务属性)

《SpringBoot事务详解(事务传播行为、事务属性)》SpringBoot提供了强大的事务管理功能,通过@Transactional注解可以方便地配置事务的传播行为和属性,本文将详细介绍Spr... 目录Spring Boot 事务详解引言声明式事务管理示例编程式事务管理示例事务传播行为1. REQUI

电脑软件不能安装到C盘? 真相颠覆你的认知!

《电脑软件不能安装到C盘?真相颠覆你的认知!》很多人习惯把软件装到D盘、E盘,刻意绕开C盘,这种习惯从哪来?让我们用数据和案例,拆解背后的3大原因... 我身边不少朋友,在使用电脑安装软件的时候,总是习惯性的把软件安装到D盘或者E盘等位置,刻意避开C盘。如果你也有这样的习惯,或者不明白为什么要这么做,那么我

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

vscode不能打开终端问题的解决办法

《vscode不能打开终端问题的解决办法》:本文主要介绍vscode不能打开终端问题的解决办法,问题的根源是Windows的安全软件限制了PowerShell的运行,而VSCode默认使用Powe... 遇到vscode不能打开终端问题,一直以为是安全软件限制问题,也没搜到解决方案,因为影响也不大,就没有管

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex