Skumulowane autoencodery i wielowarstwowe sieci neuronowe są różne. W praktyce obie sieci będą miały wspólne wagi i ewentualnie współużytkują bufory pamięci. Tak więc w twojej implementacji dwie sieci zostają splecione.
Zazwyczaj autoenkodery są szkolone w sposób nienadzorowany, zachłanny, warstwowy. (Brak etykiet, zacznij trening od pierwszej warstwy sieci, a następnie dodawaj nowe warstwy w miarę upływu czasu.) Wagi można nauczyć się przy użyciu różnych technik, począwszy od gradientu „wsadowego” (nie rób tego), do mini-partii stochastycznego spadku gradientu (SGD), do metod quasi-Newtona, takich jak L-BFGS.
Chodzi o to, że wagi wyuczone w sposób nienadzorowany w celu zminimalizowania błędu rekonstrukcji dla zadania uczenia się reprezentacji stanowią dobry punkt wyjścia do zainicjowania sieci dla nadzorowanego zadania dyskryminacyjnego, takiego jak klasyfikacja lub podobieństwo. To znaczy, sieć uczy się czegoś o podstawowej dystrybucji, patrząc na nieznakowane dane, co pozwala na rozróżnienie danych oznaczonych. Jednak w przypadku tego nowego zadania wagi nadal muszą zostać „dostrojone”. Dodaj więc warstwę regresji logistycznej w górnej części sieci, a następnie ucz się pod nadzorem przy użyciu oznaczonego zestawu danych. Krok dostrajający wykona opadanie gradientu i dostosuje wagi dla wszystkich warstw w sieci jednocześnie.
Zalety tego sposobu treningu sieci neuronowych to:
- Szkolenie bez nadzoru pozwala pokazać sieci więcej danych, ponieważ znacznie łatwiej jest uzyskać duże zbiory danych bez nadzoru niż te z etykietami.
- Możesz użyć wstępnie wyszkolonej sieci jako „punktu wyjścia” do szkolenia nowych klasyfikatorów, abyś nie musiał zaczynać od zera za każdym razem.
Aby zapoznać się z tym artykułem, zobacz Autokodery stosu denoisingu: poznanie przydatnych reprezentacji w głębokiej sieci z lokalnym kryterium denoisingu .