Przede wszystkim nie łączymy ze sobą funkcji liniowych w celu uzyskania funkcji nieliniowej. Istnieje wyraźny powód, dla którego NN mogą nigdy nie działać w ten sposób: Ułożenie funkcji liniowych w siebie spowodowałoby ponowne uzyskanie funkcji liniowej.
To, co czyni NN nieliniowymi, to funkcja aktywacji, która znajduje się za funkcją liniową! Jednak zasadniczo masz rację: po prostu łączymy ze sobą wiele regresji logistycznych (choć nie liniowych!) I ... tadaa: wyciągamy z tego coś dobrego ... czy to jest sprawiedliwe? Okazuje się, że (z teoretycznego punktu widzenia) tak naprawdę jest sprawiedliwy. Co gorsza: korzystając ze słynnego i dobrze znanego twierdzenia Stone-Weierstrass po prostu udowadniamy, że sieci neuronowe z tylko jedną ukrytą warstwą i bez funkcji wyjściowej w końcowym węźle wystarczają do przybliżenia dowolnych funkcji ciągłych (i wierz mi, funkcje ciągłe mogą być brzydkie bestie, patrz „schody diabła”: https://en.wikipedia.org/wiki/Cantor_distribution) w interwałach formularza [ a , b ]x ↦ = b + a1ϕ1( x ) + . . . + alϕl( x )l
Dlaczego zatem używamy głębokich NN?
Powodem jest to, że powyższe twierdzenie SW gwarantuje jedynie, że istnieje wystarczająco duży rozmiar warstwy, abyśmy mogli zbliżyć się do naszej (miejmy nadzieję ciągłej) funkcji celu. Jednak wymagany rozmiar warstwy może być tak duży, że żaden komputer nigdy nie poradziłby sobie z macierzami wagi tego rozmiaru. NN z bardziej ukrytymi warstwami wydają się być dobrym kompromisem między „dokładnością” a obliczalnością. Nie znam żadnych wyników teoretycznych, które wskazywałyby na kierunek „o ile” zwiększa się ekspresyjność NN po umieszczeniu większej ilości ukrytych warstw w porównaniu do zwykłego zwiększenia rozmiaru pojedynczej ukrytej warstwy, ale być może istnieją zasoby w sieci ...
Czy naprawdę możemy zrozumieć głębokie NN?
Przykładowe pytania: Dlaczego dokładnie NN przewiduje, że ten przypadek jest PRAWDA, podczas gdy przewiduje inny, podobny przypadek jako FAŁSZ? Dlaczego dokładnie ocenia tego klienta bardziej wartościowego niż drugiego? Naprawdę w to nie wierzę. Wiąże się ze złożonością modelu, którego nie można już wystarczająco dobrze wyjaśnić ... Słyszę tylko, że jest to nadal aktywny obszar badań, ale nie znam żadnych zasobów ...
Co sprawia, że NN są tak wyjątkowe wśród wszystkich modeli?
Prawdziwy powód, dla którego tak często używamy NN, wynika z następujących dwóch powodów:
- Pochodzą one z naturalną właściwością „streaming”.
- Możemy pimpować je na maksa w wielu kierunkach.
T.faT.T.′T.′itp.) jest oparty na tej właściwości. Ludzie próbowali wprowadzić tę właściwość przesyłania strumieniowego do innych modeli (np. Gradient Boosting), ale nie przychodzi to tak naturalnie i nie jest tak tanie obliczeniowo, jak w konfiguracji NN.
Przez 2. Mam na myśli to, że ludzie przeszkolili NN do robienia najdziwniejszych rzeczy, ale w zasadzie po prostu użyli tego samego frameworka: układając w sobie płynne funkcje, a następnie pozwól komputerowi (tj. PyTorch / Tensorflow) zrobić dla ciebie brudną matematykę, jak na przykład komputer. pochodna funkcji straty wrt na wagi. Jednym z przykładów może być ten artykułgdzie ludzie zastosowali podejście RL, a także poprawili architekturę NN, aby nauczyć się złożonego języka substancji chemicznych, ucząc go, jak operować na stosie pamięci (!). Staraj się to robić z podwyższaniem gradientu ;-) Powodem, dla którego muszą to robić, jest to, że język chemikaliów jest co najmniej tak „trudny do nauczenia” jak język nawiasów klamrowych (tzn. Każdy nawias otwierający ma później zamykający wyraz w słowie ), ponieważ język SMILES używany przez ludzi do opisywania cząsteczek zawiera symbole „(” i „)”. Z informatyki teoretycznej (hierarchia Chomsky'ego) wiadomo, że nie można opisać tego języka za pomocą zwykłych automatów, ale potrzebne są automaty wypychające (tj. Automaty z pamięcią stosu). To była motywacja dla nich (tak sądzę) do nauczenia NN tej dziwnej rzeczy.