连续投影算法_谷歌大脑提出新排序算法:快速可微分,针对机器学习

谷歌大脑团队提出一种快速可微分排序算法,解决了传统排序算法在反向传播中的不可微问题。新算法时间复杂度O(nlogn),空间复杂度O(n),相比现有方法速度提升显著。该算法通过在线性规划中引入正则化实现投影算子,定义了软排序和软排名操作符,适用于端到端的深度学习训练。实验结果显示,新算法在CIFAR-10和CIFAR-100数据集上的精度与现有方法相当,但运行速度明显更快。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鱼羊 十三 发自 凹非寺
量子位 报道 | 公众号 QbitAI

快排堆排冒泡排。排序,在计算机中是再常见不过的算法。

在机器学习中,排序也经常用于统计数据、信息检索等领域。

那么问题来了,排序算法在函数角度上是分段线性的,也就是说,在几个分段的“节点”处是不可微的。这样,就给反向传播造成了困难。

现在,谷歌大脑针对这一问题,提出了一种快速可微分排序算法,并且,时间复杂度达到了O(nlogn),空间复杂度达为O(n)。

速度比现有方法快出一个数量级!

886be00f527bc85eb464323ddad83fc3.png

代码的PyTorch、TensorFlow和JAX版本即将开源。

快速可微分排序算法

现代深度学习架构通常是通过组合参数化功能块来构建,并使用梯度反向传播进行端到端的训练。

这也就激发了像LeCun提出的可微分编程 (differentiable programming)的概念。

虽然在经验上取得了较大的成功,但是许多操作仍旧存在不可微分的问题,这就限制了可以计算梯度的体系结构集。

诸如此类的操作就包括排序 (sorting)和排名 (ranking)。

从函数角度来看都是分段线性函数,排序的问题在于,它的向量包含许多不可微分的“节点”,而排名的秩要比排序还要麻烦。

首先将排序和排名操作转换为在排列多面体(permutahedron)上的线性过程,如下图所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值