Sieci neuronowe: interaktywne ćwiczenia

Dzięki interaktywnym ćwiczeniom poniżej lepiej poznasz sieci neuronowych. Po pierwsze, zobaczysz, jak zmieniają się parametry i hiperparametry wpływa na prognozy sieci. Wykorzystasz to, czego się nauczysz, do wytrenowania w sieci neuronowej, aby dopasować dane nieliniowe.

Ćwiczenie 1

Ten widżet konfiguruje sieć neuronowa w następującej konfiguracji:

  • Warstwa wejściowa z 3 neuronami zawierającymi wartości 0.00, 0.00 i 0.00
  • Ukryta warstwa z 4 neuronami
  • Warstwa wyjściowa z 1 neuronem
  • Funkcja aktywacji ReLU została zastosowana do wszystkich ukrytych węzłów warstwy i węzła wyjściowego,

Sprawdź początkową konfigurację sieci (uwaga: nie klikaj ▶️ ani >|), a następnie wykonaj zadania pod widżetem.

Zadanie 1

Wartości 3 cech wejściowych w modelu sieci neuronowej to: 0.00 Klikaj poszczególne węzły w sieci, aby wyświetlić wszystkie zainicjowane . Zanim klikniesz przycisk Odtwórz (▶️), odpowiedz na to pytanie:

Jakiego rodzaju wartości wyjściowej używasz jaka będzie według Ciebie generacja: dodatnia, ujemna czy 0?
Dodatnia wartość wyjściowa
Ujemna wartość wyjściowa
Wartość wyjściowa 0

Kliknij przycisk Odtwórz (▶️) nad siecią i zobacz, jak wygląda ukryta warstwa i wyjściowe wartości węzłów. Czy Twoja odpowiedź powyżej była prawidłowa?

Aby uzyskać więcej informacji, kliknij tutaj

Dokładna wartość wyjściowa będzie różnić się w zależności od tego, i parametry odchylenia są inicjowane losowo. Ponieważ jednak każdy neuron ma wartość 0, czyli wagi użyte do obliczenia zostaną wyzerowane. Na przykład pierwszy parametr Obliczenie węzła ukrytej warstwy będzie przebiegać w następujący sposób:

y = ReLU(w11* 0,00 + d21* 0,00 + d31* 0,00 + b)

y = ReLU(b)

Wartość każdego węzła ukrytej warstwy będzie więc równa wartości ReLU funkcji odchylenie (b) – będzie wynosić 0, jeśli b jest ujemne, a same b, jeśli b to 0, pozytywnym.

Wartość węzła wyjściowego będzie obliczana w następujący sposób:

y = ReLU(w11* x11 + szer.21* x21 + szer.31* x 31 + szer.41* x 41 + B)

Zadanie 2

Przed zmodyfikowaniem sieci neuronowej odpowiedz na to pytanie:

Jeśli dodasz kolejną ukrytą warstwę do sieci neuronowej po pierwszej ukrytej warstwie i przydzielić tej nowej warstwie 3 węzły, zachowując przy tym tych samych parametrów wejściowych i wagi/odchylenia, a pozostałe węzły obliczenia to zmiana?
Wszystkie węzły w sieci, z wyjątkiem węzłów wejściowych
Tylko węzły w argumencie pierwsza ukryta warstwa
Tylko węzeł wyjściowy

Zmodyfikuj sieć neuronowa, aby dodać nową ukrytą warstwę z 3 węzłami w ten sposób:

  1. Kliknij przycisk + po lewej stronie tekstu 1 ukryta warstwa, aby dodać nową. ukrytą warstwę przed warstwą wyjściową.
  2. Kliknij dwukrotnie przycisk + nad nową ukrytą warstwą, aby dodać jeszcze 2 węzły. do warstwy.

Czy Twoja odpowiedź powyżej była prawidłowa?

Aby uzyskać więcej informacji, kliknij tutaj

Zmienia się tylko węzeł wyjściowy. Ponieważ wnioskowanie dla tej sieci neuronowej to „feed-forward” (obliczenia od początku do końca), dodawanie nowej warstwy w sieci będzie miała wpływ tylko na węzły po a nie tych, które ją poprzedzają.

Zadanie 3

Kliknij drugi węzeł (od góry) w pierwszej ukrytej warstwie sieci. wykres. Przed wprowadzeniem jakichkolwiek zmian w konfiguracji sieci odpowiedz na to pytanie:

Jeśli zmienisz wartość parametru waga w12 (wyświetlana pod pierwszym węzłem wejściowym, x1), które inne węzły w przypadku niektórych danych wejściowych może wpłynąć na obliczenia wartości?
Brak
Drugi węzeł w pierwszej ukrytej warstwy, wszystkie węzły w drugiej ukrytej warstwie, a także węzła wyjściowego.
Wszystkie węzły w pierwszą warstwę ukrytą, drugą warstwę ukrytą i warstwę wyjściową.

Kliknij pole tekstowe wagi w12 (widoczne pod pierwszy węzeł wejściowy, x1), zmień jego wartość na 5.00 i naciśnij Enter. Obserwuj zmiany na wykresie.

Czy Twoja odpowiedź jest poprawna? Zachowaj ostrożność podczas weryfikowania odpowiedzi: jeśli węzeł jest ta wartość się nie zmienia. Czy to oznacza, że podstawowa metoda obliczeń się nie zmieniła?

Aby uzyskać więcej informacji, kliknij tutaj

Jedynym węzłem, w którym występuje pierwsza ukryta warstwę, jest drugi węzeł (parametr lub kliknięcie reklamy). Obliczenia wartości dla innych węzłów w pierwszym warstwa ukryta nie zawiera parametru w12, więc nie są dotkniętych problemem. Dotyczy to wszystkich węzłów w drugiej ukrytej warstwie, ponieważ ich wartości obliczenia zależą od wartości drugiego węzła w pierwszym warstwa ukryta. Podobnie na wartość węzła wyjściowego wpływa jego wartość obliczenia zależą od wartości węzłów w drugiej ukrytej warstwie.

Czy uważasz, że odpowiedź to „brak” ponieważ żadna z wartości węzłów w sieć uległa zmianie, kiedy zmieniła się wartość wagi? Pamiętaj, że podstawa obliczenia węzła mogą się zmienić bez zmiany wartości tego węzła (np. Zarówno ReLU(0), jak i ReLU(–5) dają wynik 0. Nie należy wyciągać wniosków dotyczących wpływu, jaki wywarły na sieć spoglądając na wartości węzłów; zapoznaj się też z wyliczeniami.

Ćwiczenie 2

W sekcji Ćwiczenia obejmujące różne cechy w module Dane kategorialne, ręcznie utworzonych krzyżów cech, aby dopasować je do danych nieliniowych. Zobaczysz, czy uda Ci się zbudować sieć neuronowa, która będzie automatycznie uczyć się jak dopasować dane nieliniowe podczas trenowania.

Twoje zadanie: skonfiguruj sieć neuronowa, która będzie w stanie oddzielić pomarańczowe kropki od niebieskich kropek na poniższym schemacie, uzyskując w obu przypadkach utratę mniejszą niż 0,2 do danych treningowych i testowych.

Instrukcje:

W interaktywnym widżecie poniżej:

  1. Zmodyfikuj hiperparametry sieci neuronowej, eksperymentując z tych ustawień konfiguracji:
    • Dodaj lub usuń ukryte warstwy, klikając przyciski + lub -. na lewo od nagłówka UKRYTE WARSTWY na schemacie sieci.
    • Dodaj lub usuń neurony z ukrytej warstwy, klikając przyciski + i - nad kolumną z ukrytą warstwą.
    • Zmień tempo uczenia się, wybierając nową wartość z sekcji Tempo uczenia się menu nad diagramem.
    • Zmień funkcję aktywacji, wybierając nową wartość z Menu Aktywacja nad diagramem.
  2. Aby wytrenować sieć neuronowa, kliknij przycisk odtwarzania (▶️) nad diagramem. za pomocą określonych parametrów.
  3. Obserwuj wizualizację modelu pasującego do danych jako modelu treningowego swoje postępy, a także Test straty oraz Wartości trenowania w sekcji Wyniki.
  4. Jeśli w przypadku danych testowych i treningowych model nie osiąga straty poniżej 0,2, Kliknij Resetuj i powtórz kroki 1–3, korzystając z innej konfiguracji ustawieniach. Powtarzaj te czynności aż do uzyskania preferowanych wyników.

Kliknij tutaj, aby poznać nasze rozwiązanie

Udało nam się uzyskać utratę zarówno testów, jak i trenowania poniżej 0,2 dzięki:

  • Dodaję 1 ukrytą warstwę zawierającą 3 neurony.
  • Wybranie tempa uczenia się na poziomie 0,01.
  • Wybieram funkcję aktywacji ReLU.