Informacje administracyjne
Tytuł | Wyprowadzenie i zastosowanie backpropagacji |
Czas trwania | 60 |
Moduł | B |
Rodzaj lekcji | Tutorial |
Skupienie | Techniczne – głębokie uczenie się |
Temat | Wyprowadzenie i wdrożenie Backpropagation |
Słowa kluczowe
Wsteczna propagacja, funkcje aktywacji, odchylenie,
Cele w zakresie uczenia się
- Rozwiń zrozumienie gradientu i tempa uczenia się
- Uzyskać wsteczną propagację dla warstw ukrytych i zewnętrznych
- Implimentowanie Backpropagation odłączone i podłączone za pomocą różnych funkcji aktywacji
Oczekiwane przygotowanie
Wydarzenia edukacyjne, które należy ukończyć przed
Obowiązkowe dla studentów
- Korekta rachunku (instrumenty pochodne, pochodne częściowe, reguła łańcucha)
Opcjonalne dla studentów
Brak.
Referencje i tło dla studentów
- John D Kelleher i Mózg McNamee. (2018), Podstawy uczenia maszynowego dla Predictive Data Analytics, MIT Press.
- Michael Nielsen. (2015), Sieć neuronowa i głębokie uczenie się, 1. Prasa determinacyjna, San Francisco CA USA.
- Charu C. Aggarwal. (2018), Sieci neuronowe i głębokie uczenie się, 1. Springer
- Antonio Gulli, Sujit Pal. Głębokie uczenie się z Keras, Packt, [ISBN: 9781787128422].
Zalecane dla nauczycieli
Brak.
Materiały do lekcji
Instrukcje dla nauczycieli
- Ten poradnik wprowadzi studentów do podstaw algorytmu uczenia się backpropagation dla sztucznej sieci neuronowej. Ten poradnik będzie składał się z wyprowadzenia algorytmu backpropagation przy użyciu pióra i papieru, a następnie zastosowania algorytmu backpropagation dla trzech różnych funkcji aktywacji ukrytych warstw (Sigmoid, Tan H i ReLu), używając Pythona tylko z biblioteką Numpy (do manipulacji matrycami), a następnie za pomocą KERAS.. Będzie to opierać się na podstawowym zrozumieniu różnych funkcji aktywacji, gdy sieć neuronowa uczy się i jak funkcje aktywacji różnią się złożonością obliczeniową i aplikacją od pióra i papieru, do kodu od podstaw za pomocą Numpy, a następnie za pomocą modułu wysokiego poziomu -> Keras.
- Uwaga: Topologia jest taka sama jak Wykład 1/Tutorial 1, ale wagi i wejścia są różne, można oczywiście użyć tych samych ciężarów.
- Uczniowie będą mieli cztery problemy (pierwszy jest opcjonalny lub jako dodatkowy materiał):
- Problem 1: Wyprowadzenie algorytmu propagacji wstecznej (przy użyciu funkcji Sigmoid dla wewnętrznych i zewnętrznych funkcji aktywacji oraz MSE jako funkcji straty), uczniowie zostaną poproszeni o wyliczenie formuły propagacji wstecznej (20 minut do ukończenia).
- Problem 2: Studenci będą stosować trzy funkcje aktywacji dla pojedynczej aktualizacji wagi (backpropagation SGD), używając pióra i papieru przez 20 minut:
- Sigmoid (ukryta warstwa), sigmoid (warstwa zewnętrzna) i MSE
- Tan H (ukryta warstwa), sigmoid (warstwa zewnętrzna) i MSE
- ReLU (ukryta warstwa), Sigmoid (warstwa zewnętrzna) i MSE
- Problem 3: Uczniowie zostaną poproszeni (z wytycznymi w zależności od wcześniejszego doświadczenia kodowania) o opracowanie sieci neuronowej od podstaw przy użyciu tylko modułu Numpy, a także wag i funkcji aktywacji, w których dostępna jest opcja wyboru z dowolnej funkcji aktywacji ukrytych warstw, aby zaktualizować wagi za pomocą SGD (20 minut do ukończenia).
- Problem 4: Studenci zostaną poproszeni (ze wskazówkami w zależności od wcześniejszego doświadczenia kodowania) o opracowanie sieci neuronowej przy użyciu modułu Tensorflow 2.X z modułem inbuild Keras oraz wagami i funkcjami aktywacji, a następnie przy użyciu losowych wag do ukończenia jednej lub kilku aktualizacji wagi. Proszę nie, ponieważ Keras wykorzystuje niewielką stratę MSE, strata zmniejsza się szybciej w przykładzie Keras.
- Keras MSE = strata = kwadrat(y_true – y_pred)
- Poradnik MSE = strata = (kwadrat(y_true – y_pred))*0.5
- Celem podrzędnym dla tych trzech problemów jest skłonienie uczniów do zrozumienia algorytmu propagacji wstecznej, zastosowanie go tak, aby do strojenia hipermetrów uczniowie byli w stanie lepiej zrozumieć efekty hiperparametru.
Zarys
Czas trwania (min) | Opis |
---|---|
20 (opcjonalnie) | Problem 1: wyprowadzenie formuły propagacji wstecznej przy użyciu funkcji Sigmoid dla funkcji aktywacji wewnętrznej i zewnętrznej oraz MSE jako funkcji straty (opcjonalnie) |
20 | Problem 2: Studenci będą stosować trzy funkcje aktywacji dla pojedynczej aktualizacji wagi (backpropagation SGD), używając pióra i papieru przez 20 minut: |
20 | Problem 3: Studenci będą rozwijać sieć neuronową od podstaw przy użyciu tylko modułu Numpy, w którym użytkownik może wybrać jedną z trzech funkcji aktywacji ukrytych warstw, w których kod może preformować wsteczną propagację |
10 | Problem 4: Studenci będą korzystać z modułu Tensorflow 2.X z modułem inbuild Keras, preform backpropagation przy użyciu SGD. |
10 | Podsumowanie procesu przejścia do przodu |
Potwierdzenia
Program Masters zorientowany na człowieka został współfinansowany przez instrument „Łącząc Europę” Unii Europejskiej w ramach grantu CEF-TC-2020-1 Umiejętności cyfrowe 2020-EU-IA-0068.