#Paper Reading# Stochastic Optimization of Sorting Networks via Continuous Relaxations
论文题目: Stochastic Optimization of Sorting Networks via Continuous Relaxations
论文地址: https://openreview.net/forum?id=H1eSS3CcKX
论文发表于: ICLR 2019
论文所属单位: Stanford
论文大体内容:
本文主要提出了NeuralSort模型,通过引入松弛,对置换矩阵变换为单峰行随机矩阵来解决sorting问题,使之前不能end2end训练(不可微分)的模型也能进行梯度下降优化。
Motivation:
Sorting问题不可微分,引入松弛来克服这个问题。
Contribution:
①提出NeuralSort模型,克服不可end2end训练问题;
②应用NeuralSort模型到排列问题中(采用Plackett-Luce (PL) 分布);
③该模型在3个任务中取得收益;
1. Sorting问题可以理解为去获取置换矩阵,其中置换矩阵的定义如下(行是样本,列是序,如第5个样本排名第6,那么P[5, 6] = 1,其它P[5, *] = 0),由于不是连续值,所以该问题不可微分/求导,不能进行end2end梯度下降优化。
2. 定义
s是input vector,如[9,1,5,2];
z是一个排列index,如[1,4,2,3];
Zn是n!个z,所有的排列可能;
P是置换矩阵;
z=sort(s)操作是获取s的排列z,也是本文想要创造的算子;
Deterministic Sort
3. Plackett-Luce (PL) 分布下计算某个序列表的概率采用链式乘法
4. 单峰行随机矩阵
5. 将sort算子松弛后,可以计算出最大的k个元素和,那么第k个元素值=sum(topK) - sum(top(K-1))。
证明过程
6. 根据上面的最大的k个元素和计算公式,可以推导得到置换矩阵各个位置的值如下,再通过tf.nn.softmax_cross_entropy_with_logits_v2()来计算loss。
证明过程
7. kNN的算法逻辑:
①距离一般使用欧式距离或者曼哈顿距离等;
②每个query node需要跟已有的所有节点进行计算距离,才能选出k个最近的节点来确定label;
③如果k取最大值,那么就是直接划分query node为最多数量的类别;
④可以用kd树优化计算速度;
kNN对于分类是次优的,因为需要设定k。而其实可以引入NN的方式来计算每个node的embedding,用于kNN计算,但问题是引入NN后无法做到end2end学习,采用本文提出的方法就可以克服这个问题。
Stochastic Sort
8. 相比Deterministic Sort,Stochastic Sort就是增加了随机采样的过程,主要是为了解决推断排列时含有的不确定性,比如含有隐含node的结构(不能直观得出排列)。
P.S. 实际代码里面是 s=s-log(-log(g)) 。
实验
9. 使用本文提出的NeuralSort进行了3个实验来验证有效性:
①手写数字的排序;
②手写数字的中位数识别;
③kNN的end2end版本;
10. Dataset
①large-MNIST dataset:通过对单个数字的拼接,形成多位数的数字;
11. Baseline
①The vanilla row-stochastic (RS) baseline:n个图像的embedding concat起来,输入到MLP中;
②The Sinkhorn and GumbelSinkhorn baselines:use the Sinkhorn operator to map the stacked CNN representations for the n objects into a doubly-stochastic matrix.
12. 实验结果
①手写数字的排序任务,n越大效果越差,相比baseline有明显收益;
②手写数字的中位数识别任务,MSE相比baseline领先一个数量级;
③kNN任务,不用kNN效果最好,用了kNN是end2end版本的最好;
参考资料
[1] kNN论文 https://www.jmlr.org/papers/volume10/weinberger09a/weinberger09a.pdf
[2] github代码 https://github.com/ermongroup/neuralsort
以上均为个人见解,因本人水平有限,如发现有所错漏,敬请指出,谢谢!
#Paper Reading# Stochastic Optimization of Sorting Networks via Continuous Relaxations相关推荐
- Paper Reading:LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Archi
CVPR2021 github:https://github.com/researchmm/LightTrack Abstract 在过去几年中,目标跟踪取得了重大进展.然而,最先进的跟踪器变得越来越 ...
- Paper:《Adam: A Method for Stochastic Optimization》的翻译与解读
Paper:<Adam: A Method for Stochastic Optimization>的翻译与解读 目录 Adam: A Method for Stochastic Opti ...
- paper reading:[renormalization]Semi-supervised Classification with Graph Convolutional Networks
paper reading:[Renormalization Trick] Semi-supervised classification with graph convolutional networ ...
- Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading)
Stochastic Image Denoising By Sampling from the Posterior Distribution (Paper reading) Bahjat Kawar, ...
- Deblurring via Stochastic Refinement (Paper reading)
Deblurring via Stochastic Refinement (Paper reading) Jay Whang, University of Texas at Austin, USA, ...
- #Paper reading#DeepInf: Social Influence Prediction with Deep Learning
#Paper reading# DeepInf: Social Influence Prediction with Deep Learning 设计了一个端到端的框架DeepInf,研究用户层面的社会 ...
- [paper reading] ResNet
[paper reading] ResNet GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能放到C ...
- [paper reading] RetinaNet
[paper reading] RetinaNet GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法只能 ...
- [paper reading] Faster RCNN
[paper reading] Faster RCNN GitHub:Notes of Classic Detection Papers 本来想放到GitHub的,结果GitHub不支持公式. 没办法 ...
最新文章
- python vs javascript_Python“是”vs JavaScript===
- python基础知识资料-Python基础知识(一)—简介
- 更改一字段的全部字节的大小写
- vue-cli3 DllPlugin 提取公用库
- python真是最烂的语言_在大型项目上,Python 是个烂语言吗?
- 中国酒精拭子市场趋势报告、技术动态创新及市场预测
- PAT 乙级 1010. 一元多项式求导 (25) Java版
- scala Map入门到熟悉
- unity的函数生命周期
- 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
- 快手AI技术副总裁郑文:为什么说AI是短视频平台的核心能力
- 第一篇:手把手教你移植任天堂,没有声音、无需外置SD卡、可使用独立按键也可使用外置手柄,本人使用的芯片为ESP32,移植到STM32均可使用。(本篇主要介绍nes_main.h这个文件)
- Excel如何实现随机抽取
- vnc以及xfce安装\xrdp连接
- 2020高中计算机会考成绩查询,2020会考成绩查询网站入口 学业水评考试成绩查询方法...
- Android 录制桌面视频 screenrecord
- BlueHost和SiteGround美国主机商对比评测
- 有关嵌入式硬件测试的资料
- SQL注入的测试方法
- 小码农也有大梦想!javaweb编程技术微课版答案
热门文章
- CentOS (linux) 启动错误 *** Run 'setenforce 1'to reenable. 解决
- MMD导入unity中使用
- 机器人碰撞检测——生成无碰撞轨迹
- log(一)——MDC入门
- python上市公司有哪些_python调用tushare获取A股上市公司基础信息
- 工厂模式C++实现(三种工厂模式附详细注释)
- Android开发——查询/杀死手机里正在运行的进程
- 谷歌发现利用零日漏洞的攻击、黑客通过漏洞入侵红十字会|2月17日全球网络安全热点
- 液晶显示器不宜使用屏幕保护程序
- 融易投3周年庆——欢乐送豪礼