【发布时间】:2021-04-14 22:36:07
【问题描述】:
我正在尝试创建一个新的激活层,我们称之为 topk,它的工作方式如下。它将一个大小为 n 的向量 x 作为输入(将前一层输出乘以权重矩阵并添加偏差的结果)和一个正整数 k,并将输出一个大小为 n 的向量 topk(x),其元素是:
x_i (if x_i is one of the top k elements of x)
topk(x)_i =
0 (otherwise)
在计算topk(x)的梯度时,x的前k个元素的梯度应该是1,其他的都是0。
我应该如何实现这个?任何帮助将不胜感激。
【问题讨论】: