[解读] GTN: Generative Teaching Networks
链接: https://arxiv.org/abs/1912.07768v1
参考:
https://www.leiphone.com/news/201912/FBZsLSCZSgyD5fIq.html
https://cloud.tencent.com/developer/news/492236
Generative Teaching Network (GTN), 它可以生成数据和训练环境, 让模型在进行目标任务之前先进行一些 SGD 步骤训练, 而使用 GTN 在合成数据训练的神经网络比利用真实数据训练得更快. 在利用 GTN-NAS 搜索新的神经网络架构时, 速度比使用实际数据快9倍, 而且使用的计算量比典型NAS方法少几个数量级.
相关的工作
生成式对抗网络, 它可以生成高分辨率的图像, 但它被训练来模仿真实数据, 而不是学会学习. 数据集蒸馏 (Dataset distillation [1]) 方法利用元学习的思想, 通过在真实数据集上进行测试, 来优化随机生成的数据. 这与本文的工作很接近, 不同点在于本文的合成数据是使用一个生成器来生成的, 好处是能够进一步扩展此方法, 因为合成的数据之间具有某种规则性.
方法
GTN 的核心思想是训练一个数据生成网络, 生成的数据用于学习器的学习, 使得学习器在目标任务上能够快速的达到较好的效果.
上图是 GTN 结构图. 内循环由生成器 G(z,y)G(\mathbf{z},\mathbf{y})G(z,y) 和学习器组成. z\mathbf{z}z 和 y\mathbf{y}y 分别是高斯噪声和样本标签, 做为生成器的输入. 生成器输出合成数据 xxx, 学习器在合成数据上进行训练, 使用梯度下降算法优化参数. 生成器也可以只将 zzz 做为输入, 输出合成数据和标签.
在外层循环中, 学习器在真实的训练数据上进行评估, 得到外层循环W的元训练损失. 这个损失用来计算元训练梯度, 反馈到内部循环中, 从而优化生成器. 具体来说, 云损失 一方面用来计算内循环超参数的梯度, 另一方面计算生成器的参数梯度.
为了简洁表达算法的思想, 下面自制的伪代码是文中 All shuffled 模式的.
其中 ggg 是生成器, 其参数为 η\boldsymbol{\eta}η, 其中 fff 是学习器, 其参数为 θ\boldsymbol{\theta}θ, Linner,Louter\mathcal{L}_{\text{inner}} ,\mathcal{L}_{\text{outer}}Linner,Louter 分别为内循环和外循环的损失, L(⋅)\mathcal{L}(\cdot)L(⋅) 是一个损失函数, x,y\mathbf{x}, \mathbf{y}x,y 分别是真实的数据和标签.
补充
元训练学习: https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html
课程学习: https://blog.csdn.net/qq_25011449/article/details/82914803
参考
[1] Tongzhou Wang, Jun-Yan Zhu, Antonio Torralba, and Alexei A. Efros. Dataset distillation, 2019b.
本人才疏学浅, 如有遗漏或错误之处, 请多多指教!
[解读] GTN: Generative Teaching Networks相关推荐
- [解读] Coupled Generative Adversarial Networks
论文链接: https://arxiv.org/abs/1606.07536v2 Github 项目地址: https://github.com/mingyuliutw/cogan 本文提出耦合的生成 ...
- Generative Adversarial Networks 生成对抗网络的简单理解
1. 引言 在对抗网络中,生成模型与判别相竞争,判别模型通过学习确定样本是来自生成模型分布还是原始数据分布.生成模型可以被认为是类似于一组伪造者,试图产生假币并在没有检测的情况下使用它,而判别模型类似 ...
- 【GAN】《ENERGY-BASED GENERATIVE ADVERSARIAL NETWORKS》 ICLR‘17
<ENERGY-BASED GENERATIVE ADVERSARIAL NETWORKS> 先介绍EBGAN,再详细解读为什么这样做. Auto-encoder Discriminato ...
- Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks 中文翻译
Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks 中文翻译 如有异议,请多指教,非专业 ...
- U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization
论文题目:U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalizati ...
- stylegan3:alias-free generative adversarial networks
StyleGAN3论文解读 - 知乎好久没写论文解读了,今天写个最近大火的模型"StyleGAN3",论文很长,我挑重点整理总结一下 :) 本文的出发点:作者们在本文探索并尝试解决 ...
- 生成式对抗网络Generative Adversarial Networks(GANs)
1. 前言 2. 参考资料 3. 研究背景 4. GAN的框架 4.1 对抗框架(Adeversarial Nets) *关于"无监督学习"的说明 4.2 Minimax two- ...
- 深度学习之生成式对抗网络 GAN(Generative Adversarial Networks)
一.GAN介绍 生成式对抗网络GAN(Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一.它源于2014年发表的论文:& ...
- 【文献阅读】Perceptual Generative Adversarial Networks for Small Object Detection –CVPR-2017
Perceptual Generative Adversarial Networks for Small Object Detection 2017CVPR 新鲜出炉的paper,这是针对small ...
最新文章
- FreeBSD 8.0 终于发布正式版了
- Gibbs sampling
- 英语 interactive tutorial unary
- 基本数据类型之间的运算
- 第二百三十一天 how can I 坚持
- fatal error C1083: Cannot open include file: 'ceconfig.h': No such file or directory
- python setdefault函数_python 字典 setdefault()和get()方法比较详解
- 全新的 Vue3 状态管理工具:Pinia
- mysql字段简索引_MySQL优化看这一篇就够了
- 平衡二叉查找树插入节点操作( AVLTree ):旋转、调整平衡
- zbrush 添加纹理贴图_ZBrush油泥粘土雕塑笔刷Digital Clay Pack
- mysql基础之视图、事务、索引、外键
- 0825torch基础入门操作
- Windows电脑怎么查看自己的电脑是64位的?
- 华为设备配置IS-IS的负载分担
- GWAS相关名词解释及基础知识储备[长期更新]
- 【Java】浅谈Swing概况及简单窗口的构建
- Java内部锁(synchronized)中类锁和对象锁
- 让微积分穿梭于工作与学习之间(14):带圆弧多边形的面积计算(下,多值函数的情况)
- [C++] std::tuple