• Nie Znaleziono Wyników

Sieci neuronowe, cz. 1

N/A
N/A
Protected

Academic year: 2021

Share "Sieci neuronowe, cz. 1"

Copied!
20
0
0

Pełen tekst

(1)

W

W

ł

ł

a

a

ś

ś

ciwo

ciwo

ś

ś

ci sieci neuronowych

ci sieci neuronowych

Model matematyczny sztucznego neuronu

Model matematyczny sztucznego neuronu

Rodzaje sieci neuronowych

Rodzaje sieci neuronowych

Przegl

Przegl

ą

ą

d g

d g

ł

ł

ó

ó

wnych zastosowa

wnych zastosowa

ń

ń

Inteligentne systemy decyzyjne:

Inteligentne systemy decyzyjne:

Uczenie maszynowe

Uczenie maszynowe

sztuczne sieci neuronowe

sztuczne sieci neuronowe

wyk

wyk

ł

ł

ad 1.

ad 1.

Dr inż. Paweł Żwan

Katedra Systemów Multimedialnych Politechnika Gdańska

(2)

Cechy sieci neuronowych

Cechy sieci neuronowych

Modelowanie liniowe a modelowanie nieliniowe:

Modelowanie liniowe a modelowanie nieliniowe:





Modele liniowe (aproksymacja liniowa) cz

Modele liniowe (aproksymacja liniowa) cz

ę

ę

sto nie

sto nie

sprawdzaj

sprawdzaj

ą

ą

si

si

ę

ę

prowadz

prowadz

ą

ą

c do zbyt szybko

c do zbyt szybko

wyci

wyci

ą

ą

ganych wniosk

ganych wniosk

ó

ó

w o “

w o

niemo

niemo

ż

ż

no

no

ś

ś

ci

ci

matematycznego opisu danego systemu.

matematycznego opisu danego systemu.





Zdolno

Zdolno

ść

ść

sieci

sieci

do

do

odwzorowywania

odwzorowywania

nadzwyczaj z

nadzwyczaj z

ł

ł

o

o

ż

ż

onych

onych

funkcji nieliniowych

funkcji nieliniowych

, co

, co

umo

umo

ż

ż

liwia ich szerokie zastosowania

liwia ich szerokie zastosowania





Tworzenie modeli przy pomocy sieci

Tworzenie modeli przy pomocy sieci

neuronowych jest najwygodniejszym

neuronowych jest najwygodniejszym

rozwi

rozwi

ą

ą

zaniem problemu.

zaniem problemu.





Niezale

Niezale

ż

ż

no

no

ść

ść

z

z

ł

ł

o

o

ż

ż

ono

ono

ś

ś

ci algorytmu

ci algorytmu

od

od

wielowymiarowo

wielowymiarowo

ś

ś

ci

ci

(

(

ł

ł

atwo

atwo

ść

ść

aproksymacji

aproksymacji

funkcji nieliniowych z du

(3)

Cechy sieci neuronowych

Cechy sieci neuronowych





Samodzielno

Samodzielno

ść

ść

konstruowania modeli

konstruowania modeli

potrzebnych u

potrzebnych u

ż

ż

ytkownikowi bez znajomo

ytkownikowi bez znajomo

ś

ś

ci

ci

a priori

a priori

przepisu na dzia

przepisu na dzia

ł

ł

anie

anie

-

-

automatyczne

automatyczne

uczenie si

uczenie si

ę

ę

na podanych przez niego

na podanych przez niego

przyk

przykł

ł

adach.

adach.





W celu zaprojektowania sieci neuronowej nale

W celu zaprojektowania sieci neuronowej nale

ż

ż

y:

y:

--

zgromadzi

zgromadzi

ć

ć

reprezentatywne dla problemu dane

reprezentatywne dla problemu dane

--

przyk

przyk

ł

ł

ady praktyczne

ady praktyczne

--

Uruchomi

Uruchomi

ć

ć

algorytmu uczenia w celu

algorytmu uczenia w celu

wytworzenia w pami

wytworzenia w pami

ę

ę

ci sieci potrzebnego modelu.

ci sieci potrzebnego modelu.





Dzia

Dzia

ł

ł

anie sieci musi realizowa

anie sieci musi realizowa

ć

ć

wszystkie

wszystkie

potrzebne funkcje zwi

potrzebne funkcje zwi

ą

ą

zane z dzia

zane z dzia

ł

ł

aniem

aniem

wytworzonego modelu dla danych, kt

wytworzonego modelu dla danych, kt

ó

ó

re nie

re nie

musia

(4)

Przygotowanie danych

Przygotowanie danych





Sieci neuronowe wymagają

Sieci neuronowe wymagaj

ą

od uż

od u

ż

ytkownika:

ytkownika:

--

wiedzy empirycznej dotycz

wiedzy empirycznej dotycz

ą

ą

cej wyboru i przygotowania

cej wyboru i przygotowania

danych ucz

danych ucz

ą

ą

cych:

cych:

a) dane ucz

a) dane ucz

ą

ą

ce (ang.

ce (ang.

training

training

data

data

)

)

do treningu

do treningu

b) dane weryfikuj

b) dane weryfikuj

ą

ą

ce (ang.

ce (ang.

validation

validation

data

data

)

)

do treningu

do treningu

c) dane testowe (ang.

c) dane testowe (ang.

test data

test data

)

)

do testowania po treningu

do testowania po treningu

--

wyboru w

wyboru w

ł

ł

a

a

ś

ś

ciwej architektury (struktury sieci)

ciwej architektury (struktury sieci)

--

lecz

lecz

nie wymagaj

nie wymagaj

ą

ą

posiadania szczeg

posiadania szczeg

ó

ó

lnie

lnie

specjalistycznej wiedzy teoretycznej niezb

specjalistycznej wiedzy teoretycznej niezb

ę

ę

dnej do

dnej do

zbudowania modelu matematycznego.

zbudowania modelu matematycznego.





Sie

Sie

ć

ć

buduje model sama na podstawie nauki.

buduje model sama na podstawie nauki.





Poziom wiedzy teoretycznej niezb

Poziom wiedzy teoretycznej niezb

ę

ę

dnej do skutecznego

dnej do skutecznego

zbudowania modelu jest przy stosowaniu sieci neuronowych

zbudowania modelu jest przy stosowaniu sieci neuronowych

znacznie ni

znacznie ni

ż

ż

szy ni

szy ni

ż

ż

w przypadku stosowania tradycyjnych

w przypadku stosowania tradycyjnych

metod statystycznych.

(5)

Automatyczne tworzenie modelu

Automatyczne tworzenie modelu

matematycznego

matematycznego





Sieci neuronowe automatycznie tworz

Sieci neuronowe automatycznie tworz

ą

ą

model

model

matematyczny dla danego zagadnienie na podstawie

matematyczny dla danego zagadnienie na podstawie

danych ucz

danych ucz

ą

ą

cych

cych





W wyniku procesu uczenia umiej

W wyniku procesu uczenia umiej

ą

ą

odwzorowa

odwzorowa

ć

ć

r

r

ó

ó

ż

ż

ne

ne

z

z

ł

ł

o

o

ż

ż

one zale

one zale

ż

ż

no

no

ś

ś

ci pomi

ci pomi

ę

ę

dzy sygna

dzy sygna

ł

ł

ami wej

ami wej

ś

ś

ciowymi i

ciowymi i

wyj

wyj

ś

ś

ciowymi.

ciowymi.

Zmienne parametry

sieci

Obiekt (wektor) wyjściowy Obiekt (wektor) wejściowy x1 x2 xn ... y1 y2 yn ... X=(x1,x2,…,xn) Y=(y1,y2,…,yn)

(6)

Sie

Sie

ć

ć

neuronowa jako

neuronowa jako

czarna skrzynka

czarna skrzynka

rozwi

rozwi

ą

ą

zuj

zuj

ą

ą

ca dany problem

ca dany problem

Sieć

neuronowa

dane treningowe (X,Y) dane walidacyjne (X,Y)

• Do nauki sieci neuronowej potrzebne są wektory (obiekty) wejściowe xi wraz z właściwymi im obiektami (wektorami) wyjściowymi yi

obserwacja skuteczności (błędu walidacyjnego)

kontrola nauki

• Aplikacja (działanie sieci) związana jest z generowaniem przez sieć wektorów wyjściowych yi na podstawie wektorów xi, które nie były użyte podczas treningu.

Sieć

neuronowa

dane testowe X klasyfikacja Y*

(7)

Sie

Sie

ć

ć

neuronowa a ludzki m

neuronowa a ludzki m

ó

ó

zg

zg

• Początek dziedziny – praca:

W. S. McCulloch, W. Pitts, A logical calculus of the ideas immanent in nervous activity, Bulletin of Mathematical Biophysics, No 5, 1943, pp. 115-133.

która zawiera pierwszy matematyczny opis komórki nerwowej i powiązanie tego opisu z problemem przetwarzania danych. • Oparcie działania sieci na prostym modelu, przedstawiającym wyłącznie najbardziej podstawową istotę działania biologicznego systemu nerwowego.

• Naśladownictwo (w pewnym, bardzo ograniczonym zakresie działania ludzkiego mózgu.

• Odporność na uszkodzenia nawet znacznej części elementów (właściwość biologicznych systemów nerwowych)

(8)

Sie

Sie

ć

ć

neuronowa a ludzki m

neuronowa a ludzki m

ó

ó

zg

zg

Mózg to bardzo duża (ok. 10 miliardów) liczba elementarnych komórek nerwowych czyli neuronów połączonych w formie skomplikowanej sieci. Średnio na jeden neutron przypada kilka tysięcy połączeń, ale dla

poszczególnych komórek ilości połączeń mogą się miedzy sobą różnić. Biologiczny neuron:

(9)

Sie

Sie

ć

ć

neuronowa a ludzki m

neuronowa a ludzki m

ó

ó

zg

zg

* Biologiczny neuron zostaje zamieniony na model matematyczny, i z takich „cegiełek” budowane są skomplikowane struktury decyzyjne naśladujące pewne funkcjonalności ludzkiego mózgu.

(10)

Model matematyczny sztucznego

Model matematyczny sztucznego

neuronu

neuronu

Wartość wyjściowa neuronu o jest określana w oparciu o wzór: o=f(wTx),

gdzie: w – wektor wag połączeń wejściowych

x – wektor wartości sygnałów wejściowych

f – funkcja aktywacji

Dodatkową wagą jest waga progowa, dlatego wektory w i x określone są jako:

(11)

Funkcje aktywacji neuron

Funkcje aktywacji neuron

ó

ó

w

w

Wymagane cechy funkcji aktywacji to:

- ciągłe przejście pomiędzy swoją wartością maksymalną a minimalną (np. 0-1), - łatwa do obliczenia i ciągła pochodna,

(12)

Naprostrzy

Naprostrzy

klasyfikator neuronowy

klasyfikator neuronowy

dyskretny

dyskretny

dychotomizator

dychotomizator





klasyfikacja

klasyfikacja

n

n

wymiarowego obiektu do jednej z dw

wymiarowego obiektu do jednej z dw

ó

ó

ch

ch

klas

klas





mo

mo

ż

ż

e sk

e sk

ł

ł

ada

ada

ć

ć

si

si

ę

ę

tylko z jednego neuronu

tylko z jednego neuronu





Gdy wyj

Gdy wyj

ś

ś

cie neuronu

cie neuronu

o

o

0 0 klasyfikacja do klasy 1. , gdy

0 0 klasyfikacja do klasy 1. , gdy

wyj

wyj

ś

ś

cie neuronu o<0

cie neuronu o<0

klasyfikacja do klasy 2.

klasyfikacja do klasy 2.

g1: -2x1 + x2 + 3 = 0 g2: -4x1 + 3x2 + 6 = 0

(13)

Podzia

Podzia

ł

ł

sieci neuronowych

sieci neuronowych





Podzia

Podzia

ł

ł

ze wzgl

ze wzgl

ę

ę

du na metod

du na metod

ę

ę

treningu:

treningu:

--

trening bez nadzoru

trening bez nadzoru

(14)

Podzia

Podzia

ł

ł

sieci neuronowych

sieci neuronowych





Podzia

Podzia

ł

ł

ze wzgl

ze wzgl

ę

ę

du na struktur

du na struktur

ę

ę

:

:

--

sieci jednokierunkowe

sieci jednokierunkowe

x=[x1,x2,...,xN,-1] – wektor wejściowy

y=[y1,y2,...,yI,-1] – wektor wyjściowy pierwszej warstwy ukrytej

z=[z1,z2,...,zJ,-1] – wektor wyjściowy drugiej warstwy ukrytej

o=[o1,o2,...,oK,-1] – wektor wyjściowy Macierze U,V,W zawierają

Współczynniki wagowe dla wszystkich Połączeń synaptycznych

(15)

Podzia

Podzia

ł

ł

sieci neuronowych

sieci neuronowych

--

sieci ze sprz

sieci ze sprz

ęż

ęż

eniem zwrotnym

eniem zwrotnym

* wej

* wej

ś

ś

cie przynajmniej jednego neuronu jest

cie przynajmniej jednego neuronu jest

po

po

ł

ł

ą

ą

czone bezpo

czone bezpo

ś

ś

rednio lub po

rednio lub po

ś

ś

rednio z jego

rednio z jego

wej

wej

ś

ś

ciem

ciem

* przyk

* przyk

ł

ł

ad:

ad:

sie

(16)

Podzia

Podzia

ł

ł

sieci neuronowych

sieci neuronowych

--

Sieci kom

Sieci kom

ó

ó

rkowe

rkowe

*

*

topologia oparta na dowolnej regularnej

topologia oparta na dowolnej regularnej

strukturze geometrycznej

strukturze geometrycznej

* przyk

* przyk

ł

ł

ad: topologia p

ad: topologia p

ł

ł

askiej siatki prostok

askiej siatki prostok

ą

ą

tnej:

tnej:

- Neurony zgrupowane w I wierszach i J kolumnach - Dowolna komórka połączona jest tylko z

neuronami w najbliższym sąsiedztwie

(konieczna def. promienia sąsiedztwa – np.1) - Zastosowanie: Przetwarzanie obrazów

(17)

Przyk

Przyk

ł

ł

ady zastosowa

ady zastosowa

ń

ń

sieci neuronowych

sieci neuronowych

Funkcje pełnione przez sieć można ująć w kilka podstawowych grup:

 aproksymacji i interpolacji

 rozpoznawania i klasyfikacji wzorców

 kompresji

 predykcji i sterowania

 asocjacji

Sieć neuronowa pełni w każdym z tych zastosowań rolę uniwersalnego

aproksymatora funkcji wielu zmiennych, realizując funkcję nieliniową o

postaci y = f(x), gdzie x jest wektorem wejściowym, a y realizowaną funkcją wektorową wielu zmiennych.

Duża liczba zadań modelowania, identyfikacji, przetwarzania sygnałów da się sprowadzić do zagadnienia aproksymacyjnego.

(18)

Przegl

Przegl

ą

ą

d zastosowa

d zastosowa

ń

ń

sieci

sieci

Przy klasyfikacji i rozpoznawaniu wzorców sieć uczy się podstawowych cech tych wzorców, takich jak odwzorowanie geometryczne układu pikselowego wzorca, rozkładu składników

głównych wzorca, czy jego innych parametrów. Dobre uczenie polega na podawaniu wzorców o dużych różnicach, stanowiących podstawę

podjęcia decyzji przypisania ich do odpowiedniej klasy.

Przy predykcji zadaniem sieci jest określenie przyszłych odpowiedzi systemu na podstawie ciągu wartości z przeszłości. Mając informacje o wartościach zmiennej x w chwilach poprzedzających predykcje x(k-1),

x(k-2), ..., x(k-N), sieć podejmuje decyzje, jaka będzie estymowana wartość x(k) badanego ciągu w chwili aktualnej k.

(19)

Przegl

Przegl

ą

ą

d zastosowa

d zastosowa

ń

ń

sieci

sieci

W zagadnieniach identyfikacji i sterowania procesami dynamicznymi sieć neuronowa pełni zwykle kilka funkcji. Stanowi model nieliniowy tego procesu, pozwalający na wypracowanie odpowiedniego sygnału

sterującego. Pełni również funkcje układu śledzącego i nadążnego,

adaptując się do warunków środowiskowych – w tej dziedzinie najczęściej stosuje się sieci ze sprzężeniem zwrotnym.

W zadaniach asocjacji sieć neuronowa pełni rolę pamięci skojarzeniowej. Można wyróżnić pamięć asocjacyjną, w przypadku której skojarzenie

dotyczy tylko poszczególnych składowych wektora wejściowego oraz pamięć heteroasocjacyjną, gdzie zadaniem sieci jest skojarzenie ze sobą dwóch wektorów. Jeśli na wejście sieci podany będzie wektor odkształcony (np. o elementach zniekształconych szumem bądź pozbawiony pewnych elementów danych), sieć neuronowa jest w stanie odtworzyć wektor

oryginalny, pozbawiony szumów, generując przy tym pełna postać wektora stowarzyszonego z nim.

(20)

cdn... czyli ... plan wyk

cdn... czyli ... plan wyk

ł

ł

adu

adu

drugiego

drugiego





Uczenie sieci jednokierunkowych

Uczenie sieci jednokierunkowych

regu

regu

ł

ł

a

a

delta i algorytm wstecznej propagacji b

delta i algorytm wstecznej propagacji b

ł

ł

ę

ę

du

du





Metody poprawy szybko

Metody poprawy szybko

ś

ś

ci nauki sieci

ci nauki sieci

dob

dob

ó

ó

r parametr

r parametr

ó

ó

w nauki

w nauki





Dob

Dob

ó

ó

r optymalnej architektury sieci

r optymalnej architektury sieci





Generalizacja, a zapami

Generalizacja, a zapami

ę

ę

tywanie sieci

tywanie sieci

metody kontroli zdolno

metody kontroli zdolno

ś

ś

ci

ci

generalizacyjnych

generalizacyjnych

sieci

Cytaty

Powiązane dokumenty

 Każdy neuron z warstwy ukrytej albo przesyła sygnały do wartości wyjściowych, albo znajduje się w jednej z głębszych warstw, wówczas jego błąd można oszacować z

Sieć Hopfielda, ze względu na równoległą strukturę układową i powtarzalny typ elementów, nadaje się do realizacji sprzętowej przy użyciu standartowych elementów

Podstawową cechą sieci neuronowej jest jej zdolność do uogólniania, a więc generowania właściwego rozwiązania dla danych, które nie pojawiły się w zestawie danych

Przy starcie uczenia z wartości losowych prawdopodobieństwo utknięcia procesu w minimum lokalnym jest większe niż w przypadku sieci. sigmoidalnych, ze względu na silną

Często współczynnik ten jest ustawiany na najwyższą wartość początkowo, a następnie jest redukowany przy zmianie wag sieci...

• dla wygenerowanych danych dwuwymiarowych dwóch klas z rozkładów normal- nych zaznacz na wykresie dane treningowe, klasyfikator sieciami neuronowymi, dla różnej liczby neuronów

Gdy mamy warstwę ukrytą problem jest taki, że nie znamy prawidłowej wartości na wyjściu neuronów z warstwy ukrytej, więc nie wiemy jak wyliczyć modyfikacje wag.. Algorytm

universal approximation theorem for neural networks states that every continuous function that maps intervals of real numbers to some output interval of real numbers can