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 , i to trzy węzły wejściowe (w kolorze niebieskim), a 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_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 (, , ) oraz wartości parametrów odchylenia (). Zmniejsz wagę dla (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_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?