IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 无标签学习的知识蒸馏——Learning Student Networks in the Wild -> 正文阅读

[人工智能]无标签学习的知识蒸馏——Learning Student Networks in the Wild

网上看到一篇关于这个论文的博客,居然还要花钱订阅,这就不能忍了,中国人不能欺负中国人。所以自己写博客,论文其实很好懂

论文地址

Learning Student Networks in the Wild (thecvf.com)

代码地址

GitHub - huawei-noah/Efficient-Computing: Efficient-Computing

整体流程

?

主要问题

使用未标记的数据完成知识蒸馏,解决teacher 网络中训练集不可用的问题。

创新点

1、Noisy adaptation matrix Q

2、提出DFND模型

主要方法

预备知识——知识蒸馏中学生网络的损失函数

X是训练数据, Y是gt label,?x\in X, y\in Y,?H_{CE}是交叉熵损失,?D_{KL}是KL距离,\lambda是调和参数

等号右边的第二项是最小化老师和学生网络的距离,可以看作是为了帮助训练学生网络而做的强正则化器

传统的知识蒸馏需要原始的数据集去训练老师网络,但是这些数据集有时是不可用的,虽然有一些利用老师网络产生图像的data-free compression 方法,但是现有的方法的性能受限于视觉质量和计算成本。为解决以上问题,最直接的方法是使用公开的无标签数据进行知识蒸馏

x^{U}\in X^{U}:无标签数据

然而和公式(1)相比公式(2)?有两个缺点:第一,公式(2)的目标是在无标签数据集X^{U}上最小化老师和学生网络的 ouput 距离,而不是在原始的数据集X^{O}上, 通过公式(2)训练出来的学生网络 原始数据集上的性能是无法保证的。 第二、由于无标签数据没有真实标签所以 分类损失 无法计算。由于这两部分使公式(2)无法获得合适的目标函数 使得学生网络在原始数据集上的性能可以接受,所以提出了DFND算法,帮助学生网络从老师网络那里学到有用且正确的信息。简单说,从无标签数据中选择最有价值的样本,供学生网络学习使学生网络在原始数据集上也能有良好的性能,并为无标签数据标注伪标签,使公式(2)中有分类损失。

1、数据收集

目的是在巨大的无标签数据中收集有用的数据,以保证训练出来的学生网络在原始数据集上也有良好的性能,目标可以被公式化为 以下公式?

x^{O}原始的训练数据,?N_{S}是由公式(2)选择的无标签数据x^{U}\in X^{U}训练出来的学生网络。然后公式(3)描述的样本选择原则?在原始数据x^{O}不可用的情况下是很棘手的。所以提出了一个可替代的原则。

为了替代公式(3)中的KL距离,将会分析老师和学生网络输出的MSE loss(L2距离)去收集有用数据

借助公式(4),在命题1中提出了选择样本的替代原则?

?命题1:

给定一个预训练的教师网络N_{T}和一个巨大的无标签数据集X^{U},无标签样本的噪声值可以被定义为

?y\hat{}^{U} = \underset{i}{argmax} N_{T}(y=y_{i}|x^{U})是被老师网络预测的?X^{U}的伪标签,有用的样本具有较小的噪声值。

证明:(有时间在补上)

根据命题1,老师网络中具有高置信度的样本更有可能被选为训练数据。数据收集方法背后的直觉很简单。首先,使用原始数据集训练的老师网络,置信分数较低的样本在原始分布中有较低的概率值。因此,命题1可以防止选择大部分分布外的样本。更重要的是,老师提供的关于置信度较高的样本的信息不太可能是错误的。因此,命题1中选择值比较大的样本。应该注意的是,尽管在半监督学习中有时会使用低熵伪标签选择未标记数据[19,35],但我们是第一个应用的该技术适用于无数据知识提取环境。此外,我们还进行了深入的分析,从理论上保证了这种数据采集方法的有效性。

?2、无标签数据的噪声蒸馏

使用老师网络中产生的伪标签作为one-hot labels 根据公式(1)来生成标签。知识蒸馏中的损失函数被定义为

?x , y是训练数据,?y\hat{} = \underset{i}{argmax}(N_{T}(x))_{i},对于知识蒸馏中的D_{KL}?学生可以使用未标记的数据直接向老师学习, 对于交叉熵项,更准确的标签y肯定有助于学生网络的训练。然而,教师预测的标签y?是噪声标签,因为N_{T}没有学习来捕获未标记数据中的信息。为了解决这个问题,我们利用下面的函数来发现噪声标签和真实标签之间的概率,

?k是y类别数,p(y\hat{}|y)是噪声适应矩阵Q,这里Q_{ij} = p(y\hat{}=i|y=j)?类别真实类别为j的时候伪标签为i的概率。它将真实标签的概率p(y|x)转换为噪声概率p(y\hat{}|x),因此可以通过在学生网络的softmax 层之后增加噪声适应矩阵Q来学习真实标签。然后计算转换后的输出和伪标签之间的交叉熵损失。公式(3)中的噪声蒸馏可以被定义为

实际上,Q的真实值是不知道的,我们根据老师网络的先验知识来初始化Q,定义老师网络在原始数据集上第i类的准确率为a_{i}, Q的对角线值可以被定义为Q_{ii}=a_{i}, 因此Q的行可以被视为概率分布

\sum_{j=1}^{k}Q_{ij} = \sum_{j=1}^{k}p(Y\hat{}=i|Y=j) = 1

因此Q被初始化为

?

算法流程

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:51:52  更:2021-11-26 08:52:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:13:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码