ALGORYTM to ścisły opis sposobu działania komputera. Algorytm jest przepisem dyskretnym (działanie rozbite jest na serię oddzielnych kroków, z których każdy jest stosunkowo prosty). Algorytm musi być jednoznaczny, to znaczy niezależnie od tego, kto postępuje zgodnie z zapisanymi w algorytmie krokami otrzyma ten sam wynik. Oznacza to, że owe kroki może wykonać komputer dostarczając potrzebnego wyniku, ale może te kroki wykonać programista, sprawdzając, czy zapisane w algorytmie polecenia prowadzą do potrzebnego celu, a także inny informatyk kontrolujący program przedstawiony przez programistę. Algorytm musi być także finistyczny, to znaczy gwarantujący osiągnięcie wyznaczonego celu lub, po wykonaniu skończonej liczby kroków, dający pewność, że celu tego nie da się osiągnąć.
W sztucznej inteligencji korzysta się z algorytmów, ale nie są one tak niezbędne, jak w innych obszarach informatyki, gdyż wiele celów osiąga się dzięki odwołaniu do uczenia maszynowego lub stosuje się heurystyki. Twórcy sztucznej inteligencji na ogół uważają algorytmy za „przesztywnione” i zbyt powolne. Niemniej pojęcia algorytmu i sztucznej inteligencji nie są aż tak bardzo rozłączne, jak użytkownicy są skłonni sądzić. Przecież programy realizujący różne metody sztucznej inteligencji w komputerach musiały zostać stworzone pierwotnie w formie algorytmów i w tej postaci zaimplementowane. Oczywiście ich działanie determinowane jest potem przez różne czynniki, których zwykłe programy nie mają. Na przykład bardzo duże znaczenie w wielu metodach sztucznej inteligencji ma maszynowe uczenie. Ale wszystko, co steruje pracą komputera, ma zawsze oprawę algorytmu – i to trzeba zaakceptować.
BAZY DANYCH, szeroko wykorzystywane w informatyce i w jej zastosowaniach są również niezbędne w sztucznej inteligencji. Są one nieodzowne jako źródła zasobów informacyjnych, na bazie których sztuczna inteligencja może budować wiedzę wykorzystywaną potem na potrzeby użytkowników. Najważniejszy związek baz danych ze sztuczną inteligencją polega na tym, że właśnie korzystając z różnych baz danych poszczególne metody sztucznej inteligencji mogą realizować procesy uczenia dla doskonalenia własnego działania.
Obecnie twórcy i użytkownicy baz danych korzystają ze sztucznej inteligencji głównie do tego, żeby skuteczniej wyszukiwać potrzebne informacje – zwłaszcza, gdy użytkownicy nie potrafią dobrze sformułować i wyartykułować swoich potrzeb, albo informacji, które chcą do bazy danych dołączyć.
Ważną usługą, jaką może wyświadczać sztuczna inteligencja w systemach baz danych jest możliwość automatycznego naprawiania uszkodzeń, jakie mogą się pojawić w ich zasobach w przypadku wadliwego używania ich przez użytkowników. Takie samonaprawialne bazy danych oferuje między innymi Oracle z wykorzystaniem funkcji samouczenia się maszyn.
Również systemy generatywnej sztucznej inteligencji mogą znacząco polepszyć komfort korzystania z zasobów baz danych, ponieważ forma dostarczanej użytkownikowi informacji, może być dla niego łatwiejsza do wykorzystania i zrozumienia.
CZAS REAKCJI SYSTEMU jest bardzo ważnym czynnikiem decydującym o akceptacji lub braku akceptacji systemów sztucznej inteligencji przez użytkowników. Ludzie odwołując się do narzędzi informatycznych na ogół spodziewają się bardzo szybkiej odpowiedzi systemu, bo producenci komputerów na ogół podkreślają, jak bardzo szybki jest oferowany przez nich sprzęt, wyrażając to nawet w megaflopsach, czyli milionach operacji arytmetycznych wykonywanych w ciągu jednej sekundy. Tymczasem działanie wielu narzędzi sztucznej inteligencji wymaga wykonania tak wielkiej liczby operacji, że nawet na szybkich komputerach zajmuje to dosyć dużo czasu. Doświadczony użytkownik sztucznej inteligencji zdaje sobie z tego sprawę i potrafi cierpliwie zaczekać na potrzebny mu wynik. Natomiast wielu nowicjuszy buntuje się w takich okolicznościach lub podejrzewa, że użyte narzędzie jest wadliwe (komputer się zapętlił?). Często kończy się to rezygnacją ze skorzystania z pomocy sztucznej inteligencji – a szkoda, bo pracowicie wyszukiwany przez sztuczną inteligencję wynik mógłby być bardzo użyteczny.
DRZEWA DECYZYJNE należą do metod sztucznej inteligencji bazujących na podejściu symbolicznym. Wykorzystuje się je do wspomagania podejmowania decyzji w różnych zastosowaniach, przy czym dominuje tu wykorzystanie w ekonomii i zarządzaniu.
Jeśli szuka się najlepszej decyzji w jakiejś skomplikowanej sytuacji, to można proces decyzyjny rozbić na szereg etapów. Wychodząc od ogólnego sformułowania problemu (które można utożsamiać z korzeniem albo pniem owego drzewa) dochodzi się do kolejnych miejsc (tak zwanych węzłów decyzyjnych), w których trzeba rozstrzygnąć jakąś wątpliwość. Drzewo się wtedy rozgałęzia i zależnie od tego, jak rozstrzygnięta została wątpliwość, idziemy dalej albo jedną, albo drugą gałęzią. Po chwili te gałęzie docierają do kolejnych węzłów, gdzie trzeba rozstrzygnąć kolejne wątpliwości, więc gałęzi szybko przybywa.
Proces decyzyjny kończy się na końcach tych najdalszych od pnia gałązek i w tych końcowych punktach, zwanych liśćmi drzewa decyzyjnego, są już gotowe decyzje. Wystarczy je wziąć i zastosować.
Jak widać nawet z tego skrótowego opisu, drzewo decyzyjne jest osobliwe, bo jego korzeń jest u góry, pień i gałęzie idą w dół, a liście są na samym dole.
Używanie drzewa decyzyjnego jest łatwe i wygodne. Osoba, która musi podjąć decyzję w sposób zdyscyplinowany rozstrzyga wątpliwości we wszystkich węzłach decyzyjnych, a na końcu dociera do liścia, który daje jej gotową podpowiedź, co powinna zrobić. Natomiast tworzenie drzewa decyzyjnego dla jakiegoś nowego problemu to spory trud. W dodatku jest to praca bardzo odpowiedzialna – wystarczy zapomnieć o jakimś warunku lub błędnie poprowadzić gałęzie a drzewo decyzyjne może stać się przyczyną wielu pomyłek. Dlatego bardzo ważnym osiągnięciem sztucznej inteligencji było znalezienie metod tworzenia drzew decyzyjnych na drodze uczenia.
Żeby stworzyć drzewo decyzyjne metodą uczenia się należy pozyskać zbiór uczący składający się z wielu przykładów decyzji poprawnie podjętych przez ludzi, wraz informacjami, jakie okoliczności odpowiadały za pozytywne i negatywne uwarunkowania tych decyzji.
Następnie metoda sztucznej inteligencji identyfikuje automatycznie warunki, jakie należy wprowadzić do rozgałęzień drzewa decyzyjnego. Najpierw brane są pod uwagę warunki najbardziej ogólne, te które powodują najwcześniejsze rozgałęzienia pnia, a potem coraz drobniejsze i coraz bardziej subtelne.
Warto dodać, wiele drzew decyzyjnych tworzy tak zwany las losowy. Jest to złożony model oparty na zasadzie głosowania. Składa się on z wielu drzew decyzyjnych, a każde drzewo jest trenowane na losowym podzbiorze danych treningowych. Decyzja o klasyfikacji lub predykcji jest podejmowana na podstawie głosowania większościowego decyzji składowych, pochodzących od poszczególnych drzew. Dzięki temu las losowy jest odporny na przeuczenie i dobrze radzi sobie z zadaniami na dużą skalę. Las decyzyjny może efektywnie obsługiwać dane o wysokiej wymiarowości oraz radzi sobie z brakiem danych. Jest on także przydatny do wykrywania istotnych cech w danych i może być używana zarówno do zadań klasyfikacji, jak i regresji. Dzięki swojej elastyczności i skuteczności, las losowy jest popularnym wyborem w różnych dziedzinach, od analizy finansowej po biologię molekularną.
Jest sporo gotowych programów pozwalających na tworzenie drzew decyzyjnych metodą indukcyjną, czyli poprzez uczenie na podstawie zbioru uczącego, przy czym na uwagę zasługuje sekwencja stale doskonalonych programów o nazwach ID3 (z 1983 roku, ale wciąż używany), potem ID4 a teraz ID5. Popularna jest także aplikacja Detreex, pozwalająca bardzo sprawnie na podstawie uczenia tworzyć własne drzewa decyzyjne do różnych zastosowań.
EKSPERTOWE (ALBO EKSPERCKIE) systemy to bardzo użyteczne narzędzia sztucznej inteligencji, mogące doradzać różnym użytkownikom (menedżerom, lekarzom, prawnikom) podobnie jak mógłby to robić człowiek będący ekspertem – którego jednak często nie ma w momencie, kiedy jest potrzebny.
Systemy ekspertowe opierają się na wiedzy pochodzącej od ekspertów. Baza wiedzy, która jest budowana przy ich pomocy, powinna zawierać jak najwięcej widomości, bo tylko na niej będzie się potem opierać działanie systemu i od niej zależy użyteczność rad, opinii i prognoz, jakie system ekspertowy będzie przekazywał użytkownikom.
Wiedza eksperta w bazie wiedzy gromadzona jest na ogół w dwóch postaciach. Pierwszą są fakty. Ekspert coś wie i tę wiedzę przekazuje do systemu w postaci stwierdzenia. To ta prostsza i mniej ważna część wiedzy. Najważniejsze są jednak reguły. Ekspert wie, że z pewnych przesłanek można wyciągnąć pewien wniosek. Ten wniosek może być przesłanką dla kolejnej reguły, a ta dla następnej – i łańcuch takich reguł pozwala prowadzić automatyczne rozumowanie od informacji zawartych w pytaniu użytkownika, do wniosku, który mu system ekspertowy przekaże na końcu swego działania.
Z tworzeniem bazy wiedzy związana jest jednak pewna trudność. Otóż ekspert może być geniuszem w dziedzinie, dla której budowany jest system ekspertowy, ale z reguły ma niewielką wiedzę informatyczną i sam swojej mądrości do bazy wiedzy nie wprowadzi. Dlatego przy tworzeniu bazy wiedzy potrzebna jest z reguły pomoc informatyka zwanego inżynierem wiedzy. To on pozyskuje wiadomości od eksperta i umiejętnie umieszcza je w bazie wiedzy.
Mając bazę wiedzy możemy pokusić się o udzielenie odpowiedzi na pytania, które do systemu skieruje użytkownik. Jednak do znalezienia potrzebnego sposobu rozumowania potrzebny jest podsystem wnioskujący, który utworzy z pytania użytkownika i elementów wiedzy ekspertów podstawę do odpowiedzi, jaką system przekaże użytkownikowi. Podsystem wnioskujący systemu ekspertowego zwykle oparty na podobnych zasadach, jak wcześniej tworzone systemy sztucznej inteligencji automatycznie dowodzące twierdzenia matematyczne. Podobieństwo jest tu duże: w dowodzie matematycznym trzeba znaleźć drogę od założeń do dowodzonej tezy używając określonych reguł, natomiast w systemie ekspertowym trzeba znaleźć drogę od pytania użytkownika do odpowiedzi używając faktów i reguł zawartych w bazie wiedzy.
System ekspertowy musi zawierać jeszcze wiele elementów, nie omówionych wyżej (między innymi bazę wiedzy ogólnej, potrzebną dla unikania paradoksów, wygodny interfejs użytkownika, pozwalający na łatwe formułowanie pytań i czytelne prezentowanie odpowiedzi, podsystem objaśniający, uzasadniający odpowiedź gdy użytkownik tego zażąda), ale niepodobna o nich wszystkich tu napisać.
FUNKCJE PRZYNALEŻNOŚCI są podstawowym pojęciem w teorii zbiorów rozmytych i w logice rozmytej. Funkcja przynależności określa w jakim stopni określony obiekt należy do określonego zbioru rozmytego, co jest szerzej omówione w oddzielnym punkcie tego „Alfabetu”.
Funkcja przynależności jest wygodnym pojęciem, ułatwiającym zrozumienie działania metod sztucznej inteligencji dokonujących klasyfikacji wejściowych danych. Szczególnie przydatne jest to pojęcie w kontekście metod rozpoznawania wzorców, także szerzej omówionych w oddzielnym punkcie tego „Alfabetu”. Metody te prowadzą do automatycznej klasyfikacji rozważanych danych wejściowych, więc wygodnym i użytecznym sposobem realizacji tego zadania jest zdefiniowanie zestawu funkcji, które pozwalają określić dla każdego zestawu danych wejściowych – w jakim stopniu zestaw ten przynależy (czyli może być zaliczony) do każdej z rozważanych klas. Odpowiedź metody rozpoznawania wzorców polega wtedy na wskazaniu tej klasy, której funkcja przynależności ma największą wartość.
Pojęcie funkcji przynależności w metodach rozpoznawania wzorców może być wykorzystane nie tylko do wyznaczenia rozpoznawanego wzorca, ale także może służyć do wykrycia faktu, że aktualnie rozważany zestaw sygnałów wejściowych może pasować do więcej niż jednego wzorca (gdy kilka funkcji przynależności ma dużą wartość i nie ma między nimi znaczących różnic) względnie może ostrzegać, że pobrane na wejście dane nie pasują do żadnego znanego wzorca (gdy wartości wszystkich funkcji przynależności są bardzo małe).
Wyznaczanie funkcji przynależności może być oparte na różnych przesłankach. Czasem buduje się je na podstawie arbitralnie wybranych funkcji (na przykład wielomianów Legendre’a), których parametry wyznacza się iteracyjną procedurą w trakcie procesu uczenia. Czasem kształt funkcji przynależności opiera się na rozważaniach probabilistycznych, korzystając z formuły prawdopodobieństwa a’posteriori, opartego na tak zwanym naiwnym klasyfikatorze Bayesa. Klasyfikator ten przewiduje funkcję przynależności do konkretnej klasy na podstawie cech obserwowanych w danych treningowych. Jest on szczególnie przydatny w przypadku problemów klasyfikacyjnych z dużą liczbą cech, takich jak analiza tekstu, czy klasyfikacja e-maili jako spamu lub nie-spamu. Choć jest prosty w implementacji i wydajny obliczeniowo, to jego skuteczność może być ograniczona przez założenie o niezależności cech. To założenie powoduje, że używana jest nazwa Naive Bayes. Ale mimo owej naiwności funkcje przynależności budowane przez klasyfikator Bayesa są popularnym i często wykorzystywanym narzędziem, zwłaszcza gdy dane są dobrze zbalansowane i cechy są w miarę niezależne.
GENERATYWNA SZTUCZNA INTELIGENCJA to technika tworzenia tekstów (w pierwszych zastosowaniach) oraz dźwięków, obrazów i filmów (w wersjach rozwojowych) na podstawie gromadzenia informacji z dużych baz danych i takiego ich przekształcania przy kontakcie z użytkownikiem, żeby otrzymywał on dedykowany dla niego tekst, dźwięk, obraz lub film spełniający jego wymagania. Jak wszyscy pamiętają ogromnym zainteresowaniem cieszył się udostępniony publicznie ChatGPT, który w odpowiedzi na pytania czy żądania użytkowników tworzył odpowiedzi mające formę dobrze zredagowanych tekstów. ChatGPT był bardzo zaawansowanym dużym modelem językowym, który wykorzystywał model w postaci sieci neuronowej oparty na analizie dużych zbiorów danych tekstowych zawartych w różnych bazach danych. Obecnie tę zasadę uogólniono i nowe systemy w podobny sposób wykorzystują zbiory dźwięków, obrazów albo filmów. Wyniki dostarczane przez narzędzia oparte na generatywnej sztucznej inteligencji są z reguły chętnie akceptowane przez użytkowników, ale wymagają pewnej ostrożności, ponieważ zdarza się, że wśród danych, na których oparty został model mogły być również dane nieprawdziwe, które przenoszą się do generowanej (bardzo przekonującej w formie!) odpowiedzi. Niekiedy także sam proces generowania odpowiedzi, oparty na regułach statystycznych, może prowadzić do nonsensownych wyników, nazywanych wtedy halucynacjami.
HOPFIELDA SIEĆ NEURONOWA była koncepcją, która przełamała impas, jaki zapanował w badaniach nad tworzeniem i stosowaniem sieci neuronowych, obecnie najpopularniejszej metody sztucznej inteligencji po publikacji w 1969 roku przez Marvina Minsky’ego (razem z Seymourem Papertem) książki „Perceptrony”, dezawuującej – jak się potem okazało, niesłusznie – koncepcję najwcześniejszej sieci neuronowej, czyli stworzonego w 1958 roku przez Franka Rosenblatta perceptronu. Książka ta była wybitnie szkodliwa, bo wstrzymała na blisko dziesięć lat finansowanie (i w konsekwencji rozwój) badań sieci neuronowych. Niesłuszność argumentacji Minsky’ego i Paperta wykazał dopiero w swoim doktoracie w 1986 roku Paul Werbos, a spopularyzował w tym samym roku David Rumelhart. Tymczasem wcześniej znalazł się badacz, który miał na tyle silną pozycję naukową (w fizyce, gdzie badał mechanikę kwantową transferów elektronów dalekiego zasięgu), że absolutnie nie musiał się obawiać odium, jakie objęło tematykę sieci neuronowych po „demaskatorskiej” książce Minsky’ego i Paperta. Człowiekiem tym był John Joseph Hopfield. W 1982 roku Hopfield wygłosił na posiedzeniu National Academy of Sciences (Washington) referat, w którym dowiódł, że sieci neuronowe są bardzo ważnym obiektem badań i bardzo silnym narzędziem obliczeniowym.
Sieci Hopfielda bardzo różnią się od wszystkich innych sieci neuronowych. W typowych sieciach unika się z zasady sprzężeń (patrz „Jednokierunkowe sieci”), tymczasem w sieci Hopfielda wszystko ze wszystkim jest sprzężone zwrotnie: każdy neuron wysyła swój sygnał do wszystkich innych neuronów i zwrotnie odbiera ich sygnały wyjściowe na swoich wejściach.
W sieciach Hopfielda – jak w każdym systemie ze sprzężeniem zwrotnym – mają miejsce procesy dynamiczne, które zwykle zmierzają do minimalizacji wartości określanej jako „energia sieci”. Z tej tendencji do minimalizacji „energii” wynika pierwsze ważne zastosowanie takich sieci. Jeśli tak się dobierze wartości współczynników wagowych w neuronach, że owa „energia” będzie odpowiadała jakiejś funkcji, którą chcemy minimalizować, to procesy przejściowe w sieci zmierzają do rozwiązania minimalizującego ową funkcję. Znana jest publikacja Hopfielda i Tanka, w której wykazali oni, że sieć może znajdować rozwiązania słynnego „problemu komiwojażera”. Jest to jeden z problemów interesujących informatyków, ponieważ jego rozwiązanie zwykłymi metodami wymaga setek lat pracy typowych komputerów. Rozwiązanie dostarczane przez sieć Hopfielda bywa suboptymalne (nieco gorsze, od rozwiązania dokładnego), ale za to osiągane jest w bardzo krótkim czasie.
Innym zastosowaniem sieci Hopfielda jest uzupełnianie informacji, gdy dane wejściowe są niekompletne. W literaturze można zobaczyć, jak sieć jest w stanie zrekonstruować poprawny, kompletny i czysty obraz w sytuacji, gdy jako dane wejściowe dostanie obraz niekompletny lub/i silnie zakłócony.
Za pomocą sieci Hopfielda można także budować pamięci asocjacyjne (autoasocjacyjne lub heteroasocjacyjne). W sumie jest to więc bardzo pożyteczne narzędzie sztucznej inteligencji o wielu obszarach możliwych zastosowań.
Funkcja meksykańskiego kapelusza (Mexican Hat function), czasem nazywana funkcją Ricker’a, jest używana w sieciach Hopfielda jako funkcja energetyczna. Funkcja ta jest charakterystyczna ze względu na swój kształt przypominający kapelusz meksykański, stąd nazwa. Ma jedno globalne minimum i jeden punkt siodłowy. Jeśli w kontekście sieci Hopfielda funkcja meksykańskiego kapelusza jest używana jako funkcja energetyczna, której minimalizacja odpowiada osiągnięciu stabilnego stanu sieci w którym energia sieci jest jak najniższa. W praktyce w sieci Hopfielda ta funkcja może pomóc w modelowaniu nieliniowych relacji między neuronami, co może być przydatne w różnorodnych zadaniach, takich jak rozpoznawanie wzorców czy optymalizacja kombinatoryczna.
INICJALIZACJA PROCESU UCZENIA. Metody uczenia używane w sztucznej inteligencji tym się na ogół cechują, że po pokazaniu kolejnego przykładu ze zbioru uczącego dokonuje się poprawy parametrów uczącej się metody – opierając się głównie na wartości błędu popełnionego przez tę metodę. Skoro uczenie polega na stopniowym poprawianiu to uzasadnione jest pytanie, w jaki sposób ten proces rozpocząć? Przy pokazaniu pierwszego elementu zbioru uczącego nie ma przecież żadnych wcześniejszych parametrów, których wartości trzeba by było poprawiać.
W sieciach neuronowych i w innych metodach sztucznej inteligencji wykorzystujących uczenie przyjmuje się, w związku z tym, różne metody nadawania tym parametrom wartości początkowych. Metody te nazywane są inicjalizacją procesu uczenia. W literaturze opisano wiele metod inicjalizacji badając ich zalety i wady, ale najczęściej stosowaną metodą inicjalizacji jest nadanie podlegającym potem uczeniu parametrom wartości przypadkowych. Należy losowo nadawać zarówno dodatnie, jak i ujemne wartości, zważając na to, by nie były to wartości o zbyt dużym module. Ta powściągliwość przy inicjalizacji parametrów zalecana jest z tego powodu, że może się okazać, że proces uczenia będzie zmierzał do nadania owym parametrom wartości o przeciwnym znaku, niż ten, jaki miały w wyniku inicjalizacji. Nie warto więc komplikować procesu uczenia koniecznością długiego „odkręcania” wartości parametrów nietrafnie przyjętych w wyniku procesu inicjalizacji.
JEDNOKIERUNKOWE SIECI NEURONOWE. Większość powszechnie używanych sieci neuronowych, które są bardzo często wykorzystywanym narzędziem sztucznej inteligencji, ma tę właściwość, że sygnały są w nich przesyłane w jedną stronę – od wejścia, do którego dostarczane są dane definiujące zadanie, które ma być rozwiązane, poprzez neurony warstw ukrytych, do wyjścia, które tworzą neurony sygnalizujące znalezione rozwiązanie. W typowych sieciach neuronowych wyklucza się przesyłanie sygnałów w przeciwnym kierunku, czyli nie stosuje się rekurencji. Wprowadzenie do sieci przesyłania sygnałów wstecz, czyli sprzężeń zwrotnych, prowadzi niekiedy do polepszenia działania sieci, ale musi być stosowane z dużą ostrożnością, bo sieci rekurencyjne mogą wykazywać bardzo niekorzystne zachowania – ich działanie może prowadzić do oscylacji sygnałów wyjściowych więc nie wiadomo, jak ustalić rozwiązanie problemu skierowanego do takiej sieci. Czasem te oscylacje wygasają i jakiś ustalony sygnał wyjściowy daje się odczytać, ale często oscylacje trwają w nieskończoność, albo mają narastającą amplitudę, co kończy się przekroczeniem dozwolonych w komputerze wartości liczbowych (tak zwany „overflow”). Co więcej – w sieci neuronowej ze sprzężeniami zwrotnymi są warunki do powstania procesów chaotycznych, zgodnych z teorią Lorenza, a jak wiadomo w systemach chaotycznych wszystko się może zdarzyć.
Dlatego większość popularnie stosowanych sieci neuronowych sprzężeń zwrotnych nie zawiera, co akcentuje polska nazwa „sieci jednokierunkowe”. Warto jednak dodać, że angielski termin oznaczający to samo brzmi lepiej: feedforward, co jest wywiedziony z odwróconej angielskiej nazwy sprzężenia zwrotnego, która – jak wiadomo – brzmi feedback.
KOHONENA SIEĆ NEURONOWA to rodzaj sieci samouczącej się, w której dodatkowo wprowadzono konkurencję. Koncepcja takiej sieci została opisana przez Teuvo Kohonena w książce „Samoorganizujące się odwzorowania” (w skrócie SOM). W kategorii metod samouczących się (czyli zdobywających użyteczną wiedzę bez jakichkolwiek wskazówek zawartych w zbiorze uczącym) jest to narzędzie najczęściej stosowane i przynoszące najlepsze wyniki. Te wyniki są dość specjalnego rodzaju. Inne metody sztucznej inteligencji dążą do tego, żeby dla danych wejściowych znaleźć najlepszą klasyfikację czy kategoryzację, bo z tego wykrycia klasy albo kategorii wynika dla użytkownika jakaś korzyść. Na przykład w metodach rozpoznawania obrazów wykrycie, że analizowanym zdjęciu satelitarnym znajdują się wyrzutnie rakietowe prowadzi do jakichś wniosków i jakichś korzyści. Natomiast w metodach wykorzystujących samouczenie zadanych klas się nie wykrywa, ponieważ w zbiorze uczącym nie było żadnych informacji na ich temat. Mimo tego ograniczenia metody samouczące się tworzą (automatycznie!) użyteczne informacje na temat danych dostarczanych przez użytkownika. Można więc powiedzieć, że o ile typowy proces uczenia (ze zbiorem uczącym zawierającym zarówno dane wejściowe, jak i wzory poprawnych odpowiedzi) wymaga od uczonej metody sztucznej inteligencji nabycia pewnej wiedzy, to proces samouczenia wymaga od niej samodzielnego odkrycia owej wiedzy. Owo odkrycie najczęściej polega na tym, że w dużym zbiorze wielowymiarowych danych wykrywa się fakt, że niektóre z danych są do siebie wzajemnie podobne, zaś od innych danych są wyraźnie różne. Takie skupiska podobnych do siebie danych mogą odpowiadać pewnym nieznanym wcześniej kategoriom sygnałów wejściowych, co ma spore praktyczne znaczenie. Na przykład wykrycie przez sieć Kohonena pewnych skupisk danych dotyczących finansów banków (hiszpańskich) pozwoliło ocenić ich stopień zagrożenia, gdy nastąpił krach i wiele banków zbankrutowało.
Metody sztucznej inteligencji opartych na zasadach samouczenia jest wiele, ale sieci Kohonena wykonują to zadanie szczególnie dobrze ze względu na wykorzystanie zasady konkurencji, która pozwala oszczędzać liczbę neuronów potrzebnych do reprezentacji poszczególnych skupisk. Zaletą sieci Kohonena jest także wykorzystanie podczas uczenia koncepcji sąsiedztwa neuronów w tak zwanej warstwie topologicznej, co podczas korzystania z nauczonej sieci pozwala na stosowanie zasady wnioskowania przez analogię.
LOGIKA ROZMYTA należy do metod sztucznej inteligencji wywodzących się z metodologii symbolicznej. Zanim powstała, systemy komputerowe posługiwały się „twardą” logiką, wywodzącą się z prac Arystotelesa, w której każde stwierdzenie był albo całkowicie prawdziwe, albo fałszywe. Innej możliwości nie było. Na bazie takiej logiki zbudowana została teoria zbiorów, w której każdy obiekt albo całkowicie należał do jakiegoś zbioru – albo był poza zbiorem. Na wartościach logicznych można było wykonywać określone działania (na przykład rozważać ich alternatywę albo koniunkcję), a na zbiorach także zdefiniowane były działania – na przykład można rozważać część wspólną dwóch zbiorów, czyli zbiór tych elementów, które należą (ze względu na różne kryteria) zarówno do jednego, jak i do drugiego zbioru.
Systemy komputerowe korzystające z tradycyjnej logiki bardzo dobrze zdają do dziś egzamin, na przykład w rachunkowości i oczywiście są szeroko stosowane.
Jednak, gdy twórcy systemów sztucznej inteligencji chcieli, żeby ich systemy rozumowały tak, jak człowiek, a ludzie nie postępują zgodnie z taką twardą logiką, bo to rodzi paradoksy. Wyobraźmy sobie, że jakiś przywilej zarezerwowany jest dla osób wysokich. Trzeba więc przyjąć kryterium – kto jest wysoki, a kto nie. Powiedzmy, że za wartość graniczną przyjmiemy 180 cm. Komputer by odrzucił każdego, kogo wzrost jest chociaż o milimetr mniejszy od tego progu. Natomiast człowiek by przyjął jeszcze kogoś, kto ma 175 cm, bo podszedłby do kryterium w sposób zdroworozsądkowy.
W sztucznej inteligencji postawiono właśnie na takie podejście zdroworozsądkowe. Zdefiniowano zbiory rozmyte, do których zaliczane są także obiekty spełniające kryterium w pewnym stopniu. Na przykład rozważając zbiór rozmyty „młodzież”. Przynależność do tego zbioru zależy oczywiście od wieku. Ale nie jest tak, że w pewnej minucie i sekundzie swego życia dziecko staje się młodzieńcem, a po upływie określonej liczby lat, miesięcy, dni, godzin i minut przechodzi do kategorii seniorów. Granice muszą być zdefiniowane, ale są właśnie celowo rozmyte. Więc przynależność człowieka do rozważanego zbioru może wynosić 0% dla pięciolatka, 100% dla dwudziestolatka i ponownie 0% dla siedemdziesięciolatka. Ale na przykład piętnastolatek może mieć przyznany stopień przynależności 60%, a pięćdziesięciolatek 80%.
Na tworzonych zbiorach rozmytych można wykonywać wszystkie operacje przewidziane w teorii zbiorów – ale wyniki są także zbiorami rozmytymi. Podejmując decyzje na ich podstawie posługujemy się więc logiką rozmytą – i jest to obecnie ważny składnik sztucznej inteligencji.
METODY SZTUCZNEJ INTELIGENCJI są bardzo zróżnicowane. W niektórych publikacjach porównuje się sztuczną inteligencję do archipelagu wysp. Ta metafora akcentuje fakt, że metody te są tak bardzo różne, niepodobne do siebie, że nie ma łatwego ani naturalnego przejścia pomiędzy stosowaniem jednej z tych metod – a stosowaniem innej. Każdej z tych metod trzeba się uczyć osobno i każdą trzeba stosować oddzielnie, czasem uzyskując dla tego samego problemu różne rozwiązania. Odróżnia to sztuczną inteligencję od wielu innych dziedzin wiedzy i aplikacji technicznych. Integralna (jak stały ląd) jest na przykład mechanika. Jeśli ktoś opanuje jej podstawy teoretyczne i metody stosowania – to da sobie radę z każdym systemem mechanicznym. Natomiast, jeśli ktoś opanuje do perfekcji jedną metodę sztucznej inteligencji i jej sprawnie używa, to wcale nie znaczy, że uda mu się równie skutecznie korzystać z innej metody.
Metody sztucznej inteligencji można generalnie podzielić na metody symboliczne, wywodzące się z technik wysoce sformalizowanych (na przykład automatyczne dowodzenie twierdzeń matematycznych, systemy ekspertowe, uczące się drzewa decyzyjne) oraz metody całościowe, oparte na podejściu heurystycznym. Dla tych pierwszych metod nie ma odrębnej nazwy, ich zwolennicy uważają, że tylko oni korzystają z metod prawdziwej sztucznej inteligencji i mają prawo do tej nazwy. Pierwszym osiągnięciem metod symbolicznych było stworzenie programu, który automatycznie dowodził twierdzenia matematyczne. Na bazie metod symbolicznych stworzono mnóstwo programów rozwiązujących różne problemy wymagające automatycznego podejmowania decyzji – na przykład programów grających w różne gry (warcaby, szachy, Go, nawet poker), rozwiązujących różne problemy (na przykład w zastosowaniach wojskowych czy medycznych), wyprowadzających różne wzory matematyczne itd. Na początku większość specjalistów interesujących się sztuczną inteligencją wybierało właśnie metody symboliczne, a ich „flagowym narzędziem” był język LISP, służący do przetwarzania formuł symbolicznych. Natomiast później okazało się, że więcej praktycznych problemów udaje się rozwiązać, gdy stosuje się metody całościowe, heurystyczne, często korzystające z naśladowania rozwiązań zaobserwowanych w przyrodzie. Metody te doczekały się nazwy soft computing (obliczenia miękkie?), i tu można zaliczyć zwłaszcza bardzo szeroko stosowane sieci neuronowe, algorytmy genetyczne, metody mrówkowe (i inne oparte na koncepcji inteligencji roju) itp.
NEURON– nieodzowny składnik bardzo licznych metod sztucznej inteligencji odwołujących się do tak zwanych sztucznych sieci neuronowych. Są one metodami realizacji zadań sztucznej inteligencji wzorowanymi na funkcjonowaniu mózgu. Oczywiście działa tu efekt skali, bo w mózgu człowieka jest ponad 100.000.000 biologicznych neuronów, podczas gdy sztuczne sieci neuronowe mają zwykle kilkanaście do kilkudziesięciu sztucznych neuronów. Co więcej, biologiczny neuron realizuje bardzo wiele bardzo złożonych funkcji (głównie biochemicznych i bioelektrycznych) podczas gdy sztuczny neuron, będący podstawowym elementem sztucznej sieci neuronowej, ogranicza się do dwóch czynności: agregacji sygnałów wejściowych i generacji sygnału wyjściowego.
Sztuczne neurony były początkowo realizowane jako dedykowane układy elektroniczne (lub elektromechaniczne w słynnym Perceptronie), ale obecnie całe sztuczne sieci neuronowe są implementowane jako programy symulujące taką sieć na zwykłym komputerze, więc ich byt jest wirtualny. Wspomnieć jednak trzeba, że są obecnie dostępne także rozwiązania sieci neuronowych w postaci układów scalonych, które mogą w całości być wbudowane do skonstruowanego urządzenia (na przykład robota), które dzięki temu zyskuje możliwość korzystania ze sztucznej inteligencji.
Podobieństwa między sztucznym neuronem a biologiczną komórką nerwową sprowadzają się do następujących faktów.
Jeden i drugi neuron ma wiele wejść i uzależnia swoje działanie od wielu sygnałów wejściowych. W biologii wejścia te mają formę mikroskopijnych synaps – złączy komunikujących włókna nerwowe doprowadzające sygnały pochodzące z receptorów (narządów zmysłów) lub z innych neuronów z dendrytami albo z somą komórki nerwowej. Na temat synaps napisano wiele prac naukowych, ponieważ ich złożone biochemiczne i bioelektryczne działanie było badane przez wielu uczonych, z których blisko dziesięciu za te badania otrzymało Nagrodę Nobla. W neuronie sztucznym sprawa jest prostsza – do jego wejść podawane są sygnały pochodzące z zewnątrz (dane wejściowe dla sieci) albo od innych sztucznych neuronów w postaci liczb.
Na wymienionych wyżej wejściach neuronów odbywają się procesy będące kluczem do procesu uczenia. Biologiczny neuron zmienia wielkość i wyposażenie w neuromediator swoich synaps, zaś w neuronie sztucznym w tym miejscu występują parametry nazywane wagami. Zmiana wartości wag jest w sztucznej sieci neuronowej głównym mechanizmem jej uczenia, czyli dostosowywania jej działania do wymagań wynikających ze zbioru uczącego.
Zarówno biologiczna komórka nerwowa, jak i sztuczny neuron mają tylko jedno wyjście. W biologicznym systemie nerwowym wyjściem tym jest włókno nerwowe nazywane aksonem. Impulsy nerwowe przesyłane aksonem są izolowane od otoczenie tak zwaną osłonką mielinową tworzoną przez komórki Schwanna. Ta osłonka nadaje połączeniom między biologicznymi neuronami charakterystyczną białą barwę. Stąd się bierze podział na szarą substancję (ciała samych komórek są szare – na przykład w korze mózgowej) i na białą substancję (na przykład spoidło wielkie łączące półkule mózgowe). W przypadku sztucznego neuronu wyjściem jest wartość liczbowa przekazywana na wejścia innych neuronów tworzących dzięki temu tworzy się sieć albo podawana na zewnątrz jako rozwiązanie stawianego sieci neuronowej zadania.
W neuronie sztucznym o wartości sygnału wysyłanego przez neuron do innych neuronów lub na wyjście sieci (gdzie są interpretowane jako rozwiązanie stawianego sieci zadania) decyduje tak zwana funkcja aktywacji. W użyciu jest wiele różnych funkcji aktywacji, z których każda ma swoje charakterystyczne cechy i zastosowania. Na przykład funkcja sigmoidalna ogranicza wartości wyjściowe neuronu do zakresu (0, 1), co jest przydatne w problemach klasyfikacji binarnej. Funkcje takie jak tanh (tangens hiperboliczny) lub ReLU (Rectified Linear Unit) są popularne w głębokich sieciach neuronowych ze względu na ich zdolność do radzenia sobie z problemem zanikającego gradientu i prowadzą do przyspieszania uczenia.
W zależności od struktury sieci neuronowej i charakterystyki danych, wybór odpowiedniej funkcji aktywacji może mieć istotny wpływ na skuteczność uczenia się i wydajność modelu. Dlatego wybór funkcji aktywacji jest jednym z kluczowych elementów projektowania sieci neuronowych.
OBSZARY DECYZYJNE są wygodnym pojęciem pozwalającym poprawnie zinterpretować, a w wielu wypadkach także poprawić działanie rozważanej metody sztucznej inteligencji, jeśli przypisana jest jej rola klasyfikatora. Taka metoda sztucznej inteligencji musi podejmować różne decyzje, a wejściem dla wypracowania tych decyzji są sygnały pochodzące z wielowymiarowej przestrzeni danych wejściowych. Badając, jakie decyzje klasyfikujące podaje rozważana metoda dla danych pochodzących z różnych obszarów przestrzeni wejściowej – to w tej przestrzeni można wyodrębnić obszary, w których rozważana metoda podejmuje jednakowe decyzje.
Takie obszary, nazywane właśnie obszarami decyzyjnymi, mogą dostarczać wielu przydatnych informacji na temat używanej metody sztucznej inteligencji. Na przykład widząc, że obszary decyzyjne są obszerne (obejmują duże fragmenty przestrzeni sygnałów wejściowych) możemy twierdzić, że użyta metoda sztucznej inteligencji jest słabo selektywna. Z kolei, jeśli obszary decyzyjne związane z poszczególnymi decyzjami są zwarte, skupione – a różnym merytorycznie decyzjom odpowiadają obszary położone daleko od siebie – to mamy prawo twierdzić, że stosowana metoda sztucznej inteligencji jest silnie selektywna, a decyzje podejmowane przy jej pomocy będą z dużym prawdopodobieństwem trafne i wysoce użyteczne.
Przeciwne wnioski trzeba sformułować, gdy ogląd obszarów decyzyjnych ujawnia, że są ona bardzo rozległe a przy tym położone blisko siebie, być może nawet częściowo pokrywające się. Użyteczność wybranej metody sztucznej inteligencji można wtedy uważać za problematyczną, a jej stosowanie wiąże się z dużym ryzykiem podejmowania błędnych decyzji.
Sporo wartościowych informacji można też uzyskać, gdy możliwe jest zdobycie informacji na temat brzegów obszaru decyzyjnego związanego z taką czy inną decyzją sugerowaną na wyjściu rozważanej metody sztucznej inteligencji. Zdobycie takiej informacji jest trudne, bo z zasady przestrzeń sygnałów wejściowych dla większości metod sztucznej inteligencji jest wielowymiarowa i proste intuicje wywodzone z rozważań obszarów w przestrzeni trójwymiarowej mogą się okazać zawodne. Sytuacja jest trudna, ale nie beznadziejna. Stosując bowiem metody rozważania rzutów obszarów decyzyjnych na płaszczyzny umieszczone w różnych miejscach przestrzeni wejściowej możemy uzyskać wiele inspirujących spostrzeżeń. Przydatne także bywają przekroje przestrzeni sygnałów wejściowych płaszczyznami o różnym nachyleniu i różnej lokalizacji. Ale wyobraźnia jest tu nieodzowna.
Jakość obszarów decyzyjnych można oceniać przywołując tak zwaną macierz pomyłek. Jest ona zwykle dwuwymiarową tabelą, gdzie:
• Wiersze reprezentują rzeczywiste klasy w zbiorze danych testowych.
• Kolumny reprezentują klasy podawane przez klasyfikator, którego obszary decyzyjne oceniamy.
Na przecięciu odpowiedniego wiersza i kolumny podawana jest liczba eksperymentów, w których obiekt należący do klasy wskazanej w etykiecie wiersza został rozpoznany jako obiekt należący do klasy podanej w etykiecie kolumny. W przypadku gdy obszary decyzyjne są idealnie dopasowane do zadania – macierz pomyłek jest diagonalna – niezerowe wartości są tylko na przekątnej i pokazują. ile razy używane w badanej metodzie klasyfikacji obszary decyzyjne sprawiły, że decyzja była poprawna.
Im więcej niezerowych wartości pojawi się w macierzy pomyłem poza główną przekątną – tym gorzej trzeba oceniać wytworzone w efekcie uczenia obszary decyzyjne. Macierz tą można użyć także do zrozumienia, które obszary decyzyjne zostały dobrze zbudowane w takcie uczenia klasyfikatora, a które mogą wymagać dalszej optymalizacji.
Ocenę obszarów decyzyjnych można wyrazić ilościowo przez takie wartości liczbowe. jak dokładność precyzja i czułość.
Dokładność to procentowy odsetek poprawnie sklasyfikowanych przypadków w stosunku do całkowitej liczby przypadków. Jest to najprostsza miara wydajności klasyfikatora, ale może być myląca, szczególnie w przypadku niezrównoważonych klas.
Precyzja mierzy odsetek pozytywnych wyników sklasyfikowanych jako prawdziwie pozytywne spośród wszystkich wyników sklasyfikowanych jako pozytywne. Pomaga w identyfikacji skutków ubocznych klasyfikacji fałszywie pozytywnych.
Czułość mierzy odsetek prawdziwie pozytywnych wyników sklasyfikowanych jako pozytywne spośród wszystkich rzeczywiście pozytywnych przypadków. Jest przydatne w identyfikowaniu przesłanki pomijanej przez klasyfikator.
PERCEPTRON to początkowo była nazwa własna najwcześniejszej sztucznej sieci neuronowej stworzonej w 1958 roku przez Franka Rosenblatta. Urządzenie to było na tyle nowatorskie, że pierwszy artykuł naukowy na jego temat nie został opublikowany w żadnym czasopiśmie zajmującym się naukami technicznymi tylko w Psychological Review. Konstrukcja perceptronu składała się z cyfrowego przetwornika obrazu, który miał być rozpoznawany, oraz z zespołu sztucznych neuronów, które uczyły się wykrywać przydatne do rozpoznawania cechy obrazów oraz sygnalizatorów identyfikujących różne obrazy (figury geometryczne, litery, znaki pisma chińskiego itp.).
Budowa perceptronu w latach 50. wymagała rozwiązania wielu problemów, które we współczesnych systemach sztucznej inteligencji rozwiązuje się bardzo łatwo. Po pierwsze cyfrowy przetwornik obrazu, dziś realizowany trywialnie przez użycie matrycy CCD, musiał być zbudowany jako zespół odpowiednio połączonych pojedynczych fotokomórek. Było ich 4.096 i tworzyły kwadratową matrycę o wymiarach 64 x 64 wierszy i kolumn. Po drugie sztuczne neurony tworzące warstwę uczącą się zostały zbudowane w taki sposób, że automatyczne zmiany wag sygnałów wejściowych (co jest do dziś podstawą uczenie sieci neuronowych) były realizowane przez działanie małych silniczków elektrycznych przekręcających odpowiednio gałki potencjometrów (elementów o zmiennej oporności). Sygnałem inicjującym owo przekręcanie był sygnał nagrody albo kary dostarczany do systemu przez człowieka, pełniącego rolę nauczyciela. Uczących się neuronów było 256. Ich wyjścia sterowały sygnalizatorami wskazującymi, do jakiej klasy został zaliczony pokazany obraz.
Najbardziej sensacyjna (ale potem porzucona) była koncepcja Rosenblatta, by wszystkie wymienione wyżej elementy połączyć w sposób losowy. Wynikało to z obserwacji mikroskopowych kory mózgowej, na których wydawało się, że biologiczne neurony są połączone właśnie w sposób przypadkowy. W późniejszych perceptronach, budowanych na całym świecie dla sprawdzenia prawdziwości sensacyjnych wyników opisanych przez Rosenblatta, zrezygnowano z tej losowości połączeń, a współczesne sztuczne sieci neuronowe nazywane często perceptronami, mają budowę warstwową z bardzo uporządkowanymi zasadami łączenia neuronów, stąd ich często spotykana nazwa: Multi-Layer Perceptron (w skrócie MLP).
Praca perceptronu Rosenblatta przebiegała w sposób następujący:
Nauczyciel (w tych eksperymentach był to człowiek) pokazywał do kamery jakiś obraz (na przykład litery A). Sztuczne neurony zgodnie z posiadanymi nastawami swoich wag (tych ustalanych na potencjometrach!) ustalały swoje sygnały wyjściowe będące miarami cech wykrytych na obrazie i wysyłały je do sygnalizatorów. Ten z sygnalizatorów, który został najsilniej pobudzony przez neurony, zapalał się, sygnalizując rozpoznanie. Do sygnalizatorów wcześniej przypisywano nazwy klas, które miały być rozpoznawane: „litera A”, „litera B” itd.
Nauczyciel oceniał, czy rozpoznanie jest poprawne i w zależności od tej oceny wysyłał do uczących się neuronów sygnał nagrody albo kary.
Dążąc do zdobycia nagrody i uniknięcia kary neurony tak zmieniały wartości swoich wag, żeby utrwalać to, co sprzyjało nagrodzie, a unikać tego, co prowadziło do kary. Efekt, jaki był obserwowany to malejący procent błędów popełnianych przez perceptron przy rozpoznawaniu. Zwykle procent ten nie spadał do zera, bo dla utrudnienia pokazywano także obrazy w jakimś stopniu zmienione – litery pisane ręcznie w sposób nieco zniekształcony, figury geometryczne o różnych rozmiarach i różnych proporcjach, więc po procesie uczenia (który mógł trwać dość długo) perceptron utrzymywał pewien stopień niedoskonałości swojego działania, nazywany czasem błędem rezydualnym, ale z punktu widzenia potencjalnych zastosowań to go nie dyskwalifikowało.
Już opisany wyżej efekt skutecznego uczenia sieci neuronowej różnych umiejętności (rozpoznawane były różne zbiory obrazów) powodował, że prace Rosenblatta były cytowane i naśladowane na całym świecie, a wraz z nimi rozpowszechniała się nazwa „perceptron” przypisywana do różnych systemów opartych na działaniu sztucznych sieci neuronowych.
Ale Rosenblatt na tym nie poprzestał i przeprowadzał dalsze eksperymenty które weszły na trwale do podstaw sztucznej inteligencji, na przykład udowodnił, że perceptron uczony przez złego nauczyciela (takiego, który czasem karze za dobrą odpowiedź albo nagradza za złą) osiąga prawdopodobieństwo poprawnej odpowiedzi większe, niż mylący się (losowo) nauczyciel – i co więcej – perceptron uczony przez złego nauczyciela osiąga błąd rezydualny mniejszy, niż ten, który był cały czas dobrze uczony!
Można by było przytoczyć jeszcze wiele ciekawostek związanych z perceptronem, ale nie ma tu miejsca na ich prezentację. Warto ich jednak poszukać w literaturze.
ROZPOZNAWANIE WZORCÓW było najwcześniej zdefiniowaną metodą sztucznej inteligencji, której zresztą wtedy wcale tak nie nazywano, bo nazwa „sztuczna inteligencja” została ustalona na konferencji w Dartmouth College w 1956 roku, podczas gdy automatyczne rozpoznawanie różnych wzorców (głównie obrazów) było rozwijane od połowy lat 40.
Miało to związek z analizą obrazów pochodzących ze zdjęć lotniczych, a potem satelitarnych, których było mnóstwo, a które trzeba było przeglądać głównie pod kątem potrzeb wojskowych (szpiegowskich). Dlatego w Polsce, do której w latach 60. duża część światowej literatury naukowej docierała w postaci rosyjskich tłumaczeń (książki zachodnie ze względu na kursy walut były koszmarnie drogie, a rosyjskie sprzedawano dosłownie za grosze) wielu badaczy nazywało prace dotyczące rozpoznawania – rozpoznawaniem obrazów (tak jak w książkach rosyjskich). Dopiero później dostrzeżono, że dokładnie te same metody uczenia i klasyfikacji mogą być z równym powodzeniem stosowane do rozpoznawania obrazów, ale także dźwięków (na przykład mowy), sygnałów biomedycznych (na przykład EKG), danych geofizycznych (przy rozpoznawaniu złóż), danych gospodarczych (przy ocenie zdolności kredytowej) i wielu innych. Rozwinęła się więc dziedzina rozpoznawania wzorców, która opiera się na metodach uczenia maszynowego, ale obejmuje także problematykę wstępnego przetwarzania wzorców, żeby wyodrębnić ich cechy, na podstawie których owo rozpoznanie może być dokonane.
Generalnie rozpoznawanie wzorców składa się z trzech etapów. Pierwszy polega na pozyskaniu sygnałów, które mają być rozpoznawane. Może to być kamera i narzędzia wstępnego przetwarzania (na przykład wydobywania konturów) w przypadku rozpoznawania obrazów, mikrofon i analizator widma dźwięku przy rozpoznawaniu mowy, aparatura medyczna albo geofizyczna – zależnie od potrzeb. Drugim etapem jest wydobycie z pozyskanych sygnałów ich cech. Pojęcie cechy jest bardzo szerokie i zależne od zastosowania rozważanej techniki rozpoznawania wzorców, ale dąży się do tego, żeby można było zarejestrowany sygnał utożsamić z punktem w przestrzeni cech.
Jeśli cechy są dobrze dobrane, to dla wzorców należących do jednej klasy (wymagających takiej samej decyzji) można w przestrzeni cech wykryć skupisko reprezentujących je punktów – oddzielne od skupisk związanych z innymi klasami. Decyzję o rozpoznaniu nieznanego wzorca można podejmować na podstawie jego odległości od skupisk wszystkich rozważanych klas (robią to tak zwane minimalnoodległościowe metody rozpoznawania), ale można także budować (i poddawać uczeniu) formuły tak zwanych funkcji przynależności wzorca do każdej rozważanej klasy, przy czym decyzję podejmuje się znajdując tę funkcję przynależności, która ma największą wartość.
SAMOUCZENIE to technika sztucznej inteligencji pozwalająca automatycznie wykryć w zbiorze wielowymiarowych danych istnienie pewnych cech owych danych – w szczególności występowanie skupisk danych mających charakter pewnych nieznanych wcześniej wzorców. Podstawy metod samouczenia wykrył kanadyjski neuropsycholog Donald Hebb, stąd podstawowe metody samouczenia są często określane terminem Hebbian Learning. Hebb wykrył opisaną przez siebie technikę samouczenia badając zachowania piesków (szczeniaków) uczących się samodzielnie zachowania w różnych sytuacjach i w różnych środowiskach. Teoria samouczenia Hebba oparta jest na pojęciu tak zwanych engramów i jest szeroko rozbudowywana w kierunku interpretacji pewnych procesów psychologicznych, ale w kontekście zastosowania w sztucznej inteligencji redukuje się ją do idei wzmacniania istniejących – początkowo losowych, wynikających z inicjalizacji – związków między elementami podejmującymi decyzję (najczęściej wektorami wag sztucznych neuronów) a wektorami sygnałów wejściowych podawanych do samouczącego się systemu. W sytuacji, gdy elementy podejmujące decyzję działają niezależnie – możliwe jest, że do rozpoznawania pewnej sytuacji wejściowej przypisanych zostanie wiele takich elementów, co jest niekorzystne, bo może ich zabraknąć do rozpoznawania innej sytuacji wejściowej i system będzie w swoim działaniu silnie zubożony. Taki system z niezależnym samouczeniem wielu neuronów nazywa się „neuronowym gazem” i bywa on w sztucznej inteligencji stosowany wyłącznie do uzyskania wstępnej orientacji w naturze rozwiązywanego problemu. Znaczącym usprawnieniem metody samouczenia było wprowadzenie do zbioru reguł sterujących samouczeniem efektu konkurencji. Takie systemy samouczące się z wbudowanym efektem konkurencji powodują, że do każdej sytuacji, z jaką taki system może się zetknąć przypisany zostanie tylko jeden element samouczący (tylko jeden neuron). Reguła samouczenia z konkurencją, uzupełniona jeszcze o bardzo użyteczne pojęcie sąsiedztwa, jest podstawą funkcjonowania sieci Kohonena, opisanych w innym punkcie tego wykazu.
Teksty stanowią większość informacji gromadzonych we współczesnych systemach informatycznych, nic więc dziwnego, że od początku rozwoju sztucznej inteligencji wielu badaczy koncentrowało swoje wysiłki na tworzeniu i doskonaleniu metod sztucznej inteligencji dedykowanych do różnych zadań związanych z tekstami. Tendencję tę zapoczątkował Alan Turing, angielski matematyk, który jako pierwszy w artykule Computing Machinery and Intelligence (Maszyny obliczeniowe i inteligencja) opublikowanym w 1950 w czasopiśmie Mind zasugerował, że komputery mogą nie tylko dokonywać obliczeń na liczbach (tym się w owym czasie wyłącznie zajmowały), ale także mogą operować na koncepcjach i pojęciach, czyli realizować to, co obecnie wchodzi w zakres sztucznej inteligencji. Turing zaproponował także, by dla empirycznego badania inteligencji maszyn stosować test polegający na tym, że pewna grupa arbitrów prowadzi korespondencję tekstową (nie ujawniającą powierzchowności rozmówcy) z pewną liczbą podmiotów, po czym ma wydać opinię, czy rozmówca był człowiekiem, czy komputerem wyposażonym w sztuczną inteligencję. Jeśli arbiter orzeknie, że rozmawiał z człowiekiem, a w rzeczywistości był to komputer – to brak logicznych podstaw do tego, żeby odmawiać komputerowi inteligencji, jakkolwiek jest to bez wątpienia inteligencja sztuczna.
Wyzwanie, jakie zawierał ów szeroko znany „test Turinga” powodowało, że od samego początku rozwoju sztucznej inteligencji narzędzia służące do różnej obróbki tekstu. Powstała nawet w obszarze sztucznej inteligencji poddziedzina określana jako NLP (Natural Language Processing – przetwarzanie języka naturalnego), w ramach której rozwiązywane są różne problemy związane właśnie z tekstami. Najbardziej zauważalne są sukcesy w zakresie automatycznego przekładu tekstów (a także głosowych wypowiedzi, ale tym się tutaj nie zajmujemy) praktycznie z dowolnego języka na dowolny inny język.
Użyteczne są systemy, które zamieniają informacje pozyskiwane z baz i banków danych na teksty bardziej zrozumiałe i łatwiejsze do przyswojenia przez użytkownika. Systemy sztucznej inteligencji mogą dokonywać scalania informacji pochodzących z różnych źródeł, ekstrakcji potrzebnych informacji rozsianych w różnych źródłach, mogą także zajmować się gromadzeniem, wyszukiwaniem i odzyskiwaniem informacji.
Na bazie metod operowania tekstami przez systemy sztucznej inteligencji powstały i rozwinęły się systemy prowadzące z ludźmi rozmowy na różny temat (tak zwane boty). Mogą one w szczególności zastępować ludzi w różnych serwisach informacyjnych. Do tej grupy należą między innymi systemu generatywnej sztucznej inteligencji, opisane w oddzielnym haśle tego alfabetu.
UCZENIE MASZYNOWE jest najsilniejszym napędem rozwoju technik sztucznej inteligencji. Dzięki rozwojowi technik uczenia – w różnych formach: sieci neuronowych, rozpoznawania wzorców, uczących się drzew decyzyjnych i wielu innych. Najczęściej uczenie maszynowe realizowane jest w ten sposób, że gromadzony jest tak zwany zbiór uczący, zawierający przykłady zadań, które powinny być rozwiązywane przez uczącą się metodę sztucznej inteligencji – wraz z prawidłowymi rozwiązaniami. Algorytm uczący dostarcza owe przykłady na wejście uczonej metody sztucznej inteligencji i konfrontuje odpowiedź uzyskaną od tej metody ze wzorcem prawidłowej odpowiedzi, który także znajduje się w zbiorze uczącym. Na podstawie rozbieżności między tym, co powinno być (bo jest zapisane w zbiorze uczącym), a tym co jest (bo dostarczyła to podlegająca uczeniu metoda sztucznej inteligencji) wyznaczany jest błąd. Zwykle błąd oznacza coś złego, ale nie w przypadku uczenia maszynowego, gdyż tylko na podstawie błędu algorytm uczący (nazywany często skrótowo nauczycielem) może dokonać korekty parametrów nauczanej metody sztucznej inteligencji, doskonaląc jej działanie. Przypadki, kiedy po pokazaniu przykładu ze zbioru uczącego błąd nie występuje, są w istocie dla procesu uczenia stracone.
W miarę postępu procesu uczenia błędy występują coraz rzadziej, niemniej rzadko doprowadza się proces uczenia, aż do tego momentu, kiedy błędy już nie występują. Wynika to z faktu, że celem uczenia nie jest przyswojenie przez uczoną metodę sztucznej inteligencji wiedzy na ten temat, jak powinny być rozwiązywane zadania ze zbioru uczącego (bo dla nich poprawne rozwiązania przecież znamy), lecz dąży się do tego, żeby sieć potrafiła zdobytą wiedzę uogólniać, to znaczy, żeby rozwiązywała także inne zadania, tego samego rodzaju, jak te w zbiorze uczącym, ale jednak inne.
Dlatego w procesie uczenia pozostawia się zwykle na boku pewną ilość (typowo 20%) elementów zbioru uczącego, których do samego uczenia się nie wykorzystuje tworząc tak zwany podzbiór walidacyjny. Po każdej epoce (epoką nazywamy pokazanie wszystkich roboczych elementów podzbioru używanego do uczenia i dokonanie wszystkich poprawek wynikających z zaobserwowanych błędów) sprawdza się, jak sieć sobie radzi z rozwiązywaniem tych przykładów z podzbioru walidacyjnego.
Początkowo w miarę postępu procesu uczenia maleje średni błąd popełniany przez uczoną metodę sztucznej inteligencji zarówno na podzbiorze danych wykorzystywanych do uczenia, jak i na podzbiorze danych walidacyjnych (chociaż dla tych drugich średni błąd jest zwykle większy, bo tam metoda musi zastosować uogólnienie zdobywanej wiedzy).
Jednak w prawie każdym procesie uczenia nadchodzi moment, kiedy dalszemu zmniejszaniu błędu popełnianego na podzbiorze używanym do uczenia towarzyszy wzrost średniego błędu wykrywanego przy pokazywaniu obiektów ze zbioru walidacyjnego. Wynika to z faktu, że uczona metoda sztucznej inteligencji zaczyna w pewnym momencie nadmiernie dopasowywać swoje działania nie tylko do ogólnej prawidłowości zawartej w zbiorze uczącym, ale także do osobliwości zawartych w danych podzbioru uczącego. W takiej sytuacji jej zdolność do uogólniania wiedzy się pogarsza. Takie zjawisko nazywa się czasem przeuczeniem. Należy wtedy przerwać uczenie i – jeśli to możliwe – to cofnąć parametry nauczanej metody sztucznej inteligencji do ostatniej epoki, w której jeszcze obserwowano pożądane zmniejszanie błędu na podzbiorze walidacyjnym.
Obecnie coraz więcej zastosowań sztucznej inteligenci wykorzystuje tak zwane uczenie głębokie (deep learning). Jest to dziedzina sztucznej inteligencji, która skupia się głównie na budowie i trenowaniu sieci neuronowych, chociaż są podejmowane próby przeniesienia tej metodologii do innych metod sztucznej inteligencji wykorzystujących uczenie. Uczenie głębokie polega na automatycznym budowaniu reprezentacji danych poprzez wielowarstwowe hierarchie cech. W odróżnieniu od tradycyjnych metod uczenia maszynowego, metody sztucznej inteligencji wykorzystujące uczenie głębokie wykorzystuje wiele warstw przetwarzania informacji, które pozwalają na efektywne wykrywanie wzorców i cech złożonych danych, takich jak obrazy, dźwięki czy tekst. Uczenie głębokie przyczyniło się do znaczących osiągnięć w wielu dziedzinach, w tym w rozpoznawaniu obrazów, przetwarzaniu języka naturalnego, genetyce, medycynie i wielu innych. To zaawansowane podejście do uczenia maszynowego pozwoliło na stworzenie modeli o wyjątkowej zdolności do generalizacji i adaptacji do różnych zadań.
WARSTWOWA BUDOWA TYPOWEJ SIECI NEURONOWEJ jest jednym z ważnych uwarunkowań przy tworzeniu tych popularnych narzędzi sztucznej inteligencji. Początkowe próby budowy sieci neuronowych naśladujących połączenia rzeczywistych neuronów w mózgu (połączenia losowe – na przykład w perceptronie Rosenblatta) wprawdzie skutecznie działały dowodząc, że ważny jest sposób uczenia, a nie struktura sieci – ale były niepraktyczne.
Przyjęto więc budowę regularną, zakładającą, że sieć składa się z warstw. Jako pierwsza występuje warstwa wejściowa, do której wprowadzane są informacje stanowiące przesłanki do rozwiązania zadanie postawionego przed siecią. Neurony warstwy wejściowej nie przetwarzają docierających do nich sygnałów ani nie podlegają uczeniu, dlatego przy podawaniu informacji o liczbie warstw w sieci tej warstwy się nie wlicza. Na drugim końcu sieci jest warstwa wyjściowa. Neurony tej właśnie warstwy wytwarzają sygnały wyjściowe stanowiące odpowiedź sieci na postawione zadanie. Czasem ta jedna warstwa wystarcza do uzyskania narzędzia sztucznej inteligencji o wymaganych właściwościach. Odpowiednia interpretacja sygnałów wyjściowych neuronów warstwy wyjściowej pozwala uzyskać rozwiązanie zadania, które postawiono sieci. Neurony warstwy wyjściowej podlegają uczeniu, więc są wliczane do liczby warstw przy określaniu, czy klasyczna sieć jest jedno- dwu- lub trójwarstwowa.
Pomiędzy warstwą wejściową i wyjściową mogą (ale nie muszą!) występować tak zwane warstwy ukryte. Nazywa się je w taki sposób, ponieważ ich aktywności nie da się bezpośrednio obserwować ani na wejściu, ani na wyjściu całej sieci. W typowych sieciach neuronowych może występować jedna albo dwie warstwy ukryte. Więcej nie potrzeba, bo można wykazać, że przy użyciu sieci trójwarstwowej (dwie warstwy ukryte plus warstwa wyjściowa) można w wyniku uczenia uzyskać dowolną formę przekształcania sygnałów wejściowych w sygnały wyjściowe, czyli zbudować sieć rozwiązującą dowolne zadanie. Ale – jak wspomniano – czasem (przy rozwiązywaniu łatwych zadań) wystarcza jedna warstwa ukryta, a czasem sama tylko warstwa wyjściowa.
Trzeba pamiętać, że im więcej używa się warstw ukrytych i im więcej neuronów jest w tych warstwach – tym większy jest potencjał sieci. Można powiedzieć, że inteligencję sieci można zwiększać poprzez użycie większej liczby neuronów ukrytych. Jednak użycie sieci o większej inteligencji zwiększa trudności związane z jej uczeniem.
Wprowadzenie sieci warstwowych bardzo ułatwiło ich realizację, Dotyczy to realizacji zarówno w formie programów symulujących działanie sieci na typowych komputerach (program składa się z dwóch pętli – jednej „chodzącej” po kolejnych warstwach i drugiej „przemiatającej” kolejne symulowane neurony w warstwie) jak i realizacji w postaci układów elektronicznych – zwłaszcza scalonych. Opracowano także bardzo efektywne metody uczenia sieci neuronowych odwołujące się do ich warstwowej struktury. Typowo stosowana metoda uczenia nazywana backpropagation (wstecznej propagacji błędów) wykorzystuje warstwową strukturę sieci do tego, żeby ustalać, w jaki sposób należy zmieniać wagi we wszystkich neuronach.
Problem polega na tym, że do uczenia neuronu, czyli do zmiany wag na jego wejściach, potrzeba informacji o tym, jaki błąd ten neuron popełnił przy przetwarzaniu kolejnego przykładu ze zbioru uczącego. Taką informację w naturalny sposób można uzyskać jedynie dla neuronów w warstwie wyjściowej – bo ich sygnały wyjściowe można wprost porównać z wzorcowymi danymi wyjściowymi zawartymi w przykładach wchodzących w skład zbioru uczącego. Do neuronów ukrytych (które także „zawiniły”, że pojawił się błąd) – trzeba mieć metodę przesyłania tych błędów wstecz – właśnie za pomocą metody backpropagation.
Obecnie coraz większe znaczenie w wielu zadaniach, zwłaszcza w rozpoznawaniu, mają konwolucyjne sieci neuronowe (CNN), które mają wiele warstw ukrytych. Charakteryzują się one wykorzystaniem warstw konwolucyjnych, które są w stanie automatycznie wykrywać cechy rozpoznawanych danych wejściowych na różnych poziomach abstrakcji. W przypadku używania takich sieci do rozpoznawania obrazów owymi cechami mogą być krawędzie, tekstury czy wzorce. Dzięki zastosowaniu operacji konwolucji oraz warstw poolingowych, CNN są w stanie efektywnie uczyć się hierarchii cech obrazów, co przyczynia się do ich skuteczności w zadaniach związanych z rozpoznawaniem obiektów, klasyfikacją czy segmentacją obrazów. Dodatkowo, techniki takie jak transfer learning pozwalają wykorzystać wytrenowane modele CNN do zadań, w których dostępne są ograniczone zbiory danych. CNN pełnią kluczową rolę w wielu nowatorskich aplikacjach, takich jak rozpoznawanie twarzy, autonomiczne pojazdy czy medycyna obrazowa, przyczyniając się do rozwoju sztucznej inteligencji i automatyzacji w różnych dziedzinach życia.
X przywołuje na myśl wymianę fragmentów tak zwanych chromosomów w metodach sztucznej inteligencji bazujących na koncepcji tak zwanych algorytmów genetycznych.
Algorytmy genetyczne są metodą sztucznej inteligencji pozwalającą na znalezienie optymalnych rozwiązań w złożonych sytuacjach wymagających podjęcia wielu decyzji. Optymalizacja może być także prowadzona za pomocą innych metod, nie wykorzystujących sztucznej inteligencji, ale jest wtedy bardzo kłopotliwa obliczeniowo i może prowadzić do rozwiązań suboptymalnych – nie osiąga się bowiem maksimum globalnego, czyli zestawu decyzji gwarantującego najlepsze rozwiązanie, tylko maksimum lokalne – rozwiązanie, którego każda zmiana powoduje pogorszenie wyniku, ale nie jest to wynik najlepszy z możliwych.
Idea algorytmu genetycznego polega na tym, że decyzję, która ma być podjęta, rozpisuje się w postaci tak zwanego chromosomu. W chromosomie można przewidzieć miejsca, w których zapisuje się składniki podejmowanej decyzji. W ogólnym przypadku mogą to być różne składniki, na przykład kwoty, które zamierza się wydać na taki lub inny cel – ale najprostszy jest chromosom binarny, w którym na określonych pozycjach wpisuje się 1 (tak, tę czynność wykonam) albo 0 (nie, tej czynności nie wykonam).
Następnie generuje się całe pokolenie „osobników”, a każdego z nich wyposaża się na początku w inny chromosom, na etapie początkowym losowo zapełniony. Następnie sprawdza się, jaki skutek przyniosła by decyzja o wykonaniu czynności zgodnie z chromosomem każdego „osobnika”. Jedne „osobniki” otrzymają lepsze oceny, inne gorsze, ale początkowo wszystkie są dość marne. Trzeba więc przejść do wygenerowania następnego pokolenia. W tym celu losuje się „osobniki”, które będą mogły wygenerować potomka. Działa tu zasada ruletki: im większy sukces odniósł „osobnik”, tym większe jest prawdopodobieństwo wylosowania właśnie jego na „rodzica” potomka, który wejdzie w skład następnego pokolenia.
Dwa wylosowane „osobniki rodzicielskie” płodząc potomków (zawsze dwóch) wymieniają się fragmentami swoich chromosomów. Oba chromosomy zostają przecięte w losowo wybranym miejscu i następuje ich wymiana według schematu przypominającego literę X. Pierwszy potomek otrzymuje pierwszą połowę chromosomu jednego „osobnika rodzicielskiego” i drugą połowę chromosomu drugiego „rodzica”, drugi potomek – na odwrót.
Z potomków tworzy się nowe pokolenie i cała procedura się powtarza.
Od czasu do czasu potomek może dodatkowo mieć zmodyfikowany swój chromosom na skutek losowej mutacji. W chromosomie binarnym w losowym miejscu zamienia się 0 na 1 lub odwrotnie. Ale mutacje stosuje się rzadko, natomiast krzyżowanie chromosomów to reguła.
Okazuje się, że połączenie w algorytmie genetycznym procesu wyboru losowego z procesem promowania sukcesów prowadzi do tego, że w kolejnych pokoleniach „osobniki” mają coraz lepsze wyniki i w pewnym momencie można tę symulowaną ewolucję przerwać, bo w którymś pokoleniu trafia się „osobnik” który ma tak dobre oceny, że podejmując decyzję według jego chromosomu dostaje się rozwiązanie optymalne.
Y jest literą, od której nie rozpoczyna się żadne polskie słowo, więc początkowo trudno było przypisać do tej litery hasło w tym „alfabecie sztucznej inteligencji”. Natomiast charakterystyczny rozwidlony kształt tej litery pozwolił powiązać ją z często występującą w rozwoju sztucznej inteligencji sytuacją, że z jednego wspólnego pnia wyłaniały się dwie (a czasem więcej niż dwie) drogi rozwojowe odmiennych (chociaż pokrewnych) metod sztucznej inteligencji, które zyskiwały swoich zwolenników i które pokrywały zapotrzebowania w odmiennych polach zastosowań. Najbardziej znaną taką bifurkacją było powstanie na bazie sztucznych sieci neuronowych dwóch gałęzi: sieci uczących się pod nadzorem (czasem nazywanych perceptronami), oraz sieci samouczących się, które rozwiązania przywiązane do określonych danych wejściowych muszą ustalić same.
Sieci uczące się pod nadzorem (czasem nazywane także sieciami uczonymi z nauczycielem) wymagają tego, by w zbiorze uczącym znajdowały się przykłady zawierające zarówno dane wejściowe (przesłanki) dla uczącego się systemu, jak i wzorcowe rozwiązania (wymagane wnioski). Sieć ucząca się według tego schematu dąży do tego, by w swojej strukturze (poprzez wartości wag tworzących ją neuronów) odwzorować regułę, jaka wiąże owe przesłanki z wnioskami. Dobrze nauczony perceptron potrafi rozwiązywać zadania jedynie podobne do tych, jakie były zawarte w zbiorze uczącym, zatem jest zdolny do uogólniania wiedzy nabytej w czasie uczenia. Możliwa jest tu zarówno interpolacja (gdy nowe zadania są bardzo podobne do tych w zbiorze uczącym) jak i ekstrapolacja.
Sieci samouczące się otrzymują w zbiorze uczącym jedynie dane wejściowe, ale nie dostają żadnej wskazówki, co z tymi danymi trzeba zrobić. Jednak reguły samouczenia wprowadzone początkowo przez Donalda Hebba i Teuvo Kohonena pozwalają na ich mądre grupowanie. Grupowanie to umożliwia wstępną orientację w wielowymiarowych zbiorach danych, co jest użyteczne przy ich eksploracji.
Sieci Hebba, nazwane na cześć psychologa Donalda Hebba, są modelem samouczenia w sztucznych sieciach neuronowych, który inspirowany jest neurobiologią i obserwacjami na temat sposobu, w jaki neurony komunikują się w mózgu. Podstawową zasadą sieci Hebba jest to, że połączenia między neuronami wzmacniają się, gdy neuron wysyłający sygnały skutecznie steruje neuronem odbierającym sygnały. Jeśli dwa neurony aktywują się równocześnie, to połączenie między nimi wzmacnia się, co prowadzi do zwiększonej skuteczności przekazywania sygnału. Jednakże, jeśli neurony aktywują się niezależnie, to połączenie słabnie. Sieci Hebba mogą być stosowane w różnych zadaniach uczenia maszynowego, w tym w rozpoznawaniu wzorców, klasyfikacji, czy uczeniu nienadzorowanym. Ich zaletą jest zdolność do samoorganizacji i uczenia się bez nadzoru, co sprawia, że są one użyteczne w modelowaniu zjawisk złożonych i nieprzewidywalnych. Pomimo swojej prostoty, sieci Hebba mają ważne zastosowania zarówno w badaniach naukowych, jak i w praktycznych aplikacjach inżynierskich.
ZBIÓR UCZĄCY to niezbędny składnik wszystkich metod sztucznej inteligencji, które wykorzystują uczenie maszynowe. Jest on konieczny przy korzystaniu z sieci neuronowych, bywa wykorzystywany w technice uczących się drzew decyzyjnych i był najwcześniej stosowny w metodach rozpoznawania wzorców. Zbiór uczący składa się najczęściej z przykładów zadań poprawnie rozwiązanych, używanych do tego, żeby odpowiednio – w toku procesu automatycznego uczenia – dostroić parametry uczącego się systemu sztucznej inteligencji, który powinien wydobyć wiedzę zawartą w tych przykładach, a po zakończeniu procesu uczenia powinien wiedzę te stosować do rozwiązywania innych przykładów, podobnych do tych ze zbioru uczącego, ale nie identycznych (przy uczeniu wymagana jest zdolność do uogólniania zdobytej wiedzy).
Wyżej podany opis odpowiada najczęściej stosowanej technice uczenia nadzorowanego, nazywanego także uczeniem z nauczycielem, chociaż obecnie nauczyciela jako człowieka nie ma. Nauczyciel człowiek był wykorzystywany przy uczeniu pierwszych perceptronów w latach 60. i 70. XX wieku, ale obecnie jego rolę przejmuję algorytm pobierający przykłady ze zbioru uczącego, przesyłający dane wejściowe do uczącej się metody sztucznej inteligencji i wprowadzający potrzebne korekty w jej parametrach w przypadku, gdy jej działanie, skonfrontowane z wzorcem poprawnego działania zawartym w zbiorze uczącym, ujawnia błąd.
Od powyższego schematu odmienna jest struktura i wykorzystanie zbioru uczącego w przypadku stosowania samouczących się sieci neuronowych, gdyż wtedy wzorca poprawnej odpowiedzi nie ma.
Zbiór uczący powinien być maksymalnie liczny, ponieważ proces uczenia metod sztucznej inteligencji jest w istocie procesem przekazywania wiedzy zawartej w zbiorze uczącym do parametrów decydujących o działaniu nauczanej metody. Ponieważ zbiór uczący zawiera zawsze ograniczoną liczbę przykładów – w trakcie uczenia (które może trwać długo!) jest wykorzystywany wielokrotnie. Jednorazowe zaprezentowanie wszystkich przykładów zbioru uczącego i wprowadzenie wszystkich korekt w parametrach nauczanej metody sztucznej inteligencji nazywa się epoką. Do skutecznego osiągnięcia celu nauczania potrzeba zwykle wielu tysięcy epok.
Obok zbioru uczącego w systemach sztucznej inteligencji wykorzystujących zasadę uczenia maszynowego wykorzystuje się także zbiór testowy i zbiór walidacyjny. Są one wykorzystywane do oceny wydajności modelu i do zapewnienia jego zdolności do generalizacji.
Zbiór walidacyjny jest używany podczas procesu uczenia do zapobiegania przeuczeniu (overfitting). Pozwala to uniknąć zbytniego dopasowania uczącej się metody sztucznej inteligencji do danych treningowych i poprawić jego zdolność do generalizacji wiedzy.
Z kolei zbiór testowy jest używany do oceny efektywności działania na danych, które wcześniej nie były używane przez uczącą się metodę sztucznej inteligencji podczas treningu ani jako dane uczące, ani jako dane walidacyjne. Jest to potrzebne żeby przewidzieć, co się stanie, gdy w trakcie roboczej eksploatacji podawane będą do nauczonej metody sztucznej inteligencji całkiem nowe dane. Zbiór uczący, który jest używany do treningu uczącej się metody sztucznej inteligencji, nie zawsze jest wystarczającym miernikiem jej skuteczności na n
prof. zw. dr. hab. inż. Ryszard Tadeusiewicz
Akademia Górniczo-Hutnicza im. Stanisław Staszica w Krakowie