之后我们对采样随机值后的权重分布取argmax(\hat{W})的话应该是选择第二个操作,当然这种概率是比较小的,这个也叫Gumbel-Max trick。可是argmax也有无法求导的问题,因此可以使用softmax来代替,也就是Gumbel-Softmax trick,那么有如下计算公式(\tau表示温度系数,类似于知识蒸馏里的温度系数,也是用来控制分布的平滑度)...
总结起来Gumbel-softmax在具体实践上和上面的例子有一丢丢不一样,总结起来步骤如下: 对于网络输出的一个n维向量vv,生成n个服从均匀分布U(0,1)U(0,1)的独立样本ϵ1,...,ϵnϵ1,...,ϵn 通过Gi=−log(−log(ϵi))Gi=−log(−log(ϵi))计算得到GiGi ...
总的来说,Gumbel softmax为可微NAS提供了一个更概率化的网络结构搜索方法,虽然在计算上可能与DARTS相似,但它的随机性选择机制为解决DARTS的问题带来了新的可能。如果你想深入了解其原理或实践应用,可以参考AutoML机器学习公众号的进一步内容,或者查阅相关代码库,如GitHub上的Baichenjia/G...。
可求导。保持采样结果的分布和算出来的理论分布一致。简单易懂附代码 参见:道哥真的多:Gumbel softmax...
三、Gumbel softmax登场 为了解决上面无法求导的问题,Gumbel softmax登场。它主要是使用了重参数技巧(Re-parameterization Trick)。 举个简单的栗子来帮助理解重参数技巧(gumbel softmax比这要稍微复杂一点,不过原理是一样的): 假设现在求得的权重分布是\(W=[0.1,0.2,0.7]\)。
三、Gumbel softmax登场 为了解决上面无法求导的问题,Gumbel softmax登场。它主要是使用了重参数技巧(Re-parameterization Trick)。 举个简单的栗子来帮助理解重参数技巧(gumbel softmax比这要稍微复杂一点,不过原理是一样的): 假设现在求得的权重分布是\(W=[0.1,0.2,0.7]\)。