Burzliwy rozwój sztucznej inteligencji w ostatnich
latach spowodował , że zdążyliśmy się już przyzwyczaić do wykorzystywania
takich efektywnych programów komputerowych jak programy systemów eksperckich
, programy sieci neuronowych , programy logiki rozmytej i programy
algorytmu genetycznego . Przykładem tych pierwszych jest chociażby EXSYS
RuleBook Version 1.1 firmy MultiLogic , Inc. , tych drugich - Qnet Version
2.1 firmy Vesta Services , Inc. , tych trzecich - FIDE Version 2.0 firmy
Aptronix , Inc. , tych czwartych - Genetic Object Designer Version 1.0
firmy Man Machine Interfaces , Inc. Chęć dalszego zwiększania efektywności
tych programów komputerowych skłania projektantów i producentów do dostarczania
wyrobów kojarzących w sobie zalety systemów eksperckich , sieci neuronowych
, logiki rozmytej i algorytmu genetycznego . I tak , zalety logiki rozmytej
i sieci neuronowych kojarzy w sobie program FuzzyTech for Business Version
4.22 firmy INFORM GmbH , zalety sieci neuronowych i algorytmu genetycznego
- program NeuroGenetic Optimizer Version 2.1 firmy BioComp Systems , Inc.
, zalety systemów eksperckich i logiki rozmytej - program EXSYS Professional
Version 5.0 firmy MultiLogic , Inc. , a zalety systemów eksperckich , logiki
rozmytej i algorytmu genetycznego - program XpertRuleKBS Version 3.63 firmy
Attar Software Ltd .
Na pierwszy rzut oka nieodparcie nasuwa się przypuszczenie
, że o możliwościach tych wysoce efektywnych programów komputerowych najlepiej
porozmawiać na przykładzie XpertRuleKBS . Bliższe przyjrzenie się tym programom
sugeruje jednak kojarzenie systemów eksperckich i logiki rozmytej omówić
na przykładzie programu EXSYS Professional , a XpertRuleKBS zarezerwować
sobie jedynie dla omówienia skojarzenia systemu eksperckiego z algorytmem
genetycznym . Zacząć jednak należy od programu FuzzyTech for Business ,
w którym logika rozmyta i sieci neuronowe są skojarzeniem bodaj najlepiej
wyłożonym . Jasnością swoich wywodów niewiele ustępuje mu EXSYS Professional
. Mniej przekonywująco na tym tle prezentują się XpertRuleKBS i NeuroGenetic
Optimizer .
Kojarzenie logiki rozmytej z sieciami neuronowymi
wynika z chęci wyeliminowania tą drogą tego , co stanowi słabą stronę logiki
rozmytej . Albowiem "ręczne" wyprowadzanie reguł if-then , z powodzeniem
dające w krótkim czasie proste rozwiązania w przypadku wielu aplikacji
, w przypadku wiedzy zawartej w dużych zbiorów danych , wymaganych dla
opisu pożądanego zachowania się systemu we wielu rzeczywistych aplikacjach
, staje się praktycznie niemożliwe. Natomiast sieci neuronowe trenowane
są właśnie na takich dużych zbiorach danych . Brak im z kolei tego , co
stanowi silną stronę logiki rozmytej - łatwe wykorzystywanie całej istniejącej
wiedzy inżynierskiej dla optymalizowania swoich rozwiązań i ich weryfikowanie.
A zatem , skojarzenie reprezentowane m.in. przez program FuzzyTech for
Business polega przede wszystkim na połączeniu reprezentacji wiedzy logiki
rozmytej ze zdolnością uczenia się sieci neuronowych .
Teoretycznie , skojarzenie w jednym programie logiki
rozmytej z sieciami neuronowymi może się odbyć na wiele sposobów . Jednakże
sukces rzeczywistym aplikacjom przemysłowym zapewniły , jak dotychczas
, tylko niektóre z nich . Sposób zastosowany w przypadku programu FuzzyTech
for Business zasadza się na ustaleniach w tym zakresie dokonanych przez
Zadeha , Zimmermanna i Kosko . Dotyczy to np. zaawansowanej metody wnioskowania
FAMs (Fuzzy Associative Memories) , pozwalającej wybrnąć z tego , że w
odniesieniu do standardowego wnioskowania logiki rozmytej nie można wyznaczać
pochodnej , jak tego wymaga algorytm error back propagation , różniczkujący
funkcje transferu neuronów . Warto dodać , że narzędzia NeuroFuzzy , zastosowane
w programie FuzzyTech for Business , zwalniają użytkownika od zaprzątania
sobie głowy szczegółami działania również tego algorytmu , funkcjonując
w charakterze inteligentnego asystenta użytkownika w trakcie całego procesu
realizowanego w następujących pięciu krokach : uzyskiwanie danych do treningu
, tworzenie inicjalnego systemu logiki rozmytej , definiowanie parametrów
uczenia , trenowanie , optymalizacja i weryfikacja .
Dane do treningu powinny być przygotowane w postaci
macierzy , gdzie każdy rząd przedstawia poszczególne eksperymenty , a kolejne
kolumny przedstawiają zmienne wejściowe i zmienne wyjściowe . Tworzenie
inicjalnego systemu logiki rozmytej można w całości powierzyć Fuzzy Design
Wizzard'owi , który zanalizuje zbiory danych , zaproponuje strukturę systemu
i ustawi domyślnie potrzebne wielkości . Warto jednak dodać , że doświadczony
użytkownik ma tutaj okazję "wycisnąć" ze zbioru danych znacznie więcej
, dokładając rozmaite fragmenty swojej wąsko specjalizowanej wiedzy na
użytek różnych owocnych interpretacji . W definiowaniu parametrów uczenia
w pełni ujawnia się przewaga programu kojarzącego sieci neuronowe z
logiką rozmytą nad programem wyłącznie sieci neuronowych . Możliwa jest
bowiem daleko idąca ingerencja użytkownika w proces uczenia . Może on w
szczególności wyłączyć niektóre części systemu z procesu uczenia , gdy
poddając istniejący system logiki rozmytej optymalizowaniu , dochodzi do
wniosku , że są to części , które już pracują dobrze , może on ukierunkować
uczenie różnych części systemu na różne zbiory danych , poddać uczeniu
reguły zdefiniowane w trakcie poszczególnych eksperymentów .
Jak widać na powyższym rysunku , NeuroFuzzy może automatycznie dobierać
najlepszą w danym przypadku metodę uczenia . Można to również zrobić samemu
. Podobnie mają się sprawy w trakcie samego treningu - można go w całości
powierzyć NeuroFuzzy'iemu albo ingerować w jego przebieg . Efektem treningu
jest system logiki rozmytej , który można poddać optymalizacji i weryfikacji
z pomocą wielu narzędzi analizujących i symulujących , będących na stanie
programu FuzzyTech for Business .