Professional Documents
Culture Documents
3
dr inż. Piotr Grobelny
piotr.grobelny@edukacja.wroc.pl Wrocław
2022/
2023
Idea sieci neuronowych
Idea: połączone sztuczne neurony mogłyby sterować pracą urządzenia lub rozwiązywać problemy
wymagające inteligencji
2
Neuron
● W mózgu człowieka jest ok. 100 miliardów neuronów, które oddziałują na siebie poprzez
ogromną liczbę połączeń
● Jeden neuron przekazuje pobudzenie innym neuronom przez złącza nerwowe nazywane
synapsami - transmisja sygnałów odbywa się na drodze procesów chemiczno-elektrycznych
● Synapsy pełnią rolę przekaźników informacji, a w wyniku ich działania pobudzenie może
być wzmocnione lub osłabione
● W efekcie do neuronu dochodzą sygnały, z których część wywiera wpływ pobudzający, a
część hamujący
● Neuron sumuje impulsy pobudzające i hamujące.
● Jeżeli ich suma algebraiczna przekracza pewną wartość progową, to sygnał na wyjściu
neuronu jest przesyłany poprzez akson do innych neuronów
4
Sieci neuronowe
Uczenie głębokie
Uczenie głębokie jest jedna z metod uczenia się maszyn, w których szereg „warstw” prostych
jednostek obliczeniowych łączy się w sieć w taki sposób, aby dane wprowadzane do systemu
przechodziły przez każdą z nich po kolei.
Dzięki tej głębi sieć może uczyć się (tak jak mózg) bardziej złożonych struktur bez konieczności
dostarczenia danych w nierealistycznie wielkich ilościach.
5
Sieci neuronowe
Sieci neuronowe
● sieci neuronowe (ang. neural network) to system połączonych ze sobą sztucznych neuronów
przeznaczony do przetwarzania informacji
● jego budowa oraz zasada działania są w pewnym stopniu inspirowane funkcjonowaniem
biologicznego systemu nerwowego.
● w przeciwieństwie do organicznego układu sztuczne neurony są jednak wybierane w sposób
arbitralny i nie są modelem rzeczywistych struktur spotykanych w przyrodzie
Sieci neuronowe
● struktury jakimi są sieci neuronowe wyróżniają się spośród innych narzędzi informatycznych
tym, że przy ich pomocy można rozwiązać praktyczne problemy bez uprzedniej matematycznej
formalizacji
● zaletą korzystania ze struktur tego typu jest brak konieczności odwoływania się do
jakichkolwiek teoretycznych założeń dotyczących tematu rozwiązywanego problemu
○ dotyczy to nawet założeń o przyczynowo-skutkowych zależnościach pomiędzy wejściem,
a wyjściem
○ najbardziej charakterystyczną cechą sieci neuronowych jest zdolność do uczenia się na
podstawie przykładowych danych i możliwość automatycznego uogólniania
(generalizacji) zdobywanej wiedzy
7
Sieci neuronowe
Sztuczny neuron
● w modelu sztucznego neuronu znajduje się wiele wejść oraz jedno wyjście
● to wartości wag decydują natomiast o tym, jaki sygnał zostanie przepuszczony dalej, do
kolejnych warstw sieci
● W neuronie wykonywane są zazwyczaj dwie podstawowe czynności przetwarzania danych
○ pierwszą z nich stanowi agregacja danych wejściowych, gdzie swoją rolę arbitrażową
odgrywają ustawione wagi
○ drugą czynnością jest generacja sygnału wyjściowego, czyli określenie tego, co wynikowo
opuści neuron
● w zależności od sposobu agregacji oraz formy funkcji aktywacyjnej możemy podzielić sztuczne
neurony na: liniowe, sigmoidalne, tangesoidalne oraz radialne
8
Sieci neuronowe
Schemat działania agregacji liniowej i radialnej (źródło: leksykon sieci neuronowych Tadeusiewicz R., Szaleniec M.:
Leksykon Sieci Neuronowych. Wydawnictwo Fundacji "Projekt Nauka" Wrocław 2015)
Sztuczny neuron
● pierwszą czynnością wykonywaną przez sztuczny neuron, natychmiast po uzyskaniu sygnałów
na wejściu, jest ich sumowanie, nazywane również agregacją danych wejściowych
○ model posiada wiele wejść i tylko jedno wyjście, więc musi przekształcić wiele
otrzymanych danych wejściowych
○ wynikiem jest pojedynczy, wypadkowy sygnał sumarycznego pobudzenia, który przy
pomocy wybranych funkcji aktywacyjnych kształtuje efekt wyjściowy całego neuronu
● w modelach można zastosować wiele różnych formuł agregacji danych wejściowych, jednak do
najczęściej używanych zalicza się przede wszystkim agregacje liniową oraz agregację radialną
9
Neuron
x0=1
Sformalizowany model neuronu
10
Neuron
● Funkcja aktywacji f może przybierać różną postać w zależności od konkretnego modelu neuronu
● W pierwszej kolejności sygnały wejściowe x0, x1, …, xn zostają pomnożone przez odpowiadające
im wagi w0, w1, …, wn
● Otrzymane w ten sposób wartości są następnie sumowane
● W wyniku sumowania powstaje sygnał s odzwierciedlający działanie części liniowej neuronu
● Sygnał ten jest poddawany funkcji aktywacji, najczęściej nieliniowej
● Zakładamy, że wartość sygnału x0 jest równa 1, a wagę w0 nazywa się progiem (ang. bias)
W prosty sposób za pomocą algorytmów uczących można neurony uczyć, czyli odpowiednio
dobierać wagi.
11
Neuron
x0=1
w0
Podobnie jak w mózgu komórki nerwowe
łączą się ze sobą.
x1
w1
Podobnie w przypadku modeli
x2 matematycznych sztuczne neurony łączą
w2
s y się ze sobą tworząc wielowarstwowe sieci
. f
neuronowe
.
.
x3
w3
12
Perceptron
x0=1
X1
w1
Gdy bias θ = w0 model ten odpowiada
modelowi neuronu
X1 w0
w1
x1
x1
X2
w2
s y
1 ● w przypadku neuronu jednowejściowego
.
zastosowanie biasu umożliwia przesunięcie
. progu aktywacji wzdłuż osi x
-1
. ● gdy bias jest ujemny przesuwamy próg aktywacji
X3 w prawo, gdy dodatni to w lewo
w3 ● dodanie dodatkowej wagi kosztem zwiększenia
ilości koniecznych obliczeń powoduje poprawę
własności neuronu 14
Perceptron
Perceptron ze względu na swą funkcję aktywacji przyjmuje tylko dwie różne wartości
wyjściowe, może więc klasyfikować sygnały podane na jego wejście w postaci wektora
x=[x1,...,xn]T do jednej z dwóch klas.
● Na przykład perceptron z jednym wejściem może oceniać, czy sygnał wejściowy jest
dodatni, czy ujemny
15
Perceptron
x2
W ogólnym przypadku, gdy perceptron ma n
wejść, wówczas dzieli n-wymiarową przestrzeń
wektorów wejściowych x na dwie półprzestrzenie
w1
Półprzestrzenie są rozdzielone n-1 wymiarową
w2
hiperpłaszczyzną zwaną granica decyzyjną
określoną wzorem
x1
Metoda uczenia perceptronu należy do grupy algorytmów zwanych uczeniem z nauczycielem lub
uczeniem nadzorowanym
Uczenie tego typu polega na tym, że na wejście perceptronu podaje się sygnały
x(t) = [x0(t), x1(t),..., xn(t))]T, t=1,2,....
dla których znamy prawidłowe wartości sygnałów wyjściowych d(t), t=1,2,.... zwanych sygnałami
wzorcowymi
W metodach tych po podaniu wartości wejściowych oblicza się sygnał wyjściowy neuronu. Następnie
modyfikuje się wagi tak, aby zminimalizować błąd między sygnałem wzorcowym a wyjściem
perceptronu (nauczyciel określa jaka powinna być wartość wzorcowa).
17
Uczenie perceptronu
Sieć neuronowa
● w sieciach neuronowych system składa się z bardzo wielu neuronów, z których każdy jest w stanie samodzielnie
przetwarzać informacje, więc podczas gdy procesor po kolei przetwarza każdą porcję informacji, neurony
przetwarzają olbrzymie ich ilości jednocześnie
● w sieciach neuronowych przechowywanie danych (pamięć) i przetwarzanie danych nie są od siebie oddzielone
jak w klasycznych komputerach
● neurony zarówno przechowują, jak i przetwarzają informacje, więc przetwarzanie danych nie wymaga pobrania
ich z pamięci
19
Sieć neuronowa
Sieć neuronowa
20
Sieć neuronowa
Sieć neuronowa
● z każdym połączeniem skojarzona jest waga, która może zostać zmieniona w trakcie uczenia
21
Sieć neuronowa
22
Sieć neuronowa
Warstwy
● pojedynczy neuron jest zbyt prosty, by mógł podejmować wiarygodne decyzje i tworzyć
wiarygodne przewidywania w większości rzeczywistych zastosowań.
● wyjście całej sieci otrzymujemy w postaci wyjścia określonego podzbioru neuronów, który
nazywamy warstwą wyjściową
23
Sieć neuronowa
Warstwy
● modele sztucznych sieci neuronowych są zazwyczaj organizowane w sieć połączonych ze sobą neuronów
● na każdym poziomie łączą się one tylko z innymi neuronami na poziomie położonym bezpośrednio niżej lub
wyżej w hierarchii struktury
● siła połączeń pomiędzy neuronami opisywana jest przy pomocy wag - nazywamy tak wartości, które pozwalają
modelowi sieci na ocenianie znaczenia sygnału dla zadanego problemu
● wartości wag ustalane są zazwyczaj przez algorytm uczenia - najczęściej zmieniają się w trakcie procesu nauki,
gdy model ustala coraz dokładniejsze zależności w przedstawianych mu danych, a dodatkowo przekształca je w
celu optymalizacji modelu dla otrzymywanego rodzaju informacji
● wagi determinują więc „wiedzę”, jaką posiada model neuronowy
● neurony położone na wyższym poziomie warstw ukrytych odbierają dane wejściowe tylko z warstwy
bezpośrednio pod nimi
24
Sieć neuronowa
Warstwy
25
Sieć neuronowa
Warstwy - podsumowanie
● warstwa wejściowa składa się z neuronów, które otrzymują sygnały wejściowe bezpośrednio z danych (np. w
przypadku rozpoznawania obrazów warstwa wejściowa wykorzystałaby wartości pikseli obrazu wejściowego)
● sieć zazwyczaj posiada również ukryte warstwy, które wykorzystują dane wyjściowe z innych neuronów jako
dane wejściowe i których dane wyjściowe wykorzystuje się jako dane wejściowe dla innych warstw neuronów
● warstwa wyjściowa zwraca dane wyjściowe całej sieci - wszystkie neurony w danej warstwie otrzymują dane
wejściowe z neuronów z poprzedniej warstwy i przekazują swoje dane wyjściowe do następnej
26
Sieć neuronowa
● umownie warstwa stanowi wyobrażenie sposobu ułożenia neuronów pełniących w sieci konkretną funkcję
● zazwyczaj w strukturze sieci zakłada się istnienie co najmniej kilku warstw neuronów, ale może ich być
znacznie więcej
● sieci wielkoskalowalne wykorzystywane w uczeniu głębokim posiadają wiele warstw i osiągają zawrotne ilości
setek, a nawet tysięcy połączonych ze sobą neuronów
● w standardowym modelu sieci wyróżnić można warstwę wejściową, warstwę wyjściową oraz warstwy ukryte,
których ilość uzależnia się od wykorzystywanych algorytmów i rodzaju rozwiązywanego problemu
● sposób, w jaki przebiega podział warstw jest zdeterminowany, między innymi, poprzez połączenia neuronów
● najczęściej łączy się tylko neurony należące do sąsiadujących ze sobą warstw
.
27
Sieć neuronowa
28
Architektura sieci neuronowej
Sieci jednokierunkowe
Sieci jednokierunkowe których typowym przykładem jest perceptron jednowarstwowy składają się
z neuronów ułożonych w warstwach o jednym kierunku przepływu sygnałów i połączeniach
międzywarstwowych jedynie między kolejnymi warstwami. Sieć tego typu posiada warstwę
wejściową, wyjściową i warstwy ukryte. Z funkcjonalnego punktu widzenia układ taki można
traktować jako układ funkcji nieliniowej wielu zmiennych y = f(u)
● proste modele sieci neuronowych mają zwykle strukturę jednokierunkową (ang. feedforward)
● w ich przypadku sygnał przepływa tylko w jednym kierunku, od warstwy wejściowej poprzez
neurony ukryte, aż do osiągnięcia warstwy wyjściowej
● strukturę taką charakteryzuje przede wszystkim stabilne zachowanie - możliwy do
przewidzenia sposób działania jest często pożądanym aspektem w pracy z danymi
● w przypadku potrzeby prowadzenia bardziej skomplikowanych obliczeń, w szczególności
takich, które mają charakter rekurencyjny, należy wbudować w sieć sprzężenie zwrotne -
połączenia powrotne w hierarchii, od późniejszych do wcześniejszych warstw neuronów -
modele takie są jednak o wiele bardziej skomplikowanymi strukturami i nie gwarantują
użytkownikowi stabilnego i określonego działania
30
Architektura sieci neuronowej
Sieci rekurencyjne
31
Architektura sieci neuronowej
Sieci komórkowe
32
Architektura sieci neuronowej
Topologia
Począwszy od prostych sieci z małą liczbą warstw przekazujących informacje w jednym kierunku
aż do wielowarstwowych sieci ze sprzężeniem zwrotnym można stwierdzić, że:
● sieć szersza (z większą liczbą neuronów w warstwie wejściowej) może obserwować
więcej danych
● głębsza sieć (z większą liczbą warstw) ma większy potencjał wykrywania
wysokopoziomowych zależności i abstrakcji w danych wejściowych
33
Architektura sieci neuronowej
Metody uczenia
Sieci mogą być uczone pod nadzorem (dążyć do żądanego wyniku) lub bez nadzoru (dążyć do
wykrycia nieznanych zależności).
Oprócz tego różnią się tym, czy w trakcie uczenia sieci była wykorzystywana rekurencja, jak długo
sieć dążyła do optymalnego wyniku albo jak bardzo jest dopasowana do konkretnego zestawu
danych wejściowych.
34
Architektura sieci neuronowej
Klasyfikacja jest realizowana poprzez użycie nominalnej zmiennej wyjściowej, której wartości
(będące nazwami wybieranymi z pewnego z góry ustalonego zbioru wartości) odpowiadają
różnym klasom, do których można zaliczać wejściowe dane.
35
Architektura sieci neuronowej
36
Algorytmy ewolucyjne
Algorytmy ewolucyjne
● naśladowanie natury
● w czasie reprodukcji powstaje nowy organizm, który dziedziczy pewne cechy po swoich
rodzicach
37
Algorytmy ewolucyjne
różniących się chromosomów obojga rodziców, często dochodzi też do mutacji czyli zamiany
● Powstaje organizm różniący się od swoich rodziców, który zawiera geny swoich poprzedników,
38
Algorytmy ewolucyjne
39
Algorytmy ewolucyjne
Problemy optymalizacji
● metody analityczne
○ pośrednie - polegające na poszukiwaniu lokalnych ekstremów funkcji poprzez
rozwiązywanie układu równań nieliniowych,
○ bezpośrednie - polegające na poszukiwaniu lokalnego minimum przez
“skakanie” po wykresie funkcji w kierunku określonym gradientem
Problemy optymalizacji
● metody przeglądowe
○ przy skończonej przestrzeni poszukiwań polegają na obliczeniu wartości funkcji
celu i przeglądaniu wszystkich punktów przestrzeni po kolei
○ mimo prostoty i podobieństwa do ludzkiego rozumowania mają podstawową
wadę - są nieefektywne
○ wiele problemów charakteryzuje się tak ogromną przestrzenią poszukiwań, że
nie jest możliwe przeszukanie wszystkich punktów w rozsądnym czasie
42
Algorytmy ewolucyjne
Problemy optymalizacji
● metoda losowa
○ zaczęła być używana, gdy uzmysłowiono sobie słabości metod analitycznych i
przeglądowych
○ algorytm przeszukiwania losowego, polega na losowym przeszukiwaniu
przestrzeni i zapamiętywaniu najlepszego rozwiązania
○ techniki oparte o liczby pseudolosowe również okazały się nieefektywne
44
Algorytmy ewolucyjne
45
Algorytmy ewolucyjne
Gen - nazywany też cechą, znakiem, detektorem - stanowi pojedynczy element genotypu, w
szczególności chromosomu 46
Algorytmy ewolucyjne
Genotyp - czyli struktura - to zespół chromosomów danego osobnika. Osobnikami populacji mogą być
genotypy lub pojedyncze chromosomy (jeżeli genotyp składa się z jednego chromosomu - często tak
się przyjmuje)
Allel - to wartość danego genu, określana też jako wartość cechy lub wariant cechy
Locus - to pozycja wskazująca miejsce położenia danego genu w łańcuchu czyli chromosomie
47
Algorytmy ewolucyjne
48
Algorytmy ewolucyjne
● W teorii sterowania funkcją przystosowania może być funkcja błędu, a teorii gier funkcja kosztu
● W algorytmie ewolucyjnym, w każdej jego iteracji, ocenia się przystosowanie każdego osobnika
danej populacji za pomocą funkcji przystosowania i na tej podstawie tworzy się nową populację
osobników, stanowiących zbiór potencjalnych rozwiązań problemu (zadania optymalizacji)
● Kolejną iterację w algorytmie ewolucyjnym nazywa się generacją, a o nowo utworzonej populacji
osobników mówi się jako o nowym pokoleniu lub pokoleniu potomków
49
Klasyczny algorytm genetyczny
50
Klasyczny algorytm genetyczny
Inicjacja
● polega na obliczeniu wartości funkcji przystosowania dla każdego chromosomu z tej populacji.
Im większa jest wartość tej funkcji, tym lepsza “jakość” chromosomu
● jeżeli pierwotna postać funkcji przystosowania nie spełnia tych założeń, to dokonuje się
odpowiedniej transformacji (problem poszukiwania minimum funkcji można sprowadzić do
problemu poszukiwania maksimum)
51
Klasyczny algorytm genetyczny
● w zagadnieniach optymalizacji, jeżeli znana jest wartość maksymalna (lub minimalna) funkcji
przystosowania, zatrzymanie algorytmu może nastąpić po uzyskaniu żądanej wartości optymalnej,
ewentualnie z określoną dokładnością
● zatrzymanie algorytmu może również nastąpić jeśli dalsze jego działanie nie poprawia już uzyskanej
najlepszej wartości
● algorytm może zostać zatrzymany po upływie określonego czasu działania lub po określonej liczbie
generacji
● jeżeli warunek zatrzymania jest spełniony, następuje przejście do ostatniego kroku, czyli
wyprowadzenia “najlepszego” chromosomu, jeżeli nie to następnym krokiem jest selekcja
chromosomów
52
Klasyczny algorytm genetyczny
Selekcja chromosomów
● wybór ten odbywa się zgodnie z zasadą naturalnej selekcji tzn. największe szanse na udział w
tworzeniu nowych osobników mają chromosomy o największej wartości funkcji przystosowania
Całe koło ruletki odpowiada sumie wartości funkcji przystosowania wszystkich chromosomów
rozważanej populacji.
Każdemu chromosomowi oznaczonemu przez chi dla i=1,2,..., K gdzie K jest liczebnością populacji,
odpowiada wycinek koła v(chi) stanowiący część całego koła, wyrażony w procentach
Selekcja chromosomu może być widziana jako obrót kołem ruletki, w wyniku czego “wygrywa” (zostaje
wybrany) chromosom należący do wylosowanego w ten sposób wycinka ruletki
54
Klasyczny algorytm genetyczny
● Jeżeli cały okrąg ruletki potraktujemy jako przedział liczbowy [0,100] to wylosowanie
chromosomu można potraktować jako wylosowanie liczby z zakresu [a,b] gdzie 0 ≤ a <b ≤ 100
(a - początek okręgu, b - koniec okręgu)
● Wówczas losowanie za pomocą koła ruletki sprowadza się do wylosowania liczby z przedziału
[0,100], która odpowiada konkretnemu punktowi na okręgu koła ruletki
● W wyniku procesu selekcji zostaje utworzona populacja rodzicielska, nazywana też pulą
rodzicielską (mating pool) o liczebności równej K tzn. takiej samej jak liczebność bieżącej
populacji
55
Klasyczny algorytm genetyczny
Prawdopodobieństwo wystąpienia krzyżowania przyjmuje się zwykle duże (0,5 ≤ pk ≤ 1), natomiast zakłada
się bardzo małe prawdopodobieństwo wystąpienia mutacji (często 0 ≤ pm ≤ 0,1).
Wynika to z analogii do świata organizmów żywych, gdzie mutacja zachodzi niezwykle rzadko
W algorytmie genetycznym, mutacja chromosomu może być dokonywana na populacji rodziców przed
operacją krzyżowania lub na populacji potomków utworzonych w wyniku krzyżowania
56
Klasyczny algorytm genetyczny
Operator krzyżowania
● Pierwszym etapem krzyżowania jest wybór par chromosomów populacji rodzicielskiej (puli
rodzicielskiej)
● Na tym etapie chromosomy z populacji rodzicielskiej kojarzone są w pary - dokonuje się tego w
sposób losowy, zgodnie z prawdopodobieństwem krzyżowania pk
● Następnie dla każdej pary wybranych w ten sposób rodziców losuje się pozycję genu (locus) w
chromosomie określająca tzw. punkt krzyżowania
57
Klasyczny algorytm genetyczny
Jeżeli chromosom każdego z rodziców składa się z L genów, to punkt krzyżowania lk jest liczbą naturalną
mniejsza od L
Wybór punktu krzyżowania sprowadza się do wylosowania liczby z przedziału [1, L-1]
W wyniku krzyżowania pary chromosomów rodzicielskich otrzymuje się następująca pary potomków:
58
Klasyczny algorytm genetyczny
W tym przypadku chromosomy składają się z 10 genów (L=10) - losujemy więc liczbę całkowitą z
przedziału [1,9]. Załóżmy, że wylosowano liczbę 5.
Operator mutacji
zgodnie z prawdopodobieństwem mutacji pm, dokonujemy zmiany wartości genu w chromosomie na przeciwną (tzn. z 0 na 1
lub z 1 na 0)
prawdopodobieństwo zaistnienia mutacji jest zwykle bardzo małe i od niego zależy czy dany gen w chromosomie podlega
mutacji lub nie
Dokonanie mutacji zgodnie z prawdopodobieństwem pm polega np. na losowaniu liczby z przedziału [0,1] dla każdego genu i
wybraniu do mutacji tych genów dla których wylosowana liczba jest równa prawdopodobieństwu pm lub mniejsza
Mutacji podlega gen na 7 pozycji ponieważ wylosowana liczba losowa 0,01 jest mniejsza niż wartość prawdopodobieństwa
mutacji pm.
60
Klasyczny algorytm genetyczny
● Populacja ta staje się populacją bieżącą dla danej generacji algorytmu genetycznego
● Następnie sprawdza się warunek zatrzymania algorytmu i albo wyprowadza się wynik w postaci
chromosomu o największej wartości przystosowania, albo przechodzi się do kolejnego kroku
algorytmu genetycznego tzw. selekcji.
61
Klasyczny algorytm genetyczny
● Jeżeli spełniony jest warunek zatrzymania algorytmu genetycznego, należy wyprowadzić wynik
działania algorytmu, czyli podac rozwiązanie problemu.
Każda z 32 liczb należących do tego zbioru nazywa się punktem poszukiwań, rozwiązaniem, wartością
parametru
Powstałe ciągi kodowe nazywane są też łańcuchami lub chromosomami, w tym przykładzie to również
genotypy
64
Klasyczny algorytm genetyczny
Obliczamy przystosowanie za pomocą funkcji, która jest taka sama jak funkcja przez nas
optymalizowana. W miejsce parametru x podstawiamy wartość fenotypu:
F(ch2 ) = 11
F(ch3 ) = 27
F(ch4 ) = 43
F(ch5 ) = 53
F(ch6 ) = 37
F(ch7 ) = 17
F(ch8 ) = 11
Szukamy maksimum - za najlepiej przystosowane osobniki uważa się te, które mają największą
wartość funkcji przystosowania.
65
Klasyczny algorytm genetyczny
66
Klasyczny algorytm genetyczny
v(ch1 ) = 6,13
v(ch2 ) = 5,19
v(ch3 ) = 12,74
v(ch4 ) = 20,28
v(ch5 ) = 25
v(ch6 ) = 17,45
v(ch7 ) = 8,02
v(ch8 ) = 5,19
Losowanie za pomocą koła ruletki sprowadza się do losowego wyboru liczby z przedziału [0,100]
wskazującej odpowiedni wycinek na kole (wskazującej konkretny chromosom)
79 44 9 74 45 86 48 23
Następnie znajdujemy dla każdej pary punkty krzyżowania przez wylosowanie liczb całkowitych z
przedziału [1,4]
69
Klasyczny algorytm genetyczny
Otrzymujemy
F(Ch1 ) = 2 ・ Ch1* + 1 = 35
F(Ch2 ) = 45
F(Ch3 ) = 9
F(Ch4 ) = 39
F(Ch5 ) = 53
F(Ch6 ) = 37
F(Ch7 ) = 59
F(Ch8 ) = 21
72
Klasyczny algorytm genetyczny
Wnioski:
73
Uczenie maszynowe
● W pracy nad sztuczną inteligencją można wyróżnić dwie główne filozofie jej rozwoju. Pierwszą z
nich jest podejście symboliczne, często nazywane inaczej słabą sztuczną inteligencją (ang.
weak AI). Opiera się ona na tworzeniu modeli matematyczno-logicznych dla problemów
poddawanych analizie i implementowaniu ich jako programy komputerowe. Mają one
realizować konkretne funkcje, które są powszechnie uważane za części składowe inteligencji.
Przykładami mogą być algorytmy genetyczne i stosowanie logiki rozmytej.
● Drugą wyróżniającą się filozofią pracy ze sztuczną inteligencją jest tak zwane podejście
subsymboliczne, nazywane również silną sztuczną inteligencją (ang. strong AI). Polega ona na
tworzeniu programów oraz struktur, które starają się samodzielnie „uczyć”. Wykorzystuje się
tutaj modele sieci neuronowych oraz sieci asocjacyjnych. Nauka ta polega na przygotowaniu
odpowiednich metod analizowania danych, procedur rozwiązywania przedstawionych im zadań i
sposobów poszukiwania odpowiedzi na zadane pytania.
74
Uczenie maszynowe
● Przełomowym wydarzeniem w historii samych badań nad inteligencją maszyn był test,
zaproponowany w 1950 roku przez Alana Turinga.
● We wspomnianym doświadczeniu zadaniem maszyny było udawanie istoty ludzkiej podczas
zdalnej rozmowy. Maszyna miała prowadzić dialog w taki sposób, aby człowiek będący sędzią
testu nie mógł wskazać jej spośród wszystkich uczestników dyskusji.
75
Uczenie maszynowe
76
Uczenie maszynowe
77
Uczenie maszynowe
● Opisywana technologia nie jest jednolita, a sposób jej działania jest w pełni uzależniony od
wykorzystywanych algorytmów i przyjmowanych danych.
● Aktualnie można wyróżnić cztery najpopularniejsze rodzaje uczenia maszynowego: uczenie
nadzorowane (ang. supervised learning), uczenie nienadzorowane (ang. unsupervised learning),
uczenie częściowo nadzorowane (ang. semi-supervised learning) oraz uczenie przez
wzmacnianie (ang. reinforcement learning).
● Wymienione podejścia różnią się od siebie przede wszystkim informacjami, jakie są zawierane
w zestawach danych uczących
78
Uczenie maszynowe
79
Uczenie maszynowe
81
Uczenie maszynowe
Uczenie nadzorowane:
● uczenie maszynowe, które zakłada obecność ludzkiego nadzoru nad tworzeniem funkcji
odwzorowującej wejście systemu na jego wyjście
● nadzór polega na stworzeniu zestawu danych uczących, czyli par:
○ wejściowy obiekt uczący (np. wektor);
○ pożądana przez nadzorcę (nauczyciela) odpowiedź (np. jakaś konkretna wartość
liczbowa)
● Zadaniem systemu jest nauczenie się przewidywania prawidłowej odpowiedzi na zadane
pobudzenie oraz generalizacja przypadków wyuczonych na przypadki, z którymi system jeszcze
się nie zetknął. Do modelowania procesów technicznych zwykle wykorzystuje się uczenie
nadzorowane
Uczenie nienadzorowane:
● rodzaj uczenia maszynowego, którego zadaniem jest odkrywanie w zbiorze danych wzorców
bez wcześniej istniejących etykiet i przy minimalnej ingerencji człowieka
● uczenie nienadzorowane zakłada brak obecności oczekiwanego wyjścia w danych uczących
● w przeciwieństwie do uczenia nadzorowanego, które zwykle wykorzystuje dane oznaczone
przez człowieka, uczenie nienadzorowane umożliwia modelowanie gęstości
prawdopodobieństwa danych wejściowych
83
Uczenie maszynowe
Uczenie nienadzorowane:
● dwie główne metody stosowane w uczeniu nienadzorowanym to analiza składowych głównych
oraz analiza skupień
○ analiza składowych głównych jest wykorzystywana do zmniejszania wymiarowości
danych poprzez odkrywanie i odrzucanie cech które niosą ze sobą najmniej informacji
○ analiza skupień jest wykorzystywana w celu grupowania lub segmentowania zestawów
danych ze wspólnymi atrybutami w celu ekstrapolacji występujących w nich zależności
○ analiza skupień identyfikuje podobieństwa w danych i pozwala na grupowanie danych,
które nie zostały oznaczone, sklasyfikowane ani skategoryzowane
○ ponieważ analiza skupień bazuje na obecności lub braku takich podobieństw w nowej
danych, może być wykorzystana aby wykryć nietypowe dane, które nie pasują do żadnej
grupy
… zadanie polega na ustaleniu struktury danych np. na pogrupowaniu podobnych elementów na “zbitki”
lub zredukowaniu danych do niewielkiej liczby istotnych “wymiarów” ...
84
Uczenie maszynowe
… powszechnie stosowane w sytuacjach, w których inteligentny agent (np. samochód autonomiczny) musi
działać w środowisku, w którym informacja zwrotna na temat dobrych lub złych wyborów jest dostępna z
pewnym opóźnieniem ...
85
Uczenie maszynowe
Uczenie nadzorowane
86
Uczenie maszynowe
Uczenie nadzorowane
Uczenie nadzorowane
88
Uczenie maszynowe
Uczenie nadzorowane
… rozpoznanie jak uniknąć przetrenowania i wybranie modelu, który nie jest ani zbyt ograniczony, ani zbyt
89
elastyczny, stanowi najbardziej pożądaną umiejętnością specjalisty w dziedzinie nauk o danych …
Uczenie maszynowe
Uczenie nienadzorowane
… przykład sieci sklepów: gromadzą dane o zachowania grupowych klientów (karty lojalnościowe), klienci którzy
zazwyczaj kupują te same produkty są bliżej siebie niż klienci, którzy kupują różne produkty, metoda uczenia
maszynowego grupuje klientów w zbitki, natomiast nadawanie oznaczeń zbitkom pozostawione jest użytkownikowi … 90
Ustalenie wag umożliwiających optymalne dopasowanie wyniku przewidywanego i faktycznego w danych
Uczenie maszynowe uczących to klasyczny problem statystyczny (klasyczna metoda najmniejszych kwadratów,)
Regresja
… przykład użycia regresji liniowej do przewidywania szacunkowej długości życia gdzie zarówno
wagi, jak i cechy wejściowe są znane.
● waga pelenia papierosów wynosi minus pół roku
● waga jedzienia warzyw wynosi plus 1 rok
A zatem jeżeli mamy dane wartości wejściowe i wagę, możemy otrzymać przewidziany wynik 91
Uczenie maszynowe
Regresja
● Jeżeli mamy dane wartości wejściowe i wyniki dotyczące określonej liczby elementów, możemy ustalić
takie wagi, aby przewidywany wynik jak najlepiej pasował do wyniku faktycznego. To jest właśnie
zadanie, które rozwiązuje uczenie maszynowe.
● W rzeczywistości faktyczny rezultat nie zawsze w pełni wynika z danych wejściowych, ponieważ różne
czynniki wprowadzają do procesu niepewność lub „szum” wtedy stosujemy jako punkt wyjścia wyraz
wolny (ang. intercept)
… przykład użycia regresji liniowej do przewidywania szacunkowej długości życia: gdy wartość kombinacji
liniowej oznacza oczekiwaną długość życia możemy wyznaczyć ile papierosów możemy spalić i ile warzyw
musimy jeść żeby dożyć do tego wieku (gdy wcześniej ustalimy wagi w procesie uczenia maszynowego) … 92
Uczenie maszynowe
Regresja
Regresja liniowa to podstawowe narzędzie wykorzystywane w wielu zastosowaniach sztucznej inteligencji i nauki o danych. Ma swoje
ograniczenia, ale zazwyczaj jest to zrekompensowane jej prostotą, łatwością w interpretacji i efektywnością. Regresję liniową skutecznie
93
Uczenie maszynowe
Regresja
● oprócz takich czynników jak posiadanie wystarczającej ilości danych i wyeliminowanie zagrożenia
● w celu przygotowania modelu, który można wykorzystać bardziej ogólnie, do innych danych niż dane
uczące, dane uczące muszą zawierać wystarczająco dużo informacji, które mają znaczenie dla danego
problemu
● zazwyczaj nie jesteśmy w stanie całkowicie wyeliminować błędów, ale może nas zadowalać poziom
błędów np. niższy niż 5%
… ten aspekt zależy jednak od danego zastosowania – nie chcielibyśmy, żeby samochody autonomiczne
jeżdżące po ulicach były bezpieczne tylko w 95 %, ale przewidywanie z taką dokładnością, czy
użytkownik zobaczy film na Netflixie jest wystarczające … 94