Co to jest temperatura w LSTM (i ogólnie sieciach neuronowych)?


Odpowiedzi:


28

Temperatura jest hiperparametrem LSTM (i ogólnie sieci neuronowych) wykorzystywanych do kontrolowania losowości prognoz poprzez skalowanie logów przed zastosowaniem softmax. Na przykład, w TensorFlow za Magenta realizacji z LSTMs, temperatura reprezentuje ile podzielić logits przez przed obliczania Softmax.

Gdy temperatura jest 1 obliczamy Softmax bezpośrednio na logits (nieskalowanym wyjściowy wcześniejszych warstwach) i stosując temperaturę 0,6 model oblicza Softmax o , co daje większą wartość. Wykonywanie softmax na większych wartościach sprawia, że ​​LSTM jestbardziej pewny(potrzeba mniej danych wejściowych, aby aktywować warstwę wyjściową), ale takżebardziej konserwatywnyw swoich próbkach (jest mniej prawdopodobne, że próbkuje od mało prawdopodobnych kandydatów). Zastosowanie wyższej temperatury powoduje łagodniejszy rozkład prawdopodobieństwa w klasach i sprawia, że ​​RNN jest łatwiej „wzbudzany” przez próbki, co powodujewiększą różnorodność,a takżewięcej błędów.losoljats0,6

zz=(z1,,zn)q=(q1,,qn)zja

(1)qja=exp(zja/T.)jotexp(zjot/T.)

T.

Funkcja softmax normalizuje kandydatów przy każdej iteracji sieci w oparciu o ich wartości wykładnicze, zapewniając, że wyjścia sieci są od zera do jednego za każdym razem.

Temperatura zwiększa zatem wrażliwość na kandydatów o niskim prawdopodobieństwie. W LSTM kandydat lub próbka może być literą, słowem lub nutą, na przykład:

ττ0+

- z artykułu w Wikipedii na temat funkcji softmax

Odniesienie

Hinton, Geoffrey, Oriol Vinyals i Jeff Dean. „Destylowanie wiedzy w sieci neuronowej”. nadruk arXiv arXiv: 1503.02531 (2015). arXiv


3
Jest to aluzja do rozkładu Boltzmanna (lub rozkładu Gibbsa) - rozkładu prawdopodobieństwa stosowanego w mechanice statystycznej.
mc2,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.