Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

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

Wprowadzenie do sieci neuronowych i zagadnień deep learning

Deep Learning na przykładzie Deep Belief Networks

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

Sztuczne sieci neuronowe (SNN)

Uczenie sieci neuronowych i bayesowskich

Zastosowania sieci neuronowych

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

Podstawy Sztucznej Inteligencji (PSZT)

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

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

Wprowadzenie do teorii systemów ekspertowych

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

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Machine learning Lecture 6

Algorytmy sztucznej inteligencji

Sieci neuronowe w Statistica

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Relacja: III Seminarium Naukowe "Inżynierskie zastosowania technologii informatycznych"

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

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

Zastosowania sieci neuronowych

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

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

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

Sztuczne sieci neuronowe

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

Elementy kognitywistyki III: Modele i architektury poznawcze

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

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

RNN Sieci rekurencyjne i modelowanie sekwencji. Sieci Neronowe 1

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

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

Inteligentne systemy przeciw atakom sieciowym

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

Metody Sztucznej Inteligencji II

Projekt Sieci neuronowe

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

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Podstawy sztucznej inteligencji

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

Elementy kognitywistyki III: Modele i architektury poznawcze

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

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

MODELOWANIE RZECZYWISTOŚCI

MATLAB Neural Network Toolbox przegląd

Uczenie sieci radialnych (RBF)

Temat: Sieci neuronowe oraz technologia CUDA

Optymalizacja ciągła

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

Optymalizacja optymalizacji

RAPORT Z PRAKTYKI. Zastosowanie Sztucznych Sieci Neuronowych do wspomagania podejmowania decyzji kupna/sprzedaży na rynku Forex.

Syste t m e y m ek e s k per pe to t w o e w Wykład 8 1

Prof. Stanisław Jankowski

SPOTKANIE 2: Wprowadzenie cz. I

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Elementy inteligencji obliczeniowej

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

WYKORZYSTANIE SZTUCZNYCH SIECI NEURONOWYCH W PROGNOZOWANIU

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

MATLAB Neural Network Toolbox uczenie sieci (dogłębnie)

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

Detekcja motywów w złożonych strukturach sieciowych perspektywy zastosowań Krzysztof Juszczyszyn

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Sztuczna inteligencja

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Systemy uczące się wykład 2

Lekcja 5: Sieć Kohonena i sieć ART

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

ĆWICZENIE 5: Sztuczne sieci neuronowe

Instrukcja realizacji ćwiczenia

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

WYZNACZANIE WARTOŚCI PODSTAWOWYCH PARAMETRÓW TECHNICZNYCH NOWOCZESNYCH KOMBAJNÓW ZBOŻOWYCH PRZY UŻYCIU SSN

Pattern Classification

Wstęp do sztucznych sieci neuronowych

Hurtownie danych. Analiza zachowań użytkownika w Internecie. Ewa Kowalczuk, Piotr Śniegowski. Informatyka Wydział Informatyki Politechnika Poznańska

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Efektywność algorytmów

Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe

Pulsujące sieci neuronowe (Spiking Neural Network) ŁUKASZ ALEKSIEJEW (pod kierunkiem Joanna Grabska-Chrząstowska)

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Sztuczne sieci neuronowe. Uczenie, zastosowania

Podstawy Sztucznej Inteligencji

Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe

Układy VLSI Bramki 1.0

Informatyka w medycynie Punkt widzenia kardiologa

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

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

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Uczenie sieci typu MLP

SZTUCZNA INTELIGENCJA

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

Transkrypt:

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Podstawowe architektury sieci neuronowych Generowanie sztucznych danych Jak się nie przemęczyć Korzystanie z istniejących wag Zamrażanie i odmrażanie warstw PyTorch i fast.ai Uczenie głębokie cz. II 2

Feed Forward Neural Networks (FFNN) Unsupervised Pretrained Networks (UPNs) Convolutional Neural Networks (CNNs) Recurrent Neural Networks (RNN*) Uczenie głębokie cz. II 3

W uproszczeniu tradycyjne sztuczne sieci neuronowe do uczenia nadzorowanego Dane przechodzą w jednym kierunku od warstwy wejściowej do wyjściowej Typowo wszystkie neurony między sąsiadującymi warstwami są połączone Multilayer Perceptron (MLP) Rysunki za http://www.asimovinstitute.org/neural-network-zoo/ Uczenie głębokie cz. II 4

Sieci do automatycznej ekstrakcji cech Podstawowym elementem jest Auto Encoder Oprócz automatycznej ekstrakcji cech wykorzystywane również do generowania danych Uczenie głębokie cz. II 5

Automatycznie wygenerowane zdjęcia sypialni https://github.com/newmu/dcgan_code Uczenie głębokie cz. II 6

Sieci neuronowe do obrazów Ciąg filtrów (konwolucji) i operacji zmniejszania Szereg podarchitektur: LeNet AlexNet ZF Net GoogLeNet VGGNet ResNet ResNext Uczenie głębokie cz. II 7

Sieci z cyklami (pamięcią) Zapamiętują informacje między przykładami Sprawdzają się przy przewidywaniu sekwencji i przebiegów czasowych Potrafią przyjmować i zwracać ciągi danych Uczenie głębokie cz. II 8

Najpopularniejsza odmiana RNN Wprowadza bramki pamięci i zapominania chroniące przed zanikiem/eksplozją gradientu Kosztowne pamięciowo i obliczeniowo Wykorzystywane do Generowania tekstu Rozpoznawania mowy Komponowania muzyki Analizy przebiegów czasowych Przewidywania sekwencji zdjęć pogodowych Uczenie głębokie cz. II 9

FFNN: Uczenie głębokie cz. II 10

FFNN: LSTM: Uczenie głębokie cz. II 11

FFNN: LSTM: Uczenie głębokie cz. II 12

Fragmenty architektur są często łączone Wartym odnotowania przykładem są RCNN, które sprawdzają się przy etykietowaniu fragmentów obrazów Połączenie analizy tekstu i obrazów Uczenie głębokie cz. II 13

Dane relacyjne MLP (DFFN) Ekstrakcja cech AE, RBM Rozpoznawanie obrazów DBN, CNN, RCNN Generowanie danych VAE, GAN, RNN Modelowanie sekwencji RNN, LSTM Uczenie głębokie cz. II 14

Do uczenia głębokiego potrzeba sporo danych W celu osiągnięcia odpowiedniej liczby danych oraz aby uniknąć przeuczenia generuje się sztuczne dane Po angielsku: data augmentation Przykłady: Losowe przesuwanie i obcinanie zdjęć ludzi i przedmiotów Losowe obracanie zdjęć satelitarnych Losowe powiększanie zdjęć (zoom) Losowe zmienianie rozmiaru okna analizowanego tekstu Losowy szum Uczenie głębokie cz. II 15

datagen = ImageDataGenerator( featurewise_center=true, featurewise_std_normalization=true, rotation_range=20, width_shift_range=0.2, height_shift_range=0.2, horizontal_flip=true, zoom_range=[1.0,1.1]) datagen.fit(x_train) model.fit_generator(datagen.flow(x_train, y_train, batch_size=32), steps_per_epoch=len(x_train) / 32, epochs=epochs) Uczenie głębokie cz. II 16

Jeżeli już ktoś wymyślił sieć dla Twojego problemu - spróbuj wykorzystać jej architekturę Jeżeli dodatkowo istnieje model wyuczony na danych podobnych do Twoich spróbuj wykorzystać wagi Na koniec doucz sieć na swoich danych Powyższe podejście nosi nazwę transfer learning Uczenie głębokie cz. II 17

Dział uczenia maszynowego zajmujący się zapamiętywaniem wiedzy odkrytej podczas rozwiązywania jednego problemu/danych w celu zastosowania do innego problemu/danych W przypadku sieci można wykorzystać istniejącą architekturę i wagi neuronów Im bardziej podobne dane w obu problemach, tym lepiej Uczenie głębokie cz. II 18

Po zaimportowaniu istniejącej architektury wraz wagami chcemy nauczyć ostatnie warstwy nowych klas W tym celu należy 1. Dodać/dostosować ostatnie warstwy sieci do naszego problemu (np. określić odpowiednią liczbę klas) 2. Zamrozić wagi wcześniejszych warstw 3. Przepuścić nasze dane przez częściowo zamrożoną sieć 4. Odmrozić wcześniejsze warstwy 5. Ponownie przepuścić nasze dane przez sieć Uczenie głębokie cz. II 19

Biblioteka do obliczeń tensorowych od Facebooka Świetne wsparcie obliczeń na GPU Częsty wybór wśród naukowców Prawdopodobnie najszybsza obecnie biblioteka do uczenia głębokich sieci Uczenie głębokie cz. II 20

Wrapper na PyTorch (obecnie w wersji alfa) Idea: uczenie głębokie dla laików Da się tworzyć własne architektury, ale to nie cel Zestaw gotowych architektur do szybkiego wykorzystania Uczenie głębokie cz. II 21

1. Pobierz notatnik ze strony prowadzącego 2. Uruchom notatnik i wykonuj po kolei zadania Uczenie głębokie cz. II 22