• Nie Znaleziono Wyników

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

N/A
N/A
Protected

Academic year: 2021

Share "Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe."

Copied!
9
0
0

Pełen tekst

(1)

Zagadnienia optymalizacji i aproksymacji.

Sieci neuronowe.

zajecia.jakubw.pl/nai

Literatura:

S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 1997.

PODSTAWOWE ZAGADNIENIA TECHNICZNE AI

• Zadania optymalizacyjne

– szukanie najlepszego rozwiązania (ocenianego liczbowo)

– przykłady: minimalizacja kosztu, minimalizacja

funkcji błędu, maksymalizacja wygranej (gry logiczne)

• Zadania aproksymacji (ekstrapolacji) – znajdowanie zależności między danymi

– klasyfikacja nieznanych obiektów na podstawie

znanych przykładów (rozpoznawanie mowy, OCR,

KDD, sterowanie, prognozowanie trendów...)

(2)

ZADANIA OPTYMALIZACYJNE

Wiele problemów rozwiązywanych przez komputery ma postać zadań optymalizacyjnych:

„znaleźć wśród różnych możliwych rozwiązań takie, które najbardziej nam odpowiada”

Niech X - dowolny zbiór skończony (przestrzeń stanów)

Niech f : X R - pewna rzeczywista funkcja na X (funkcja celu)

Zadanie optymalizacyjne polega na znalezieniu punktu x0ze zbioru X takiego, że:

f(x0) = max( f(x) ), x ∈ X

f(x0) = min( f(x) ), x ∈ X lub

PRZYKŁAD

Przestrzeń stanów: wszystkie możliwe ustawienia n nazwisk.

Wielkość przestrzeni stanów: n! (nie n).

Przestrzeń stanów to zbiór wszystkich możliwych (również nieoptymalnych) rozwiązań problemu.

Funkcja celu: np. wartość 1 (sukces), jeśli porządek jest właściwy, lub 0 (porażka).

W bardziej złożonych problemach funkcja celu ma zwykle więcej wartości, niż 0 i 1.

Posortować n nazwisk alfabetycznie (rosnąco).

Każde dyskretne zadanie optymalizacyjne można rozwiązać przez przejrzenie wszystkich możliwości (wszystkich elementów przestrzeni stanów). Często jednak istnieją skuteczniejsze algorytmy (np. w przypadku sortowania).

(3)

ZADANIA APROKSYMACJI

Problemy kojarzone z terminem „sztuczna inteligencja” to często zadania aproksymacji:

„mamy daną pewną dziedzinę i niektóre wartości nieznanej funkcji f, chcemy zgadnąć wartości f w innych punktach”

Niech X - dowolny zbiór(przestrzeń stanów, uniwersum) Niech f : X Y - pewna (nieznana) funkcja na X

Załóżmy, że mamy dany ciąg (x1, f(x1)), ... (xn, f(xn)). Zadanie aproksymacji polega tym, by dla dowolnego punktu x0ze zbioru X znaleźć wartość y taką, że:

f(x0) = y lub |f(x0) - y| było minimalne

P( f(x0) = y ) było maksymalne lub

PRZYKŁAD

Przestrzeń stanów: wszystkie możliwe obrazki 32x32.

Wielkość przestrzeni stanów: 232*32.

Przestrzeń stanów to zbiór wszystkich potencjalnych obiektów, jakie mogą pojawić się w zbiorze treningowym i później jako nowe obiekty.

Aproksymowana funkcja: pewna (teoretycznie istniejąca) funkcja przyporządkowująca każdemu możliwemu obrazkowi kod ASCII znaku, który jest na nim przedstawiony.

Mamy zbiór obrazków binarnych 32x32 przedstawiających litery (pisane ręcznie). Chcemy rozpoznawać nowe, nieznane wcześniej przypadki (odczytywać nowe napisy).

Nie ma prostych, „siłowych” rozwiązań problemu aproksymacji: jeżeli obiekt testowy x0 nie występował wśród znanych przykładów, musimy zastosować jakąś metodę uogólnienia tych przykładów.

(4)

Sztuczne sieci neuronowe

Geneza: Naśladowanie działania naturalnych neuronów

Cel historyczny: osiągnięcie zdolności uogólniania (aproksymacji) i uczenia się, właściwej mózgowi ludzkiemu.

• Wejście

– n stanów wejściowych x

1

,...,x

n

– stany mogą być cyfrowe lub analogowe

• Wyjście – 0 lub 1

• Parametry perceptronu – n wag połączeń w

1

,...,w

n

∈ℜ – wartość progowa θ∈ℜ

Perceptron (Rosenblatt 1958)

Uwaga: pod pojęciem “perceptronu” rozumie się też czasem sieć połączonych jednostek (neuronów).

(5)

Perceptron

s w x

i i

i n

=

= 1

• Zasada działania

– Do każdego i-tego wejścia przypisana jest waga w

i

– Dla danych stanów wejściowych x

1

,...,x

n

liczymy sumę ważoną:

– Jeżeli s≥θ, to ustawiamy wyjście y = 1, zaś w przeciwnym przypadku ustawiamy y = 0

Analogia z neuronem naturalnym

=

. . 0 1

p p w

x

y wi i θ

w1

x1 x2 xn

y w2 wn

(6)

Jak opisać perceptron

• Perceptron opisuje jednoznacznie zbiór wag w

1

,...,w

n

∈ℜ oraz wartość progowa θ ∈ℜ

• Wartości x

1

,...,x

n

∈ℜ to zmienne pojawiające się na wejściu do modelu perceptronu

θ = 2 1

1

x

1 AND

x

2

x

2

x

1

1 0 0 0 x

1∧∧∧∧

x

2

0 1

1 0

1 1

0 0

x

2

x

1

θ = 1 1

1

x

1 OR

x

2

x

2

x

1

1 1 1 0 x

1∨∨∨∨

x

2

0 1

1 0

1 1

0 0

x

2

x

1

Co potrafi perceptron

(7)

Co potrafi perceptron

w1x1+ w2x2- θ= 0

θ

+ 2 2

1

1x wx

w

x1 x2

• Równanie perceptronu y=1

można potraktować jako równanie prostej (ogólnie:

hiperpłaszczyzny w

przestrzeni n-wymiarowej).

• Punkty leżące nad ową prostą klasyfikujemy jako 1, zaś pozostałe jako 0.

AND OR

XOR

Czego perceptron nie potrafi

• Pojedynczy perceptron nie potrafi odróżniać zbiorów nieseparowalnych liniowo, np. funkcji XOR.

• Odkrycie tych ograniczeń (1969) na wiele lat zahamowało rozwój sieci neuronowych.

(8)

Czego perceptron nie potrafi

• Zadaniem pojedynczego perceptronu jest jedynie:

– przetwarzanie jednostkowych informacji – podejmowanie prostych decyzji

– przekazywanie wyników sąsiadom

• Dopiero w połączeniu z innymi węzłami uzyskuje się zdolność podejmowania złożonych decyzji

Funkcje aktywacji

• Progowe

• Sigmoidalne

( )



<

= ⇔

0 0

0 1

z z z

f

( )

z

z e

f

= + 1

1

0 0,2 0,4 0,6 0,8 1 1,2

-15 -10 -5 0 5 10 15

-0,2 0 0,2 0,4 0,6 0,8 1 1,2

-15 -10 -5 0 5 10 15

(9)

Uczenie perceptronu

• Sposób działania perceptronu (wartości wag) w praktycznych problemach nie jest ustawiany ręcznie, tylko wyuczany na podstawie przykładów.

• Potrzebujemy zarówno metody uczenia jednego neuronu, jak i procedury

obejmującej całą sieć.

Cytaty

Powiązane dokumenty

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

[r]

• 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

* Successful discrimination of gluon from quark jets have been reported in both e+e- annihilation and hadron induced reactions. * Identifying b-quarks in annihilation using

Wzorce są binarnie kodowane. Wzorce są skanowane od lewej do prawej strony i od góry do dołu. b) Wyznacz sygnały wyjściowe sieci dla wzorców uczących po jednym cyklu uczenia. b)

Modele koneksjonistyczne: sieci i rozproszone przetwarzanie równoległe, ale węzły nie działają jak neurony – sieci Bayesowskie, modele graficzne, uczenie się przez

ANN, sztuczne sieci neuronowe – liczne zastosowania techniczne, modele funkcji mózgu, neurony impulsujące lub progowe3. PDP, Parallel Data Processing, czyli