• Nie Znaleziono Wyników

Głębokie uczenie Głębokie uczenie

N/A
N/A
Protected

Academic year: 2021

Share "Głębokie uczenie Głębokie uczenie"

Copied!
37
0
0

Pełen tekst

(1)

Głębokie uczenie Głębokie uczenie

Sieci Neuronowe Wykład 16

Włodzisław Duch

Uniwersytet Mikołaja Kopernika

Google: W. Duch

(2)

2

Co było

o Sieci MLP

o Algorytm wstecznej propagacji (BP)

o Ulepszenia BP

o Sieci konstruktywistyczne

(3)

Dzisiaj

• Maszyny Boltzmanna.

• Reservoir Computing

• Głębokie uczenie.

• Obrazy mentalne.

Problemy:

Obrazy i sygnały wymagają głębokiego przetwarzania by osiągnąć niezmienniczość względem skalowania i obrotów.

MLP i inne modele wymagają wektora o ustalonej długości.

Modele rekurencyjne mogą przyjmować wektory reprezentujące przesuwające się szeregi czasowe.

(4)

4

Maszyna Boltzmanna

Stochastyczne sieci atraktorowe, proste intro jest tu.

Zadanie: nauka rekonstrukcji danych wejściowych.

Binarne neurony,

symetryczne połączenia, warstwa ukrytych neuronów.

Asynchroniczna dynamika.

Neurony stochastyczne i stopniowe chłodzenie:

Wejścia Wyjścia

i i

 

i

/

p V   V    E T

Restricted BM, jedna warstwa ukryta bez połączeń wewnątrz.

(5)

Działanie MB

Idea: zbiór wag połączeń definiuje model środowiska.

Struktura wzbudzeń elementów widocznych przy braku

sygnałów wejściowych powinna być taka sama jak w ich obecności.

MB ma znaleźć zbiór wag pozwalających zrekonstruować obserwowane częstości sygnałów wejściowych - model maksymalnego prawdop.

Założenia: wolnozmienne sygnały wejściowe, brak korelacji pomiędzy

strukturami danych wejściowych; sieć dochodzi do równowagi iterując sygnał X+; iteracja w przód daje rozkład p(H|X;W), wstecz daje na wejściu X-

MB minimalizuje różnicę tych rozkładów używając miary Kullbacka-Leibnera:

Różnice między działaniem swobodnym i wymuszonym pozwalają obliczyć korelacje wzbudzeń neuronów i pożądaną zmianę wag:

 

ij i j dane i j szum

Wx h x h

  

   

,  ln   

X

KL P X P X

  P X

P X

P X

(6)

Przykład - obwód elektryczny

2 bity na zaznaczenie: rośnie, stałe, maleje.

Prawo Ohma V=I×R neurony wiedzy typu (I,V,R0), (I+,V+,R0) ale nie (I+,V,R0).

5 praw: 3 Ohma + Kirhoffa + dodawanie R.

65 neuronów zawierających elementarne fakty

Pytanie: Jeśli R2 wzrośnie, R1 i Vt stałe, co z prądem i spadkami napięcia V1, V2 ?

Ok. 500 iteracji (w naturze 10 ms/iterację), iteracja to 100 aktualizacji.

Po uśrednieniu wynik prawidłowy.

Przykład za D.E. Rumelhart, J. McClelland, Parallel Distributed Processing (MIT Press 87)

(7)

Intuicyjne myślenie Intuicyjne myślenie

Uczenie się z częściowych obserwacji Prawo Ohma V=I×R; Kirhofa V=V1+V2. Geometryczna reprezentacja faktów:

+ rośnie, 0 stała, - maleje.

True (I-,V-,R0), (I+,V+,R0), false (I+,V-,R0).

5 praw: 3 Ohma, 2 Kirhofa.

Wszystkie A=B+C, A=B×C , A-1=B-1+C-1, mają taką samą interpretację geometryczną!

13 prawdziwych, 14 nieprawdziwych relacji;

prosta przestrzeń, intuicyjne reakcje.

Fizyka jakościowa wymaga intuicji:

jeśli R2 wzrośnie a R1 i Vt będzie stałe, co stanie się z prądem I oraz V1, V2 ?

(8)

Intuicja upraszcza szukanie Intuicja upraszcza szukanie

5 relacji musi być jednocześnie prawdziwych, ta sama reprezentacja:

Pytanie: Jeśli R2=+, R1=0 i V =0, jak może się zmienić I, V1, V2 ?

Ocen jakie mogą być te wartości by F(V=0, R, I,V1, V2, R1=0, R2=+) >0 Szukanie: załóżmy, że któraś zmienna X = +, czy nie zrobi się F=0?

Dla 7 zmiennych jest 111 możliwych kombinacji z 2187 (5%) dających F>0.

5

1 2 1 2

1

( , , , , , , )

t i

( , , )

i i i

i

F V R I V V R R F A B C

 

Heurystyka: wybierz zmienną dla której jak najmniej wartości daje F>0.

Nie ma manipulacji symbolami, łatwo odpowiedzieć jakościowo na dowolne pytanie, intuicyjne rozumowanie.

Miękkie ograniczenia => min |F(X)|.

(9)

Echo State Networks (ESN)

Idea jak w Liquid State Machines (LSM): rzutowanie sygnałów zmiennych w czasie na sieć zawierającą mikroobwody o różnych stałych czasowych,

a więc stworzenie obrazu sygnału zmieniającego się wolniej, pozwalającego na klasyfikację.

ESN to architektura i uczenie nadzorowane sieci z rekurencją (RNN).

1. Duża, przypadkowo połączona sieć rekurencyjna pobudzana jest przez zewnętrzne sygnały, każdy neuron „rezonuje” przez jakiś czas dzięki

oddziaływaniom w sieci.

2. Liniowy klasyfikator (perceptron) uczy się

dyskryminacji stanów sieci.

Ogólna teoria:

reservoir computing, czyli

„obliczenia na rezerwuarach”.

Uczenie: tylko wag wyjściowych.

(10)

Analiza Obrazu

Jak można wykryć jakiś obiekt na obrazie?

Trzeba odkryć niskompoziomowe cechy obrazów pozwalające na niezmienniczą klasyfikację obiektów.

Obraz => wektor cech => Klasyfikator, np. MLP.

Cechy nie są odkrywane tylko wyodrębniane za pomocą specyficznych algorytmów: wykrywania krawędzi, Speeded Up Robust Features (SURF);

Gradient Location and Orientation Histogram (GLOH);

Scale-Invariant Feature Transform (SIFT) i wiele innych.

Głębokie uczenie: wiele poziomów reprezentacji o rosnącej złożoności.

(11)

Cechy obrazów

Automatyczna generacja cech jest kluczowa dla głębokich sieci neuronowych w zastosowaniach do analizy obrazów, sygnałów czy NLP.

Proste cechy są łatwe do generacji, poziom V1 w mózgu.

Części obiektów są dużo bardziej złożone, nie można ręcznie utworzyć odpowiednich filtrów do ich wykrywania.

(12)

Hierarchia cech

Trzeba się uczyć coraz bardziej złożonych cech, od V1 => V2, V3, V4, V5, IT.

Kolejne warstwy powinny wykrywać nowe cechy z poprzednich.

Od krawędzi do fragmentów do

rozpoznawania całych obiektów, np.

twarzy.

Wideo lub analiza danych z kinecta dodaje dodatkowe wymiary

związane z ruchem, ale zasada budowy cech jest taka sama.

Piksele Klasyfi-

kator

(13)

Trzeba się uczyć coraz bardziej

złożonych cech, od V1 => V2, V3, V4, V5, IT.

Kolejne warstwy powinny wykrywać nowe cechy

korzystając z poprzednich.

Lee i inn. CACM 2011

(14)

Jak się uczyć cech

Uczenie nadzorowane: dane z etykietami.

Płytkie: perceptrony, liniowa dyskryminacja, SVM

Głębokie: kolejne warstwy głębokich sieci neuronowych;

sieci z konwolucją (coraz większe pola recepcyjne); sieci z rekurencją.

Konwolucja (splot):

Uczenie nienadzorowane: dane nie mają etykiet.

Wykrywanie regularności lub struktur w danych.

Płytkie: odszumiające autoenkodery, ograniczone maszyny Boltzmana.

Głębokie: stosy autoenkoderów odszumiających;

hierarchiczne rzadkie kodowanie cech; deep belief networks.

Sieci konwolucyjne (CNN) dla obrazów: splot filtrów i obrazów.

Support Feature Machines: próbuj różnych transformacji wejściowych danych by wykryć użyteczne cechy.

     

f g t



f tg   d

  



(15)

Uczenie hierarchii cech

Obrazy mają zwykle podobne własności w różnych fragmentach, np. przydatne jest wykrywanie krawędzi. Połączenia powinny odwzorować strukturę obrazu.

(16)

Filtry cech obrazu

Tworzymy mapy obrazów rzutując je na różne filtry, modelujące rozkłady danych wejściowych. Zadaniem filtrów jest wykrywanie różnych struktur.

(17)

Analiza obrazu siecią CNN

(18)

Konwolucja => mapy

Filtr Gabora splątany z obrazem.

Filtry Gabora są wzorowane na reakcjach neuronów układzie wzrokowym.

Są to funkcje gaussowskie modulowane przez sinusoidalne fale.

(19)

Sieci konwolucyjne (CNN) dla obrazów.

(20)

Sharing i Pooling

Podział obrazu na rozłączne prostokąty.

Każdy neuron łączy się tylko z niewielkim fragmentem obrazu, pola recepcyjne częściowo się nakrywają.

Hiperparametry:

depth – ile neuronów do danego pola;

stride – jak silne jest nakrywanie;

Zero-padding wypełnia brzegi zerami.

Większość obrazów wykazuje na tyle duże podobieństwo podobszarów, że cechy wykryte w jednym są przydatne w drugim, stąd pomysł by stosować wspólne wagi (sharing) dla różnych obszarów–zmniejsza to liczbę parametrów i daje niezmienniczość translacyjną architektury sieci CNN.

Pooling (non-linear downsampling): średnia lub maksimum z pewnego

podobszaru (patch) przekazywana jest do warstwy redukującej rozdzielczość.

Końcowa warstwa jest w pełni połączona z wyjściową.

(21)

Architektura CNN

Warstwy bliskie wejściowej są duże (15x15) ale nieliczne, im bliżej wyjścia tym mniejsze i bardziej liczne.

Pooling (subsmapling) to zwykle uśrednianie fragmentów 2x2, zmniejszających mapę.

(22)

Dekompozycja na części

Pozwala to na rozpoznawanie obiektów, biometrię, końcowe filtry są proste.

(23)

Przykład zastosowania

Rozpoznawanie obrazów:

8 warstw, 1 milion obrazów, 650.000 neuronów, 60 mln parametrów, implementacja na 2xGPU, sieć trenowana przez tydzień.

ImageNet Classification 2012; błąd 16.4%, drugi najlepszy 26.2%.

Rok później zrobiono jeszcze większe sieci, rezultaty poprawiono o kolejne 5%, powstały firmy takie jak ClarifAI opisująca obrazy.

(24)

Deep face

Weryfikacja twarzy.

(25)

Google: TensorFlow

TensorFlow: Open Source Software Library for Machine Intelligence.

Narzędzie Google do głębokiego uczenia. Google chciałby uczynić z tego standard w dziedzinie uczenia maszynowego.

TensorFlow jest systemem, w którym obliczenia reprezentowane są przez grafy (wizualny język programowania). Węzły grafów nazywane są ops (od operations). Takie op działa na tensorach, wykonuje operacje i odsyła

tensory, czyli wielowymiarowe tablice. Np. grupa obrazów satelitarnych otrzymanych z różnych kanałów spektralnych może być reprezentowana przez 4-D tablicę o wymiarach

Sat = [obraz#, szerokość, wysokość, kanał].

TensorFlow jest używany przez Google do tworzenia usług i produktów, ale tworzone implementacje w TensorFlow są opisane w publikacjach i szeroko udostępniane.

(26)

Obliczenia tensorowe na grafach

Graf TensorFlow jest opisem sposobu wykonywania obliczeń.

Żeby cokolwiek obliczyć trzeba utworzyć sesję i zdefiniować graf.

Sesja umieszcza operacje definiowane przez graf na urządzeniach

(Devices), takich jak CPUs czy GPUs, i dostarcza metod by je wykonać.

Te metody zwracają tensory używając takich operacji jak numpy czy objekty ndarray w Pythonie, lub jako tensorflow::Tensor w C/C++.

GAN = Generative Adversarial Networks, generują przykłady danych z warunkowych rozkładów probabilistycznych, a następnie uczą sieci odróżniać sztucznie generowane i prawdziwe przypadki.

Zarówno generatory jak i dyskryminatory uczą się w ten sposób reprezentacji struktury danych określonego typu.

(27)

Obliczenia tensorowe na grafach

Przykład grafu dla danych MNIST:

https://www.tensorflow.org/versions/r0.8/tutorials/mnist/tf/index.html Ręcznie pisane cyfry (np. kodów pocztowych), 28x28 px;

Training 55.000, walidacja 5000, test 10.000.

(28)

Obrazy w mózgu

Czy można podejrzeć jak mózg

przekształca obrazy z siatkówki przez przez kolejne warstwy

analizujące

informacje z układu wzrokowego?

(29)

Wzrok

Od siatkówki przez LGN (ciało kolankowate boczne) informacja dochodzi do pierwotnej kory wzrokowej V1 i szlaku grzbietowego i brzusznego.

Wiele obszarów, stopniowo coraz bardziej złożone obiekty.

(30)

fMRI  CNN

Aktywność różnych obszarów mierzona za pomocą fMRI została

skorelowana z aktywnością warstw sieci CNN (Horikawa, Kamitani, 2017).

(31)

fMRI  CNN kroki

Jak nauczyć się analizować aktywność mózgu by odkryć, jakie obraz sobie wyobrażamy lub jaki widzimy? Chcemy to zrobić również dla obrazów, które nie były w zbiorze treningowym.

1.Analizujemy wiele obrazów Oi - dla każdego mamy 13 rodzajów cech (CNN1–8, HMAX1–3, GIST and SIFT + BoF) zakodowanych jako rozkład V(Oi) ok. 1,000 elementów w warstwach sieci CNN.

2.Analizujemy dane fMRI w czasie oglądania obrazów F(Oi), używamy je do dekodowania rozkładu aktywności elementów kodujących cechy tych obrazów w sieci CNN, czyli D[F(Oi)] = V(Oi).

3.Do nowego obrazu On, którego nie było w treningowym zbiorze, używamy dekoderów D[F(On)] = V(On).

4.Na koniec dla wektora V(On) szukamy w dużej bazie obrazów takiego, dla którego wektory uśrednione dla danej kategorii obrazów są najbardziej podobne.

Efekt: stany mózgu, widziane bądź wyobrażone => obrazy.

(32)

fMRI  CNN

CNN ma 8 warstw, 6-8 w pełni

połączone,

~1000 elementów w każdej warstwie.

Przykładowe 4 jednostki z każdej warstwy.

Wzrasta złożoność i niezmienniczość ze względu na

skalowanie i obroty.

(33)

fMRI  CNN

CNN 8 warstw,

6-8 w pełni połączone,

~1000 elementów w każdej warstwie.

Przykładowe 4 jednostki z każdej warstwy.

Wzrasta złożoność i niezmienniczość ze względu na skalowanie i obroty.

Wyjście z CNN8 ma przypisane kategorie (jest ich 1000).

(34)

CNN preferowane obrazy

(35)

Więcej materiałów

Tutoriale:

Lista KDDnuggets | UFLDL | Lisa Lab (pdf) Deep Learning for NLP (Richard Socher) Krótkie wprowadzenie (Ivan Vasilev)

Tutorial Facebook AI Research (Marc’Aurelio Ranzato) – część obrazków w tym wykładzie pochodzi z tego tutorialu.

Deep Learning Wiki

Porównanie programów do Deep Learning

Programy: MatConvNet (CNN w Matlabie) | ConvNetJS Javascript lib | Deeplearning4j (Java)|

Intelligence becomes utility, czyli inteligentny asystent do wszystkiego: viv.ai (wykupiony przez Samsung)

Dcell, a deep neural network simulating cell structure and function

(36)

Co dalej?

Sieci dynamiczne:

• Maszyny Boltzmanna.

• Model Hopfielda

(37)

Koniec wykładu 16

Cytaty

Powiązane dokumenty

W programie ujęte zostały doniesienia z wielu dziedzin medycyny, między inny- mi rodzinnej, alergologii, endokrynologii, gastroenterologii, hepatologii, kardiolo- gii,

W swoim artykule Pani Profesor skupia się na cechach osobowościowych nauczyciela warunkujących jego autorytet, na braku zainteresowania literatu­.. rą wśród młodych

• zachęcanie uczniów do poszukiwania własnych strategii rozwiązywania problemu, trak- towanie sposobu rozwiązania zaproponowanego przez nauczyciela lub obecnego w pod- ręczniku

(2014) Multi-digit Number Recognition from Street ViewImagery using Deep Convolutional Neural Networks.. Głębokość

Brak oblicze« po±rednich, uzasadnie« i komentarzy wpªynie na obni»enie oceny..

„Tworzenie programów nauczania oraz scenariuszy lekcji i zajęć wchodzących w skład zestawów narzędzi edukacyjnych wspierających proces kształcenia ogólnego w

Według tej koncepcji zdanie „Ten człowiek jest zielony” wypowiedziane w sytuacji, w której nic nie jest wskazywane, jest pozbawione wartości logicznej, ale wypowiedziane w

Możemy zaobserwować, że istnieje płaszczyzna doskonale rozdzielająca przykłady z naszego zbioru uczącego.. Weronika Sieińska Przekleństwo wymiarowości 16 października 2018 8