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

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

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

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

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

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

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

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

Wprowadzenie do Sieci Neuronowych Laboratorium 02 Perceptron prosty cd

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

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

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

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

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Uczenie sieci neuronowych i bayesowskich

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Elementy inteligencji obliczeniowej

Metody Sztucznej Inteligencji II

Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Wprowadzenie do Sieci Neuronowych lista zadań 1

Projekt Sieci neuronowe

Podstawy sztucznej inteligencji

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Inteligentne systemy przeciw atakom sieciowym

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

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

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

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Podstawy Sztucznej Inteligencji (PSZT)

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

wiedzy Sieci neuronowe

1. Logika, funkcje logiczne, preceptron.

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

Zastosowania sieci neuronowych

Optymalizacja ciągła

Zastosowania sieci neuronowych

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

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

Arytmetyka liczb binarnych

Algebra Boole a i jej zastosowania

Wprowadzenie do Sieci Neuronowych Laboratorium 04 Algorytmy konstrukcyjne dla sieci skierowanych

Wstęp do Techniki Cyfrowej... Algebra Boole a

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

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

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

SZTUCZNA INTELIGENCJA

Technika cyfrowa Synteza układów kombinacyjnych

Sztuczne sieci neuronowe (SNN)

Bramki logiczne V MAX V MIN

Tranzystor JFET i MOSFET zas. działania

Temat: Sieci neuronowe oraz technologia CUDA

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

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

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

Cyfrowe układy scalone c.d. funkcje

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

wiedzy Sieci neuronowe (c.d.)

Technika cyfrowa Synteza układów kombinacyjnych (I)

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

Sztuczne sieci neuronowe

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

6. Perceptron Rosenblatta

Systemy uczące się Lab 4

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Algorytm simplex i dualność

Wykład 1. Informatyka Stosowana. 3 października Informatyka Stosowana Wykład 1 3 października / 26

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

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

A Zadanie

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Ćwiczenie 23. Temat: Własności podstawowych bramek logicznych. Cel ćwiczenia

Zwykle układ scalony jest zamknięty w hermetycznej obudowie metalowej, ceramicznej lub wykonanej z tworzywa sztucznego.

Układy kombinacyjne 1

Testowanie modeli predykcyjnych

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

ALGORYTM RANDOM FOREST

Ćwiczenie 26. Temat: Układ z bramkami NAND i bramki AOI..

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

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Metody systemowe i decyzyjne w informatyce

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

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

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

KARTA MODUŁU KSZTAŁCENIA

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Transkrypt:

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki

1 Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne 2 Problem Algorytm Przykład 3 Model maszyny liniowej Uczenie maszyny

Funkcje logiczne Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne Niech B = {true, false} wartości logiczne, Stosujemy kodowanie false = 0 true = 1 Rozważmy proste funkcje logiczne f : B n B np. NOT, AND, OR, NAND, NOR, XOR itp. Chcemy modelować takie funkcje za pomocą perceptronu progowego (w 0 = θ bias, w 1, w 2,..., w n )

NOT Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne NOT Jedno wejście p, p NOT (p) 0 1 1 0 Problem jest rozwiązywalny przez pojedynczy perceptron.

y AND Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne AND 1.5 p q AND(p, q) 0 0 0 1 0 0 0 1 0 1 1 1 Dwa wejścia p, q, Problem liniowo separowalny. 1 0.5 0-0.5-0.5 0 0.5 1 1.5 x np. w 1 = w 2 = +1, w 0 = 1.5

y OR Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne OR 1.5 p q OR(p, q) 0 0 0 1 0 1 0 1 1 1 1 1 Dwa wejścia p, q, Problem liniowo separowalny. 1 0.5 0-0.5-0.5 0 0.5 1 1.5 x np. w 1 = w 2 = +1, w 0 = 0.5

Projekcja Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne P i (x 1,..., x n ) = +1 x i = +1 Dwa wejścia p, q, p 1...p i 1 p i p i+1 p n P i (p 1, p 2,..., p n ) 0 0 1 1 Problem liniowo separowalny.

Uogólniony AND Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne AND n wejść p 1, p 2,..., p n, p 1 p 2... p n AND(p 1, p 2,..., p n ) 0 0... 0 0 1 0... 0 0... 1 1... 0 0 1 1... 1 1 Problem liniowo separowalny.

Uogólniony OR Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne OR n wejść p 1, p 2,..., p n, Problem liniowo separowalny. p 1 p 2... p n OR(p 1, p 2,..., p n ) 0 0... 0 0 1 0... 0 1... 1 1... 0 1 1 1... 1 1

y XOR Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne XOR p q XOR(p, q) 0 0 0 1 0 1 0 1 1 1 1 0 1.5 1 0.5 Dwa wejścia p, q, Problem nie jest liniowo separowalny. 0-0.5-0.5 0 0.5 1 1.5 x

NXOR / IFF Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne NOT XOR / IF and only IF Dwa wejścia p, q, p q IFF (p, q) 0 0 1 1 0 0 0 1 0 1 1 1 Problem nie jest liniowo separowalny.

NAND i NOR Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne NAND (NOT AND) oraz NOR (NOT AND) Negacja koniunkcji i alternatywy, Po dwa wejścia p, q, Oba problemy okazują się separowalne liniowo, Można zbudować dowolny układ kombinatoryczny, Zadanie: wskazać wagi perceptronów rozwiązujących problemy.

Separowalne liniowo funkcje logiczne Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne Wszystkich funkcji logicznych o n zmiennych jest 2 2n, Ilość funkcji separowalnych liniowo rośnie wielomianowo, Dla małych wymiarów n 2 2n il. funkcji sep. 1 4 4 2 16 14 3 256 104 4 65536 1882 Tabela za R. Rojas A systematic introduction to neural networks

NAND Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne Sieć perceptronów jako dowolne urządzenie cyfrowe, www.nand2tetris.org NANDputer

Problem Algorytm Przykład 1 Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne 2 Problem Algorytm Przykład 3 Model maszyny liniowej Uczenie maszyny

Cel Problem Algorytm Przykład Dany jest nauczony perceptron progowy (zestaw wag + próg w 1,.., w n, θ = w 0 ), Dany jest symboliczny wektor wejściowy (x 1,.., x n ), x i = ±1 (tak lub nie), Perceptron zwrócił klasyfikację o np. TAK, Chcemy uzyskać wyjaśnienie dlaczego TAK.

Cel Problem Algorytm Przykład Poprzez wyjaśnienie rozumiemy podzbiór oryginalnych cech x i1,..., x ik, taki że Każda z cech wspiera zwróconą klasyfikację o, Wyjaśnienie jest wystarczające, tj. w pełni determinuje odpowiedź o niezależnie od pozostałych cech, Wyjaśnienie jest zwięzłe, zawiera tak mało cech jak to możliwe.

Algorytm Problem Algorytm Przykład Dane: Nauczony perceptron prosty z funkcją progową, próg θ, wejście u = (u 1,..., u n ), Wynik: Uzasadnienie klasyfikacji zwróconej na przykładzie u tj. najmniej liczna lista cech, które charakteryzują u, mają największy wpływ na klasyfikację, Uwaga: Algorytm jest mutacyjny, tj. modyfikuje próg neuronu. Sugerowane jest operowanie na kopii parametrów.

Algorytm Problem Algorytm Przykład 1 Obliczamy odpowiedź perceptronu o na przykładzie u. 2 Przypisujemy p := θ (kopia progu). 3 Znajdujemy czynnik kluczowy tj. u i takie, że u i w i o > 0 tj. cecha wspiera wynikową odpowiedź, w i ma największą wartość spośród wszystkich u i, które wspierają odpowiedź o, u i jeszcze nie był użyty jako fragment uzasadnienia w poprzednich krokach.

Algorytm Problem Algorytm Przykład 4 Sprawdź czy w i > l i i u l w l + p, niewykorzystany gdzie p jest kopią progu funkcji aktywującej. jeżeli tak, to dodaj u i do uzasadnienia i zwróć gotowy zestaw cech: uzasadnienie+ = bo u i = (..). jeżeli nie, to dodaj u i do uzasadnienia: uzasadnienie+ = bo u i = (..) oraz p = p u i w i Po czym oznacz jednostkę u i jako wykorzystaną i wróć do 2. 5 UWAGA: Jeżeli i w iu i = θ, to uzasadnienie nie będzie możliwe.

Przykład 1 Problem Algorytm Przykład przykład x = (+1, +1 + 1, +1), wagi dodatnie w 1 > w 2 > w 3 > w 4 > 0, odpowiedź O( x) = +1.

Przykład 1/3 Problem Algorytm Przykład Ponieważ...

Przykład 2/3 Problem Algorytm Przykład Ponieważ spełnia w 1...

Przykład 3/3 Problem Algorytm Przykład Ponieważ spełnia w 1 i spełnia w 2.

Przykład 2 Problem Algorytm Przykład przykład x = (+1, +1, 1, +1), niektóre wagi są ujemne w 2 < w 3 < 0 < w 4 < w 1, odpowiedź O( x) = +1, x 2 w 2 nie wspiera odpowiedzi.

Przykład 1/4 Problem Algorytm Przykład Ponieważ...

Przykład 2/4 Problem Algorytm Przykład Ponieważ spełnia w 1...

Przykład 3/4 Problem Algorytm Przykład Ponieważ spełnia w 1, nie spełnia w 3...

Przykład 4/4 Problem Algorytm Przykład Ponieważ spełnia w 1, nie spełnia w 3 i spełnia w 4.

Model maszyny liniowej Uczenie maszyny 1 Przypomnienie algebry boolowskiej Perceptron jako bramka logiczna Uwagi kombinatoryczne 2 Problem Algorytm Przykład 3 Model maszyny liniowej Uczenie maszyny

Zagadnienie Model maszyny liniowej Uczenie maszyny Chcemy zbudować (nieskomplikowany) system, który będzie w stanie dokonać klasyfikacji na więcej niż dwie kategorie Dodatkowo chcemy aby system mógł sam nauczyć się reguł klasyfikacji na podstawie małej próbki danych

Maszyna Liniowa Model maszyny liniowej Uczenie maszyny Ang. multi-class (linear) classifier, Zwraca klasyfikację, która nie musi być binarna, Grupa perceptronów, z których zawsze dokładnie jeden zgłasza odpowiedź,

Maszyna Liniowa Model maszyny liniowej Uczenie maszyny out

Maszyna Liniowa Model maszyny liniowej Uczenie maszyny Komponenty: n wejść x 1,.., x n, m perceptronów, każdy z własnym zestawem wag (w 11,.., w n1 ) do (w 1m,.., w nm ), Ewentualnie obciążenie (bias) dla każdego neuronu w 01,.., w 0m, Każdy z perceptronów (j = 1..m) oblicza swoją sumę ważoną a j = n w ij x i (+w 0j ). i=1 Uwaga! Funkcja aktywacji f jest identycznościowa. Cała jednostka zwraca numer perceptronu, który dał największą sumę ważoną (numer kategorii).

Rozpoznawanie znaków Model maszyny liniowej Uczenie maszyny 1 2 3 4 MAX A

y Interpretacja geometryczna Model maszyny liniowej Uczenie maszyny 10 100 5 50 z 0 0-50 -5-100 10 5 10 y 0-5 -5 0 x 5-10 -10-5 0 5 10 x -10-10

Interpretacja geometryczna Model maszyny liniowej Uczenie maszyny Bez biasu / progu. Z biasem w 0 / progiem θ. 10 10 5 5 0 0-5 -5-10 -10-5 0 5 10 y -10-10 -5 0 5 10 y

Zagadnienie uczenia Model maszyny liniowej Uczenie maszyny Dane: Cel: Maszyna liniowa z n wejściami oraz m kategoriami, Zbiór danych uczących E (i) = (E (i) (i) 1,..., E m ), i = 1...P, m < P wraz z odpowiadającymi im poprawnymi klasyfikacjami T 1,..., T P {1,..., m}. Chcemy znaleźć wagi w ij, dla których jednostka klasyfikuje poprawnie możliwie wiele przykładów uczących.

Algorytm Model maszyny liniowej Uczenie maszyny 1 Przypisujemy małe i losowe wagi (różne!), 2 Losujemy przykład uczący (E, C) z listy, 3 Jeżeli neuron daje błędną klasyfikację (jest k, a powinno być l), to korygujemy wagi: dla i = 1..n (wymiar wejścia) 4 Wracamy do 2, w ki = E i w li + = E i 5 Dodajemy modyfikację kieszeni i zapadki, jak dla perceptronu prostego.

Interpretacja geometryczna Model maszyny liniowej Uczenie maszyny Etap startowy Etap końcowy w1 = [-0.63, 0.47, 0.74] w2 = [-2.49, 2.26, -2.35] w3 = [2.64, -0.89, 1.46] w4 = [0.13, -2.71, 1.08] w1 = [0.12, 1.50, -0.48] w2 = [-2.29, -0.56, -2.57] w3 = [1.14, -1.10, 1.79] w4 = [0.68, -0.71, 2.18] z 20 15 ERR = 33 z 20 15 ERR = 0 10 10 5 5 0-5 4 0-5 4-10 -4-3 2 3-10 -4-3 2 3-2 1-2 1-1 0-1 0 x 0 1 2 3-3 -2-1 y x 0 1 2 3-3 -2-1 y 4-4 4-4

Interpretacja geometryczna Model maszyny liniowej Uczenie maszyny click

Model maszyny liniowej Uczenie maszyny Dana maszyna liniowa z n wejściami i k kategoriami, Skonstruujemy równoważny perceptron z n k wejściami (i jednym wyjściem binarnym).

Model maszyny liniowej Uczenie maszyny Przykładowe wejście maszyny liniowej: (E i, L i ) Konstruujemy k 1 przykładów dla perceptronu: ( E i 0...0 0...0 E i 0...0 0...0 0...0 ). ( 0...0 0...0 E i, E i 0...0 0...0 0...0 ) ( 0...0 0...0 0...0 E i E i 0...0 0...0 ). ( 0...0 0...0 0...0 E i 0...0 0...0 E i ) L i -ty blok Wszystkie z odpowiedzią +1

Model maszyny liniowej Uczenie maszyny Maszyna liniowa: out

Model maszyny liniowej Uczenie maszyny Odpowiadający perceptron: out

Model maszyny liniowej Uczenie maszyny Maszyna liniowa i odpowiadający perceptron: out out

Model maszyny liniowej Uczenie maszyny Perceptron zwróci +1 na danych [0..0, E i, 0..0, E i, 0..0] (gdzie E i jest w l-tym bloku) wtw, gdy maszyna dla E i zwróci kategorię l, W rozważaniach dotyczących uczenia perceptronu nie braliśmy pod uwagę kolejności wejść, Uczenie perceptronu jest równoważne uczeniu maszyny liniowej - podobne ograniczenia, Zob. Zimak06.pdf, str. 16 (pdf: str. 31)

Zadania Model maszyny liniowej Uczenie maszyny Podaj wszystkie funkcje boolowskie o 2-ch argumentach. Określ które z nich są liniowo separowalne. (Wsk. wszystkich jest 16, separowalnych jest 14), Dla problemów z sekcji 1, które są separowalne, podaj wagi perceptronu, który implementuje taką bramkę logiczną, Dane są jednowymiarowe dane uczące z odpowiadającymi kategoriami 2 1, 0 3, +2 2. Maszyna liniowa z trzema klasami ma startowe wagi: i w i0 w i1 1 1 +1 2 1 +5 3 0.5 15 Przeprowadź kilka pierwszych kroków algorytmu uczenia maszyny liniowej.