Naśladowanie żywego mózgu w komputerze

45
Naśladowanie żywego mózgu w komputerze Ryszard Tadeusiewicz AGH 1 informatyka +

description

Naśladowanie żywego mózgu w komputerze. Ryszard Tadeusiewicz AGH. Naśladując w komputerze ludzki mózg staramy się połączyć zalety komputera (dostępność i szybkość działania) z zaletami mózgu (zdolność do uczenia się). - PowerPoint PPT Presentation

Transcript of Naśladowanie żywego mózgu w komputerze

Page 1: Naśladowanie żywego mózgu  w komputerze

Naśladowanie żywego mózgu w komputerze

Ryszard TadeusiewiczAGH

1informatyka +

Page 2: Naśladowanie żywego mózgu  w komputerze

Naśladując w komputerze ludzki mózg staramy się połączyć zalety komputera (dostępność i szybkość

działania) z zaletami mózgu (zdolność do uczenia się)

informatyka + 2

Page 3: Naśladowanie żywego mózgu  w komputerze

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej

pożyteczne okazały się sieci neuronowe.

informatyka + 3

Page 4: Naśladowanie żywego mózgu  w komputerze

Jak doszło do zbudowania sieci neuronowych?

informatyka + 4

Page 5: Naśladowanie żywego mózgu  w komputerze

Co chcemy osiągnąć naśladując w komputerze ludzki mózg?

• Rozwiązać zadania, dla których nie potrafimy podać gotowych algorytmów ich rozwiązywania.

• Przykładem zadania, które jest pozornie bardzo łatwe, a dla którego nikt nie umie podać algorytmu, jest automatyczne rozpoznawanie ludzi

informatyka + 5

Janek! Zosia ???

Page 6: Naśladowanie żywego mózgu  w komputerze

Kiedy sieci neuronowe są lepsze od innych metod informatycznych?

informatyka + 6

Nie

znaj

omoś

ć re

guł r

ządz

ącyc

h pr

oble

mem

Stopień złożoności problemu

Pełna znajomość regułMała i średnia złożoność

Częściowa znajomość regułMała i średnia złożoność

Częściowy lub całkowitybrak znajomości reguł

Duża złożoność

Dokładnealgorytmy

Modele statystyczneSystemy ekspertoweMetody dedukcyjne

Sieci Sieci neuronoweneuronoweMetody indukcyjne

Page 7: Naśladowanie żywego mózgu  w komputerze

Sposób rozwiązywania problemów przy użyciu sieci neuronowej

informatyka + 7

Danereprezentujące

zadanie do wykonania

Wynikreprezentujący

rozwiązanie zadania

Page 8: Naśladowanie żywego mózgu  w komputerze

Naśladując w komputerze ludzki mózg staramy się wzorować na jego budowie

informatyka + 8

Page 9: Naśladowanie żywego mózgu  w komputerze

Naśladując w komputerze ludzki mózg budujemy sieci neuronowe z elementów, których działanie jest wzorowane

na funkcjonowaniu biologicznych neuronów.

informatyka + 9

Page 10: Naśladowanie żywego mózgu  w komputerze

Budując sztuczne neurony, z których tworzyć będziemy sieci neuronowe, staramy się w nich odwzorować elementy

biologicznych neuronów.

informatyka + 10

Page 11: Naśladowanie żywego mózgu  w komputerze

Sztuczne neurony posiadają jedynie najpotrzebniejsze cechy biologicznych neuronów.

informatyka + 11

Page 12: Naśladowanie żywego mózgu  w komputerze

Sztuczne neurony muszą także naśladować funkcjonowanie biologicznych neuronów.

informatyka + 12

x1

x2

xn

w1

w2

wn

nixwgs ii

,,1,

sfy

y

agregacja danych wejściowych

obliczenie wartości funkcji aktywacji

To jest sztuczny neuron.

Jakie ma zadania ?

Jak zróżnicować te sygnały?...

Trzeba wprowadzić wagi

Page 13: Naśladowanie żywego mózgu  w komputerze

Agregacja sygnałów wejściowych jest raczej łatwa do przeprowadzenia. Jak wspomniano wyżej, jest to zwykle po

prostu sumowanie. Funkcja aktywacji też jest łatwa do zrozumienia, więc ograniczymy się do pokazania jej

przykładowego kształtu (poniżej).

informatyka + 13

0

0,2

0,4

0,6

0,8

1

-10 -5 0 5 10

S

yβ=0,5β=1β=2

Page 14: Naśladowanie żywego mózgu  w komputerze

Kwestia wag różnicujących wejścia do neuronu

informatyka + 14

Page 15: Naśladowanie żywego mózgu  w komputerze

Załóżmy, że oceniany kwiat ma ładny kolor, ale brzydki zapach.

informatyka + 15

do sygnału wejściowego „zapach” przypiszemy małą wagęa do sygnału „kolor” wagę dużą

neuron wyśle na wyjściu sygnał, że kwiat mu się podoba

Page 16: Naśladowanie żywego mózgu  w komputerze

Przy przeciwnym rozłożeniu wag wynik jest odwrotny

informatyka + 16

Page 17: Naśladowanie żywego mózgu  w komputerze

Wagi mają przemożny wpływ na zachowanie neuronów!

informatyka + 17

Przy tym samym zestawie sygnałów wejściowych mamy dwie całkiem różne reakcje neuronu!

Page 18: Naśladowanie żywego mózgu  w komputerze

Schemat zbierający razem właściwości sztucznego neuronu

informatyka + 18

Page 19: Naśladowanie żywego mózgu  w komputerze

Pytanie, które sobie teraz trzeba postawić, brzmi:

Jak połączyć sztuczne neurony, żeby powstała użyteczna sieć?

informatyka + 19

Page 20: Naśladowanie żywego mózgu  w komputerze

W historii rozwoju modeli komputerowych elementów systemu nerwowego tworzono

i badano wiele różnych struktur sieci.

informatyka + 20

Okazało się jednak, że struktura sieci ma mniejszy wpływ na jakość jej działania, niż proces uczenia.

Dlatego współczesne sieci neuronowe buduje się z reguły z neuronów układanych w warstwy, bo tak jest najwygodniej.

Page 21: Naśladowanie żywego mózgu  w komputerze

Oto przykładowa sieć z jej wszystkimi ważnymi elementami

informatyka + 21

x 1

x 2

y

Warstwa wejściowa Warstwa ukryta(jedna lub dwie)

Warstwa wyjściowa

Ciekawostka: podobną budowę ma kora mózgowa w części wzrokowej !

Page 22: Naśladowanie żywego mózgu  w komputerze

Teoretycznie twórca sieci może wybrać dowolnie wszystkie jej elementy

informatyka + 22

x 1

x 2

y

Warstwa wejściowa Warstwa ukryta(jedna lub dwie)

Warstwa wyjściowa

W rzeczywistości jednak swoboda twórcy sieci jest

ograniczona, bo liczba neuronów w warstwie

wejściowej wynika z liczby posiadanych danych, a

wielkość warstwy wyjściowej zależy od tego, jakie

chcemy dostać wyniki.

Page 23: Naśladowanie żywego mózgu  w komputerze

Twórca sieci neuronowej może więc głównie mieć wpływ na liczbę neuronów ukrytych n. Decyduje ona o jakości

działania sieci Q.

informatyka + 23

Liczba neuronów ukrytych n

Jako

ść d

ział

ania

sie

ci Q

sieć jest zbyt mało

inteligentna

Page 24: Naśladowanie żywego mózgu  w komputerze

W zasadzie można by było na tym poprzestać, popatrzmy jednak, co się stanie, kiedy zamienimy n na m oraz Q na

IQ.

informatyka + 24

Q

n

IQ

m

Wykres ten przedstawia teraz znaną z psychologii zależność miary

inteligencji człowieka (IQ to tzw. iloraz inteligencji) w zależności od

masy jego mózgu m !

Page 25: Naśladowanie żywego mózgu  w komputerze

Przedstawione ogólne reguły wskazujące na niekorzystne skutki używania zarówno za małej, jak i za dużej sieci,

potwierdzają wyniki przykładowego eksperymentu

informatyka + 25

0102030405060708090

100Błąd

2 4 6 8 10 12 14 16 18 20Liczba neuronów ukrytych

Page 26: Naśladowanie żywego mózgu  w komputerze

Mając zaprojektowaną sieć neuronową, to znaczy wiedząc, z jakich elementów jest ona zbudowana (sztuczne

neurony), ile tych elementów trzeba zastosować i jak te elementy są połączone pomiędzy sobą – można się

zastanowić, jak tę sieć zrealizować.

informatyka + 26

Page 27: Naśladowanie żywego mózgu  w komputerze

W najwcześniejszych pracach dotyczących budowy sieci neuronowych chętnie stosowano urządzenia elektroniczne,

które modelowały sieć.

informatyka + 27

Page 28: Naśladowanie żywego mózgu  w komputerze

Obecnie jeśli do budowy sieci neuronowych stosowane urządzenia elektroniczne (a są stosowane rzadko), to występują

w postaci specjalizowanych układów scalonych.

informatyka + 28

Page 29: Naśladowanie żywego mózgu  w komputerze

Najczęściej jednak do budowy sieci neuronowych wykorzystuje się program komputerowy, który w zwykłym komputerze

modeluje sieć.

informatyka + 29

Mam program,więc działam jaksieć neuronowa

Mogę wykonywać wszelkie obliczenia

tak jakbym miałspecjalnie zbudowaną

sieć!

Page 30: Naśladowanie żywego mózgu  w komputerze

Nazwy i logo przykładowych programów modelujących sieci neuronowe

informatyka + 30

Page 31: Naśladowanie żywego mózgu  w komputerze

Wygląd ekranu komputera modelującego sieć neuronową

informatyka + 31

Page 32: Naśladowanie żywego mózgu  w komputerze

Przystąpimy teraz do omówienia procesu uczenia sieci neuronowych.

informatyka + 32

Page 33: Naśladowanie żywego mózgu  w komputerze

Maksymalnie uproszczony schemat procesu uczenia.

informatyka + 33

korekta

błędu

Ew

a Jan

Podstawą procesu uczenia jest zbiór przykładowych danych wraz z rozwiązaniami

To on jest podstawą uczenia sieci

W przykładzie zbiór zawiera wizerunki osób, które sieć ma się nauczyć rozpoznawać

Wizerunek rozpoznawanej osoby podawany jest na wejście sieci

Sieć na tej podstawie usiłuje podać własne rozwiązanie zadania (identyfikacje osoby)

W zbiorze uczącym są informacje o tym, jak naprawdę nazywa się osoba na zdjęciu

Porównanie odpowiedzi sieci z prawidłowym rozwiązaniem pozwala wyznaczyć błąd sieci

Uczenie prowadzone jest tak, żeby zminimalizować wartość błędu.

Page 34: Naśladowanie żywego mózgu  w komputerze

Skąd wiemy, w jaki sposób zmieniać parametry sieci (wartości wag), żeby uzyskać efekt zmniejszania błędu?

Zachowanie sieci jest wypadkową zachowania wszystkich jej neuronów, zaś zachowanie poszczególnych neuronów można uzależnić od wartości wag występujących w tych neuronach.

informatyka + 34

Page 35: Naśladowanie żywego mózgu  w komputerze

Przypomnijmy sobie: Wagi mają przemożny wpływ na zachowanie neuronów!

informatyka + 35

Przy tym samym zestawie sygnałów wejściowych mamy dwie całkiem różne reakcje neuronu!

Page 36: Naśladowanie żywego mózgu  w komputerze

Jeśli ustalimy wszystkie wagi we wszystkich neuronach całej sieci, a potem pokażemy sieci wszystkie zadania ze zbioru

uczącego to wyznaczymy łączny błąd, popełniany przez sieć dla tych zadań. Dla różnych zestawów wag – otrzymamy różne

wartości błędu.

informatyka + 36

Pierwszy współczynnik wagowy w1

Drugi współczynnik wagowy w2

Wielkość błędu popełnianego

przez sieć E

przy takim zestawie wag

sieć popełniataki duży błąd

sieć popełniataki mały

błąd

a przy takim zestawie wag

Gdybyśmy takie strzałki wystawiali we wszystkich punktach granatowej

płaszczyzny podstawy – to powstałaby powierzchnia, nazywana powierzchnią

błędu, której za chwilę użyjemy

do wyznaczenia sposobu uczenia.

Page 37: Naśladowanie żywego mózgu  w komputerze

Na rysunku pokazano przykładową powierzchnię błędu (szara) oraz

informatyka + 37

Istota uczenia polega na szukaniu miejsca (zestawu wag określonego jako wideal), w którym błąd jest minimalny

Page 38: Naśladowanie żywego mózgu  w komputerze

Szczegółowe algorytmy uczenia wbudowane są zwykle w programy

symulujące sieci neuronowe na komputerze.

informatyka + 38

Page 39: Naśladowanie żywego mózgu  w komputerze

Sieci neuronowe mają wiele zastosowań.

Pokażemy tylko dwa z nich.

informatyka + 39

Page 40: Naśladowanie żywego mózgu  w komputerze

Zastosowanie 1: Tworzenie modelu procesu

informatyka + 40

Sieci neuronowe często są używane do modelowania różnych procesów.Przykład: Wyobraźmy sobie, że chcemy przewidzieć, jaką cenę osiągnie na wolnym rynku określone mieszkanie. Nie mamy gotowych reguł (bo nikt ich nie zna), ale możemy użyć jako zbioru uczącego opisu wcześniejszych transakcji kupna-sprzedaży. Na wejściu sieci są dane dotyczące mieszkania, a sieć ma podać jego cenę.

powierzchnia,garaż,wiek,

ogrzewanie,położenie,

piętro,....

Cenarynkowa

Page 41: Naśladowanie żywego mózgu  w komputerze

Zastosowanie 2: Podejmowanie decyzji.

informatyka + 41

Sieci neuronowe często wspomagają podejmowanie decyzji. Przykład: W banku trzeba zdecydować, czy przyznać konkretnemu klientowi pożyczkę, czy lepiej nie? Jak się nie pożyczy pieniędzy uczciwemu klientowi, to bank nie zarobi. Ale jak się pożyczy nieuczciwemu, to bank poniesie stratę. Nie wiadomo, po czym poznać nieuczciwego, ale można dać sieci jako zbiór uczący informacje o wszystkich udzielonych pożyczkach, tych udanych i nie. Sieć się sama nauczy rozpoznawać nieuczciwych i może nam radzić.dochody,zabezpieczenie,

wiek,stan cywilny,oszczędności,zatrudnienie

....

przyznaćczy

nie przyznać

? ?

?

Page 42: Naśladowanie żywego mózgu  w komputerze

Uwagi końcowe

informatyka + 42

Page 43: Naśladowanie żywego mózgu  w komputerze

Sieci neuronowe powstały w wyniku procesu twórczego przeciwnego do tego, który doprowadził

do powstania typowych komputerów.

Komputery powstały bowiem w taki sposób, że stosunkowo proste (początkowo) urządzenia przeznaczone do mechanizacji obliczeń: liczydła, suwaki, kalkulatory itd. poddano procesowi intensywnego doskonalenia, dzięki czemu powstały znane nam obecnie systemy

informatyczne, o ogromnych możliwościach, ale też niezwykle skomplikowane.

informatyka + 43

Page 44: Naśladowanie żywego mózgu  w komputerze

W sieciach neuronowych było przeciwnie: Za punkt wyjścia przyjęto niesłychanie skomplikowany twór, jakim jest mózg i podjęto próbę modelowania jego struktury i właściwości za pomocą opisów, które w miarę ich doskonalenia stawały się

coraz prostsze.

Obecnie używane sieci neuronowe są tak bardzo uproszczone, że każdy może zrozumieć ich budowę i działanie, a jednocześnie

zachowały one tyle właściwości oryginalnego mózgu, że potrafią się bardzo inteligentnie zachowywać.

informatyka + 44

Page 45: Naśladowanie żywego mózgu  w komputerze

Na koniec jedna uwaga: Prawdziwy mózg jest tyle razy większy (w sensie liczby

elementów) od typowej sieci neuronowej, ile razy większa jest średnica Ziemi od główki szpilki. Warto to wiedzieć!

informatyka + 45

100 000 000 000neuronów!