不可导操作
https://spaces.ac.cn/archives/6620 不可导函数的可导逼近
期间用到了max的光滑近似,,变换后的向量最大值为0,,其余负值指数之后向0靠近,近似为onehot编码。
可以用如下trick,假设s是gumbel softmax中采样,stop_gradient(one_hot(argmax (s))-s)+s, 此时前向传播的时候是one hot (因为上述操作的值等于one_hot(argmax(s))),后向传播的时候有gradient (gradient 从 s 里传回),但注意这个时候gradient是biased,bias多大可以通过gumbel softmax里的temperature调节(但不可能变为0),实际效果还行
引用链接:https://www.zhihu.com/question/362769997/answer/1084714098
耿贝尔 (Gumbel) 分布是指有一种用理论根据的频率曲线来计算 “多年一遇” 海洋水文气象要素的常用方法。这种算法在西方有些国家得到较为广泛的应用。耿贝尔分布被广泛运用于最大风速的计算当中。
耿贝尔分布是根据极值定理导出。由费雪 (R. A. Fisher) 和蒂培特 (L. H. C. Tippett) 于 1928 年发现,各个样本的最大值 X 的概率分布函数趋于广义极值分布
耿贝尔分布主要是适用于对海洋、水文、气象,来计算不同重现期的极端高(低)潮位 海洋的年最高水位可以认为是由天文潮和许多随机因子的影响形成的。因此,它可以用耿贝尔极值 I 型分布函数进行拟合。
ReLU
https://www.zhihu.com/question/62857920
Refs:
苏剑林. (May. 20, 2019). 《函数光滑化杂谈:不可导函数的可导逼近 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/6620
https://blog.csdn.net/weixin_42720875/article/details/105936398
https://www.zhihu.com/question/426888224
https://www.zhihu.com/question/297337220/answer/668866709
https://www.zhihu.com/question/362769997/answer/1085829414 一些解决方法:
https://www.zhihu.com/question/297337220/answer/668866709
https://spaces.ac.cn/archives/6705 漫谈重参数,数学分析,离散情形
重参数:把随机挑选(function复杂功能)和参数表示(模型)两个过程分离。
how to use
https://github.com/rosinality/vq-vae-2-pytorch/blob/master/vqvae.py#L72
离散采样