Co to jest Resztkowa Sieć Neuronowa?

Pozostała sieć neuronowa zwana “ResNet” jest znaną sztuczną siecią neuronową. Składa się ona na konstrukcjach uzyskanych z komórek piramidy kory mózgowej. Resztkowe sieci neuronowe osiągają to poprzez użycie skrótów lub “pomijanie połączeń” w celu przemieszczania się po różnych warstwach.

Eksperci wdrażają tradycyjne modele resztkowych sieci neuronowych z dwu- lub trójwarstwowymi pominięciami zawierającymi normalizację partii i nieliniowości pomiędzy nimi. Naukowcy zajmujący się danymi wykorzystują również dodatkową matrycę wagową do nauki wagi pomijania w niektórych przypadkach. Terminem używanym do opisania tego zjawiska jest “sieć autostradowa”. Modele składające się z wielu równoległych pominięć to “Densenety”. Sieci nieredukcyjne mogą być również nazywane zwykłymi sieciami, gdy mówimy o pozostałych sieciach neuronowych.

Masywnym powodem pomijania warstw jest unikanie zanikających gradientów i podobnych problemów. Ponieważ gradient jest przesunięty w tył do poprzednich warstw, ten powtarzający się proces może spowodować, że gradient będzie bardzo mały. Większość osób robi to wykorzystując aktywacje z poprzednich warstw, aż do momentu, gdy przylegająca osoba nauczy się konkretnych ciężarów. Podczas treningu ciężary te dopasowują się do wcześniejszych warstw i powiększają pominiętą wcześniej warstwę. W najprostszym przypadku do gry wchodzą obciążniki używane do łączenia sąsiednich warstw.

Działa to jednak skutecznie tylko wtedy, gdy wszystkie warstwy pośrednie są liniowe lub nakładają się na warstwę nieliniową. Jeśli tak nie jest, w przypadku pominiętych połączeń pomocne byłoby zastosowanie innej matrycy wag. Najlepiej byłoby, gdyby w takich przypadkach rozważyć użycie sieci autostradowej.

Pominięcie usuwa komplikacje z sieci, czyniąc ją prostszą, używając bardzo niewielu warstw na początkowym etapie treningu. Przyspiesza to dziesięciokrotnie naukę, minimalizując efekt zaniku nachylenia. Dlaczego? Ponieważ nie ma prawie żadnych warstw, przez które można by się rozprzestrzeniać. Po tym, sieć w końcu odkłada z powrotem wykształcone warstwy, ucząc się jednocześnie przestrzeni cech.

Gdy trening zbliża się do końca i każda z warstw rozszerza się, zbliżają się do kolektora i uczą się szybciej. Sieć neuronowa, która nie ma szczątkowych części ma więcej swobody w eksploracji przestrzeni funkcji, co czyni go bardzo zagrożony perturbacjami, powodując, aby wyjść z kolektora, i co jest istotne dla dodatkowych danych szkoleniowych odzyskać.

Jaka jest potrzeba szczątkowych sieci neuronowych?

Po tym, jak AlexNets świętował triumf w konkursie na klasyfikację LSVRC 2012, głęboka sieć szczątkowa stała się prawdopodobnie najbardziej innowacyjną i genialną innowacją w historii głębokiej nauki i komputerowego krajobrazu widzenia. Sieć ResNet umożliwia szkolenie setek, jeśli nie tysięcy warstw, przy jednoczesnym osiągnięciu fascynującej wydajności.

Liczne aplikacje komputerowe wykorzystywały silne możliwości reprezentacji pozostałej sieci neuronowej i zauważyły ogromny wzrost wydajności. Klasyfikacja obrazów nie była jedyną komputerową aplikacją wizyjną, która wykorzystywała sieć ResNet – rozpoznawanie twarzy i wykrywanie obiektów również skorzystało z tej przełomowej innowacji.

Ponieważ szczątkowe sieci neuronowe wprawiły ludzi w zdumienie podczas ich inauguracji w 2015 r., kilka osób ze środowiska badawczego próbowało odkryć tajemnice kryjące się za ich sukcesem i można śmiało powiedzieć, że w rozległej architekturze sieci ResNet dokonano wielu udoskonaleń.

Problem znikającego gradientu (Vanishing Gradient)

Zanikający problem gradientu jest powszechny w środowisku deep learning i data science. Ludzie często napotykają na ten problem podczas szkoleń z zakresu sztucznych sieci neuronowych, w których występuje zjawisko backpropagacji i uczenia się na podstawie gradientu. Jak wspomniano wcześniej, eksperci wykorzystują gradienty do aktualizacji wag w konkretnej sieci.
Jednak czasami sprawy mają się inaczej, ponieważ gradient staje się niewiarygodnie mały i prawie zanika. Zapobiega to zmianie przez wagi ich wartości, co powoduje, że sieć przerywa szkolenie, ponieważ te same wartości będą się w kółko rozprzestrzeniać bez żadnej sensownej pracy.

ResNet i Deep Learning

Każdy model głębokiego uczenia się posiada wiele warstw, które pozwalają mu zrozumieć cechy wejściowe, pomagając mu podjąć świadomą decyzję. Choć jest to dość proste, w jaki sposób sieci identyfikują różne cechy obecne w danych?
Uczciwie byłoby myśleć o sieciach neuronowych jako o uniwersalnych przybliżeniach funkcji. Modele starają się poznać właściwe parametry ściśle reprezentujące cechę lub funkcję, która zapewnia właściwe wyjście. Włączenie większej liczby warstw to świetny sposób na dodawanie parametrów, a także umożliwia mapowanie skomplikowanych funkcji nieliniowych.

Nie oznacza to jednak, że układanie wielu warstw będzie skutkowało poprawą wydajności. Jeśli przyjrzysz się bliżej, zdasz sobie sprawę, że jest jakiś haczyk. Podczas gdy zauważamy, że implementacja naszych modeli z większą ilością warstw prowadzi do lepszej wydajności, wyniki mogą się drastycznie zmienić w niektórych warunkach, prowadząc do nasycenia, a w końcu do gwałtownego spadku.

Zrozumienie problemu z wieloma warstwami

Musimy najpierw zrozumieć, jak modele uczą się z danych szkoleniowych. Proces ten odbywa się poprzez przepuszczenie wszystkich danych wejściowych przez model (tzw. feedforward) i ponowne ich przepuszczenie (tzw. backpropagacja.) W trakcie backpropagacji aktualizujemy wagi modelu zgodnie z jego klasyfikacją wejściową. Aktualizacja odejmuje gradient funkcji straty dotyczący poprzedniej wartości wagi.

Jak ResNet rozwiązuje problem znikającego gradientu

Jak już wielokrotnie wspominano, szczątkowe sieci neuronowe są idealnym rozwiązaniem problemu znikającego gradientu. Specjaliści od głębokiego uczenia się dodają skróty, aby pominąć dwie lub trzy warstwy, co przyspiesza proces, powodując, że skrót zmienia sposób obliczania gradientów na każdej warstwie. Dla uproszczenia, przekazywanie danych wejściowych przez wyjście uniemożliwia niektórym warstwom zmianę wartości gradientu, co oznacza, że możemy pominąć procedurę uczenia się dla niektórych konkretnych warstw. Zjawisko to wyjaśnia również, w jaki sposób gradient wchodzi z powrotem do sieci.

Kontynuując trening, model uwzględnia koncepcję zachowania użytecznych warstw, a nie używania tych, które nie pomagają. Model przekształci je później w mapowanie tożsamości. Jest to istotny czynnik sukcesu pozostałej sieci neuronowej, ponieważ tworzenie mapowania warstw do funkcji tożsamości jest niezwykle proste.

Co więcej, fakt, że istnieje możliwość ukrycia warstw, które nie pomagają, jest niezwykle użyteczny. Ogromna ilość warstw może być dość myląca, ale dzięki szczątkowym sieciom neuronowym możemy zdecydować, które z nich chcemy zachować, a które nie służą celowi.

Myśli ostateczne

Można powiedzieć, że szczątkowa architektura sieci neuronowych była niezwykle pomocna w zwiększaniu wydajności sieci neuronowych z wieloma warstwami. W ich rdzeniu, ResNety są jak różne sieci z drobnymi modyfikacjami. Architektura ta posiada podobne stopnie funkcjonalne jak CNN (konwulsyjne sieci neuronowe) lub inne. Istnieje jednak dodatkowy krok na drodze do rozwiązania zanikającego problemu gradientu i innych powiązanych kwestii.