NIPS2018深度学习(21)|亮点: 异常检测;强化学习(论文及代码)

[1]BRUNO:ADeepRecurrentModelforExchangeableDataIryna Korshunova,Jonas Degrav...
摘要由CSDN通过智能技术生成

[1] BRUNO: A Deep Recurrent Model for Exchangeable Data

Iryna Korshunova, Jonas Degrave, Ferenc Huszár, Yarin Gal, Arthur Gretton, Joni Dambre

Ghent University, Twitter, University of Oxford, UCL

https://papers.nips.cc/paper/7949-bruno-a-deep-recurrent-model-for-exchangeable-data.pdf

这篇文章提出一种新的模型结构,它可以使得深度学习工具在高维复杂样本中进行精确的贝叶斯推理。

本文的模型具有可交换性,在样本发生扰动时,样本的联合分布具有不变性,该特性是贝叶斯推理的核心。这种模型训练时不需要变分近似,新样本可以根据先前的样本作为条件来生成,生成新样本的代价跟它所依赖的条件集合的大小呈线性关系。

对序列多样性进行建模时,能够从短序列得到泛化性能,这类学习任务(如条件图像生成,少样本学习以及异常检测等)体现了本文结构的优势。

BRUNO模型示意图如下

640?wx_fmt=png

不同方法效果对比如下

640?wx_fmt=png

其中21对应的论文为

Matching networks forone shot learningNIPS 2016

代码地址

https://github.com/AntreasAntoniou/MatchingNetworks

https://github.com/gitabcworld/MatchingNetworks

代码地址

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于强化学习的自动化裁剪CIFAR-10分类任务python源码+项目部署说明(提升模型精度+减少计算量).zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 目前的强化学习工作很多集中在利用外部环境的反馈训练agent,忽略了模型本身就是一种能够获得反馈的环境。本项目的核心思想是:将模型视为环境,构建附生于模型的 agent ,以辅助模型进一步拟合真实样本。 大多数领域的模型都可以采用这种方式来优化,如cv\多模态等。它至少能够以三种方式工作:1.过滤噪音信息,如删减语音或图像特征;2.进一步丰富表征信息,如高效引用外部信息;3.实现记忆、联想、推理等复杂工作,如构建重要信息的记忆池。 这里推出一款早期完成的裁剪机制transformer版本(后面称为APT),实现了一种更高效的训练模式,能够优化模型指标;此外,可以使用动态图丢弃大量的不必要单元,在指标基本不变的情况下,大幅降低计算量。 该项目希望为大家抛砖引玉。 为什么要做自动剪枝 在具体任务中,往往存在大量毫无价值的信息和过渡性信息,有时不但对任务无益,还会成为噪声。比如:表述会存在冗余/无关片段以及过渡性信息;动物图像识别中,有时候背景无益于辨别动物主体,即使是动物部分图像,也仅有小部分是关键的特征。 以transformer为例,在进行self-attention计算时其复杂度与序列长度平方成正比。长度为10,复杂度为100;长度为9,复杂度为81。 利用强化学习构建agent,能够精准且自动化地动态裁剪已丧失意义部分,甚至能将长序列信息压缩到50-100之内(实验中有从500+的序列长度压缩到个位数的示例),以大幅减少计算量。 ***实验中,发现与裁剪agent联合训练的模型比普通方法训练的模型效果要更好。*** 使用说明 环境 ``` torch numpy tqdm tensorboard ml-collections ``` 下载经过预先​​训练的模型(来自Google官方) 本项目使用的型号:ViT-B_16(您也可以选择其它型号进行测试) ``` imagenet21k pre-train wget https://storage.googleapis.com/vit_models/imagenet21k/ViT-B_16.npz ``` 训练与推理 下载好预训练模型就可以跑了。 ``` 训练 python3 train.py --name cifar10-100_500 --dataset cifar100 --model_type ViT-B_16 --pretrained_dir checkpoint/ViT-B_16.npz 推理 python3 infer.py --name cifar10-100_500 --dataset cifar100 --model_type ViT-B_16 --pretrained_dir checkpoint/ViT-B_16.npz ``` CIFAR-10和CIFAR-100会自动下载和培训。如果使用其他数据集,您需要自定义data_utils.py。 在裁剪模式的推理过程中,预期您将看到如下格式的输出 关于裁剪器的模型结构设计,本模型中认为如何衡量一个信息单元是否对模型有意义,建立于其自身的信息及它与任务的相关性上。 因此以信息单元本身及它与CLS单元的交互作为agent的输入信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值