Genetyczne systemy uczące się

Slides:



Advertisements
Podobne prezentacje
Przykład liczbowy Rozpatrzmy dwuwymiarową zmienną losową (X,Y), gdzie X jest liczbą osób w rodzinie, a Y liczbą izb w mieszkaniu. Niech f.r.p. tej zmiennej.
Advertisements

Automaty asynchroniczne
Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Reinhard Kulessa1 Wykład Środek masy Zderzenia w układzie środka masy Sprężyste zderzenie centralne cząstek poruszających się c.d.
Metody badania stabilności Lapunowa
Planowanie bezkolizyjnego ruchu w środowisku wielu robotów z wykorzystaniem gier niekooperacyjnych OWD
Genetyczne systemy uczące się
Uczenie ze wzmocnieniem
Obserwowalność System ciągły System dyskretny
Uczenie ze wzmocnieniem
CIĄGI.
Marcin Bogusiak Paweł Pilewski
Rozdział V - Wycena obligacji
WYKŁAD 6 ATOM WODORU W MECHANICE KWANTOWEJ (równanie Schrődingera dla atomu wodoru, separacja zmiennych, stan podstawowy 1s, stany wzbudzone 2s i 2p,
REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Wykład 2: Upraszczanie, optymalizacja i implikacja
Krzysztof Suchecki wybrana prezentacja z konferencji ECCS'07 w Dreźnie Interacting Random Boolean Networks.
Algorytmy genetyczne - plan wykładu
Wzory ułatwiające obliczenia
Wstęp do interpretacji algorytmów
Zapis informacji Dr Anna Kwiatkowska.
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
O relacjach i algorytmach
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Konstrukcja, estymacja parametrów
Elementy Rachunku Prawdopodobieństwa i Statystyki
Analiza współzależności cech statystycznych
Metody Lapunowa badania stabilności
Rozkłady wywodzące się z rozkładu normalnego standardowego
Cyfrowe układy logiczne
Obserwatory zredukowane
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
Podstawy działania wybranych usług sieciowych
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
Wykład 22 Modele dyskretne obiektów.
Elżbieta Fiedziukiewicz
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Obserwowalność i odtwarzalność
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Urszula Boryczka Testy De Jonga Urszula Boryczka
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Ekonometryczne modele nieliniowe
Algorytmika.
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Bramki logiczne i układy kombinatoryczne
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Diagram aktywności (czynności)
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Działania w systemie binarnym
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Wstęp do interpretacji algorytmów
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Etapy procesu sterowania rozmytego
Elementy cyfrowe i układy logiczne
Systemy neuronowo – rozmyte
Wstęp do Informatyki - Wykład 6
Podstawy Automatyki Człowiek- najlepsza inwestycja
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Genetyczne systemy uczące się GBML - (genetic-based machine learning systems) Ogólnie systemy uczące się z użyciem metod genetycznych Regułowe systemy uczące się - LCS (learning classifier systems)

Ogólny schemat uczenia się w interakcji ze środowiskiem akcja system uczący się środowisko stan, nagroda

Środowisko Cechy środowiska w sztucznych systemach uczących się: przydziela nagrody i wyznacza bieżący stan jest niezależne od ucznia, czyli oznacza wszystko to, na co uczeń nie ma wpływu Typy środowisk: stacjonarne / niestacjonarne (zmienne w czasie) deterministyczne / niedeterministyczne - taka sama akcja może spowodować przejście do różnych stanów lub uzyskanie różnych nagród z tym, że wartości oczekiwane nagród i prawdopodobieństwa przejść są stałe o parametrach ciągłych / dyskretnych o pełnej informacji o stanie (własność Markowa) / o niepełnej informacji o stanie

Typy optymalizacji Ze względu na sposób modyfikacji rozwiązań: globalna - potraktowanie każdego rozwiązania jako całości np. jako pojedynczego osobnika w populacji rozproszona (lokalna) - dekompozycja rozwiązania na fragmenty, które poddawane są optymalizacji na podstawie lokalnych i globalnych nagród (wymaga systemu przypisywania zasług) przykłady zastosowań optymalizacji rozproszonej: Uczenie ze wzmocnieniem w wieloetapowych procesach decyzyjnych Regułowe systemy uczące się - LCS

Przykłady zadań optymalizacyjnych Sterowanie odwróconym wahadłem Środowisko: stacjonarne deterministyczne spełniona własność Markowa system sterujący Optymalizacja globalna: do sterowania służy sieć neuronowa zwracająca wartość siły dla podanego stanu, każda sieć (osobnik) oceniana jest na podstawie 1000 kroków sterowania, zbiór sieci traktowany jest jako populacja w algorytmie genetycznym Optymalizacja rozproszona: uczenie ze wzmocnieniem - oceniana jest każda para <stan,akcja> lub każdy stan regułowy system uczący się

Przykłady zadań optymalizacyjnych Gry planszowe Środowisko: spełniona własność Markowa stacjonarne i deterministyczne – przy ustalonym algorytmie gry przeciwnika niestacjonarne i niedeterministyczne – gdy przeciwnikiem jest system uczący się lub człowiek

Przykłady zadań optymalizacyjnych - cd Sterowanie robotem w środowisku o dużej liczbie możliwych stanów Środowisko: stacjonarne i deterministyczne własność Markowa niespełniona w bardzo dużym stopniu

Przykład - sterowanie robotem - cd Założenia: robot może się przesuwać o jedno pole w 8 kierunkach, nagrody i pułapki są niewidoczne, można je wykryć tylko na podstawie układu ścian. układy ścian w przypadku nagrody lub pułapki mogą różnić się pomiędzy sobą środowisko w procesie uczenia może być nieco inne niż w procesie testowania (konieczne uogólnianie)

Optymalizacja rozproszona w stosunku do optymalizacji globalnej zalety : mniejsza złożoność obliczeniowa w porównaniu z optymalizacją globalną większa efektywność w środowiskach niestacjonarnych i o dużej liczbie stanów (możliwych reguł) wady : problemy z zapewnieniem współpracy poszczególnych podrozwiązań oraz ich oceną duża liczba parametrów algorytmu

Systemy klasyfikujące - analogie Uczenie ze wzmocnieniem Systemy z bazą wiedzy - systemy produkcji - systemy ekspertowe

Regułowe systemy uczące się - analogia do systemów ekspertowych Wnioskowanie w przód z zastosowaniem reguły odrywania (modus ponens): ((jeśli A to B) oraz zachodzi A) to B Baza wiedzy: 1. A  B  C 2. B  F  C  D 3. D  E  G 4. E  H 5. H 6. G 7. C 8. F Wnioskowanie: 9. (5)(4) E 10. (9)(6)(3) D 11. (8)(7)(10) B 12. (11)(7)(1) A 1-4 - reguły 5-8 - fakty pierwotne 9-12 - fakty wtórne

Regułowy system uczący się - zadanie Na podstawie stanu środowiska (komunikatów zewnętrznych) oraz oceny udzielanej przez środowisko stworzyć system zawierający reguły postaci: jeśli <warunek> to <akcja> z optymalizacją ocen za podjęte akcje

Regułowy system uczący się - części składowe Układ przetwarzania komunikatów - szczególny przypadek systemu produkcji System przypisywania zasług (ocen) Algorytm genetyczny

Prosty regułowy system uczący się - układ przetwarzania komunikatów - schemat

Prosty regułowy system uczący się - układ przetwarzania komunikatów Informacja o stanie środowiska jest przechwytywana przez detektory i zamieniana na tzw. komunikaty zewnętrzne (fakty pierwotne), które zostają umieszczone na liście komunikatów (faktów). Komunikaty są postaci: <komunikat> ::= {0,1}m, gdzie m - ustalona długość komunikatu. Komunikat może uaktywnić jeden lub więcej klasyfikatorów (reguł), o ile pasuje do ich części warunkowej. Klasyfikator (regułę produkcji) można przedstawić jako: <klasyfikator> ::= <warunek>:<komunikat>, gdzie część warunkowa składa się z symboli 3-elementowego alfabetu: <warunek> ::= {0,1,#}m Symbol # może zostać dopasowany do dowolnego symbolu na wejściu

Prosty regułowy system uczący się - układ przetwarzania komunikatów - cd Reguły, których część warunkowa pasuje do komunikatu mogą odpalać równolegle, umieszczając komunikaty na liście komunikatów o ile liczba komunikatów nie przekroczy pojemności listy komunikatów k.

Prosty regułowy system uczący się - układ przetwarzania komunikatów - przykład Przykładowa baza reguł: 1.) 01##:0000 2.) 00#0:1100 3.) 11##:1000 4.) ##00:0001 Ciąg produkcji gdy na wejściu pojawi się komunikat zewnętrzny (z) 0111 można przedstawić w następującej postaci: (numer komunikatu) komunikat, (numer reguły)  komunikat (jego numer) (z) 0111,(1)  0000 (5) (5) 0000,(2)  1100 (6) (5) 0000,(4)  0001 (7) (6) 1100,(3)  1000 (8) (6) 1100,(4)  0001 (9) (8) 1000,(4)  0001 (10)

Regułowy system uczący się - system przypisywania zasług Przykładowe algorytmy: Drużyny kubełkowej (bucket brigade) Q-learning

Przypisywanie zasług - bucket brigade Algorytm drużyny kubełkowej (bucket brigade) działa na zasadzie rynku usług informatycznych - funkcje: Rozdzielanie nagrody otrzymanej od środowiska pomiędzy reguły biorące udział w procesie wnioskowania - izba rozrachunkowa (clearinghouse) Wybór reguł z listy reguł biorących udział w przetargu (auction) na produkcję komunikatu na podstawie ich oferty B (bid) proporcjonalnej do siły S. Wygranie przetargu przez klasyfikator oznacza konieczność wpłaty wartości oferty B na rzecz klasyfikatorów, które dostarczyły komunikaty pasujące do jego warunku: Bi = CbidSi

Przypisywanie zasług - bucket brigade Siła reguły w kolejnym kroku czasowym: gdzie P - opłata za uaktywnienie, R - nagroda, T - podatek faworyzujący klasyfikatory produktywne: Efektywna wysokość oferty (uwzględniana w tylko w trakcie przetargu) często zawiera szum losowy w celu zapewnienia lepszej eksploracji reguł:

Prosty Regułowy system uczący się - symulacja Cbid=0.1, Ctax=0.0, poj. listy komunikatów = 2, komunikat zewnętrzny z = 0111 komunikaty dopasowanie reguła oferta siła 01##:0000 200 z 20 180 0000 220 00#0:1100 200 200 1 20 180 1100 11##:1000 200 200 200 2 20 ##00:0001 200 200 1 20 180 0001 2 18 t=0 t=1 t=2 komunikaty dopasowanie nagroda od środowiska reguła oferta siła t=3 t=4 t=5 01##:0000 220 220 220 00#0:1100 218 218 218 11##:1000 180 1000 196 196 ##00:0001 162 0001 3 16 146 0001 196 50

bucket brigade - analiza stabilności Siła reguły w kolejnym kroku czasowym: Siła aktywnej reguły w kolejnym kroku czasowym: Po usunięciu Ri otrzymujemy siłę w n-tym kroku czasowym: wobec tego spełniony powinien być warunek:

bucket brigade - analiza stabilności - cd Po uwzględnieniu nagród: Uwzględniając warunki stacjonarności dla pewnego ciągu kroków: oraz korzystając ze wzoru na sumę ciągu geometrycznego otrzymujemy wartości stacjonarne siły i oferty:

Regułowy system uczący się - algorytm genetyczny Uruchamianie - co pewną liczbę kroków - interakcji ze środowiskiem Reprodukcja z zachowaniem różnorodności populacji (nie szukamy jednego najlepszego rozwiązania, ale najlepszej grupy współpracujących reguł): Model ze ściskiem Metody niszowe

Regułowy system uczący się - przykład Aproksymacja funkcji multipleksera sześciobitowego: Na podstawie dwóch pierwszych bitów obliczany jest adres, zwracany jest bit z o podanym adresie z bloku danych (w tym przypadku jest to bit równy 1 o adresie 3. 1

Regułowy system uczący się - przykład Zestaw reguł idealnych:

Regułowy system uczący się - przykład Hierarchia domniemań: Przyjmując nieco inną funkcję oferty: gdzie f(Sp) jest funkcją specyficzności reguły (liczby pozycji określonych w części warunkowej), można uzyskać prostszy zestaw reguł: ###000:0 ##0#01:0 #0##10:0 0###11:0 ######:1 zakładając, że reguła ostatnia o najmniejszej specyficzności odpala tylko wtedy, gdy nie odpala żadna z 4 pierwszych reguł.

Regułowy system uczący się - rozszerzenia podział na grupy reguł: wejściowe (detektory), wewnętrzne oraz wyjściowe (efektory) rozszerzenie części warunkowej reguł o blok związany np. z dodatkową informacją ukierunkowującą działanie: <warunek> = <stan wewnętrzny> <warunek dopasowania> przekazywanie wartości zmiennych pomiędzy częścią lewą i prawą reguły (klasyfikatora) operacja kreacji - jeśli żadna z reguł nie pasuje do bieżącego komunikatu to tworzony jest reguła z częścią warunkową pasującą do bieżącego komunikatu oraz z wybraną losowo akcją operacja częściowego przecięcia dwóch reguł

Operacja częściowego przecięcia Kolejność działań: Wybierane są losowo dwie reguły o tej samej akcji Wybierany jest losowo fragment części warunkowej reguł W przypadku niezgodności, na danej pozycji umieszczany jest symbol # Przykład: 100##001110#0#001:6 100##0##1#0#0#001:6 01#1101#100#111#0:6 01#110##1#0#111#0:6 ^ ^ Zastosowanie: Uogólnianie reguł

System ANIMAT (Wilson, 1985) Środowisko: T - drzewo F - pożywienie przykładowe otoczenie 3x3: TFT...... przypisania: T -> 01, F -> 11, . -> 00 przykładowy komunikat: 011101000000000000 możliwe akcje: {0,...,7}, w zależności od kierunku ruchu przykładowa reguła: 0#11010##000#00#00:2

System ANIMAT Innowacje: zastosowanie metody ruletki do wyboru reguły spośród reguł zgodnych z komunikatem wejściowym przekazywanie sumy ofert podzbioru reguł zgodnych o tej samej akcji na rzecz reguł aktywnych w poprzednim kroku (podobieństwo do algorytmu Q-learning) operacja kreacji operacja częściowego przecięcia uwzględnienie czasu oczekiwania na wypłatę (oprócz siły) przy wyborze reguły, dzięki czemu faworyzowane są reguły pozwalające na szybsze uzyskanie nagród

System ANIMAT Średnie wyniki: średni czas poszukiwania pożywienia przy błądzeniu przypadkowym = 41 kroków średni czas dojścia do pożywienia przy pełnej wiedzy = 2.2 kroku

System typu ANIMAT Sterowanie robotem w środowisku o dużej liczbie możliwych stanów Środowisko: stacjonarne i deterministyczne własność Markowa niespełniona w bardzo dużym stopniu

Regułowy system uczący się (LCS) – typu Animat - wersja 1

Działanie regułowego systemu uczącego się (LCS) - wersja ze stanami wewnętrznymi

Regułowe systemy uczące się - wnioski Zalety: Tworzenie wewnętrznego modelu zachowań Uogólnienie wiedzy - przez zastosowanie symbolu # - ważne w środowiskach niestacjonarnych, z wiedzą niepełną lub w przypadku dużej liczby stanów, zmuszającej do uogólniania zachowań Możliwość wykorzystania wielu typów systemów produkcji np. z wykorzystaniem dodatkowych warunków (monitorowanie środowiska, realizowanie operacji dwuargumentowych), zmiennych, dodatkowych instrukcji itd. Możliwość wyjaśniania zależności w bazie wiedzy Odkrywanie reguł - dzięki zastosowaniu algorytmu genetycznego Wady: Stała długość reguł Problemy związane z kodowaniem, rozkodowywaniem

Regułowe systemy uczące się: poziomy zaawansowania AG Ocena reguł (uczenie ze wzmocnieniem) II Poszukiwanie nowych reguł (regułowy system uczący się - LCS) III Szukanie metody reprezentowania stanów oraz mechanizmów wnioskowania (?)

Programowanie genetyczne GP - (genetic programming) Projektowanie GP: wybór alfabetu (np. funkcje logiczne, arytmetyczne, statystyczne, instrukcje i bloki danych) wybór struktury (np. drzewo, graf, automat skończony) wybór operatorów krzyżowania i mutacji wybór operatora enkapsulacji

Programowanie genetyczne - kodowanie funkcji w postaci symbolicznej

Programowanie genetyczne - krzyżowanie

Programowanie genetyczne - enkapsulacja