Wersja z trzema zdaniami:
Każda warstwa może zastosować dowolną funkcję do poprzedniej warstwy (zazwyczaj transformacja liniowa, po której następuje nieliniowość zgniatania).
Zadaniem ukrytych warstw jest przekształcenie danych wejściowych w coś, co może wykorzystać warstwa wyjściowa.
Warstwa wyjściowa przekształca aktywacje ukrytej warstwy w dowolną skalę, w której chcesz, aby wyniki były na.
Jak masz 5 lat:
Jeśli chcesz, aby komputer informował cię, czy na zdjęciu jest autobus, komputer może mieć łatwiejszy czas, jeśli ma odpowiednie narzędzia.
Twój detektor autobusowy może więc składać się z detektora kół (aby pomóc ci powiedzieć, że to pojazd) i detektora skrzynek (ponieważ autobus ma kształt dużego pudła) i detektora rozmiarów (mówiąc, że jest za duży, aby być samochodem) ). Są to trzy elementy ukrytej warstwy: nie są częścią surowego obrazu, są narzędziami, które zaprojektowałeś, aby pomóc Ci zidentyfikować autobusy.
Jeśli wszystkie trzy detektory zostaną włączone (a może są szczególnie aktywne), istnieje duża szansa, że masz przed sobą autobus.
Sieci neuronowe są przydatne, ponieważ istnieją dobre narzędzia (takie jak propagacja wsteczna) do budowania wielu detektorów i ich łączenia.
Jak jesteś dorosły
Sieć neuronowa ze sprzężeniem zwrotnym stosuje do danych szereg funkcji. Dokładne funkcje będą zależeć od używanej sieci neuronowej: najczęściej te funkcje obliczają transformację liniową poprzedniej warstwy, a następnie nieliniowość zgniatania. Czasami funkcje zrobią coś innego (na przykład obliczanie funkcji logicznych w twoich przykładach lub uśrednianie na sąsiadujących pikselach na obrazie). Role różnych warstw mogą zależeć od tego, jakie funkcje są obliczane, ale postaram się być bardzo ogólny.
xhrfaxhsolhr
fa( x )sol( f( x ) )
fasol
sol( f( x ) )fasol
Przykład z funkcjami logicznymi:
fasol
Funkcje pierwszej warstwy:
- Upewnij się, że co najmniej jeden element ma wartość „PRAWDA” (przy użyciu LUB)
- Upewnij się, że nie wszystkie są „PRAWDZIWE” (przy użyciu NAND)
Funkcja drugiej warstwy:
- Upewnij się, że oba kryteria pierwszej warstwy są spełnione (przy użyciu AND)
Wydajność sieci jest tylko wynikiem tej drugiej funkcji. Pierwsza warstwa przekształca dane wejściowe w coś, co może wykorzystać druga warstwa, dzięki czemu cała sieć może wykonać XOR.
Przykład z obrazkami:
Slajd 61 z tego przemówienia - dostępny również tutaj jako pojedynczy obraz - pokazuje (jeden sposób na wizualizację), czego szukają różne ukryte warstwy w określonej sieci neuronowej.
Pierwsza warstwa szuka krótkich fragmentów krawędzi na obrazie: są one bardzo łatwe do znalezienia na podstawie nieprzetworzonych danych pikseli, ale same w sobie nie są bardzo przydatne do informowania, czy patrzysz na twarz, autobus, czy słonia .
Następna warstwa składa się z krawędzi: jeśli krawędzie dolnej ukrytej warstwy pasują do siebie w określony sposób, to jeden z detektorów oka na środku lewej kolumny może się włączyć. Trudno byłoby stworzyć pojedynczą warstwę, która byłaby tak dobra w znalezieniu czegoś tak specyficznego z surowych pikseli: detektory oka są znacznie łatwiejsze do zbudowania z detektorów brzegowych niż z surowych pikseli.
Kolejna warstwa składa się z detektorów oczu i detektorów nosa w twarze. Innymi słowy, zapalą się, gdy detektory oka i detektory nosa z poprzedniej warstwy włączą się z właściwymi wzorami. Są bardzo dobre w wyszukiwaniu określonych rodzajów twarzy: jeśli jedna lub więcej z nich się zaświeci, wtedy twoja warstwa wyjściowa powinna zgłosić obecność twarzy.
Jest to przydatne, ponieważ detektory twarzy są łatwe do zbudowania z detektorów oczu i nosowych, ale naprawdę trudne do zbudowania z intensywności pikseli.
Dzięki temu każda warstwa zbliża się coraz bardziej do nieprzetworzonych pikseli i zbliża się do ostatecznego celu (np. Wykrywanie twarzy lub wykrywanie magistrali).
Odpowiedzi na inne pytania
„Dlaczego niektóre warstwy w warstwie wejściowej są połączone z warstwą ukrytą, a niektóre nie?”
Odłączone węzły w sieci nazywane są węzłami „polaryzacji”. Jest to naprawdę bardzo miłe wyjaśnienie tutaj . Krótka odpowiedź jest taka, że są one jak regresy przechwytujące.
„Skąd pochodzą zdjęcia z„ detektora oka ”na przykładzie obrazu?”
Nie sprawdziłem jeszcze dwukrotnie konkretnych obrazów, z którymi się połączyłem, ale generalnie te wizualizacje pokazują zestaw pikseli w warstwie wejściowej, które maksymalizują aktywność odpowiedniego neuronu. Jeśli więc myślimy o neuronie jako detektorze oka, jest to obraz, który neuron uważa za najbardziej podobny do oka. Ludzie zwykle znajdują te zestawy pikseli za pomocą procedury optymalizacji (wspinaczki pod górę).
W tym artykule niektórzy ludzie z Google z jedną z największych sieci neuronowych na świecie pokazują w ten sposób neuron „wykrywacza twarzy” i neuron „wykrywacza kota”, a także drugi sposób: pokazują również rzeczywiste obrazy, które aktywują neuron najsilniej (ryc. 3, ryc. 16). Drugie podejście jest dobre, ponieważ pokazuje, jak elastyczna i nieliniowa jest sieć - te „detektory” wysokiego poziomu są wrażliwe na wszystkie te obrazy, nawet jeśli nie wyglądają szczególnie podobnie na poziomie pikseli.
Daj mi znać, jeśli coś tutaj jest niejasne lub masz więcej pytań.