Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Podobne dokumenty
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Zastosowania sieci neuronowych

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sieć przesyłająca żetony CP (counter propagation)

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

STRATEGIA DOBORU PARAMETRÓW SIECI NEURONOWEJ W ROZPOZNAWANIU PISMA

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Metody Sztucznej Inteligencji II

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Projekt Sieci neuronowe

Podstawy Sztucznej Inteligencji (PSZT)

Zastosowania sieci neuronowych

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie sieci typu MLP

Deep Learning na przykładzie Deep Belief Networks

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Uczenie sieci neuronowych i bayesowskich

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Wprowadzenie do sieci neuronowych i zagadnień deep learning

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Sztuczne sieci neuronowe

wiedzy Sieci neuronowe

8. Neuron z ciągłą funkcją aktywacji.

Widzenie komputerowe

Elementy kognitywistyki III: Modele i architektury poznawcze

Optymalizacja ciągła

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Sztuczna inteligencja

Inteligentne systemy przeciw atakom sieciowym

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

ĆWICZENIE 5: Sztuczne sieci neuronowe

Algorytmy sztucznej inteligencji

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Temat: Sieci neuronowe oraz technologia CUDA

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

Podstawy Sztucznej Inteligencji

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Podstawy sztucznej inteligencji

I EKSPLORACJA DANYCH

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Elementy inteligencji obliczeniowej

Przykładowa analiza danych

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Sieci neuronowe w Statistica

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XI: Sztuczne sieci neuronowe

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

MODELOWANIE RZECZYWISTOŚCI

Wstęp do teorii sztucznej inteligencji

Algorytmy wstecznej propagacji sieci neuronowych

1. Logika, funkcje logiczne, preceptron.

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury. Paweł Kobojek, prof. dr hab. inż. Khalid Saeed

Sztuczne sieci neuronowe (SNN)

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Optymalizacja optymalizacji

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

wiedzy Sieci neuronowe (c.d.)

KLASYFIKACJA. Słownik języka polskiego

Technologie cyfrowe semestr letni 2018/2019

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

x 1 x 2 x 3 x n w 1 w 2 Σ w 3 w n x 1 x 2 x 1 XOR x (x A, y A ) y A x A

Algorytmy stochastyczne Wykład 12, Uczenie parametryczne w sieciach bayesowskich

Jakość uczenia i generalizacja

Transkrypt:

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3 Andrzej Rutkowski, Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-11-05 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki

1 Xor Robot Rozpoznawanie cyfr LeNet-5 2

Xor Robot Rozpoznawanie cyfr LeNet-5 1 Xor Robot Rozpoznawanie cyfr LeNet-5 2

Xor Robot Rozpoznawanie cyfr LeNet-5 Xor Wejście: x, y {0, 1} Wyjście: x xor y Kod programu

Xor Robot Rozpoznawanie cyfr LeNet-5 Robot Wejście: (x, y) [0, 1] [0, π] Wyjście: (α, β) film błędy uczenia

Xor Robot Rozpoznawanie cyfr LeNet-5 Rozpoznawanie cyfr Wejście: piksele Wyjście: tyle wyjść ile cyfr - największy wygrywa Demo - applet http://www.inf.ed.ac.uk/teaching/courses/inf1- cg/labs/lab6/mcmaster/digit-demo.html

Convolutional Neural Network Xor Robot Rozpoznawanie cyfr LeNet-5 LeNet-5 Rozpoznawanie cyfr odporne na przesunięcia, szumy, zniekształcenia pismo ręczne - baza przykładów MNIST (google: mnist) LeNet-5 Filmy: 1993, 2003, 2013, 2013-2

1 Xor Robot Rozpoznawanie cyfr LeNet-5 2

Przeglądanie zbioru przykładów Poprawianie wag co przykład uczący (online learning) Poprawianie wag po zsumowaniu δ i z wszystkich przykładów

Przeglądanie zbioru przykładów Poprawianie wag co przykład uczący (online learning) Poprawianie wag po zsumowaniu δ i z wszystkich przykładów Złoty środek: Przeglądanie losowymi partiami (batches), poprawianie wag raz na partię (batch learning) Partie losowane równomiernie z całego zbioru przykładów

Problem przeuczenia Sieć ma modelować docelową funkcję wykrywając generalne regularności w danych Gdy nauka jest zbyt dokładna to sieć uczy się błędów próbkowania lub innych regularności wynikających z metod zbierania danych Przykład: obrazy dyskretne - chcemy by sieć nauczyła się tego co przedstawia obraz, a nie tego, że piksele są kwadratowe Z drugiej strony, gdy sieć jest mało dokładna, to mamy generalizację, ale model jest nieprzydatny

Ochrona przed przeuczenia: upraszczanie wag Weight decay - ulatnianie się małych wagach Małe wagi mają mały wpływ na ostateczny model Gdy małe wagi znikają do zera, model się upraszcza

Ochrona przed przeuczenia: Kontrola jakości Co pewien czas sprawdzamy jak sieć sobie radzi Liczymy błąd sieci na zbiorze testowym (innym niż przykłady uczące!) Jeżeli sieć jest wystarczająco dobra, kończymy uczenie sieci unikając przeuczenia w późniejszych etapach

Ochrona przed przeuczenia: Uśrednianie modeli Uczymy wiele sieci o różnych architekturach (albo nawet rodzajach) Za ostateczny wynik bieżemy średnią wyników z wielu różnych sieci Nawet jeżeli niektóre się przeuczyły to ze średniej dostaniemy dobrą generalizację

Metoda Dropout Zob pdf: Dropout: A Simple Way to Prevent Neural Networks from Overfitting Odrzucanie losowych jednostek w każdym kroku uczenia, z ustalonym p-stwem p W wyniku, dla p = 0.5 (typowa wartość) uczymy 2 n uproszczonych modeli Uśredniony model podczas testowania

Losowanie wag Gdyby neurony miały identyczne wagi na wejściach i wyjściach to każdy uczył by się tego samego. Dlatego wagi muszą być zróżnicowane. Jeżeli jest dużo wejść do neuronu to na aktywacji dostaniemy wartość sigmoidy bliską 1 albo 0, przez co pochodna będzie mała i uczenie będzie powolne

Losowanie wag Gdyby neurony miały identyczne wagi na wejściach i wyjściach to każdy uczył by się tego samego. Dlatego wagi muszą być zróżnicowane. Jeżeli jest dużo wejść do neuronu to na aktywacji dostaniemy wartość sigmoidy bliską 1 albo 0, przez co pochodna będzie mała i uczenie będzie powolne Rozwiązanie: w warstwach, w których jest dużo wejść, losujemy wagi z mniejszego przedziału Reguła kciuka: Jeżeli n to liczba wejść do neuronu, to losujemy wagi z rozkładu o odchyleniu standardowym równym 1 n i średniej równej 0.

Osobna stała uczenia dla każdej wagi Każda waga będzie miała akcelerator-tłumik uczenia g i,j : η i,j = ηg i,j Sprawdzamy czy poprzednia zmiana konkretnej wagi w i,j nie wpłyneła negatywnie na energię.

Osobna stała uczenia dla każdej wagi Każda waga będzie miała akcelerator-tłumik uczenia g i,j : η i,j = ηg i,j Sprawdzamy czy poprzednia zmiana konkretnej wagi w i,j nie wpłyneła negatywnie na energię. Tzn. czy E w i,j (t) E w i,j (t 1) < 0 Jeżeli tak, to: przestrzeliliśmy, waga zmienia się za szybko. Przyjmujemy: g i,j := 0.95g i,j Else: waga idzie w dobrym kierunku, przyspieszamy kroku: g i,j := g i,j + 0.05

Osobna stała uczenia dla każdej wagi Każda waga będzie miała akcelerator-tłumik uczenia g i,j : η i,j = ηg i,j Sprawdzamy czy poprzednia zmiana konkretnej wagi w i,j nie wpłyneła negatywnie na energię. Tzn. czy E w i,j (t) E w i,j (t 1) < 0 Jeżeli tak, to: przestrzeliliśmy, waga zmienia się za szybko. Przyjmujemy: g i,j := 0.95g i,j Else: waga idzie w dobrym kierunku, przyspieszamy kroku: g i,j := g i,j + 0.05 Dbamy o to, by g i,j trzymało się w rozsądnych granicach. Np.: g i,j [0.1, 10]

Przygotowanie wektorów wejściowych z danych uczących Najlepiej gdy średnia danych wejściowych wypadała w zerze (wystarczy przesunąć dane o średnią) Silne korelacje między wymiarami negatywnie wpływają na szybkość uczenia

Przygotowanie wektorów wejściowych z danych uczących Najlepiej gdy średnia danych wejściowych wypadała w zerze (wystarczy przesunąć dane o średnią) Silne korelacje między wymiarami negatywnie wpływają na szybkość uczenia Jedno z rozwiązań: redukcja wymiarowości Analiza składowych głównych (Principal component analysis, PCA; jeszcze do tego wrócimy)