本文是閱讀蘇劍林大佬的博客漫談重參數:從正態分佈到Gumbel Softmax之後的記錄,算是自己的閱讀筆記吧。
在蘇大佬的那篇博客中,分別針對連續型和離散型隨機變量講解了如何進行重參數化,但是自己不是特別理解離散型隨機變量的重參數化,便記錄在此。
什麼是連續型和離散型隨機變量?
這裏沒有各種形式化的定義,只是根據自己的理解通俗的來講解二者的區別。
可以先告訴大家,我們目前經常用到的連續型隨機變量的分佈有:
- 均勻分佈
概率密度函數: - 正態分佈(高斯分佈)
概率密度函數: - 指數分佈
概率密度函數:
目前常見的離散型隨機變量的分佈有:
- 二項分佈
取各個值的概率分佈:
P | p1 | 1-p1 |
- 多項式分佈
取各個值的概率分佈:
X | x1 | x2 | … | xk |
---|---|---|---|---|
P | p1 | p2 | … | pk |
- 泊松分佈
取各個值的概率分佈:
從上面可以看到,離散型隨機變量的取值是有限個,而且每個取值有對應的概率,但是連續型隨機變量的概率密度函數是一個函數形式,連續型隨機變量取某一個實數的概率也並不是。
在蘇大佬那篇博客中,連續型的情形比較好理解,主要是離散型的如何理解?
對於連續型的分佈來說,雖然參數未知,但是整個概率密度的形式是已知的,而對於離散型來說,我們已知的只有上述的隨機變量取各個值的概率分佈,所以如果從離散分佈中抽取若干個樣本,就相當於是依上述的概率分佈抽取若干個樣本。也就相當於是k分類模型。
重參數化技巧(reparameterization trick)
但是有的時候我們希望取樣過程對於分佈的參數可導,這樣就可以用bp算法來求分佈的參數。比如隱變量的分佈是離散分佈的時候,或者想要生成的分佈是離散分佈的時候。
當我們從離散型分佈中採樣了若干個樣本,這時是沒有辦法計算(6)式的梯度的,因爲得到了採樣的樣本後帶入(6)式,(6)已經損失了未知參數的隨機性(也就是不含有參數了),因此就需要一種辦法來對離散型分佈的採樣進行變換,使其也具有未知參數的隨機性(也就是使(6)式對的梯度存在),這種方法就是Gumbel Softmax。
接下來關於Gumbel Softmax的內容還是看蘇劍林大佬的博客漫談重參數:從正態分佈到Gumbel Softmax。還有另一位博主的博客Gumbel-Softmax Trick和Gumbel分佈