Ne calcule pas «l'erreur tractable» dans les machines Boltzmann restreintes (RBM) intraitables?
-
31-10-2019 - |
Question
Soit $ v in {0,1 } ^ m $ la couche visible, $ h in {0,1 } ^ n $ la couche cachée, où $ m $ et $ n $ sont des numéros naturels . Étant donné les biais $ b in re ^ m $, $ c in re ^ n $ et pondérations $ w in re ^ {m Times n} $, l'énergie et la probabilité d'un RBM sont données par:
Énergie, $ e (v, h; b, c, w) = -b ^ t v - c ^ t h - h ^ tw ^ t v $
Probabilité, $ p (v, h; b, c, w) = frac {e ^ {- e (v, h; b, c, w)}} {z} $
où $ z = sum_ {v, h} e ^ {- e (v, h; b, c, w)} $
L'erreur de vraisemblance du journal négatif pour une machine Boltzmann restreinte (RBM) est donnée par:
$ mathcal {l} (b, c, w) = frac {1} {t} sum_ {t = 1} ^ {t} gauche (- log sum_ {h} e ^ {- e (e ( v ^ t, h; b, c, w)} droite) + log z $
où:
$ T $ est la taille de l'ensemble de données de formation; et
$ v ^ t $ représente $ t ^ {th} $ point de données dans l'ensemble de données de formation
Il est clair que le calcul $ z $ (et donc $ log z $) est insoluble car nous devons résumer plus de 2 $ ^ {m + n} $ configurations de $ v $ et $ h $ - algorithme de temps exponentiel.
Cependant, le calcul ne devrait-il pas calculer $ sum_ {h} e ^ {- e (v ^ t, h; b, c, w)} $ est également intraitable? Ne résumons-nous pas sur toutes les configurations de 2 $ n $ de $ h $ ici? Si dire $ n = 64 $, alors nous atteignons déjà des calculs exascales (2 $ ^ {64} = 1,84 Times 10 ^ {19} $)!
Pas de solution correcte