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.
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.
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.
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.
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?
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.