Sieci neuronowe: węzły i ukryte warstwy

Aby zbudować sieć neuronową uczącą się nieliniowości , zacznij od następującej znanej struktury modelu: modelu liniowego w postaci $y' = b + w_1x_1 + w_2x_2 + w_3x_3$.

Możemy zwizualizować to równanie w sposób pokazany poniżej, gdzie $x_1$, $x_2$ i $x_3$ to nasze trzy węzły wejściowe (na niebiesko), a $y'$ to nasz węzeł wyjściowy (na zielono).

Ćwiczenie 1

W powyższym modelu wartości wagi i odchylenia zostały zainicjowane losowo. Wykonaj poniższe zadania, aby zapoznać się z interfejsem i poznać model liniowy. Możesz na razie pominąć rozwijane menu „Funkcja aktywacji” ; omówimy ten temat później w tym module.

  1. Kliknij przycisk Odtwórz (▶️) nad siecią, aby obliczyć wartość węzła wyjściowego dla wartości wejściowych $x_1 = 1,00$, $x_2 = 2,00$ i $x_3 = 3,00$.

  2. Kliknij drugi węzeł w warstwie wejściowej i zwiększ wartość z 2,00 do 2,50. Zauważ, że wartość węzła wyjściowego ulega zmianie. Wybierz węzły wyjściowe (zaznaczone na zielono) i sprawdź panel Obliczenia , aby zobaczyć, jak obliczono wartość wyjściową.

  3. Kliknij węzeł wyjściowy (na zielono), aby zobaczyć wartości parametrów wagi ($w_1$, $w_2$, $w_3$) i odchylenia ($b$). Zmniejsz wartość wagi dla $w_3$ (ponownie zwróć uwagę, że wartość węzła wyjściowego i poniższe obliczenia uległy zmianie). Następnie zwiększ wartość odchylenia. Sprawdź, jak te zmiany wpłynęły na wynik modelu.

Dodawanie warstw do sieci

Zauważ, że dostosowanie wartości wagi i odchylenia sieci w ćwiczeniu 1 nie zmieniło ogólnej relacji matematycznej między wejściem a wyjściem. Nasz model nadal jest modelem liniowym.

A co, jeśli dodamy do sieci kolejną warstwę, pomiędzy warstwę wejściową a wyjściową? W terminologii sieci neuronowych dodatkowe warstwy między warstwą wejściową a wyjściową nazywane są warstwami ukrytymi , a węzły w tych warstwach – neuronami .

Wartość każdego neuronu w warstwie ukrytej jest obliczana w taki sam sposób, jak wartość wyjściowa modelu liniowego: suma iloczynu każdego z jego wejść (neuronów w poprzedniej warstwie sieciowej) i unikalnego parametru wagi, plus odchylenie. Analogicznie, neurony w kolejnej warstwie (tutaj warstwie wyjściowej) są obliczane przy użyciu wartości neuronów warstwy ukrytej jako danych wejściowych.

Ta nowa ukryta warstwa pozwala naszemu modelowi rekombinować dane wejściowe z wykorzystaniem innego zestawu parametrów. Czy to pomoże naszemu modelowi w poznaniu zależności nieliniowych?

Ćwiczenie 2

Do modelu dodaliśmy ukrytą warstwę zawierającą cztery neurony.

Kliknij przycisk Odtwórz (▶️) nad siecią, aby obliczyć wartość czterech węzłów warstwy ukrytej i węzła wyjściowego dla wartości wejściowych $x_1 = 1,00$, $x_2 = 2,00$ i $x_3 = 3,00$.

Następnie zapoznaj się z modelem i użyj go, aby odpowiedzieć na poniższe pytania.

Ile parametrów (wag i odchyleń) ma ten model sieci neuronowej?
4
Nasz oryginalny model w ćwiczeniu 1 miał cztery parametry: w 11 , w 21 , w 31 i b. Ponieważ model ten zawiera warstwę ukrytą, jest więcej parametrów.
12
Należy pamiętać, że całkowita liczba parametrów obejmuje zarówno parametry służące do obliczenia wartości węzłów w warstwie ukrytej na podstawie wartości wejściowych, jak i parametry służące do obliczenia wartości wyjściowej na podstawie wartości węzłów w warstwie ukrytej.
16
Należy pamiętać, że całkowita liczba parametrów obejmuje zarówno parametry wagi, jak i parametry odchylenia.
21
Do obliczenia każdej z 4 wartości węzłów w warstwie ukrytej służą 4 parametry – 3 wagi (po jednej dla każdej wartości wejściowej) i odchylenie – co daje łącznie 16 parametrów. Następnie do obliczenia wartości wyjściowej służy 5 parametrów: 4 wagi (po jednej dla każdego węzła w warstwie ukrytej) i odchylenie. Łącznie ta sieć neuronowa ma 21 parametrów.

Spróbuj zmodyfikować parametry modelu i zobacz, jaki wpływ będzie to miało na wartości węzłów warstwy ukrytej oraz wartość wyjściową (możesz przejrzeć panel Obliczenia poniżej, aby zobaczyć, jak obliczono te wartości).

Czy ten model potrafi nauczyć się nieliniowości?

Tak
Kliknij każdy z węzłów w warstwie ukrytej oraz węzeł wyjściowy i przejrzyj poniższe obliczenia. Co zauważasz w tych wszystkich obliczeniach?
NIE

Jeśli klikniesz każdy z węzłów w ukrytej warstwie i przejrzysz poniższe obliczenia, zobaczysz, że wszystkie są liniowe (obejmują operacje mnożenia i dodawania).

Jeśli następnie klikniesz węzeł wyjściowy i przejrzysz poniższe obliczenia, zobaczysz, że to obliczenie również jest liniowe. Obliczenia liniowe wykonywane na wynikach obliczeń liniowych są również liniowe, co oznacza, że ​​ten model nie może uczyć się nieliniowości.