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

Podobne dokumenty
Wszechnica Popołudniowa: Tendencje w rozwoju informatyki i jej zastosowań Naśladowanie żywego mózgu w komputerze. Ryszard Tadeusiewicz

Naśladowanie żywego mózgu w komputerze. Ryszard Tadeusiewicz Katedra Automatyki, Akademia Górniczo-Hutnicza im. S. Staszica Kraków

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

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

Temat: Sieci neuronowe oraz technologia CUDA

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

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

Wprowadzenie do teorii systemów ekspertowych

Zastosowania sieci neuronowych

Metody Sztucznej Inteligencji II

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowania sieci neuronowych

Sieci neuronowe (wprowadzenie)

Sztuczne sieci neuronowe (SNN)

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Sieci neuronowe w Statistica

Podstawy sztucznej inteligencji

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

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

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

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Politechnika Lubelska

Inteligentne systemy przeciw atakom sieciowym

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

Budowa i własności. sztucznych neuronów i sieci

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Projekt Sieci neuronowe

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

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

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

Narzędzia AI. Jakub Wróblewski Pokój SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE)

2

Sieci neuronowe - dokumentacja projektu

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

Sztuczne sieci neuronowe

SCENARIUSZ LEKCJI BIOLOGII Z WYKORZYSTANIEM FILMU DOBRZE MIEĆ O(G)LEJ W GŁOWIE. O KOMÓRKACH UKŁADU NERWOWEGO.

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie sieci typu MLP

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Lekcja 5: Sieć Kohonena i sieć ART

Systemy uczące się Lab 4

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

SZTUCZNA INTELIGENCJA

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

RAPORT ZBIORCZY z diagnozy umiejętności matematycznych

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

O ISTOTNYCH OGRANICZENIACH METODY

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

Elementy kognitywistyki III: Modele i architektury poznawcze

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

MODELOWANIE RZECZYWISTOŚCI

Uczenie sieci radialnych (RBF)

Stefan Sokołowski SZTUCZNAINTELIGENCJA. Inst. Informatyki UG, Gdańsk, 2009/2010

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Programowanie i techniki algorytmiczne

Problem Based Learning - - Nauczanie problemowe

1. Formy sprawdzania wiedzy i umiejętności ucznia wraz z wagami ocen

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Porównywanie populacji

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

Instrukcja realizacji ćwiczenia

Uczenie sieci neuronowych i bayesowskich

Scenariusz lekcji Ozobot w klasie: Prezentacja liczb trójkątnych i kwadratowych

Sztuczne sieci neuronowe

Widzenie komputerowe

KARTA MODUŁU KSZTAŁCENIA

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

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

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

Optymalizacja optymalizacji

PRZEDMIOTOWY SYSTEM OCENIANIA Z ZAJĘĆ KOMPUTEROWYCH. dla klas IV-VI. 2. Systematyczne dokumentowanie postępów uczenia się. 3. Motywowanie do rozwoju;

Podstawy Sztucznej Inteligencji (PSZT)

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

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

Optymalizacja ciągła

Festiwal Myśli Abstrakcyjnej, Warszawa, Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII?

O ALGORYTMACH I MASZYNACH TURINGA

SZTUCZNA INTELIGENCJA

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Rzut oka na współczesną matematykę spotkanie 3: jak liczy kalkulator i o źródłach chaosu

Podstawy Sztucznej Inteligencji

TRANSAKCJE ARBITRAŻOWE PODSTAWY TEORETYCZNE cz. 1

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

MODELOWANIE RZECZYWISTOŚCI

Prof. Stanisław Jankowski

Wzmacniacze operacyjne

PRZEDMIOTOWY SYSTEM OCENIANIA WYMAGANIA EDUKACYJNE Z TECHNIKI PRAC BIUROWYCH

PRZEDMIOTOWE ZASADY OCENIANIA Z ZAJĘĆ TECHNICZNYCH DLA GIMNAZJUM

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

Rysunek zwykle bardziej przemawia do wyobraźni niż kolumna liczb. Dlatego tak często dane statystyczne przedstawia się graficznie.

Transkrypt:

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

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

Jak doszło do zbudowania sieci neuronowych? informatyka + 4

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 Janek! Zosia??? informatyka + 5

Nieznajomość reguł rządzących problemem Kiedy sieci neuronowe są lepsze od innych metod informatycznych? Modele statystyczne Systemy ekspertowe Metody dedukcyjne Częściowy lub całkowity brak znajomości reguł Duża złożoność Dokładne algorytmy Pełna znajomość reguł Mała i średnia złożoność Częściowa znajomość reguł Mała i średnia złożoność Sieci neuronowe Metody indukcyjne Stopień złożoności problemu informatyka + 6

Sposób rozwiązywania problemów przy użyciu sieci neuronowej Dane reprezentujące zadanie do wykonania Wiedza zdobyta w czasie uczenia Wynik reprezentujący rozwiązanie zadania informatyka + 7

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

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

Budując sztuczne neurony, z których tworzyć będziemy sieci neuronowe, staramy się w nich odwzorować elementy biologicznych neuronów. informatyka + 10

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

Trzeba wprowadzić wagi Sztuczne neurony muszą także naśladować funkcjonowanie biologicznych neuronów. x 1 x 2 x n w 1 w 2 s g w, x i i... w i 1,, n n To jest sztuczny Jak zróżnicować te sygnały? neuron. y f s Jakie ma zadania? y agregacja danych wejściowych obliczenie wartości funkcji aktywacji informatyka + 12

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). β=0,5 β=1 β=2 1 y 0,8 0,6 0,4 0,2 S 0-10 -5 0 5 10 informatyka + 13

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

Załóżmy, że oceniany kwiat ma ładny kolor, ale brzydki zapach. neuron wyśle na wyjściu sygnał, że kwiat mu się podoba do sygnału wejściowego zapach przypiszemy małą wagę a do sygnału kolor wagę dużą informatyka + 15

Przy przeciwnym rozłożeniu wag wynik jest odwrotny informatyka + 16

Wagi mają przemożny wpływ na zachowanie neuronów! Przy tym samym zestawie sygnałów wejściowych mamy dwie całkiem różne reakcje neuronu! informatyka + 17

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

Pytanie, które sobie teraz trzeba postawić, brzmi: Jak połączyć sztuczne neurony, żeby powstała użyteczna sieć? informatyka + 19

W historii rozwoju modeli komputerowych elementów systemu nerwowego tworzono i badano wiele różnych struktur sieci. 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. informatyka + 20

Oto przykładowa sieć z jej wszystkimi ważnymi elementami Warstwa wejściowa Warstwa ukryta (jedna lub dwie) x 1 Warstwa wyjściowa y x 2 Ciekawostka: podobną budowę ma kora mózgowa w części wzrokowej! informatyka + 21

Teoretycznie twórca sieci może wybrać dowolnie wszystkie jej elementy Warstwa wejściowa Warstwa ukryta (jedna lub dwie) x 1 Warstwa wyjściowa x 2 y 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. informatyka + 22

Jakość działania sieci Q 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. sieć jest zbyt mało inteligentna inteligencja nie zależy od wielkości sieci Liczba neuronów ukrytych n informatyka + 23

W zasadzie można by było na tym poprzestać, popatrzmy jednak, co się stanie, kiedy zamienimy n na m oraz Q na IQ. IQ Q 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! m n informatyka + 24

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 Błąd 100 90 80 70 60 50 40 30 20 10 0 2 4 6 8 10 12 14 16 18 20 Liczba neuronów ukrytych informatyka + 25

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

W najwcześniejszych pracach dotyczących budowy sieci neuronowych chętnie stosowano urządzenia elektroniczne, które modelowały sieć. informatyka + 27

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

Najczęściej jednak do budowy sieci neuronowych wykorzystuje się program komputerowy, który w zwykłym komputerze modeluje sieć. Mam program, więc działam jak sieć neuronowa Mogę wykonywać wszelkie obliczenia tak jakbym miał specjalnie zbudowaną sieć! informatyka + 29

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

Wygląd ekranu komputera modelującego sieć neuronową informatyka + 31

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

Ewa Maksymalnie uproszczony schemat procesu uczenia. 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. Jan korekta błędu informatyka + 33

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

Przypomnijmy sobie: Wagi mają przemożny wpływ na zachowanie neuronów! Przy tym samym zestawie sygnałów wejściowych mamy dwie całkiem różne reakcje neuronu! informatyka + 35

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. Wielkość błędu popełnianego przez sieć E sieć popełnia taki duży błąd Gdybyśmy takie strzałki wystawiali we wszystkich punktach granatowej płaszczyzny podstawy to powstałaby powierzchnia, nazywana powierzchnią sieć popełnia taki mały błąd błędu, której za chwilę użyjemy do wyznaczenia sposobu uczenia. Drugi współczynnik wagowy w 2 Pierwszy współczynnik wagowy w 1 przy takim zestawie wag a przy takim zestawie wag informatyka + 36

Na rysunku pokazano przykładową powierzchnię błędu (szara) oraz Błąd Istota uczenia polega na szukaniu miejsca (zestawu wag określonego jako w ideal ), w którym błąd jest minimalny w s w n w ideal. minimum funkcji błędu waga w 2 waga w 1 w informatyka + 37

Szczegółowe algorytmy uczenia wbudowane są zwykle w programy symulujące sieci neuronowe na komputerze. informatyka + 38

Sieci neuronowe mają wiele zastosowań. Pokażemy tylko dwa z nich. informatyka + 39

Zastosowanie 1: Tworzenie modelu procesu 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,... Cena rynkowa informatyka + 40

Zastosowanie 2: Podejmowanie decyzji. 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ć??? informatyka + 41

Uwagi końcowe informatyka + 42

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

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

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ć! 100 000 000 000 neuronów! informatyka + 45