该研究提出了一种改进的稀疏自编码器方法BatchTopK,通过放宽top-k约束,提升了重构效果,同时保持了平均稀疏度。实验结果表明,BatchTopK在重构激活方面优于传统TopK SAEs,并与JumpReLU SAEs的性能相当。
TopK算法用于在未排序的数组中找到最大或最小的K个元素。常见的两种CPU TopK算法是O(N + KlogN)和O(N)算法。第一种算法使用堆构建和堆提取操作,时间复杂度为O(N + KlogN)。第二种算法使用中位数选择算法和线性扫描或分区算法,时间复杂度为O(N)。两种算法都可以在C++中实现。
完成下面两步后,将自动完成登录并继续当前操作。