Cóż, pytanie mówi wszystko.
Co należy rozumieć przez „wstępne szkolenie sieci neuronowej”? Czy ktoś może wyjaśnić w prostym angielskim?
Nie mogę znaleźć żadnych związanych z tym zasobów. Byłoby wspaniale, gdyby ktoś mógł mnie do nich skierować.
neural-networks
pre-training
Machina333
źródło
źródło
Odpowiedzi:
Zwykły sposób szkolenia sieci:
Chcesz trenować sieć neuronową do wykonywania zadania (np. Klasyfikacji) na zbiorze danych (np. Zbiorze obrazów). Trening rozpoczyna się od losowej inicjalizacji ciężarów. Zaraz po rozpoczęciu treningu zmieniane są ciężary, aby wykonać zadanie z mniejszą liczbą błędów (tj. Optymalizacja). Gdy jesteś zadowolony z wyników treningu, gdzieś oszczędzasz ciężary swojej sieci.
Jesteś teraz zainteresowany szkoleniem sieci, aby wykonać nowe zadanie (np. Wykrywanie obiektów) na innym zbiorze danych (np. Również obrazy, ale nie takie same jak te, których używałeś wcześniej). Zamiast powtarzać to, co zrobiłeś dla pierwszej sieci i zacząć od treningu z losowo zainicjowanymi ciężarkami, możesz użyć ciężarów zapisanych z poprzedniej sieci jako początkowych wartości masy dla nowego eksperymentu. Inicjowanie wag w ten sposób jest określane jako użycie wstępnie przeszkolonej sieci. Pierwsza sieć to sieć wstępnie przeszkolona. Drugi to sieć, którą dostosowujesz.
Pomysł przedtreningowy polega na tym, że losowa inicjalizacja jest ... cóż ... losowa, wartości wag nie mają nic wspólnego z zadaniem, które próbujesz rozwiązać. Dlaczego zestaw wartości powinien być lepszy od innego zestawu? Ale jak inaczej zainicjowałbyś wagi? Jeśli wiesz, jak poprawnie zainicjować je dla zadania, równie dobrze możesz ustawić je na wartości optymalne (nieco przesadzone). Nie musisz niczego trenować. Masz optymalne rozwiązanie swojego problemu. Wstępne szkolenie daje sieci przewagę. Jakby wcześniej widział dane.
Na co uważać podczas treningu wstępnego:
Pierwsze zadanie zastosowane podczas wstępnego szkolenia w sieci może być takie samo, jak etap dostrajający. Zestawy danych używane do treningu wstępnego i dostrajania mogą być również takie same, ale mogą być również różne. Naprawdę interesujące jest zobaczyć, jak szkolenie wstępne dotyczące innego zadania i innego zestawu danych można nadal przenieść do nowego zestawu danych i nowego zadania, które są nieco inne. Korzystanie ze wstępnie przeszkolonej sieci ma sens, jeśli oba zadania lub oba zestawy danych mają ze sobą coś wspólnego. Im większa luka, tym mniej skuteczny będzie trening wstępny. Wstępne szkolenie sieci do klasyfikacji obrazów nie ma większego sensu, ponieważ najpierw należy ją przeszkolić w zakresie danych finansowych. W tym przypadku rozbieżność między etapami przedtreningowym i dostrajającym jest zbyt duża .
źródło
Wstępne szkolenie / dostrajanie działa w następujący sposób:
źródło
Dwie powyższe odpowiedzi dobrze wyjaśniają. Chcę tylko dodać jedną subtelną rzecz dotyczącą szkolenia wstępnego dla sieci Deep Belief Net (DBN). Wstępne szkolenie dla DBN to uczenie się bez nadzoru (tj. Bez danych oznaczonych), a następnie szkolenie to nadzorowane uczenie się (tj. Danych bez danych).
źródło