论文地址:

https://arxiv.org/pdf/1503.02531.pdf

在蒸馏网络中会遇到手动调整bias的说法,但是这个bias在论文中又没有明细说明是怎么个bias,具体论文出处:

If this bias is increased by 3.5

查询Gemini,得到回答:

Assuming you're referring to the previous sentence about logits, here's the translation with "If this bias is increased by 3.5":

如果将此偏差增加 3.5,则非常负的 logits 可能仍然包含来自复杂模型所学习知识的有用信息,但这些信息可能更难解读或利用。

Here's a breakdown of the addition:

如果将此偏差增加 3.5 (If this bias is increased by 3.5): This translates directly, indicating we're considering the scenario where the bias towards negative logits is amplified.

Explanation of the impact:

By increasing the bias towards negative logits, the model will become even more confident in assigning very low probabilities to certain categories.

While the logits might still hold some information about the model's learnings, it might be harder to interpret or leverage that information due to the stronger bias.

This could potentially make the model less accurate or adaptable.

给出蒸馏网络中核心公式,温度控制的logits:

个体神经网络(CNN模型):

CNN层 + 全连接层(输出的是logits) + softmax层(输出的是预测值概率P) + 交叉熵损失函数

在蒸馏网络中,Student网络是通过学习Teacher网络中的通过温度控制后的logits所形成的概率,也就是上面公式中的这个\(q_i\),上面的这个\(q_i\)是Teacher网络的,我们也需要构建Student网络得到一个对应的\(z_i^{'}\)并根据此得到对应的\({q}_i^{'}\),在得到Teacher网络的\(q_i\)和Student网络的\({q}_i^{'}\)后根据\(KL({q}_i, {q}_i^{'})\)来训练Student网络。

可以知道,在训练Teacher网络时是不使用温度系数Temperature的,在训练好Teacher网络后千亿训练Student网络时才分别在这两个网络的logits上加入Temperature系数,在训练好Student网络后使用Student网络进行测试的时候在移除掉这个Temperature系数;但是对于某些情况,如训练Student网络是缺少某一类class数据的训练时,就会导致训练好的Student网络对这一类数据的表现performance不好,这时候就可以通过手动为没有Temperature系数的logits加入一个bias来对此进行修正,具体形式为\(z_{i}=(z_{i}+bias_{i})\),注意,这里的i指的是class缺失的那个类。

注意,这里的手动给logits加bias并不是普遍操作,而是论文中单独讨论的一种情况,即在使用Teacher网络训练Student网络时缺少某一类数据的情况,这里这是纯学术research讨论之用;这里的讨论只是要说明使用Teacher网络训练Student网络时会具有Teacher网络本身训练时的所有类的信息,即使在使用Teacher网络训练Student网络时缺少这一类信息,其实Student网络也是可以学习到这个类的相关信息的,只不过这时需要手动调整Student网络测试时的logits的bias而已。

蒸馏网络中的bias是指什么? —— 论文《Distilling the Knowledge in a Neural Network》—— 知识蒸馏的更多相关文章

  1. 【DKNN】Distilling the Knowledge in a Neural Network 第一次提出神经网络的知识蒸馏概念

    原文链接 小样本学习与智能前沿 . 在这个公众号后台回复"DKNN",即可获得课件电子资源. 文章已经表明,对于将知识从整体模型或高度正则化的大型模型转换为较小的蒸馏模型,蒸馏非常 ...

  2. 【论文考古】知识蒸馏 Distilling the Knowledge in a Neural Network

    论文内容 G. Hinton, O. Vinyals, and J. Dean, "Distilling the Knowledge in a Neural Network." 2 ...

  3. Deeplearning知识蒸馏

    Deeplearning知识蒸馏 merge paddleslim.dist.merge(teacher_program, student_program, data_name_map, place, ...

  4. Windows Azure 虚拟网络中虚拟机的网络隔离选项

     最近我们发布了一份<Windows网络安全白皮书>(单击此处下载),文中深入说明了客户可以如何利用该平台的本地功能,为他们的信息资产提供最好的保护. 由首席顾问Walter Myer ...

  5. 深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv

    搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里. 先来规范表达 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核 ...

  6. 『TensorFlow』生成式网络中的图片预处理

    简介 这里的生成式网络是广义的生成式,不仅仅指gan网络,还有风格迁移中的类自编码器网络,以及语义分割中的类自编码器网络,因为遇到次数比较多,所以简单的记录一下. 背景 1.像素和数字 图像处理目标一 ...

  7. 论文笔记:蒸馏网络(Distilling the Knowledge in Neural Network)

    Distilling the Knowledge in Neural Network Geoffrey Hinton, Oriol Vinyals, Jeff Dean preprint arXiv: ...

  8. 网络中常见的ping命令协议

    ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之 ...

  9. Kubernetes用户指南(二)--部署组合型的应用、连接应用到网络中

    一.部署组合型的应用 1.使用配置文件启动replicas集合 k8s通过Replication Controller来创建和管理各个不同的重复容器集合(实际上是重复的pods). Replicati ...

  10. p2p网络中的NAT穿透技术----常见NAT穿越解决方案

    转:http://blog.csdn.net/cllzw/article/details/46438257 常见NA丁穿越解决方案 NAT技术在缓解IPv4地址紧缺问题.构建防火墙.保证网络安全等方面 ...

随机推荐

  1. 算法金 | 一文彻底理解机器学习 ROC-AUC 指标

    ​ 大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 在机器学习和数据科学的江湖中,评估模型的好坏是非常关键的一环.而 ROC(Rece ...

  2. MySQL查询关于区分字母大小写问题

    前段时间在工作中测试提出了一个BUG,让我把根据ID查询区分大小写的功能去掉,大小写都随便查,然后我在SQL的位置加上了UPPER(id) = UPPER(#{id})的写法,而同事知道这个问题后的反 ...

  3. Nivdia向量数据库图检索最新标杆——CAGRA

    本文连接:https://wanger-sjtu.github.io/CARGA/ CAGRA 是 N社在RAFT项目中 最新的 ANN 向量索引.这是一种高性能的. GPU 加速的.基于图的方法,尤 ...

  4. 原始指针 [raw pointers]

    指针是一个变量,用于存储对象的内存地址. 指针广泛应用于 C 和 C++: 在堆上分配新对象 通过参数将某些函数传递给其他函数 迭代/遍历数组或其他数据结构的元素 int* p = nullptr; ...

  5. Java与React轻松导出Excel/PDF数据

    前言 在B/S架构中,服务端导出是一种高效的方式.它将导出的逻辑放在服务端,前端仅需发起请求即可.通过在服务端完成导出后,前端再下载文件完成整个导出过程.服务端导出具有许多优点,如数据安全.适用于大规 ...

  6. 推荐一个vs Nuget部署插件

    写在前面 nuget部署工具, 无论是直接用web上传还是用命令行工具上传,还是其他第三方工具我都没找到满意,直到那天在群里提了一下,有位大佬说了个NuPackvs插件,用了下,感觉基本满足了我的需求 ...

  7. Xcode调试内存最新理解

    前提: Xcode 16.0 beta 设置 Scheme设置中勾选Malloc Scribble.Malloc Stack Logging. 这么做是为了在Memory Graph.Profile中 ...

  8. Android自动化无障碍服务开源库-Assists v3.0.0

    Assists v3.0.0 Android无障碍服务(AccessibilityService)开发框架,快速开发复杂自动化任务.远程协助.监听等 Android无障碍服务能做什么 利用Androi ...

  9. Kubernetes(五) Pod控制器详解

    Pod控制器详解 本章主要介绍Pod控制器的详细使用 1. Pod控制器介绍 在kubernetes中,按照pod的创建方式可以将其分为2类: 自主式pod:kubernetes直接创建出来的pod, ...

  10. C语言:if(0)之后的语句真的不会执行吗?

    C语言--if(0)之后的语句真的不会执行吗? 原文(有删改):https://www.cnblogs.com/CodeWorkerLiMing/p/14726960.html 前言 学过c语言的都知 ...