Co to jest wstępne szkolenie i jak wstępnie szkolić sieć neuronową?

10

Rozumiem, że szkolenie wstępne jest stosowane, aby uniknąć niektórych problemów z konwencjonalnym treningiem. Jeśli używam propagacji wstecznej z, powiedzmy autoencoderem, wiem, że napotkam problemy z czasem, ponieważ propagacja wsteczna jest powolna, a także że mogę utknąć w lokalnych optymach i nie nauczyć się niektórych funkcji.

To, czego nie rozumiem, to to, w jaki sposób wstępnie szkolimy sieć i co konkretnie robimy, aby wstępnie szkolić. Na przykład, jeśli otrzymamy stos ograniczonych maszyn Boltzmanna, w jaki sposób wstępnie przeszkolimy tę sieć?

Michael Yousef
źródło
2
f(x)=max(x,0)
Tak, pracuję przy założeniu, że istnieje duża liczba próbek nieznakowanych i niewiele próbek nieoznaczonych.
Michael Yousef

Odpowiedzi:

2

Zaczynasz od wyszkolenia każdego RBM na stosie osobno, a następnie łączysz go w nowy model, który można dalej dostosowywać.

Załóżmy, że masz 3 RBM, trenujesz RBM1 ze swoimi danymi (np. Kilka zdjęć). RBM2 jest trenowany z wyjściem RBM1. RBM3 jest szkolony z wydajnością RBM2. Chodzi o to, że każdy model RBM ma reprezentatywne obrazy, a wagi, których się uczą, są przydatne w innych dyskryminujących zadaniach, takich jak klasyfikacja.

mnagaraj
źródło
0

Wstępne szkolenie stosu RBM polega na łapczywym minimalizowaniu zdefiniowanej energii, tj. Maksymalizowaniu prawdopodobieństwa. G. Hinton zaproponował algorytm CD-k, który można postrzegać jako pojedynczą iterację próbkowania Gibbsa.

Mou
źródło
Zatem wstępne szkolenie stosu RBM pozwala nam zminimalizować zdefiniowaną energię i uzyskać lepsze wyniki. A następnie algorytm kontrastowej dywergencji Hintona jest tym, w jaki sposób rzeczywiście wstępnie trenujemy. W jaki sposób szkolenie wstępne wpływa na naukę dodatkowych funkcji? Zakładam, że w kwestii prędkości algorytm CD jest znacznie szybszy niż propagacja wsteczna.
Michael Yousef