Gumbel-Softmax полностью решен

алгоритм

Это 16-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.

написать впереди

Эта статья для большинства людей может иметь только научно-популярную роль, потому что Gumbel-Max используется только в некоторых областях, таких как GAN, VAE и т. д. Когда автор исследовал статью о EMNLP, я увидел, что формула Gumbel-Softmax использовалась для решения проблемы невозможности получения выборки распределения вероятностей, поэтому я подумал сделать резюме Gumbel-Softmax, поэтому я написал эту статью.

Зачем нам нужен Gumbel-Softmax?

Предположим, теперь у нас есть дискретная случайная величинаZZРаспределение

p1=p(Z=1)=число Пи1p2=p(Z=2)=число Пи2p3=p(Z=3)=число Пи3...px=p(Z=x)=число Пиxp_1 = p(Z=1)=\pi_1\\ p_2 = p(Z=2) = \pi_2\\ p_3 = p(Z=3) = \pi_3\\ ...\\ p_x = p(Z=x) = \pi_x\\

в,iчисло Пиi=1\sum_i \pi_i=1. мы хотим основатьp1,p2,...,pxp_1,p_2,...,p_xвероятностная выборка для получения ряда дискретныхzzзначение . Но с этим есть проблема,Мы попробовалиzzТолько значения, не сгенерированныеzzформула. Например, мы просимZZожидания, то есть формула

E(Z)=p1+2p2++xpx\mathbb{E}(Z) = p_1 + 2p_2 + \cdots +xp_x

ZZправильноp1,p2,...,pxp_1,p_2,...,p_xПроизводные очень понятны. Но теперь наше требование состоит в том, чтобы попробовать некоторые конкретныеzzзначения, нет формулы для выборки этой операции, поэтому ее нельзя вывести. Так родилась очень естественная идея, можем ли мы датьотp1,p2,...,pzp_1,p_2,...,p_zФормула для параметров, пусть результат, возвращаемый этой формулой, будетzzА результаты выборки?

Gumbel-Softmax

Вообще говорячисло Пиi\pi_iпредсказывает нейронная сеть для классаiiВероятность , которая очень часто встречается в задачах классификации, предположим, что мы вводим образец в модель, а распределение вероятностей конечного результата равно[0.2,0.4,0.1,0.2,0.1][0.2, 0.4,0.1,0.2,0.1]Это показывает, что это проблема классификации 5, с наибольшей вероятностью вероятности того, что вторая категория, на этот шаг, мы можем получить результат непосредственно через argmax, но теперь мы не прогнозируем, а проблема выборки. Для моделей вероятность прямой удаления является самой большой, но для нас каждая категория имеет определенную вероятность. Мы хотим образец в соответствии с этой вероятностью, а не прямой простую выходную вероятность вывода. Значение

самая обычная выборкаz\mathbf{z}Горячая формула

z=onehot(max{iчисло Пи1+число Пи2++число Пиi1u})(1)\mathbf{z} = \text{onehot}(\max \{i\mid \pi_1 + \pi_2+\cdots +\pi_{i-1} \leq u\})\tag{1}

вi=1,2,..,xi=1,2,..,xиндекс категории, случайная величинаuuследовать равномерному распределениюU(0,1)U(0,1)

Вышеприведенный процесс на самом деле очень умный, мы добавляем распределение вероятностей спереди назад, и при добавлении кчисло Пиi\pi_iпревышает некоторое случайное значение0u1 0\leq u \leq 1, то этот процесс случайной выборки,zzслучайным образом выбирается какiiкласс, наконец-то прошел горячее преобразование

Но у приведенной выше формулы есть фатальная проблема: функция max неуправляема.

Gumbel-Max Trick

Техника Gumbel-Max предназначена для решения невыводимой проблемы функции max.Мы можем заменить max на argmax, то есть

z=onehot(argmaxi{gi+logчисло Пиi})(2)\mathbf{z} = \text{onehot}(\mathop{\text{argmax}}\limits_{i} \{g_i + \log \pi_i\})\tag{2}

в,gi=log(log(ui)),uiU(0,1)g_i=-\log(-\log(u_i)), u_i \sim U(0,1), этот термин называется шумом Гамбеля или распределением Гамбеля, цель состоит в том, чтобы сделатьz\mathbf{z}Результат возврата не фиксирован

видимый(2)(2)Во всем процессе непроизводной частью является только argmax, Фактически, мы можем использовать производную функцию softmax в параметрет\tauаппроксимация argmax под управлением , и, наконец,ziz_iФормула

zi=exp(gi+logчисло Пиiт)jxexp(gj+logчисло Пиjт)(3)z_i = \frac{\exp(\frac{g_i + \log \pi_i}{\tau})}{\sum_{j}^x\exp(\frac{g_j + \log \pi_j}{\tau})}\tag{3}

в,т\tauменьше(т0)(\tau \to 0)Более плавное приближение аргмакса на протяжении всего софтмакса, а такжеz={zii=1,2,...,x}\mathbf{z} = \{z_i\mid i=1,2,...,x\}Чем ближе он к вектору onehot;т\tauбольше(т)(\tau \to \infty),z\mathbf{z}Чем ближе вектор к равномерному распределению

Суммировать

Весь процесс эквивалентен тому, что мы берем неуправляемый процесс выборки изz\mathbf{z}сама переведена вz\mathbf{z}одна из формулgig_iв, покаgig_iне зависит от себяp1,..,pxp_1,..,p_x,такzzправильноp1,...,pxp_1,...,p_xмы можем добраться туда, и мы получимz\mathbf{z}Все еще выборка из дискретных распределений вероятностей. Этот прием передачи процесса выборки имеет собственное имя, называемоеТрюк с репараметризацией

References