Sieci neuronowe: węzły i ukryte warstwy

Do budowania sieci neuronowej który uczy się nieliniowości, powinien mieć następującą znajomą strukturę modelu: model liniowy postaci y USD = b + W_1x_1 + W_2x_2 + W_3x_3$.

Możemy zwizualizować to równanie, jak pokazano poniżej, gdzie $x_1$, $x_2$ i $x_3$ to trzy węzły wejściowe (w kolorze niebieskim), a $y'$ to węzeł wyjściowy. (kolor zielony).

Ćwiczenie 1

W powyższym modelu waga oraz Wartości odchylenia zostały losowo zainicjowano. Wykonaj te zadania, aby zapoznać się z i lepiej poznać model liniowy. Dostępne opcje na razie zignoruj menu Aktywacja funkcji; Omówimy to w dalszej części modułu.

  1. Kliknij przycisk Odtwórz (▶️) nad siecią, aby obliczyć wartość: węzeł wyjściowy dla wartości wejściowych $x_1 = 1,00$, $x_2 = 2.00$, x_3 USD = 3 USD.

  2. Kliknij drugi węzeł warstwy wejściowej i zwiększ wartość z 2,00 do 2,50. Zwróć uwagę, że wartość węzła wyjściowego ulegnie zmianie. Wybierz dane wyjściowe węzłów (zielonych) i w panelu Obliczenia, by zobaczyć, jak dane wyjściowe została obliczona.

  3. Kliknij węzeł wyjściowy (zielony), aby wyświetlić wagi ($w_1$, $w_2$, $w_3$) oraz wartości parametrów odchylenia ($b$). Zmniejsz wagę dla $w_3$ (zwróć uwagę, że wartość węzła wyjściowego oraz poniższe obliczenia są uległy zmianie). Następnie zwiększ wartość odchylenia. Zapoznaj się z tymi zmianami co wpłynęło na dane wyjściowe modelu.

Dodawanie warstw do sieci

Zwróć uwagę, że podczas dostosowywania wartości wagi i uprzedzeń sieci w argumencie Ćwiczenie 1, które nie zmieniło ogólnej matematyki relacji między danymi wejściowymi a wyjściowymi. Nasz model jest nadal modelem liniowym.

A co, jeśli dodamy do sieci kolejną warstwę, między warstwą wejściową a warstwą wyjściową? W terminologii sieci neuronowych dodatkowe warstwy warstwa wejściowa i wyjściowa nazywają się ukryte warstwy oraz węzły, w tych warstwach nazwanych neuronów.

Wartość każdego neuronu w ukrytej warstwie jest obliczana tak samo, jak dane wyjściowe modelu liniowego: oblicz sumę iloczynu wszystkich jego danych wejściowych (neuronów w poprzedniej warstwie sieci) i unikalnego parametru wagi, a ponadto z uprzedzenia. Analogicznie, neurony w następnej warstwie (tutaj, w warstwie wyjściowej) są obliczane z użyciem wartości neuronów ukrytej warstwy jako danych wejściowych.

Ta nowa ukryta warstwa umożliwia naszemu modelowi ponowne połączenie danych wejściowych z użyciem za pomocą zestawu parametrów. Czy to może pomóc naszemu modelowi poznać zależności nieliniowe?

Ćwiczenie 2

Dodaliśmy do modelu ukrytą warstwę zawierającą 4 neurony.

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

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

Liczba parametry (wagi i odchylenia) – model sieci?
4
Nasz oryginalny model w Ćwiczeniu 1 miał 4 parametry: w11, w21, w31 i b. Ten model zawiera jest więcej parametrów.
12
Pamiętaj, że łączna liczba parametrów zawiera zarówno parametry, używane do obliczania wartości węzłów w ukrytej warstwie wartości wejściowe i parametry służące do obliczania wartości wyjściowej, z wartości węzłów w ukrytej warstwie.
16
Pamiętaj, że łączna liczba parametrów uwzględnia zarówno wagę, i parametry uprzedzeń.
21
Do obliczenia każdej z 4 wartości węzłów używane są 4 parametry warstwa ukryta – 3 wagi (po jednej dla każdej wartości wejściowej) oraz odchylenie, które sumuje się do 16 parametrów. Następnie użyto 5 parametrów aby obliczyć wartość wyjściową: 4 wagi (po jednej dla każdego węzła w warstwa ukryta) i uprzedzenia. Ta sieć neuronowa składa się z 21 .

Spróbuj zmodyfikować parametry modelu i sprawdź, jaki efekt będą miały na wartości węzłów ukrytej warstwy i wartości wyjściowej (możesz przejrzeć Panel Obliczenia poniżej, aby sprawdzić, jak te wartości były ).

Czy ten model może się uczyć nieliniowości?

Tak
Kliknij każdy węzeł w ukrytej warstwie i węźle wyjściowym. i zapoznaj się z poniższymi obliczeniami. Co zauważasz wszystkie te obliczenia?
Nie

Po kliknięciu każdego z węzłów w ukrytej warstwie w poniższych obliczeniach zobaczysz, że wszystkie są liniowe (obejmuje operacje mnożenia i dodawania).

Jeśli następnie klikniesz węzeł wyjściowy i sprawdzisz obliczenia Jak widać, obliczenia również mają charakter liniowy. Liniowy obliczenia wykonywane na danych wyjściowych wyników obliczeń są następujące również liniowy, co oznacza, że ten model nie może uczyć się funkcji nieliniowych.