Narzędzia AI
wykład 1z
Pokój 301A
Materiał do wykładu: public/wkos/NAI_zaocz
SZTUCZNA INTELIGENCJA
(ARTIFICIAL INTELLIGENCE)
• Nauka o maszynach realizujących zadania,
które wymagają inteligencji wówczas, gdy
są wykonywane przez człowieka.
Ale rozpoznanie twarzy na zdjęciu nie jest zwykle
uznawane za przejaw inteligencji u człowieka.
Z drugiej strony: przewidywanie skutków własnych
działań (np. wyliczenie „brutalną siłą” wszystkich
możliwych stanów w grze w kółko i krzyżyk) często nie
jest uznawane za przejaw AI.
SZTUCZNA INTELIGENCJA
(ARTIFICIAL INTELLIGENCE)
• Maszyna jest inteligentna, jeżeli znajdujący
się w drugim pomieszczeniu obserwator nie
zdoła odróżnić jej odpowiedzi od
odpowiedzi człowieka.
Test Turinga.
Uwzględnia tylko wąski aspekt inteligencji człowieka.
SZTUCZNA INTELIGENCJA
(ARTIFICIAL INTELLIGENCE)
• Nauka o tym, w jakich inteligentnych
czynnościach człowieka można obyć się bez
inteligencji.
• Dział informatyki, którego przedmiotem jest
badanie reguł rządzących inteligentnymi
zachowaniami człowieka, tworzenie modeli
formalnych tych zachowań i - w rezultacie -
programów komputerowych symulujących te
zachowania.
SZTUCZNA INTELIGENCJA
(ARTIFICIAL INTELLIGENCE)
• Dział informatyki uprawiany przez badaczy
uważających się za specjalistów od AI i
piszących książki z AI w tytule.
Czy kryterium sztucznej inteligencji ma
obejmować skutki działania programu, czy jego
budowę wewnętrzną?
LUDZKA INTELIGENCJA – FORMY
• Praktyczna: umiejętność
rozwiązywania konkretnych
zagadnień.
• Abstrakcyjna: zdolność operowania
symbolami i pojęciami.
• Społeczna: umiejętność zachowania
się w grupie.
LUDZKA INTELIGENCJA – CECHY
• Dopasowanie działania do okoliczności:
wybieranie najlepszego wariantu rozwiązania
danego problemu.
• Świadomość działania: droga od
sformułowania problemu do rozwiązania jest
ściśle określona.
• Znajomość własnych ograniczeń: inteligentny
człowiek nie odpowiada na pytania, na które nie
zna odpowiedzi.
•
1.Adaptacja
•
2.Korzystanie z doświadczenia
•
3.Korzystanie z wiedzy
•
4.Wyciąganie wniosków
•
5.Abstrakcyjne myślenie
•
6.Poczucie humoru
•
7.Samoświadomość
•
8. Zdolność planowania
•
9.Zdolność przewidywania
•
10. Selekcja informacji
•
11.Zdolność komunikacji
•
12.Uczenie się
•
13.Dokonywanie wyboru
Może być ciekawe wybrać te własności, które są wspólne z
inteligencją maszynową - sztuczną.
Własności charakteryzujące inteligencję ludzką
SZTUCZNA INTELIGENCJA
A INTELIGENCJA OBLICZENIOWA
Inteligencja obliczeniowa to dział informatyki zajmujący się problemami:
•
trudnymi do modelowania i rozwiązy-wania w sposób ścisły, analityczny ,
•
niealgorytmizowalnymi,
•
obliczalnymi, ale nieefektywnie,
•
algorytmizowalnymi ale wymagającymi użycia innych niż klasyczne metod .
Natomiast w trakcie wykładu poznamy narzędzia inteligencji obliczeniowej
wywodzące się z wcześniejszego multi-dyscyplinarnego działu, jakim jest
sztuczna inteligencja
HISTORIA AI
• Era prehistoryczna: Do około 1960 roku,
kiedy pojawiły się powszechnie dostępne
komputery.
• Era romantyczna: 1960-1965, kiedy
przewidywano, że AI osiągnie swoje cele w
ciągu 10 lat i odniesiono sporo początkowych
sukcesów.
• Okres ciemności: 1965-1970, w którym
niewiele się działo, opadł entuzjazm i pojawiły
się głosy krytyczne.
HISTORIA AI
• Renesans: 1970-1975, gdy zaczęto budować
pierwsze systemy doradcze, użyteczne w
praktyce.
• Okres partnerstwa: 1975-1980, gdy do badań
nad AI wprowadzono metody z nauk
poznawczych i nauk o mózgu, itd.
• Okres komercjalizacji: 1980-1990, gdy
przymiotnik „inteligentny” stał się sloganem
reklamowym.
HISTORIA AI - SZACHY
• ok. 1948 – pierwsze programy szachowe
• 1951 – A. Turing: Nikt nie jest w stanie ułożyć
programu lepszego od własnego poziomu gry.
• 1967 – pierwsze zwycięstwo komputera nad
„profesjonalnym” szachistą podczas turnieju
• 1977 – pierwsze zwycięstwo nad mistrzem klasy
międzynarodowej (jedna partia w symultanie)
• 1997 – Deep Blue wygrywa pełny mecz z
Kasparowem
(specjalny superkomputer 418-procesorowy;
wynik 3,5:2,5)
• 2003 – Deep Junior remisuje z Kasparowem mecz na
warunkach przez niego określonych
(8 zwykłych
procesorów Intela 1,6 GHz; wynik 3:3)
HISTORIA AI - WARCABY
•
1952 (A. Samuel) – programy do gry w
warcaby z elementami uczenia się
(ewolucyjnego)
•
1989 – Chinook, program z biblioteką
wszystkich końcówek 8-pionkowych (6
GB). W 1992 przegrał (2:4) z mistrzem
świata; w 1996 zwyciężył w
ogólnokrajowym konkursie w USA.
•
Aktualny mistrz świata: program Nemesis.
•
Problem warcabów można uznać za
„praktycznie” rozstrzygnięty, tzn. w większości
przypadków można podać wynik gry po
pierwszym ruchu
.
•
Na zdjęciu robot przemysłowy wzbogacony o
kamerę CCD oraz chwytak elektromagnetyczny
do przesuwania pionków, zbudowany w 2001 w
PJWSTK. Naturalnie oprogramowanie ma dwa
dodatkowe moduły: rozpoznawania sceny pod
ramieniem robota oraz predykcji ruch pionkiem.
Są one zbudowane z wykorzystaniem narzędzi
sztucznej inteligencji.
ZAGADNIENIA AI
• Stworzenie maszyn o inteligencji
dorównującej (przewyższającej)
ludzką.
• Stworzenie maszyn (algorytmów)
przejawiających tylko wąski aspekt
inteligencji (grających w szachy,
rozpoznających obrazy, czy
tworzących streszczenia tekstu).
CO OKAZAŁO SIĘ TRUDNE,
A CO ŁATWE
1961
SYSTEMY UCZĄCE SIĘ
• Systemy eksperckie, rozumowanie
logiczne.
• Komputerowe widzenie, analiza oraz
rekonstrukcja obrazu.
• Rozpoznawanie obrazów, mowy,
pisma, struktur chemicznych oraz
biologicznych, stanu zdrowia, sensu
wyrazów i zdań...
SYSTEMY UCZĄCE SIĘ
• Systemy posiadające zdolność
poprawiania jakości swojego działania
poprzez zdobywanie nowych
doświadczeń, które są następnie
wykorzystywane podczas kolejnych
interakcji ze środowiskiem.
SYSTEMY UCZĄCE SIĘ
• Uczenie się może przebiegać pod
nadzorem użytkownika
dostarczającego informacje o
przebiegu nauki, lub bez
nadzoru, gdy kryterium
poprawności wbudowane jest w
system.
SYSTEMY UCZĄCE SIĘ
• Układy samoadaptacyjne:
dobierające parametry pracy w
zależności od efektów, a
jednocześnie doskonalące
strategię uczenia się (np.
strategie ewolucyjne).
SYSTEMY UCZĄCE SIĘ
• Wspomaganie decyzji menedżerskich,
diagnoz medycznych...
• Modelowanie gier, uczenie się na błędach.
• Sterowanie samochodów, robotów,
fabryk...
• Planowanie, optymalizacja
wielokryterialna.
SYSTEMY UCZĄCE SIĘ
• Oczyszczanie obrazów, separacja
sygnałów akustycznych.
• Prognozowanie wskaźników
ekonomicznych, decyzji zakupu...
• Łączenie informacji z wielu baz
danych.
• Inteligentne szukanie wiedzy w
bazach danych.
>
classifier
< Marks
>
classifier
< not
Marks
>
classifier
< not
Marks
>
classifier
< not
Marks
>
classifier
< Marks
>
classifier
< not
Marks
TRENING KLASYFIKATORA
UŻYCIE KLASYFIKATORA
> Classifier >
Marks
UWAGA: TEN OBRAZ
NIE NALEŻAŁ DO PRÓBKI
TRENINGOWEJ!!!
PROGRAM WYKŁADU
• Problemy optymalizacji i
przeszukiwania: heurystyki, złożoność
obliczeniowa, przykłady i zastosowania
• Sieci neuronowe: przegląd struktur oraz
zastosowań, metody uczenia,
propagacja wsteczna
PROGRAM WYKŁADU
• Algorytmy randomizowane:
wychładzanie, strategie ewolucyjne,
sieci Kohonena
• Algorytmy ewolucyjne: operatory
genetyczne, metody hybrydowe i
zastosowania
KRYTERIA ZALICZANIA
– Dwa kollokwia
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
– Sterowanie, prognozowanie trendów...)
•
Zadania klasyfikacji
– klasyfikacja nieznanych obiektów na podstawie znanych
przykładów (rozpoznawanie mowy, OCR, KDD,…)
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”
)
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).
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)
Załóżmy, że mamy dany ciąg (x
1
, f(x
1
)), ... (x
n
, f(x
n
)). Zadanie
aproksymacji polega tym, by dla dowolnego punktu x
0
ze zbioru X
znaleźć wartość y taką, że:
Niech f : X Y - pewna (nieznana) funkcja na X
f(x
0
) = y
lub
|f(x
0
) - y| było minimalne
P( f(x
0
) = y ) prawdopodobieństwo było maksymalne
lub
Zadanie klasyfikacji/rozpoznania
Przestrzeń stanów: wszystkie możliwe obrazki 32x32.
Wielkość przestrzeni stanów: 2
32*32
.
Przestrzeń stanów to zbiór wszystkich potencjalnych obiektów, jakie mogą pojawić się w
zbiorze treningowym i później jako nowe obiekty. Kwestia wektora cech dla liter.
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
klasyfikacji: jeżeli obiekt testowy x
0
nie występował wśród
znanych przykładów, musimy zastosować jakąś metodę
uogólnienia tych przykładów.
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.
LITERATURA
1.
Rutkowski L., Metody i techniki sztucznej inteligencji, Wyd. Naukowe
PWN Warszawa 2005
2.
Rutkowska D., Piliński M. i Rutkowski L.,
Sieci neuronowe, algorytmy
genetyczne i systemy rozmyte
, PWN, Warszawa 1997
3.
Piegat A., Modelowanie i sterowanie rozmyte. Akademicka Oficyna
Wydawnicza EXIT Warszawa 1999
4.
Tadeusiewicz R., , Elementarne wprowadzenie do techniki sieci
neuronowych z przykładowymi programami, Akademicka Oficyna
Wydawnicza PLJ Warszawa 1998
5.
Michalewicz Zbigniew, Algorytmy genetyczne + struktury danych =
programy ewolucyjne, Wydawnictwa Naukowo-Techniczne, 1996
6.
Korbicz J., Obuchowski A., Uciński D.
, Sztuczne sieci neuronowe.
Podstawy i zastosowania
. Akademicka Oficyna Wydawnicza PLJ,
Warszawa, 1994.
7.
Osowski Stanisław,
Sieci neuronowe w ujęciu algorytmicznym
,
Wydawnictwa Naukowo-Techniczne, Warszawa, 1996
8.
Biocybernetyka i inżynieria biomedyczna
2000, M. Nałęcz (red.) Tom 6:
Sieci neuronowe, W. Duch, J. Korbicz, L. Rutkowski, R. Tadeusiewicz
(red.), Akademicka Oficyna Wydawnicza EXIT, Warszawa 2000
Literatura, c.d
•
T. Kacprzak and K. Ślot.,
Sieci
neuronowe komórkowe
. Wydawnictwo
Naukowe PWN, Warszawa - Łódź, 1995.
•
J .Kacprzyk,
Zbiory rozmyte w analizie
systemowej
, PWN, Warszawa1986.
•
K. Kułakowski,
Automaty komórkowe
,
Wydawnictwo “jak”, Kraków, 2000
•
Łachwa A.,
Rozmyty świat zbiorów, liczb,
relacji, faktów, reguł i decyzji
.
Akademicka Oficyna Wydawnicza EXIT,
Warszawa 2001
•
Mańdziuk J.,
Sieci neuronowe typu
Hopfielda. Teoria i przykłady zastosowań
,
Akademicka Oficyna Wydawnicza EXIT,
Warszawa 2000
Pfeifer R. and Scheier Ch.,
Understanding Intelligence
, The MIT
Press, Cambridge, Massachusetts,
London, England, 2001.
•
R. Tadeusiewicz
, Sieci neuronowe
.
Akademicka Oficyna Wydawnicza RM,
Warszawa, 1993.
•
Żurada J., Barski M. i Jędruch W.,
Sztuczne sieci neuronowe
, Wydawnictwo
Naukowe PWN, Warszawa 1996.
Literatura uzupełniająca:
•
G. Chen and T.T. Pham,
Introduction to Fuzzy Sets, Fuzzy Logic, and Fuzzy
Control Systems
. CRS Press, Boca Ratom, London, NY, Washington, D.C.,
2001
•
J. S. R. Jang, C-T. Sun, E. Mizutani,
Neuro-Fuzzy and Soft Computing. A
Computational Approach to Learning and Machine Intelligence
. Prentice Hall,
Upper Saddle River, NJ., 1997, (MatLab Curriculum Series).
•
W. Kosiński and M. Weigl.
General mapping approximation problems solving
by neural networks and fuzzy inference systems
, Systems Analysis Modelling
Simulation, 30 (1), 1998, 11-28
•
W. Kosiński, M. Weigl:
Sieci neuronowe w problemach aproksymacji
, skrypt
IPPT PAN, Warszawa 1999
•
R.A. Kosiński,
Sztuczne sieci neuronowe, dynamika nieliniowa i chaos
,
Wydawnictwa Naukowo-Techniczne, Warszawa, 2002
•
J. C. Principe, N. R. Euliano, W. C. Lefebvre,
Neural and Adaptive Systems.
Fundamentals through Simulations
, J.Wiley &Sons. Inc. New York, 2000 (an
e-book with NeuroSolutions v.3.022 on CD)
•
R. D. Reed and R. J .Marks II
, Neural Smithing. Supervised learning in
feedforward artficial neural networks
. The MIT Press, Cambridge, Ma. 1999.