drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1...

78
Wprowadzenie do sieci neuronowych dr Piotr Fulmański mgr Konrad Kosmatka Lódzkie Dni Informatyki 21 listopada 2019 r. P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Transcript of drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1...

Page 1: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Wprowadzenie do sieci neuronowych

dr Piotr Fulmańskimgr Konrad Kosmatka

Łódzkie Dni Informatyki21 listopada 2019 r.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 2: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Plan wykładu

Plan wykładu

1 Naturalne sieci neuronowe

2 Sztuczne sieci neuronowe

3 Zadanie

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 3: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Wprowadzenie

Biologiczna sieć neuronowa

Naśladowanie rozwiązań występująych w naturze aby rozwiązaćróżne problemy jest praktykowane od dawna.Wszystkie akcje ludzi i zwierząt są koordynowane przez naszwewnętrzny procesor, tj. mózg. Jego wewnętrzna struktura, czylibiologiczna sieć neuronowa jest zbudowana z:

komórek nerwowych – neuronów,komórek glejowych.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 4: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Wprowadzenie

Biologiczna sieć neuronowa

Neurony to komórki nerwowe, które różnią się kształtem,rozmiarem i własnościami. Posiadają zdolność do odbierania,przetwarzania i przekazywania sygnałów elektrochemicznych. Odich konkretnych parametrów zależy w jaki sposób to robią.

Komórki glejowe stanowią wypełniacz przestrzeni, w którejwystępują neurony. Chronią tkanki nerwowe i zaopatrują je wsubstancje odżywcze.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 5: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Biologiczny neuron

Źródło: https://en.wikipedia.org/wiki/Neuron

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 6: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Biologiczny neuron

a Dendryty stanowią rozgałęzienie ciała komórki neuronu isłużą do odbioru sygnału od innych neuronów. Ich ilośćwynosi kilka tysięcy.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 7: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Biologiczny neuron

b Ciało komórki zawiera wszystkie struktury, potrzebne dobiologicznego funkcjonowania komorki (jądro, rybosomy, mi-tochondrium) i przetwarza sygnały.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 8: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Biologiczny neuron

c Jądro komórkowe przechowuje i powiela informację gene-tyczną, a także kontroluje czynności komórki. Jego obumar-cie oznacza śmierć komórki.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 9: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Biologiczny neuron

d Akson przekazuje impulsy elektrochemiczne na zewnątrzkomórki. Jego długość jest klika lub kilkadziesiąt razy więk-sza niż średnica ciała komórki.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 10: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Biologiczny neuron

e Synapsy to rozgałęzienia aksonu, w których dochodzi dozamiany sygnału elektrycznego na sygnał chemiczny, a na-stępnie do przekazywania sygnału z jednej komórki do innej.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 11: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa neuronu

Zasada wszystko albo nic

Działanie neuronu polega na zasadzie wszystko albo nic.

Neuron przekaże sygnał tylkopo przekroczeniu pewnego po-ziomu impulsów wejściowych.

Silniejsza stymulacja neu-ronów nie prowadzi dowytwarzania silniejszych po-tencjałów, ale do zwiększeniaich częstotliwości. W

yjś

cie

Próg

Brak odpowiedzi

Pełna odpowiedź

Wejś

cie

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 12: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 13: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 14: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 15: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 16: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 17: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 18: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 19: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 20: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 21: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 22: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 23: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 24: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 25: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 26: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Zasada działania neuronu

Działanie biologicznego neuronu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 27: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Naturalne sieci neuronowe Budowa sieci neuronowej

Fakty i dane liczbowe

Ludzki mózg posiada przeciętnie 8.6× 1010 neuronów.Każdy neuron ma około 7000 połączeń z innymi neuronami.Mózg dziecka posiada w przybliżeniu 1015 synaps.Wraz z wiekiem ich ilość spada do ponad 1014 dla osobydorosłej.

Biorąc pod uwagę liczność neuronów, połączeń między nimi, atakże złożoność ich właściwości, obecnie nie jesteśmy w stanieodwzorować działania naszego mózgu.

Biologiczny mózg to model, na podstawie którego powstałysztuczne sieci neuronowe, implementowane programowo przezpewien algorytm lub w postaci układu elektronicznego, jednak wsposób znacznie bardziej uproszczony.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 28: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wprowawdzenie

Definicja sztucznej sieci

Sztuczna sieć neuronowa (ang. artifical neural network) topołączenie określonej ilości sztucznych neuronów, któreimplementują pewien matematyczny model obliczeniowy w celuprzetwarzania informacji i rozwiązywania konkretnych zadań.

Sieci neuronowe są w obecnych czasach popularnym przedmiotembadań naukowców, czy praktycznej implementacji przez inżynierów.

Co więcej, są używane przez każdego z nas w życiu codziennym,mniej lub bardziej świadomie.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 29: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wykorzystanie

Analiza obrazów

Źródło: https://medium.com/zylapp/review-of-deep-learning-algorithms-for-object-detection-c1f3d437b852

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 30: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wykorzystanie

Rozpoznawanie i syntezowanie dźwięków oraz mowy

Źródło: https://www.t3.com/news/siri-vs-google-assistant-vs-cortana-vs-alexa-battle-of-the-ai-assistants

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 31: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wykorzystanie

Tłumaczenie maszynowe

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 32: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wykorzystanie

Rozpoznawanie pisma

Źródło: https://en.wikipedia.org/wiki/MNIST_database

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 33: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wykorzystanie

Filtrowanie spamu

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 34: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Wykorzystanie

Zastosowania sztucznych sieci neuronowych

Inne zastosowania to:eksploracja danych (kojarzenie, kategoryzowanie,wyszukiwanie),generowanie realistycznych obrazów,sterowanie systemami (np. autonomiczne pojazdy),prognozowanie (np. ekonomiczne),diagnozowanie chorób,. . . i wiele, wiele innych.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 35: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu

Wejście neuronu to wektor x posiadający n elementów.Jest to odpowiednik dendrytów w biologicznym neuronie.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 36: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu

Każde wejście posiada przyporządkowaną wagę w .

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 37: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu

Neuron oblicza swoje pobudzenie net, czyli sumę ważoną.Jest to iloczyn skalarny wejść x oraz wag w .

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 38: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu

net = x1w1 + x2w2 + · · ·+ xnwn =∑n

i=1 xiwi

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 39: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu

Wartość funkcji aktywacji F (net) to wyjście Y z neuronu.Jest to odpowiednik aksonu i synapsy w biologicznym neuronie.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 40: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu

Y = F (net) = F (∑n

i=1 xiwi)

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 41: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 42: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

Obliczamy pobudzenie neuronu.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 43: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

Obliczamy pobudzenie neuronu.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 44: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

Obliczamy pobudzenie neuronu.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 45: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

Obliczamy pobudzenie neuronu.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 46: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

Obliczamy pobudzenie neuronu.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 47: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Neuron

Model sztucznego neuronu - obliczenia

Obliczamy wyjście neuronu. Jako F przyjmujemy funkcję signum -wartość -1 dla ujemnych argumentów, 0 dla zera i 1 dla dodatnich.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 48: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 49: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 50: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 51: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 52: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 53: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 54: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja progowa

Funkcja aktywacji w sztucznych sieciach neuronowych jestodpowiednikiem biologicznego progu aktywacji neuronu.

0

1

-3 -2 -1 0 1 2 3

Y

net

f. progowa unipolarna

F(net) =

{1, gdy net ≥ 0,0, gdy net < 0.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 55: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Funkcje aktywacji

Funkcja sigmoidalna

Ze względu na własności matematyczne w praktyce używamyfunkcji ciągłych. Przykładem jest funkcja sigmoidalna.

0

1

-3 -2 -1 0 1 2 3

Y

net

������

�=1/4

F(net) = 11+ e−λx

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 56: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Uczenie sieci

Dane uczące

Sieć neuronowa uczy się na przykładach.Potrzebujemy pary pytanie – odpowiedź.

Pytanie może uwzględniać wiele czynników (cech), jest towejście do sieci.Odpowiedź to wyjście i również może być wektoremwieloelementowym.

Taki sposób nazywamy uczeniem nadzorowanym.

Proces nauki polega na zmianie wag w neuronach.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 57: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Uczenie sieci

Dane uczące – przykład

Zagadnienie: Decyzja o włączeniu lub wyłączeniu ogrzewania.

Temperatura Wilgotność Decyzja21 ◦C 60% Włącz22 ◦C 40% Włącz23 ◦C 30% Włącz25 ◦C 20% Włącz22 ◦C 60% Wyłącz23 ◦C 40% Wyłącz24 ◦C 50% Wyłącz25 ◦C 30% Wyłącz26 ◦C 40% Wyłączx1 x2 Y

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 58: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Uczenie sieci

Dane uczące – przykład

Zagadnienie: Decyzja o włączeniu lub wyłączeniu ogrzewania.

20

30

40

50

60

70

20 21 22 23 24 25 26 27

Wilgotność

[%]

Temperatura [°C]

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 59: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Uczenie sieci

Dane uczące – przykład

Zagadnienie: Decyzja o włączeniu lub wyłączeniu ogrzewania.

20

30

40

50

60

70

20 21 22 23 24 25 26 27

x 2

x1

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 60: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Uczenie sieci

Dane uczące – przykład

Zagadnienie: Decyzja o włączeniu lub wyłączeniu ogrzewania.

20

30

40

50

60

70

20 21 22 23 24 25 26 27

x 2

x1

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 61: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Architektury sieci neuronowych

Oznaczenie indeksów

W przypadku neuronów:xab - wejście,netab - pobudzenie,yab - wyjście,

gdzie:a to warstwa,b to numer neuronu.

Oznaczenie wag: wabc , gdzie

a to warstwa,b to numer neuronu z bieżącej warstwy,c to numer neuronu z poprzedniej warstwy.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 62: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Architektury sieci neuronowych

Sieci skierowane do przodu

Sieć jednowarstwowa, jak wskazuje nazwa, zawiera neuronyułożone w jednej warstwie, które zwykle mają pełne połączenie zkażdym wejściem w sieci. Przepływ sygnałów odbywa się w jednymkierunku – z wejścia do wyjścia.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 63: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Architektury sieci neuronowych

Problem alternatywy rozłącznej (XOR)

Sieć jednowarstwowa rozwiązuje problemy separowalne liniowo.

x2x1w1w2

x2x1w1w2

?

Do odwzorowania funkcji XOR potrzebna jest więcej jednapłaszczyzna oddzielająca klasy (w tym wypadku prosta).

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 64: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Architektury sieci neuronowych

Sieci skierowane do przodu

Sieć wielowarstwowa zawiera co najmniej jedną warstwęneuronów ukrytych, czyli takich które pośredniczą w przekazywaniusygnałów pomiędzy węzłami wejściowymi, a warstwą wyjściową.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 65: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Architektury sieci neuronowych

Sieci wielowarstwowe

Sieci wielowarstwowe potrafią rozwiązać problemy,które nie są separowalne liniowo.

x2x1w1w2

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 66: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Działanie sieci

Obliczamy wyjście kolejnych neuronów w danej warstwie.Wartości te są wejściami do neuronów w następnej warstwie.

net11 = w111x

11 + w1

12x12

y11 = f (net11 ) = x2

1

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 67: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Działanie sieci

Obliczamy wyjście kolejnych neuronów w danej warstwie.Wartości te są wejściami do neuronów w następnej warstwie.

net12 = w121x

11 + w1

22x12

y12 = f (net12 ) = x2

2

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 68: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Działanie sieci

Obliczamy wyjście kolejnych neuronów w danej warstwie.Wartości te są wejściami do neuronów w następnej warstwie.

net21 = w211x

21 + w2

12x22

y21 = f (net21 ) = x3

1

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 69: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Działanie sieci

Obliczamy wyjście kolejnych neuronów w danej warstwie.Wartości te są wejściami do neuronów w następnej warstwie.

net22 = w221x

21 + w2

22x22

y22 = f (net22 ) = x3

2

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 70: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Działanie sieci

Obliczamy wyjście kolejnych neuronów w danej warstwie.Wartości te są wejściami do neuronów w następnej warstwie.

net23 = w231x

21 + w2

22x22

y23 = f (net23 ) = x3

3

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 71: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Działanie sieci

Obliczamy wyjście kolejnych neuronów w danej warstwie.Wartości te są wejściami do neuronów w następnej warstwie.

net31 = w311x

31 + w3

12x32 + w3

13x33

y31 = f (net31 ) = y

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 72: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Uczenie sieci

Początkowo ustalamy wagi w na małe wartości losowe, np. wzakresie [-1, 1].

Podstawowy algorytm uczenia sieci to propagacja wsteczna.Wyznacza on zmianę wag połączeń w sieci.W przeciwieństwie do obliczenia odpowiedzi sieci, zaczynamy odkońca (od ostatniej warstwy).

Algorytm jest oparty na minimalizacji sumy kwadratów błędów zwykorzystaniem metody optymalizacyjnej.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 73: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Sztuczne sieci neuronowe Obliczenia w sieci

Uczenie sieci – minimalizacja

Do obliczeń potrzebnych do nauki sieci potrzebna jest jeszczepochodna funkcji aktywacji neuronów. Dla funkcji sigmoidalnej jejwzór to:

f ′(net) = λf (net)(1− f (net))

Dzięki pochodnej możemy optymalizować wagi sieci, krok po kroku.

Źródło: https://en.wikipedia.org/wiki/Gradient_descentP. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 74: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Zadanie Gra w czołgi

Gra w czołgi

Zadanie polega na częściowej implementacji sieci neuronowej, któranauczy się grać w grę „czołgi”.

Na podstawie odległości między czołgami należy wyznaczyć kątwystrzału pocisku.

Sieć nauczy się tego odwzorowania na podstawie trafnychwystrzałów (dane uczące).

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 75: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Zadanie Gra w czołgi

Gra w czołgi

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 76: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Zadanie Gra w czołgi

Struktura – neurony

Sieć składa się z dwóch warstw i trzech neuronów:a, b - w warstwie ukrytej,c - w wartstwie wyjściowej.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 77: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Zadanie Gra w czołgi

Struktura – wejścia/wyjścia

Sieć posiada dwa wejścia i jedno wyjście.x1 to wejście do sieci, czyli odległość,x2 to dodatkowe stałe wejście o wartości 1,y to wyjście z sieci, czyli kąt.

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych

Page 78: drPiotrFulmański mgrKonradKosmatka ŁódzkieDniInformatyki ... · Plan wykładu Planwykładu 1 Naturalnesiecineuronowe 2 Sztucznesiecineuronowe 3 Zadanie P. Fulmański, K. Kosmatka

Zadanie Gra w czołgi

Gra w czołgi

Zadanie polega na:wyznaczeniu zbioru uczącego sieć (plik dane_uczace.txt),określeniu funkcji aktywacji neuronów i jej pochodnej (plikodpowiedz .py , implementacja: funkcja oraz pochodna),napisaniu kodu, który obliczy odpowiedź sieci (plikodpowiedz .py , implementacja: odpowiedz).

Wskazówki i informacje:Jako funkcję aktywacji użyjemy funkcję sigmoidalną zewspółczynnikiem λ = 1.Wagi zawarte są w wektorze w z indeksami od 1 do 7.Funkcja ex jest dostępna pod nazwą math.exp(x).

P. Fulmański, K. Kosmatka Wprowadzenie do sieci neuronowych