Dobre pytanie: zauważ, że w dziedzinie głębokiego uczenia się rzeczy nie zawsze są tak dobrze dopracowane i jasno zdefiniowane, jak w przypadku uczenia statystycznego (również dlatego, że jest dużo szumu), więc nie spodziewaj się, że definicje będą tak rygorystyczne jak w matematyce. W każdym razie, wielowarstwowy perceptron jest specyficzną architekturą sieci neuronowej ze sprzężeniem zwrotnym, w której układane są w stosy wiele w pełni połączonych warstw (więc w ogóle nie ma warstw splotowych), w których funkcje aktywacji ukrytych jednostek są często sigmoidalne lub tanh. Węzły warstwy wyjściowej zwykle mają funkcje aktywacji softmax (do klasyfikacji) lub liniowe funkcje aktywacji (do regresji). Typowe architektury MLP nie są „głębokie”, tzn. Nie mamy wielu ukrytych warstw. Zwykle masz od 1 do 5 ukrytych warstw. Te sieci neuronowe były powszechne w latach 80-tych,
Teraz, z Deep Neural Network rozumiemy sieć, która ma wiele warstw (19, 22, 152, ... nawet > 1200 , choć to prawda, że jest bardzo ekstremalna). Zauważ, że
- nie określiliśmy architektury sieci, więc może to być informacja zwrotna, cykliczna itp.
- nie określiliśmy charakteru połączeń, więc moglibyśmy mieć w pełni połączone warstwy, warstwy splotowe, powtarzalność itp.
- „wiele” warstw, co prawda, nie jest rygorystyczną definicją.
⇒ 32 × 32 + 32 × 10 = 1344⇒ 11584ciężary Jest to niewielka liczba NN według dzisiejszych standardów. Jednak, gdy trenujesz je na odpowiednio dużym zbiorze danych, okazuje się, że szybkość konwergencji znacznie się spowolniła. Wynika to nie tylko z większej liczby wag, ale z problemu znikającego gradientu - propagacja wsteczna oblicza gradient funkcji utraty przez pomnożenie błędów na każdej warstwie, a te małe liczby stają się wykładniczo mniejsze wraz z dodawaniem kolejnych warstw. Tak więc błędy nie rozprzestrzeniają się (lub rozprzestrzeniają się bardzo wolno) w sieci i wygląda na to, że błąd w zestawie treningowym przestaje maleć wraz z epokami szkolenia.
I to była mała sieć - głębokie sieci neuronowe o konwergencji zwane AlexNet miały 5 warstw, ale 60 milionów wag, i jak na dzisiejsze standardy są uważane za małe! Gdy masz tyle wag, każdy zestaw danych jest „mały” - nawet ImageNet, zestaw danych obrazów używanych do klasyfikacji, ma „tylko” około 1 miliona obrazów, dlatego ryzyko nadmiernego dopasowania jest znacznie większe niż w przypadku płytkiej sieci.
Głębokie uczenie się można zatem rozumieć jako zestaw narzędzi, które są używane w praktyce do trenowania sieci neuronowych o dużej liczbie warstw i wag, osiągając niski błąd generalizacji. To zadanie stanowi więcej wyzwań niż w przypadku mniejszych sieci. Zdecydowanie możesz zbudować Perceptron Deep Wielowarstwowy i trenować go - ale (poza tym, że nie jest to optymalna architektura dla wielu zadań, w których obecnie używane jest Głębokie Uczenie się), prawdopodobnie użyjesz narzędzi, które różnią się od tych, które były używane w sieciach "Płycizna". Na przykład możesz preferować jednostki aktywujące ReLU niż sigmoidalne lub tanh, ponieważ łagodzą one problem znikającego gradientu.