Podstawy sztucznych sieci neuronowych z jednokierunkowym sprzężeniem zwrotnym



WSTĘP

Klasa systemów adaptacyjnych, znanych jako sztuczne sieci neuronowe (ANN), powstała w oparciu o niesamowite możliwości przetwarzania równoległego mózgów biologicznych (zwłaszcza mózgu ludzkiego). Głównym celem było odtworzenie tych możliwości poprzez budowę sztucznych modeli neuronów biologicznych. Siła biologicznych struktur neuronowych wynika z ogromnej liczby silnie połączonych, prostych jednostek. Prostota wynika z faktu, że po abstrakcji złożonych procesów elektrochemicznych, uzyskane obliczenia okazują się koncepcyjnie bardzo proste.Te sztuczne neurony mają obecnie niewiele wspólnego ze swoimi biologicznymi odpowiednikami w paradygmacie ANN. Są one wykorzystywane przede wszystkim jako urządzenia obliczeniowe, wyraźnie przeznaczone do rozwiązywania problemów: optymalizacji, aproksymacji funkcji, klasyfikacji, przewidywania szeregów czasowych i innych. W praktyce niewiele elementów jest połączonych, a ich łączność jest niska. Niniejszy rozdział koncentruje się na nadzorowanych sieciach z jednokierunkowym sprzężeniem zwrotnym. Dziedzina ta stała się tak rozległa, że pełny i przystępny opis wszystkich podejść stanowi ogromne przedsięwzięcie; w celu uzyskania kompleksowego wyjaśnienia odsyłamy czytelnika do publikacji

TŁO

Sztuczne sieci neuronowe to struktury przetwarzania informacji bez pamięci globalnej lub współdzielonej, w których każdy z elementów obliczeniowych działa tylko wtedy, gdy dostępne są wszystkie napływające do niego informacje - rodzaj architektury przepływu danych. Każdy element to prosty procesor z wewnętrznymi i regulowanymi parametrami. Zainteresowanie sieciami neuronowymi (ANN) wiąże się przede wszystkim ze znajdowaniem satysfakcjonujących rozwiązań problemów przedstawianych jako zadania aproksymacji funkcji, dla których wiedza o samym procesie jest znikoma lub zerowa, a dostęp do przykładów odpowiedzi (ograniczony). Były szeroko i najbardziej owocnie stosowane w różnych zastosowaniach , szczególnie po pracach wzmacniających . Najbardziej ogólną formą sieci neuronowej jest oznaczony graf skierowany, w którym każdy z węzłów (nazywanych jednostkami lub neuronami) ma pewną zdolność obliczeniową i jest połączony z i do innych węzłów w sieci za pomocą oznaczonych krawędzi. Etykieta krawędzi jest liczbą rzeczywistą wyrażającą siłę, z jaką dwie zaangażowane jednostki są połączone. Te etykiety nazywane są wagami. Architektura sieci odnosi się do liczby jednostek, ich rozmieszczenia i łączności. W swojej podstawowej formie obliczenie jednostki i jest wyrażone jako funkcja Fi jej wejścia (funkcja przejścia), sparametryzowana za pomocą jej wektora wag lub informacji lokalnych. Cały system jest zatem zbiorem połączonych ze sobą elementów, a funkcja przejścia realizowana przez pojedynczy element (tj. model neuronu) jest najważniejszą stałą cechą systemu. W literaturze istnieją dwa podstawowe typy modeli neuronów stosowane w praktyce. Oba wyrażają ogólne obliczenie jednostki jako kompozycję dwóch funkcji, co jest klasycznie praktykowane od czasu wcześniejszej propozycji modelu McCullocha i Pittsa (1943):



gdzie wi jest wektorem wag neuronu i, h:Rn x Rn ->R nazywa się funkcją wejściową netto lub funkcją agregacji, a g:R ->R nazywa się funkcją aktywacji. Wszystkie parametry neuronu są zawarte w jego wektorze wag. Wybór h(x,wi)=x⋅wi+θ, gdzie θ ∈ R jest członem przesunięcia, który może być zawarty w wektorze wag, prowadzi do jednego z najpowszechniej stosowanych modeli neuronów. Gdy neurony tego typu są ułożone w architekturze sprzężenia zwrotnego, uzyskana sieć neuronowa nazywa się perceptronem wielowarstwowym (MLP) . Zwykle jako aktywację stosuje się gładką funkcję nieliniową i monotoniczną. Spośród nich preferowanym wyborem są sigmoidy. Wybór h(x,wi)= ||x-wi||/θ (lub innej miary odległości), z θ > 0 ∈ R jako wyrazem wygładzającym, plus aktywacja g z monotonicznie malejącą odpowiedzią od początku układu współrzędnych, prowadzi do szerokiej rodziny zlokalizowanych sieci Radialnych Funkcji Bazowych (RBF). Zlokalizowany oznacza, że jednostki dają znaczącą odpowiedź tylko w otoczeniu swojego środka wi. Gaussowskie g(z)=exp(-z2/2) jest preferowanym wyborem funkcji aktywacji. Poprzednie wybory można rozszerzyć, aby uwzględnić dodatkowe korelacje między zmiennymi wejściowymi. Iloczyn skalarny (niezawierający wyrazów iloczynu wektorowego) można uogólnić do rzeczywistej postaci kwadratowej (jednorodnego wielomianu drugiego stopnia z rzeczywistymi współczynnikami) lub nawet dalej do wyższych stopni, co prowadzi do tzw. jednostek wyższego rzędu (lub jednostek Σ -Π). Jednostka wyższego rzędu stopnia k obejmuje wszystkie możliwe iloczyny wektorowe co najwyżej k zmiennych wejściowych, z których każdy ma swoją własną wagę. Odwrotnie, podstawowe odległości euklidesowe można uogólnić do całkowicie ważonych miar odległości, w których uwzględnione są wszystkie iloczyny wektorowe (kwadratowe). Te pełne wyrażenia nie są powszechnie używane ze względu na dużą liczbę parametrów swobodnych, z którymi się wiążą. Te dwa podstawowe modele neuronów tradycyjnie uważano za całkowicie oddzielne, zarówno z matematycznego, jak i koncepcyjnego punktu widzenia. Do pewnego stopnia jest to prawdą: lokalne i globalne podejścia do aproksymacji funkcji, które realizują, sprawiają, że są to pozornie zupełnie przeciwstawne metody . Matematycznie, w pewnych warunkach, można wykazać ich powiązanie . Warunki te (zasadniczo, że zarówno wektory wejściowe, jak i wagowe są znormalizowane do normy jednostkowej) są trudne do spełnienia w praktyce. Warstwa jest definiowana jako zbiór niezależnych jednostek (niepołączonych ze sobą) dzielących to samo wejście i o tej samej postaci funkcjonalnej (to samo Fi, ale różne wi). Wielowarstwowe sieci sprzężenia zwrotnego przyjmują formę skierowanych grafów acyklicznych uzyskanych przez konkatenację wielu warstw. Wszystkie warstwy oprócz ostatniej (zwanej warstwą wyjściową) są oznaczone jako ukryte. Tego rodzaju sieci obliczają sparametryzowaną funkcję swojego wektora wejściowego x, oceniając warstwy w kolejności, dając jako wynik końcowy wynik ostatniej warstwy. Wektor reprezentuje zbiór wszystkich wag (parametrów swobodnych) w sieci. Dla uproszczenia nie rozważamy połączeń między warstwami niesąsiadującymi (połączenia warstw przeskokowych) i w przeciwnym razie zakładamy całkowitą łączność. Zbiór zmiennych wejściowych nie jest liczony jako warstwa. Neurony wyjściowe przyjmują formę iloczynu skalarnego (kombinacji liniowej), po którym ostatecznie następuje funkcja aktywacji g. Na przykład, zakładając pojedynczy neuron wyjściowy, sieć neuronowa z jedną warstwą ukrytą i h jednostkami ukrytymi oblicza funkcję F:Rn->R w postaci:



gdzie θ ∈ R jest członem przesunięcia (zwanym członem odchylenia), ci∈R i g można ustawić dowolnie, w tym wybrać g(z)=z. Taka sieć sprzężenia zwrotnego ma parametry , które można dostosować.

SIECI NEURONOWE ZE SPRZĘŻENIEM ZWROTNYM

Sieci RBF i MLP zapewniają sparametryzowane rodziny funkcji odpowiednich do aproksymacji funkcji w przestrzeniach wielowymiarowych. Neuron sigmoidalny tworzy hiperpłaszczyznę, która dzieli jego przestrzeń wejściową na dwie połowy. Innymi słowy, punkty równej aktywacji neuronów (o stałych wagach) są hiperpłaszczyznami. To zachowanie nie jest spowodowane przez sigmoidalny, lecz przez iloczyn skalarny. Kontury izoaktywacji dla jednostki RBF (w przypadku nieważonej normy euklidesowej) są hipersferami. Odpowiedź radialnie symetryczna i wyśrodkowana nie jest spowodowana funkcją aktywacji (np. gaussowską lub wykładniczą), lecz normą. W obu przypadkach funkcja aktywacji działa jako nieliniowe, monotoniczne zniekształcenie jej argumentu, obliczone przez funkcję agregacji.

Definicja (Zbiór izoaktywacji). Mając daną funkcję rzeczywistą f:Rn->(a,b), zdefiniuj Ifα dla α ∈ (a,b) jako zbiór punktów izoaktywacji Ifα ={x ∈ Rn|f(x)= α}.

Definicja (P-neuron). Model neuronu Fi o postaci:



gdzie g jest funkcją ograniczoną, nieliniową i rosnącą, dla której limz->∞ g(z)=gmax∈ R i limz->-∞ g(z)=gmin ∈ R będzie oznaczane jako P-neuron (z Perceptronu). Dla tych neuronów zbiory IFiα są (n-1)-wymiarowymi hiperpłaszczyznami dla stałych wartości α, równoległymi do siebie dla różnych α. W praktyce g są zazwyczaj dobrze zachowującymi się sigmoidami, chociaż w literaturze można czasami znaleźć inne funkcje aktywacji (np. sinusoidę). Te ostatnie nie są uwzględnione w powyższej definicji.

Definicja (R-neuron). Model neuronu Fi postaci:



gdzie ||⋅|| jest normą, a g jest funkcją symetryczną taką, że g(|z|) jest monotoniczna, z maksimum gmax przy Fi(wi) i (możliwie asymptotycznie osiągniętym) minimum gmin=0 będzie oznaczane jako R-neuron (od Radial). Dla tych neuronów zbiory IFiα są (n-1)-wymiarowe hiperpowierzchnie (o środku wi) dla stałych wartości α (np. hipersześciany dla q=1, hipersfery dla q=2), koncentryczne względem siebie dla różnych wartości ?. Normą może być dowolna norma Minkowskiego w postaci:



W praktyce typowymi wyborami są q=2 i g - funkcja Gaussa. Ze względu na ich powszechne zastosowanie, przedstawiamy dwie najpopularniejsze funkcje sigmoidalne i pokazujemy, jak ściśle są ze sobą powiązane. Funkcję sigmoidalną g można zdefiniować jako funkcję monotonicznie rosnącą, charakteryzującą się gładkością i własnościami asymptotycznymi. Dwoma najczęściej spotykanymi reprezentantami są: logistyczna:



i tangens hiperboliczny



Przesunięcie θ jest w praktyce ustawione na zero, ponieważ jego funkcja jest taka sama jak funkcja składowej odchylenia w funkcji agregacji w równaniu (3). Te dwie rodziny funkcji można uzyskać dokładnie taki sam kształt (zakładając θ=0), ustawiając β w równaniu (6) jako dwukrotność wartości β w równaniu (7). Na przykład dla β=0,5:



jest bipolarną wersją funkcji glog 1(z)= 1/exp(1?z). Funkcje te wybrano ze względu na ich proste zachowanie analityczne, zwłaszcza w odniesieniu do różniczkowalności, co ma ogromne znaczenie dla algorytmów uczenia się opartych na informacjach pochodnych . W szczególności,



Zainteresowanie funkcjami sigmoidalnymi wynika również z zachowania ich pochodnych. Rozważmy na przykład równanie (6) z β = 1,5 i θ = 0. Pochodna funkcji sigmoidalnej jest zawsze dodatnia. Dla θ = 0 wszystkie funkcje są wyśrodkowane w punkcie z = 0. W tym punkcie funkcja ma aktywację środkową, a jej pochodna jest maksymalna, co pozwala na maksymalne aktualizacje wag.

Rodzaje sztucznych sieci neuronowych

Podstawowe rozróżnienie w kategoryzacji sieci neuronowej opiera się na rodzaju architektury, zasadniczo podzielonej na sprzężoną w przód (dla której graf nie zawiera cykli) i rekurencyjną (dla pozostałych sytuacji). Bardzo powszechna architektura sprzężona w przód nie zawiera połączeń wewnątrzwarstwowych, a wszystkie możliwe połączenia międzywarstwowe między sąsiednimi warstwami.

Definicja (Sieć neuronowa sprzężona w przód: struktura). Graf dwudzielony to graf G, którego węzły V można podzielić na dwa rozłączne i właściwe zbiory V1 i V2, V1 ∪ V2=V, w taki sposób, że żadna para węzłów w V1 nie jest połączona krawędzią, a ta sama własność obowiązuje dla V2. Zapisujemy zatem Gn1,n2, gdzie n1=|V1|,n2=|V2|. Graf dwudzielony Gn1,n2 jest zupełny, jeśli każdy węzeł w V1 jest połączony z każdym węzłem w V2. Te koncepcje można uogólnić do dowolnej liczby podziałów w następujący sposób: Graf k-dzielony Gn1,…,nk to graf, którego węzły V można podzielić na k rozłącznych i właściwych zbiorów V1,…,Vk, takich że



w taki sposób, że żadna para węzłów w Vi nie jest połączona krawędzią, dla wszystkich 1 ≤ i ≤ k. W tych warunkach w pełni połączona sieć neuronowa typu feed-forward z c warstwami ukrytymi i hl jednostek na warstwę l, 1 ≤ l ≤ c+1, przyjmuje postać skierowanego zupełnego grafu c+1-podzielonego Gh1,…,hc+1.

Definicja (Sieć neuronowa typu feed-forward: funkcja). Sieć neuronowa typu feed-forward składająca się z c warstw ukrytych, oznaczona jako FFNN(n,c,m), jest funkcją złożoną z fragmentów postaci y(l)=(F1l(y(l-1)),...,Fhll(y(l-1))), reprezentującą wyjście warstwy l, dla 1≤ l ≤c+1. Fl oznacza model neuronu warstwy l, a hl ∈ N+ ich liczbę, a każdy neuron Fil ma własne parametry w(l)i, jak w Definicjach 2 i 3, które są zbiorczo zgrupowane w parametrach sieci . Pierwsze wyjście jest zdefiniowane jako y(0) = x. Dla ostatniej (wyjściowej) warstwy, hc+1=m, a Fc+1l ,1≤ l ≤ hc+1 to P-neurony lub jednostki liniowe (uzyskane przez usunięcie funkcji aktywacji w P-neuronie). Końcowym wynikiem dla jest wartość y(c+1).

Definicja (MLPNN). Wielowarstwowa sieć neuronowa perceptronu to sieć FFNN (n, c, m), dla której c ≥1, a wszystkie Fl to P-neurony, 1 ≤ l ≤ c.

Definicja (RBFNN). Sieć neuronowa o funkcji bazowej radialnej to sieć FFNN (n, c, m), dla której c=1, a wszystkie neurony Fc są neuronami R.

UCZENIE SIĘ W SZTUCZNYCH SIECIACH NEURONOWYCH

Można powiedzieć, że system uczy się, jeśli jego wydajność w danym zadaniu poprawia się w stosunku do pewnej miary w wyniku doświadczenia . W sieciach neuronowych "doświadczenie" jest wynikiem ekspozycji na zestaw danych treningowych, któremu towarzyszą modyfikacje wag. Głównym problemem poruszanym w uczeniu nadzorowanym jest regresja, czyli aproksymacja funkcji n-wymiarowej f: X ⊂ Rn -> Rm poprzez skończoną superpozycję (złożenie i dodanie) znanych sparametryzowanych funkcji bazowych, takich jak te w równaniach (3) lub (4). Ich połączenie daje w efekcie wyrażenia w postaci . Interesujące jest znalezienie wektora parametrów o rozmiarze s takiego, aby optymalizował funkcjonał kosztu zwany stratą:



Jedyną dostępną informacją jest skończony zbiór D p zaszumionych próbek f, D = {<xi,yi<,f(xi)+εi=yi}, gdzie xi ∈Rn to bodziec, yi ∈ Rm to cel, εi to szum (zakładając addytywność), a |D| = p. Oszacowanie można uzyskać jako pozorną stratę, obliczaną osobno dla każdej próbki w D,



Powszechną formą λ jest funkcja błędu, taka jak błąd kwadratowy λ(a,b)=(a-b)2. Wynika to z założenia, że szum podlega homokedastycznemu rozkładowi gaussowskiemu ze średnią zerową. Przy użyciu tego błędu, wyrażenie (11) można postrzegać jako (kwadratową) normę euklidesową w Rp p-wymiarowego wektora błędu e=(e1,…,ep), znanego jako błąd sumy kwadratów, z , jako:



Zwykle podawana wartość ||e||2/p nazywana jest średnim błędem kwadratowym (MSE) i jest miarą błędu empirycznego (w przeciwieństwie do nieznanego błędu rzeczywistego). Funkcję błędu oznaczymy . W procesie uczenia sieć buduje wewnętrzną reprezentację funkcji docelowej, znajdując sposoby na połączenie zbioru funkcji bazowych {Fi(x)}i. Trafność rozwiązania jest głównie określana przez akceptowalnie niskie i zrównoważone , dla dowolnego Dout ⊂ X\D (gdzie Dout nie jest używany w procesie uczenia), aby zapewnić, że f zostało poprawnie oszacowane na podstawie danych. Modele sieci zbyt nieelastyczne lub proste, lub wręcz przeciwnie, zbyt elastyczne lub złożone, będą nieadekwatnie generalizować. Znajduje to odzwierciedlenie w kompromisie między błędem a wariancją: oczekiwaną stratę dla próbek skończonych można rozłożyć na dwa przeciwstawne terminy, zwane błędem błędu i wariancją błędu . Oczekiwanie dla funkcji błędu sumy kwadratów, uśrednione dla całego zbioru danych D, jest zapisane jako



gdzie ED jest operatorem oczekiwania przyjmowanym dla każdego zestawu danych o takim samym rozmiarze jak D, a <y|x>: oznacza warunkową średnią celu y=f(x) (który wyraża optymalne odwzorowanie sieci), podaną wzorem:



Pierwszym wyrazem po prawej stronie równania (13) jest (kwadrat) odchylenie, a drugim wariancja. Odchylenie mierzy stopień, w jakim średnia (dla całego D) różni się od pożądanej funkcji docelowej <y|x>. Wariancja mierzy wrażliwość ) na konkretny wybór D. Zbyt nieelastyczne lub proste modele będą miały duże odchylenie, podczas gdy zbyt elastyczne lub złożone będą miały dużą wariancję. Są to wielkości komplementarne, które muszą być minimalizowane jednocześnie; można wykazać, że obie maleją wraz ze wzrostem dostępności większych zbiorów danych D. Wyrażenia w równaniu (13) są funkcjami wektora wejściowego x. Średnie wartości odchylenia i wariancji można uzyskać poprzez ważenie odpowiednią gęstością p(x):



Kluczowe warunki akceptowalnej wydajności dla nowych danych są określone przez zbiór treningowy D, możliwie jak największy i reprezentatywny dla rozkładu bazowego, oraz zbiór Dout danych wcześniej niewidzianych, który nie powinien zawierać przykładów nadmiernie różniących się od tych w D. Ważnym zagadnieniem jest użycie sieci o minimalnej złożoności, określonej przez liczbę wolnych parametrów (liczbę komponentów w ). Wymóg ten można zrealizować na różne sposoby. W teorii regularyzacji rozwiązanie uzyskuje się z zasady wariacyjnej, obejmującej informacje o stratach i a priori o gładkości, definiującej funkcjonał wygładzania Φtak, że niższe wartości odpowiadają funkcjom o większej gładkości. Rozwiązanie problemu aproksymacji jest zatem dane przez minimalizację funkcjonału :



gdzie η jest dodatnim skalarem kontrolującym kompromis między dopasowaniem do danych a gładkością rozwiązania. Częstym wyborem jest druga pochodna P(f) = f′′, z której brana jest (kwadratowa) norma euklidesowa:



WNIOSKI

Sztuczne sieci neuronowe to struktury przetwarzania informacji, które rozwinęły się jako abstrakcja znanych zasad działania mózgu. Elementy obliczeniowe, zwane neuronami, są połączone ze sobą z określoną siłą, zwaną wagą. W najprostszej formie każda jednostka oblicza funkcję swoich danych wejściowych - które są albo danymi wyjściowymi z innych jednostek, albo sygnałami zewnętrznymi - na którą wpływają wagi łączy przekazujących te dane wejściowe. Mówi się, że sieć uczy się, gdy wagi wszystkich jednostek są dostosowywane do reprezentacji informacji obecnych w próbce, w optymalnym sensie określonym przez funkcję błędu. Sieć opiera się na zdolności reprezentacyjnej modelu neuronowego jako kamieniu węgielnym dobrego przybliżenia.


Przeszukiwanie symboliczne



WSTĘP

Przeszukiwanie symboliczne rozwiązuje problemy przestrzeni stanów składające się ze stanu początkowego, zbioru stanów docelowych i zbioru działań, wykorzystując zwięzłą reprezentację zbiorów stanów. Podejście to zmniejsza koszty związane z wykładniczym zapotrzebowaniem na pamięć dla zbiorów stanów, wraz ze wzrostem rozmiarów problemu. Przeszukiwanie symboliczne jest powiązane z planowaniem termicznym poprzez sprawdzanie modeli . Chociaż początkowo stosowane do problemów weryfikacji sprzętowej sprawdzania modeli , wyszukiwanie symboliczne jest obecne w wielu nowoczesnych systemach planowania działań . Algorytmy wyszukiwania symbolicznego eksplorują graf problemu bazowego, używając wyrażeń funkcyjnych do reprezentacji zbiorów stanów i działań. W porównaniu z wymaganiami przestrzennymi wynikającymi ze standardowych algorytmów wyszukiwania stanów jawnych, reprezentacje symboliczne dodatkowo oszczędzają przestrzeń, współdzieląc części wektora stanu. Projekty algorytmów ulegają zmianom, ponieważ nie wszystkie algorytmy wyszukiwania dostosowują się do eksploracji zbiorów stanów.

TŁO

Binarne diagramy decyzyjne, czyli BDD, to jedna z opcji reprezentacji przestrzennej zbiorów stanów. BDD to struktura danych umożliwiająca efektywne manipulowanie funkcjami boolowskimi. BDD to skończone maszyny stanów nad alfabetem {0,1} z 1-punktowym ujściowym, który działa jako stan akceptujący. Każdy węzeł wewnętrzny jest oznaczony zmienną (indeksem) służącą do wyboru przejścia wychodzącego (1 lub 0, patrz rysunek) dla danego przypisania zmiennej. W celu oceny BDD, śledzona jest ścieżka od korzenia do ujścia (wszystkie ścieżki podlegają tej samej kolejności zmiennych). Tym, co odróżnia BDD od drzew decyzyjnych, jest zastosowanie reguł redukcji, wykrywanie zbędnych testów zmiennych i powtarzanie podgrafów. Prowadzi to do unikalnej reprezentacji, wielomianowej w liczbie zmiennych wejściowych dla wielu interesujących funkcji. Zredukowana i uporządkowana reprezentacja BDD jest unikalna; wyraźną korzyścią z testu spełnialności dla formuł Boole′a, który na mocy twierdzenia Cooka (1971) jest problemem NP-trudnym W symbolicznym przeszukiwaniu BDD akceptują reprezentację wektora stanu. Funkcje są spełnione, jeśli wektor stanu dla przypisania wejściowego jest członkiem reprezentowanego zbioru. Funkcja charakterystyczna może być utożsamiana ze zbiorem stanów, który reprezentuje. Relacja przejścia Trans reprezentuje akcje . Odnosi się ona do bieżących zmiennych stanu x i następnych zmiennych stanu x′ i jest spełniona, jeśli istnieje akcja, która przekształca wektor stanu w jeden z jego następników. Relacja przejścia dla całego problemu rozkłada się w alternatywie relacji przejścia dla pojedynczych akcji. Kolejność zmiennych w wektorze stanu ma kluczowy wpływ na rozmiar BDD. Niestety, problem znalezienia kolejności, która minimalizuje rozmiar BDD jest NP-trudny . Przeplatana reprezentacja dla Trans(x,x′), która naprzemiennie zmienia zmienne x i x′, często prowadzi do małych błędów logicznych (BDD). Obraz zbioru stanów States względem relacji przejścia Trans jest obliczany jako Image(x′) := ∃x (Trans(x,x′) ∧ States(x)), gdzie x i x′ są wektorami zmiennych stanu boolowskiego. Wynikiem tej operacji na obrazie jest funkcja charakterystyczna wszystkich stanów osiągalnych z States w jednym kroku. Aby powtórzyć proces, x z x′ muszą zostać podstawione w następnej iteracji poprzez obliczenie iloczynu relacyjnego States(x) := ∃x′ ((x=x′) ∧ Image(x′)). W przeplatanym porządkowaniu zmiennych z naprzemiennymi indeksami dla x i x′, operacja ta sprowadza się do prostej tekstowej zamiany etykiet węzłów.

ALGORYTMY WYSZUKIWANIA SYMBOLICZNEGO

Problemy z przestrzenią stanów - liczby skończonej dziedziny można zakodować za pomocą zdań atomowych. Kodowanie binarne jest bardziej wydajne niż unarne, dlatego większość bibliotek BDD obsługuje zmienne skończonej dziedziny. W przypadku podstawowego rachunku różniczkowego i całkowego relacje są obliczane wstępnie. Na przykład relacja binarna Inc(a,b) dla a+1=b jest alternatywą wszystkich możliwych przypisań wartości a do j i wszystkich możliwych przypisań wartości b do j+1 dla wszystkich j liczonych od 1 do rozmiaru dziedziny minus 1. W przypadku konstrukcji relacji trójargumentowej Add(a,b,c), oznaczającej a+b=c, wyliczenie wszystkich możliwych przypisań dla a, b i c jest mniej wydajne niż rekurencyjne obliczanie wyrażenia Add(a,b,c) := (b=0 ∧ a=c) ∨ ∃b′,c′ (Inc(b′,b) ∧ Inc(c′,c) ∧ Add(a,b′,c′)). Zaczynając od pierwszej klauzuli, stosuje się drugą klauzulę aż do zbieżności.

Symboliczne przeszukiwanie wszerz

W iteracji i symbolicznego wariantu przeszukiwania wszerz obliczany jest zbiór stanów States[i] osiągalnych ze stanu początkowego s w i krokach. Przeszukiwanie jest inicjowane z parametrem States[0] ustawionym na początkowy zbiór stanów. Aby zakończyć przeszukiwanie, algorytm sprawdza, czy stan jest reprezentowany na przecięciu zbioru States[i] ze zbiorem stanów docelowych. Ponieważ obliczenia States[0],…,States[i-1] zostały obliczone bez powodzenia, przy założeniu niepustego przecięcia, i jest optymalną długością rozwiązania. Aby uniknąć nieskończonego zachowania wyszukiwania w przypadku braku rozwiązania, Reach = States[0] ∨… ∨ States[i-1] jest pomijany w States[i] poprzez ustawienie States[i] := States[i] ∧¬Reach przed aktualizacją Reach := Reach ∨ S[i]. W przypadku niektórych klas problemów (takich jak grafy nieskierowane lub acykliczne) zakres eliminacji duplikatów {0,…,i-1} można zredukować do ograniczonej liczby poziomów przeszukiwania wszerz. Utrzymując pośrednie BDD w pamięci, poprawna sekwencja stanów łącząca stan początkowy z dowolnym stanem docelowym g w Stanach[i] ∩ G jest rozwiązaniem prawidłowym. Stan na optymalnej ścieżce do celu g w warstwie i musi znajdować się w przedostatniej warstwie przeszukiwania wszerz i-1. Wszystkie stany zawarte w przecięciu poprzedników celu g są i Stany[i-1] są osiągalne w optymalnej liczbie kroków i osiągają cel w jednym kroku. Każdy z tych stanów może zostać wybrany do kontynuacji rekonstrukcji rozwiązania. Ostatecznie stan początkowy zostaje znaleziony. Jeśli warstwy zostały wyeliminowane w celu odzyskania pamięci głównej, wymagane są metody rekonstrukcji rozwiązania metodą dziel i zwyciężaj . Warianty symbolicznego przeszukiwania wszerz obliczają rozwiązania optymalne pod względem kosztów, uwzględniając ogólne funkcje kosztów. Wsteczne przeszukiwanie wszerz wykorzystuje relacyjną reprezentację akcji do obliczenia przeciwobrazu zgodnie ze wzorem Preimage(x) := ∃x′ (States(x′) ∧ Trans(x,x′)). W konsekwencji, przeszukiwanie rozpoczyna się od ustawionego stanu docelowego i iteruje, aż do osiągnięcia stanu początkowego. Dwukierunkowe symboliczne przeszukiwanie wszerz wykonuje współbieżne iteracje przeszukiwania wszerz w przód i wstecz, aż do momentu, gdy obie granice wyszukiwania się spotkają.

Symboliczny algorytm najkrótszych ścieżek Dijkstry z pojedynczego źródła

Koszty akcji to naturalna koncepcja wyszukiwania. W wielu zastosowaniach koszty mogą być jedynie liczbami całkowitymi ograniczonymi. Przykładami takich dyskretnych akcji kosztowych są makra, wykorzystane w rozwiązaniu makroproblemu przez Korfa (1985). Niech ważona relacja przejścia Trans(c,x,x′) przyjmie wartość 1, jeśli krok z x do x′ ma koszt c ∈ {1,…,C}, zakodowany binarnie. Symboliczna wersja algorytmu najkrótszych ścieżek z pojedynczego źródła Dijkstry (1959) działa w następujący sposób. Relacja priorytetowa Queue(f,x) jest inicjowana reprezentacją stanu początkowego i wartością f równą 0. Do momentu osiągnięcia stanu docelowego, w każdej iteracji algorytm określa minimalną wartość f min, relację Min(x) wszystkich stanów w kolejce priorytetowej o wartości min oraz relację Rest(f,x) pozostałego zestawu stanów Queue(f,x) \ Min(x). Relacja przejścia Trans(c,x,x′) jest następnie stosowana do Min w celu określenia relacji dla zestawu stanów następczych. Aby dołączyć nowe wartości f=min+c do tego zestawu, stosuje się wspomnianą powyżej relację Add. Ostatecznie, relacja priorytetów dla kolejnej iteracji jest uzyskiwana poprzez przecięcie ocenionego zbioru następców z pozostałą kolejką. Algorytm naśladuje wykonanie algorytmu Dijkstry na strukturze danych kubełkowych 1-poziomowych.W miarę monotonicznego wzrostu f, pierwszy cel wyodrębniony z kolejki priorytetowej ma optymalny koszt.

Symboliczne bazy danych wzorców

Abstrakcja przestrzeni stanów jest kluczowym aspektem automatycznego projektowania heurystyk wyszukiwania. Stosowanie abstrakcji upraszcza problem, a dokładne odległości w problemach rozluźnionych służą jako dolna granica dla konkretnego wyszukiwania na poziomie bazowym. Właściwe abstrakcje zachowują istnienie ścieżki. Bazy danych wzorców, wprowadzone przez Culbersona i Schaeffera (1998), w pełni analizują abstrakcyjną przestrzeń wyszukiwania przed konkretnym wyszukiwaniem. Ograniczeniem w stosowaniu baz danych wzorców w praktyce wyszukiwania jest ograniczona ilość pamięci (głównej). Można połączyć więcej niż jedną bazę danych wzorców, biorąc albo maksymalną (zawsze stosowalną), albo sumę poszczególnych wpisów w bazie danych wzorców (stosowalną tylko wtedy, gdy bazy wzorców są rozłączne). Rozłączne bazy danych wzorców należą do najlepiej znanych technik konstruowania efektywnych heurystyk wyszukiwania. Aby automatycznie wybierać wzorce, Edelkamp (2000) oraz Haslum (2005) używają zachłannego pakowania wzorców do podziału wektora stanu na rozłączne części w celu konstruowania baz danych wzorców, które respektują wstępnie określony limit pamięci. Symboliczne bazy danych wzorców to funkcjonalne bazy danych wzorców do późniejszego wykorzystania w symbolicznym lub jawnym heurystycznym wyszukiwaniu stanu. W odróżnieniu od kompresji a posteriori zbioru stanów , sama konstrukcja działa na skompresowanej strukturze danych. Symboliczne bazy danych wzorców to relacje par (f, x), które są spełnione, jeśli heurystyczna estymacja stanów zakodowana w x odpowiada wartości heurystycznej zakodowanej w f. Takie relacje mogą być reprezentowane jako BDD dla całej przestrzeni problemu lub przechowywane w postaci warstw przeszukiwania wszerz Heur[0], … , Heur[k]. Ta lista jest inicjowana abstrakcyjnym celem i dopóki istnieją nowo napotkane stany, generowany jest zbiór poprzedników względem abstrakcyjnej relacji przejścia. Do konstruowania symbolicznych baz danych wzorców najkrótszej ścieżki można zastosować algorytm Dijkstry.

Symboliczna wersja algorytmu A*

Przy założeniu spójnej heurystyki h z c(n,n′)-h(n)+h(n′) ≥ 0 dla wszystkich stanów n i n′, algorytm A* jest w rzeczywistości wariantem algorytmu Dijkstry wykorzystującym początkowe przesunięcie f(s):=h(s) i udoskonaloną aktualizację f(n′) :=min{f(n′),f(n)+c(n,n′)-h(n)+h(n′)}. Algorytm BDDA* integruje przeszukiwanie symboliczne i algorytm A* . Wyznacza on następniki zbioru stanów o minimalnej wartości f w jednym kroku oceny. Optymalność i zupełność algorytmu BDDA* są dziedziczone po jawnym stanie A*. Począwszy od rozwiązywania problemów z pojedynczym agentem, BDDA* zostało zastosowane do weryfikacji sprzętowej i problemów planowania . Efektywność została odtworzona przez Hansena (2002) oraz Qiana i Nymeyera (2003). Aby uniknąć arytmetyki domeny skończonej w BDD, Jensen i inni (2002) zaproponowali dwuwymiarowy układ zestawów stanów, po jednym dla każdej możliwej pary wartości g i h . Zaletą jest to, że każdy zestaw stanów ma już przypisaną wartość g i h, a obliczanie wartości f dla zestawu następników nie jest już konieczne. W rozszerzeniu BDDA* na akcje ważone, wszystkie następniki zestawu stanów o minimalnej wartości f, bieżącym koszcie g i koszcie akcji c można określić indywidualnie. Do obliczenia obrazu nie jest konieczne skonstruowanie relacji monolitycznej Trans. Biorąc pod uwagę, że podrelacje Trans[a] są powiązane z każdą akcją a ∈ {1,…,k}, obraz podziału zbioru stanów dzieli się na {∃x (Trans[1](x,x′) ∧ States(x))} ∨ … ∨ ∃x (Trans[k](x,x′) ∧ States(x))}.

PRZYSZŁE TRENDY

Algorytmy wyszukiwania symbolicznego z BDD są również skuteczne w rozwiązywaniu problemów wyszukiwania niedeterministycznego i probabilistycznego, patrz wstępne prace Cimattiego (1998) lub Hoeya. (1999). Najnowsze trendy obejmują cele rozszerzone czasowo, jak analizowali Lago i inni (2002). Aby zaoszczędzić pamięć główną, wszystkie BDD, z wyjątkiem obecnie rozwiniętych, można zrzucić na dysk. Ponieważ obie eksploracje działają na zbiorach stanów, połączenie wyszukiwania na dysku (w celu zaoszczędzenia pamięci RAM na potrzeby eksploracji) i baz danych wzorców symbolicznych (w celu zaoszczędzenia pamięci RAM na potrzeby szacowania) okazuje się bardzo skuteczne. Rozproszone wyszukiwanie może dodatkowo oszczędzać pamięć na indywidualnym węźle obliczeniowym. Udane eksploracje z pamięcią główną do 16 GB i przestrzenią dyskową do 3 TB zostały opisane przez Edelkampa i Jabbara (2007). Bardziej zaawansowane symboliczne struktury danych mogą również obejmować nieskończone zbiory stanów. Algorytmy eksploracji opierają się na podobnych zasadach algorytmicznych, ale wymagają adaptacji. Niedawna propozycja Borowskiego i Edelkampa (2006) rozważa wyszukiwanie symboliczne w systemach nieskończenie stanowych z teorią automatów, gdzie zbiory stanów i akcje są reprezentowane jako zminimalizowane automaty skończenie stanowe. Wyszukiwanie wielokrotnie stosuje wyspecjalizowane operatory obrazów do obliczania automatów dla zbiorów następczych. Innym ważnym obszarem przyszłych zastosowań wyszukiwania symbolicznego jest klasyfikacja w grach ogólnych (Love i in. 2006), np. w grach dwuosobowych. Pierwsze algorytmy zostały przedstawione przez Edelkampa i Kissmanna (2007), które obliczają strategie w postaci diagramów BDD, zakładając optymalną grę. Po obliczeniu, diagramy BDD pełnią funkcję kontrolerów stanów skończonych.

WNIOSKI

Przeszukiwanie symboliczne jest oczywistą opcją efektywnego przestrzennie przemierzania przestrzeni stanów, omijającą jawną, pamięciochłonną reprezentację zbiorów stanów. Przedstawiono podstawy eksploracji symbolicznej w systemach o skończonych stanach, w których zbiory stanów są reprezentowane jako funkcje boolowskie w postaci diagramów BDD, a także omówiono różne algorytmy i ich udoskonalone implementacje, w tym symboliczne jedno- i dwukierunkowe wyszukiwanie wszerz, wyszukiwanie najkrótszych ścieżek z jednego źródła, a także wyszukiwanie heurystyczne z bazami wzorców.


Podejście oparte na inteligencji roju w sieciach ad-hoc



WSTĘP

Bezprzewodowe sieci ad-hoc nie wymagają infrastruktury i składają się z węzłów, które łączą się ze sobą i dynamicznie rozpoczynają komunikację, nie wymagając wsparcia ze strony szkieletu. Węzły mogą dowolnie wchodzić i wychodzić z sieci oraz swobodnie się w niej poruszać. Sieci ad-hoc stanowią idealne poligony testowe dla algorytmów obliczeniowych inspirowanych biologią. Zarówno sieci ad-hoc, jak i podejścia oparte na inteligencji roju charakteryzują się samoorganizacją, sprzężeniem zwrotnym oraz złożonością strukturalną i funkcjonalną . W związku z tym algorytmy inspirowane biologią często dają nam możliwość satysfakcjonującego rozwiązania najbardziej złożonych problemów sieci ad-hoc. W tym rozdziale przedstawiamy prace z zakresu sieci ad-hoc wykorzystujące inteligencję roju (SI) inspirowaną biologią. W szczególności przyjrzymy się, jak możemy wykorzystać technikę optymalizacji kolonii mrówek (ACO), technikę SI, do optymalnego routingu w sieciach ad-hoc.

TŁO

Większość głównych algorytmów inspirowanych biologią znalazła implementacje w sieciach ad-hoc. Zanim zagłębimy się w szczegóły zastosowań technik ACO do rozwiązywania problemów w sieciach ad-hoc, w celu dopasowania kontekstowego, dokonajmy ogólnego przeglądu zastosowań różnych klas algorytmów inspirowanych biologią w sieciach ad-hoc. Barolli, Koyama i Shiratori (2003) przedstawili algorytm genetyczny do rozwiązania routingu QoS dla sieci ad-hoc, podczas gdy Di Caro, Ducatelle i Gambardella (2004) wykorzystali technikę ACO do opracowania inspirowanego naturą algorytmu routingu dla sieci ad-hoc. W podobnym duchu Wedde i Farooq (2005) zaprezentowali BeeAdHoc - algorytm routingu inspirowany żerowaniem pszczół miodnych. Sieci neuronowe były również szeroko stosowane w sieciach ad-hoc do rozwiązywania problemów trasowania , wykrywania włamań i klastrowania . ACO jest jedną z najpopularniejszych technik wśród różnych technik inspirowanych biologią i była szeroko badana i wdrażana do rozwiązywania tak zróżnicowanych problemów, jak Problem Trasowania Pojazdów (Vehicular Routing Problem, VRP) , Problem Całkowitego Ważenia Opóźnień Pojedynczej Maszyny (SMTWTP) i Problem Kolorowania Grafów . ACO zostało wprowadzone przez Marco Dorigo w jego rozprawie doktorskiej jako System Mrówkowy (Ant System, AS). Początkowo jego celem było rozwiązanie popularnego problemu komiwojażera. Chociaż rozwiązanie zaproponowane przez AS było suboptymalne w porównaniu z innymi specjalistycznymi rozwiązaniami, podkreślało ono metodę, która modeluje zachowania żerujące mrówek w celu rozwiązania złożonych problemów informatycznych.

GŁÓWNY CEL

Jak wspomniano wcześniej, głównym celem jest zilustrowanie zastosowań inspirowanych biologią technik ACO w dziedzinie sieci ad-hoc. Zaczynamy od wprowadzenia koncepcji SI. Następnie szczegółowo omawiamy koncepcje ACO i ich implementacje w sieciach ad-hoc. Najpierw przedstawiamy i wyjaśniamy właściwości kolonii mrówek, które umożliwiają znalezienie najkrótszej drogi między źródłem pożywienia mrówek a ich kolonią, wykorzystując koncepcję feromonu. Wyjaśniamy koncepcję sztucznych mrówek, a następnie przedstawiamy losową regułę przejścia proporcjonalnego (Dorigo i Stützle, 2003). Następnie szczegółowo opisujemy algorytm AntHocNet , który wykorzystuje technikę ACO do routingu danych w sieciach ad-hoc.

INTELIGENCJA ROJOWA

Owady społeczne, takie jak mrówki, pszczoły, osy i termity, oraz organizmy takie jak ryby i ptaki, polegają na komunikacji lokalnej, aby osiągnąć rozproszoną kontrolę. Podczas gdy owady, takie jak mrówki, pszczoły i termity, polegają na komunikacji pośredniej poprzez środowisko (często określanej w literaturze jako stygmergia), ptaki polegają na komunikacji bezpośredniej, ale zlokalizowanej. Niemniej jednak wszystkie te techniki mają na celu stworzenie systemu, w którym każdy element współpracuje ze sobą, aby osiągnąć autonomię. Elementy współpracują ze sobą lokalnie, aby system był znacznie bardziej elastyczny i odporny na zmiany i błędy. Ponieważ są to główne cele projektowania sieci ad-hoc, algorytmy SI są skutecznie wykorzystywane do rozwiązywania problemów z routingiem i jakością usług (QoS) w sieciach ad-hoc.

ACO

Naturalną cechą mrówek jest to, że zawsze znajdują najkrótszą drogę do źródła pożywienia ze swoich gniazd. Tę właściwość można zilustrować eksperymentami opisanymi w pracach oraz . Schemat eksperymentów przedstawiono na rysunkach 1 i 2.





Na rysunkach 1 ścieżki między gniazdem a źródłem pożywienia są równe. Stwierdzono, że około 50% mrówek korzystało z każdej ścieżki. Z drugiej strony, w układzie przedstawionym na rysunkach 2, gdy ścieżki są nierówne, po pewnym czasie prawie wszystkie mrówki korzystały z krótszej ścieżki. Zjawisko to można wyjaśnić następującym argumentem. Stwierdzono, że mrówki oznaczają ścieżkę, którą podążają, substancją chemiczną zwaną feromonem, kierując w ten sposób inne mrówki do podążania tą ścieżką. Implikacją tego jest to, że mrówki wybierają ścieżkę na podstawie ilości feromonu znajdującego się na tej ścieżce. Na rysunku 2, kiedy pierwsza grupa mrówek wyrusza ze swojego gniazda, wybierają każdą ścieżkę z równym prawdopodobieństwem. Tak więc około połowa mrówek rozpoczyna poruszanie się po każdej ścieżce. Mrówki korzystające z krótszej ścieżki docierają jako pierwsze do punktu B. Ponieważ feromonu nie ma, grupa ponownie dzieli się na dwie, przy czym taka sama liczba mrówek kieruje się w stronę gniazda, a druga połowa wraca dłuższą ścieżką. Kiedy mrówki pochodzące z dłuższej ścieżki (które pozostają niezakłócone przez mrówki wracające z tej ścieżki) docierają do punktu B, stają przed wyborem: iść w kierunku źródła pożywienia czy wrócić do punktu A krótszą ścieżką. Ponieważ feromon na ścieżce do źródła pożywienia jest mniejszy niż na ścieżce powrotnej do punktu A, więcej mrówek korzysta z tej ścieżki, co jeszcze bardziej zwiększa ilość feromonu na krótszej ścieżce. Kiedy druga grupa mrówek wyruszyła z gniazda i dotarła do punktu A, więcej mrówek wybrało krótszą ścieżkę, ponieważ wartość feromonu na tej ścieżce była wyższa, co jeszcze bardziej zwiększyło jego ilość. Można to uznać za szczególny rodzaj mechanizmu uczenia się wzmocnionego. Ponadto, feromon chemiczny łatwo paruje, zmniejszając tym samym poziom feromonu na obu ścieżkach. Ostatecznie poziom feromonu na dłuższej ścieżce spada prawie do zera i dlatego wszystkie mrówki po pewnym czasie wybierają krótsze ścieżki. Należy zauważyć, że ścieżka z punktu B do źródła pożywienia jest pomijalnie krótka, a zatem poziom feromonu na niej również gwałtownie rośnie i staje się ona wybraną ścieżką w punkcie B zamiast dłuższej ścieżki powrotnej. Jak wspomniano wcześniej, Marco Dorigo zamodelował to zachowanie mrówek matematycznie na małych agentach zwanych sztucznymi mrówkami. Mrówki te podejmują probabilistyczne decyzje dotyczące zestawu możliwych rozwiązań w funkcji wartości feromonu powiązanej z tą ścieżką i informacji heurystycznych opartych na danych wejściowych. Podczas każdej iteracji rozwiązanie jest wybierane z prawdopodobieństwem danym przez (deCastro i Von Zuben, 2005):



W równaniu (1) τij odnosi się do poziomu feromonu, a ηij to informacja heurystyczna. Równanie (1) nazywane jest losową regułą proporcjonalnego przejścia. Informacja feromonowa i heurystyczna mogą być ważone za pomocą α i β, a zatem α, β ∈ R+. Wartość feromonu w roztworze może być również aktualizowana na podstawie jego działania poprzez proces wzmacniania. Poziomy feromonu w dobrych roztworach mogą być wzmacniane poprzez aktualizację wartości feromonu w takich roztworach. Prowadzi to do szybszej zbieżności w optymalnych roztworach. Ponadto feromony odparowują proporcjonalnie we wszystkich roztworach. Jeśli ? oznacza szybkość parowania, wartość feromonu w roztworze oblicza się, mnożąc ją przez współczynnik (1- ?). Cel parowania jest przeciwny do celu wzmocnienia. Ma na celu uniknięcie zbyt szybkiej konwergencji rozwiązania, która mogłaby prowadzić do rozwiązania suboptymalnego . Parowanie umożliwia wygodne zapominanie, co prowadzi do eksploracji większej przestrzeni rozwiązań.

AntHocNet

AntHocNet (Di Caro, Ducatelle i Gambardella, 2004) to technika routingu oparta na koloniach mrówek dla sieci ad-hoc. Jest to algorytm hybrydowy, który opiera się na reaktywnym konfigurowaniu tras w połączeniu z proaktywnym sondowaniem tras, ich konserwacją i ulepszaniem. Jest to algorytm routingu na żądanie, co oznacza, że ścieżki między źródłem a miejscem docelowym są konfigurowane w razie potrzeby i nie są obliczane z wyprzedzeniem. AntHocNet to również protokół routingu oparty na tablicach, co oznacza, że tablice są używane przez każdy węzeł do śledzenia wszystkich ścieżek od tego węzła do innych węzłów w sieci. Każdy algorytm routingu na żądanie w sieciach ad-hoc ma następujące trzy funkcjonalności.

1. Odkrywanie tras: Znalezienie trasy między źródłem a miejscem docelowym.
2. Wybór tras: Jeśli istnieje wiele tras, algorytm wybiera trasy używane do routingu. Może to obejmować wybór tras z danej tabeli tras.
3. Utrzymywanie tras: Podejmowanie odpowiednich działań w przypadku przerwania tras z powodu ruchu węzłów lub awarii łącza.

Chociaż algorytm może oferować funkcje związane z bezpieczeństwem, tolerancją błędów i innymi funkcjonalnościami specyficznymi dla danej aplikacji, są to trzy podstawowe funkcjonalności obecne w niemal każdym algorytmie routingu. Omówimy teraz, jak AntHocNet implementuje wszystkie trzy funkcjonalności.

Odkrywanie tras

Jak wspomniano wcześniej, AntHocNet to protokół routingu na żądanie. Trasy są wyszukiwane "w trakcie". W AntHocNet małe pakiety sterujące, zwane agentami ant, służą do przesyłania informacji sterujących w sieci. Gdy węzeł źródłowy s chce skomunikować się z węzłem docelowym d, szuka ścieżki w swojej tablicy feromonowej. Jeśli nie znajdzie żadnej ścieżki, rozgłasza reaktywną mrówkę Fds. Mówi się, że agenci mrówek, którzy są kopiami siebie nawzajem (jak te, które są rozgłaszane), należą do tego samego pokolenia mrówek. Węzeł i, który odbiera mrówkę, z kolei szuka ścieżki do celu d we własnej tablicy feromonowej. Tablica feromonowa przechowuje wpisy w formie Tind, gdzie Tnd reprezentuje możliwość przejścia do sąsiedniego węzła n w celu osiągnięcia d. Jeśli dostępne są informacje o feromonach, następny węzeł jest wybierany na podstawie reguły losowego przejścia podanej w równaniu (1) . Węzeł n jest wybierany z prawdopodobieństwem Pnd.



Tutaj Nid reprezentuje zbiór sąsiadów, dla których znana jest ścieżka do węzła d. Porównując równanie (1) z równaniem (2), czytelnik zauważy, że wartość α oznaczająca ważność informacji heurystycznej wynosi tutaj zero, a β1 oznacza parametr, który można wykorzystać do kontrolowania zachowań eksploracyjnych mrówek. Jeśli węzeł i nie ma żadnego wpisu w swojej tabeli feromonów, retransmituje mrówkę. Aby zapobiec zalewaniu sieci tymi transmisjami, gdy węzeł odbiera mrówkę, którą odebrał wcześniej (tj. kilka mrówek tego samego pokolenia), porównuje ją z mrówką o najlepszych wynikach. Jeśli liczba przeskoków h i czas podróży mieszczą się w granicach współczynnika akceptacji a1, to tylko ten węzeł retransmituje mrówkę. W przeciwnym razie mrówka jest odrzucana. Wyjątek od tej reguły dotyczy mrówek, które różnią się między sobą pierwszym przeskokiem. Dla takich mrówek stosuje się wyższy współczynnik akceptacji a2. Zapobiega to powstawaniu ścieżek w kształcie latawca (pseudowielokrotnych ścieżek) , jak pokazano na rysunkach 3 i 4.





Gdy mrówka dociera do celu d, przekształca się w mrówkę wsteczną. Mrówka wsteczna pokonuje trasę P w odwrotnym kierunku, aktualizując wartość feromonu w każdym węźle. Czas potrzebny na transport pakietu danych przez P szacuje się na .



Gdzie jest całkowity czas potrzebny na przesłanie Q (długości kolejki) + 1 pakietów do warstwy MAC. Można to znaleźć jako



szacuje się na



gdzie α ∈ [0, 1]. Jeśli jest to czas podróży szacowany przez mrówkę, wartość feromonu w tabeli Ti w węźle i, podana wzorem jest aktualizowany jako



Thop to stała wartość reprezentująca czas pojedynczego skoku w warunkach bez obciążenia. Wartość jest aktualizowana zgodnie z .



gdzie γ∈ [0, 1].

Routing danych

Po skonfigurowaniu ścieżek, routing odbywa się stochastycznie. Oznacza to, że gdy węzeł odbierze pakiet danych, może zdecydować o jego przekazaniu do jednego z kilku węzłów na swojej liście. Węzeł wybiera kolejny węzeł z tabeli z prawdopodobieństwem :



Porównując równanie (8) z równaniem (2), stwierdzamy, że w sieci AntHocNet pakiety danych są przekazywane w sposób podobny do pakietów sterujących (w tym przypadku pakietów reaktywnych z funkcją forward ant). Jednak wartość β2 jest wybierana znacznie wyżej niż β1, aby preferować lepsze ścieżki podczas routingu danych. Z drugiej strony, obniżając wartość β1, możemy dać reaktywnym z funkcją forward antom swobodę bardziej eksploracyjnego charakteru. Chociaż węzeł preferuje przekazywanie pakietów do następnego węzła, który znajduje się na lepszej ścieżce, wraz ze wzrostem obciążenia sieci wartość feromonu na tej konkretnej ścieżce zaczyna spadać, a tym samym prawdopodobieństwo wyboru innych ścieżek rośnie. Ten rodzaj stochastycznego routingu danych prowadzi do automatycznego równoważenia obciążenia.

Konserwacja tras

Jak wspomniano wcześniej, AntHocNet wykorzystuje proaktywne sondowanie i konserwację tras. Węzeł źródłowy wysyła proaktywne pakiety unicast do celu. Te pakiety są przekazywane przez każdy węzeł w sposób podobny do innych pakietów sterujących. Mają jednak również niewielkie prawdopodobieństwo rozgłoszenia. Zatem mrówka, która dociera do węzła docelowego po wybranej liczbie (powiedzmy jednej lub dwóch) pakietów rozgłoszeniowych, znajduje nową trasę do celu. Jeśli mrówka nie zostanie rozgłoszona, znajduje nowe informacje dotyczące tej trasy. Węzeł używa pakietów hello do śledzenia swoich sąsiadów. Jeśli węzeł znajdzie nowego sąsiada, dodaje go do swojej tablicy routingu. Jeśli jednak węzeł wykryje, że węzeł przesunął się poza swoje sąsiedztwo (na przykład, jeśli nie odpowie na pakiety hello), rozgłasza swojego sąsiada, usuwa go ze swojej tablicy routingu i rozgłasza powiadomienie o awarii łącza, tak aby inne węzły w sieci zaktualizowały swoje tabele, informując, że węzeł nie ma już trasy do celu. Jeśli jednak węzeł zda sobie sprawę, że problem wynika z awarii łącza, a nie z ruchu węzła, próbuje naprawić ścieżkę, inicjując procedurę naprawy trasy do celu. Mrówka próbuje znaleźć alternatywną ścieżkę do celu i jeśli nie powróci w określonym czasie, węzeł zakłada awarię i rozgłasza powiadomienie o awarii łącza.

WNIOSKI

Przedstawiono przykład zastosowania technik ACO do rozwiązywania problemów w sieciach ad-hoc. Najpierw przedstawiono zachowanie mrówek w poszukiwaniu pożywienia i wyjaśniono to zjawisko, wykorzystując koncepcję feromonu. Następnie wyjaśniono koncepcję sztucznych mrówek i innych technik ACO oraz wyjaśniono zasadę prawdopodobieństwa losowego. Następnie przedstawiono algorytm AntHocNet , który wykorzystuje techniki ACO do routingu w mobilnych sieciach ad-hoc. Wyjaśniono, jak różne trasy są odkrywane za pomocą reaktywnych mrówek. Wyjaśniono również, jak zasada prawdopodobieństwa losowego jest wykorzystywana w przypadku AntHocNet. Następnie przedstawiono, jak dane mogą być trasowane stochastycznie za pomocą tych tras i jak dzięki temu osiąga się automatyczne równoważenie obciążenia. Na koniec wyjaśniliśmy, w jaki sposób trasy te są utrzymywane za pomocą pakietów hello i powiadomień o awariach łącza.


Przetwarzanie strumieniowe klasyfikatora neuronowego II



WSTĘP W niniejszym artykule przedstawiono klasyfikator neuronowy Fuzzy ART działający w czasie rzeczywistym, przeznaczony do segmentacji skóry, zaimplementowany na procesorze graficznym (GPU). Procesory graficzne (GPU) ewoluowały w wydajne procesory programowalne, coraz częściej wykorzystywane w dziedzinach badań zależnych od czasu, takich jak symulacja dynamiki, zarządzanie bazami danych, przetwarzanie obrazu czy przetwarzanie obrazu. Procesory graficzne (GPU) są projektowane zgodnie z modelem przetwarzania strumieniowego, a każda nowa generacja popularnych kart graficznych zawiera coraz bardziej wydajne i elastyczne procesory graficzne (Owens, 2005). W ostatnich latach przetwarzanie na procesorach graficznych ogólnego przeznaczenia (GPGPU) stało się powszechnie przyjętą techniką akceleracji aplikacji. Zjawisko GPGPU należy do szerszych obszarów badawczych: jednorodnych i heterogenicznych obliczeń wielordzeniowych. Badania w tych dziedzinach są napędzane czynnikami takimi jak luka Moore′a. Dzisiejsze procesory jednoprocesorowe (uni-processor) działają zgodnie z regułą 90/100, gdzie 90% procesora jest pasywne, a 10% wykonuje pracę aktywną. Z kolei procesory wielordzeniowe starają się przestrzegać tej samej ogólnej zasady, ale z 10% pasywnymi i 90% aktywnymi procesorami podczas pracy z pełną przepustowością. Jednoprocesorowe jednostki centralne (CPU) zostały zaprojektowane do wykonywania programów ogólnego przeznaczenia, składających się z sekwencyjnych instrukcji operujących na pojedynczych danych. Projektanci starali się zoptymalizować złożone wymagania sterowania przy minimalnym opóźnieniu, dlatego wiele tranzystorów w układzie scalonym jest przeznaczonych do przewidywania rozgałęzień, wykonywania poza kolejnością i buforowania. W artykule "Stream Processing of a Neural Classifier I" wprowadzono kilka terminów i pojęć związanych z GPGPU. Podano szczegółowy opis implementacji Fuzzy ART ANN na standardowej karcie graficznej, wykorzystującej możliwości paralelizmu i wektorów GPU. W tym artykule, wspomniana implementacja Fuzzy ART zaprojektowana przez GPU jest skonfigurowana do niezawodnego rozpoznawania skóry w czasie rzeczywistym. Zarówno procesy uczenia, jak i testowania są realizowane na GPU z wykorzystaniem składowych chrominancji w przestrzeni barw TSL (odcień, nasycenie i luminancja). Implementacja Fuzzy ART ANN rozpoznaje piksele odcieni skóry z szybkością 270 kl./s na procesorze graficznym NVIDIA GF7800GTX.

TŁO

Wykrywanie części ciała człowieka ma ważne zastosowania jako pierwszy krok w wielu zaawansowanych zadaniach z zakresu wizji komputerowej, takich jak identyfikacja osobista, systemy indeksowania wideo i interfejsy człowiek-maszyna (HMI). HMI wymaga przetwarzania wideo w czasie rzeczywistym, zużywając jednocześnie jak najmniej zasobów systemowych. Kolor skóry jest powszechnie używany jako wskazówka do wykrywania i śledzenia obiektów zawierających skórę, takich jak twarze i dłonie na obrazie. Ostatecznym celem wykrywania koloru skóry jest zbudowanie reguły decyzyjnej, która umożliwi efektywną segmentację pikseli skóry i pikseli innych niż skóra na obrazie. Najprostsze rozwiązanie definiuje kolory skóry jako te, które mają określony zakres wartości we współrzędnych przestrzeni barw. OpenVidia była jednym z pierwszych rozwiązań zorientowanych na wizję komputerową, które umożliwiało segmentację odcieni skóry na GPU. W tym celu OpenVidia wykorzystuje konwersję kolorów RGB (czerwony, zielony i niebieski) na HSV (odcień, nasycenie i wartość) oraz filtrowanie progowe. Statystyczne podejścia do segmentacji skóry opierają się na założeniu, że kolory skóry podlegają pewnemu rozkładowi, który można oszacować. Podejścia te zazwyczaj wykorzystują składowe chrominancji w przestrzeni barw, progi i parametry dostrajalne. Zaproponowano podejścia oparte na sieciach neuronowych do nauki rozkładu kolorów skóry. Karlekar i in. zastosowali sieć neuronową MLP do klasyfikacji pikseli na kolory skóry i kolory inne niż skóra . Zaproponowano bardziej złożone modele do radzenia sobie ze zmieniającymi się warunkami, takimi jak zmienne oświetlenie na obrazach. Sahbi i in. zastosowali ANN do wykrywania skóry na poziomie zgrubnym, a następnie znalezione obszary poddano gaussowskiemu modelowaniu kolorów z wykorzystaniem metody klastrowania rozmytego . Martínez-Zarzuela i inni wykorzystali opartą na GPU implementację Fuzzy ART ANN do nauki kolorów skóry w przestrzeni barw TSL (odcień, nasycenie i luminancja) . W ich systemie proces kategoryzacji Fuzzy ART wykorzystuje każdy procesor fragmentów dostępny w GPU, dzięki czemu sieć może testować kilka pikseli jednocześnie, umożliwiając rozpoznawanie przy dużej liczbie klatek na sekundę. Niektórzy badacze podejmowali wysiłki w celu integracji różnych rodzajów sieci neuronowych na GPU w celu przyspieszenia działania określonych aplikacji. Oh i in. opracowali opartą na GPU technologię MLP do klasyfikacji obszarów tekstowych na obrazie, osiągając prawie 20-krotne przyspieszenie w porównaniu z procesorem CPU . Luo i inni zaimplementowali technologię MLP na GPU do rozpoznawania i śledzenia piłki w czasie rzeczywistym w zawodach robotów piłkarskich .Zaproponowano wykorzystanie kart graficznych do OCR i rozpoznawania pisma odręcznego online . Ostatecznie Bernhard i inni opracowali dwa algorytmy segmentacji obrazu wykorzystujące impulsowe sieci neuronowe na GPU .

PRZETWARZANIE STRUMIENIOWE DO ROZPOZNAWANIA SKÓRY OPARTE NA SIECIACH ANALITYCZNYCH

Przestrzeń barw TSL

Filtrowanie barw to potężne narzędzie w zastosowaniach wizji komputerowej, w tym w wykrywaniu i śledzeniu części ciała człowieka. Przetwarzanie barw charakteryzuje się niskim kosztem obliczeniowym i jest odporne na transformacje geometryczne (np. obrót, skalowanie, transfer i zmiany kształtu). Jednak czynniki takie jak nieidealność w kamerach kolorowych i warunki oświetlenia mogą negatywnie wpłynąć na wydajność aplikacji opartych na filtrowaniu. Barwę można rozłożyć na trzy różne składowe: jedną luminancję i dwie chrominancje. Liczne badania dowiodły, że barwy skóry charakteryzują się pewną niezmiennością w zakresie składowych chrominancji. Na wartość luminancji wpływają głównie odcień skóry i oświetlenie . Do segmentacji koloru skóry wykorzystano różne przestrzenie barw oddzielające składowe chrominancji i luminancji: YIQ, YCbCr, CIE-Lab, CIE-Luv, HSV, IHS oraz TSL . W przestrzeni barw TSL (Terrillon, David i Akamatsu, 1998) kolor jest określany za pomocą wartości odcienia (Tint), nasycenia (S) i luminancji (L). Przestrzeń TSL została wybrana jako najlepsza do ekstrakcji koloru skóry ze złożonych środowisk , ponieważ ma ona tę zaletę, że umożliwia solidną ekstrakcję danego koloru przy jednoczesnym minimalizowaniu wpływu oświetlenia. Równania do wyznaczania składowych T, S i L w znormalizowanej przestrzeni TSL to:



gdzie r′ = (r - 1/3) i g′ = (g - 1/3), przy czym r i g są składowymi chrominancji znormalizowanego modelu kolorów RGB. Wartości T, S i L są znormalizowane w zakresie [0,1]. Dla R = G = B (kolory achromatyczne) przyjmuje się T = 5/8 i S = 0.

Szkolenie offline Fuzzy ART na GPU do rozpoznawania skóry

Systemy oparte na teorii rezonansu adaptacyjnego (ART) składają się z trzech warstw lub pól węzłów. Fuzzy ART jest rozszerzeniem oryginalnego systemu ART 1, który włącza obliczenia z teorii zbiorów rozmytych do sieci ART, umożliwiając w ten sposób naukę i rozpoznawanie zarówno analogowych, jak i binarnych wzorców wejściowych . Pierwsze pole F0 reprezentuje wzorzec wejściowy; górne pole F2 reprezentuje aktywny kod lub kategorię wybieranego wzorca wejściowego; środkowa warstwa F1 odbiera zarówno dane wejściowe od dołu do góry z F0, jak i od góry do dołu z F2. Wektor aktywności F0 jest oznaczony jako Ī =(I1,…IM)gdzie każda składowa Ii mieści się w przedziale [0,1]. Przydatną regułą unikania proliferacji kategorii jest kodowanie dopełnieniowe. Jeśli ā reprezentuje odpowiedź na wzorzec, każdy składnik odpowiedzi poza wzorcem Īc jest definiowany jako aci ≡ 1- ai. Następnie, kodowane dopełnieniem wejście otrzymuje i |Ī| =M dla każdego wzorca wejściowego. Aby wytrenować sieć neuronową do rozpoznawania skóry, można wybrać kodowane dopełnieniem cechy TS, tak aby wzorce wejściowe były definiowane jako . W ten sposób, w implementacji GPU, każdy wektor cech może być przechowywany za pomocą pojedynczego teksela w teksturze RGBA. Każdy węzeł pola F2 ma skojarzony wektor wag lub ślad pamięci długotrwałej (LTM) wj = (wj1,…,wjM), który obejmuje informacje zarówno z wektorów wag oddolnych, jak i odgórnych. Początkowo wszystkie wagi są ustawione na jeden, więc każda kategoria jest nazywana niezatwierdzoną. Kiedy kategoria jest wybierana po raz pierwszy, staje się ona zatwierdzona, a odpowiadający jej węzeł w F2 ponownie adaptuje powiązane z nią wagi wj. Dla każdego wejścia Ī i węzła F2 j, funkcja wyboru Tj jest zdefiniowana przez:



gdzie rozmyty operator MIN ∧ jest zdefiniowany przez (pi ∧ qi) ≡ min(pi ∧ qi), a norma |•| jest zdefiniowana przez Mówi się, że system dokonuje wyboru kategorii, gdy co najmniej jeden węzeł F2 staje się aktywny po zaprezentowaniu wzorca wejściowego na wejściu F0. Wybór kategorii jest indeksowany przez J, gdzie TJ = max(Tj : j = 1…N). Wówczas wJ jest rozmytym podzbiorem Ī i jest on przekazywany z F2 w celu zmierzenia jego podobieństwa do wzorca wejściowego Ī?. System wchodzi w rezonans, jeśli funkcja dopasowania spełnia kryterium czujności:



Implementacje rozmytego ART na procesorze sekwencyjnie obliczają aktywność dla każdego węzła w polu F2 (4). Następnie wykonywana jest operacja sortowania, aby dowiedzieć się, który neuron jest najczęściej aktywowany przez wzorzec wejściowy. Jeśli kategoria przechowywana w tym neuronie jest wystarczająco podobna do wzorca wejściowego (5), powiązane z nią wagi są aktualizowane o nowe informacje; w przeciwnym razie należy przeanalizować kolejny najczęściej aktywowany neuron. Implementacje rozmytego ART, oparte na modelu programowania strumieniowego, mogą obliczać aktywność każdego neuronu wyjściowego jednocześnie. Co więcej, na procesorze graficznym możliwe jest wykorzystanie jednostek przetwarzania zaprojektowanych do operowania na danych wektorowych, a tym samym jednoczesne wybranie najczęściej aktywowanego neuronu, którego współczynnik dopasowania jest większy niż parametr czujności ρ. Stosując kodowanie dopełnieniowe, drastycznie zmniejszamy proliferację kategorii i wymuszamy, aby |Ī| było stałe (|Ī| = M = 2 ) dla każdego wzorca wejściowego. Pozwala to również uniknąć dodatkowych obliczeń podczas obliczania współczynnika dopasowania (5). W przypadku spełnienia kryterium czujności i włączenia treningu, wektor wJ należy zaktualizować za pomocą:



W implementacji na GPU sieci Fuzzy ART ANN przeznaczonej do rozpoznawania skóry, ślady LTM składają się z 4 komponentów i mogą być przechowywane w jednowymiarowej teksturze RGBA WT. Tekstura ta powinna być wystarczająco długa, aby zawierać jak najwięcej kategorii, które mogą zostać zatwierdzone podczas procesu treningu. Jednak tylko pierwsze N tekseli zawierających informacje z zatwierdzonych neuronów musi uczestniczyć w procesie treningu podczas obliczania Tj. Można to zrobić na GPU za pomocą scissoringu, który pozwala na renderowanie kwadratu o wymiarach 1xN, który nie obejmuje całej tekstury. Scissoringu można również użyć do aktualizacji tylko tych tekseli, które powinny ulec zmianie podczas procesu treningu (6). Wzory treningowe można wyodrębnić z obrazów zawierających obszary skóry. Do celów wyników eksperymentalnych przedstawionych w niniejszym artykule, obszary skóry zostały starannie wybrane z bazy danych Faces96, zawierającej 3056 obrazów. Rozkład koloru skóry oszacowano jako rozkład normalny za pomocą estymatora Minimalnych Wyznaczników Kowariancji (MCD) , a do trenowania sieci neuronowej wybrano łącznie 671438 wektorów wejściowych w zależności od ich odległości Mahalanobisa od średniego koloru modelowanego rozkładu. Sieć neuronową trenowano, ustalając parametr α na 0,001 i zmieniając parametr czujności w różnych testach treningowych. Tabela przedstawia liczbę zatwierdzonych kategorii w zależności od wartości ρ.



Im wyższa wartość parametru czujności, tym większa liczba zatwierdzonych kategorii skóry przez sieć, ponieważ rośnie poziom podobieństwa między wzorcami należącymi do różnych kategorii. Rysunki od 1b) do 1e) przedstawiają różne obszary zidentyfikowane przez sieć jako kategorie skóry, przy czym ? wzrasta odpowiednio z 0,90 do 0,97.



Rozpoznawanie skóry w czasie rzeczywistym Fuzzy ART na GPU

Po wytrenowaniu sieci neuronowej (SN) obliczone ślady LTM zawierają wszystkie informacje potrzebne do rozpoznania skóry. Sekwencje wideo, które wymagają przetworzenia, można pozyskać za pomocą konwencjonalnej kamery internetowej USB, a każdą nową klatkę można przesłać do pamięci GPU i zapisać w teksturze RGBA. Następnie można użyć shadera do konwersji pikseli przestrzeni barw (R, G, B, A) na wektory cech (T, S, 1-T, 1-S), które będą danymi wejściowymi dla sieci neuronowej Fuzzy ART. Podczas rozpoznawania skóry kilka wzorców wejściowych można kategoryzować równolegle, wykorzystując każdy procesor fragmentów dostępny na GPU. Wybór kategorii odbywa się poprzez wykonanie shadera N razy, gdzie N jest liczbą kategorii w polu F2. W każdym przebiegu aktywacja j-tego neuronu wyjściowego (5) i współczynnik dopasowania (6) są obliczane dla każdego wzorca wejściowego i renderowane do tekstury wyjściowej RGBA, która będzie również zawierać indeks kategorii powiązany z każdym wzorcem. Tekstura RGBA i tekstura zawierająca wektory cech są wykorzystywane jako dane wejściowe do kolejnej iteracji, z wykorzystaniem techniki ping-ponga. Jeśli aktywacja w przejściu j jest większa niż obliczona aktywacja w przejściu j?1 i spełnione jest kryterium dopasowania, indeks kategorii jest aktualizowany w teksturze wyjściowej. Na koniec można wykorzystać etap post-processingu do wygenerowania obrazu, w którym piksele nienależące do żadnej kategorii skóry nie są renderowane na ekranie. Rysunek 2 przedstawia globalny schemat systemu i ewolucję procesu rozpoznawania skóry poprzez różne przejścia shaderów.



Renderowanie zarówno indeksu wybranej kategorii, jak i współczynnika dopasowania do tekstury wyjściowej jest przydatne do analizy uzyskanych wyników. Różne poziomy szarości na kanale R reprezentują różne kategorie skóry zatwierdzone podczas procesu uczenia; na kanale A wartość z zakresu [0,1] reprezentuje stopień podobieństwa każdego piksela w obrazie oryginalnym do wybranej kategorii skóry. Rysunek 3 przedstawia dwa obrazy sklasyfikowane przez ANN przy użyciu różnych wartości ρ.



Wraz ze wzrostem ? maleje zarówno wskaźnik trafień, jak i wskaźnik fałszywych alarmów. Przy ρ = 0,90 prawie każdy piksel skóry jest poprawnie rozpoznawany, ale kilka pikseli innych niż skóra (np. z fioletowych okularów) jest uwzględnianych przez sieć w pewnej kategorii skóry. Piksele te nie są poprawnie rozpoznawane jako skóra przy ρ = 0,97. Tabela 2 przedstawia wydajność systemu dla różnych rozdzielczości, działającego na dwurdzeniowym procesorze Pentium 4 3,2 GHz z 1 GB pamięci RAM, kartą graficzną GeForce 7800GTX 256 MB (zawierającą 24 procesory fragmentacyjne) i standardową kamerą internetową zdolną do rejestrowania do 90 kl./s przy rozdzielczości 640x480 pikseli.



Wraz ze wzrostem wartości ρ i rozdzielczości maleje liczba klatek na sekundę. Liczba klatek, które mogą zostać przetworzone przez sieć, w dużym stopniu zależy od liczby wektorów wejściowych i liczby zatwierdzonych kategorii, w których musi zostać przetestowany każdy piksel. Najlepsza wydajność to 270 kl./s dla rozdzielczości 320x240 pikseli i ρ = 0,90.

PRZYSZŁE TRENDY

Opisana w tym artykule implementacja systemu rozpoznawania skóry opartego na GPU została opracowana przy użyciu połączonego rozwiązania C++ / OpenGL / Cg , a algorytm musiał zostać przetłumaczony na język graficzny, aby można go było zmapować na GPU. Jednak nowsze karty graficzne firmy NVIDIA można programować za pomocą zestawu narzędzi programistycznych CUDA (Compute Unified Device Architecture). Zanim CUDA stała się dostępna, GPGPU wymagało użycia graficznego API, które przedstawiało niewłaściwą abstrakcję dla obliczeń równoległych ogólnego przeznaczenia, utrudniając pisanie, debugowanie i optymalizację aplikacji GPGPU. CUDA umożliwia bezpośrednią implementację obliczeń równoległych w języku C przy użyciu API zaprojektowanego do obliczeń ogólnego przeznaczenia. Zawiera również standardowe biblioteki FFT i BLAS, które pomogą badaczom z różnych dziedzin w wykorzystaniu wydajności obliczeniowej GPU.

WNIOSKI

W niniejszym artykule przedstawiono implementację sieci neuronowej Fuzzy ART opartej na GPU do rozpoznawania skóry w czasie rzeczywistym. Projekt ten z powodzeniem rozwiązuje problem wykorzystania sieci neuronowej do klasyfikacji wzorców, gdy czas jest kluczowym wymaganiem. Do wytrenowania sieci, aby mogła ona rozpoznawać skórę w rzeczywistych, zmieniających się warunkach, niezbędny jest solidny i kompletny zestaw kolorów skóry oraz odpowiedni dobór cech wejściowych (składowych chrominancji przestrzeni barw TSL). Wyniki eksperymentów pokazują, że system osiąga doskonałą wydajność z kartą graficzną NVIDIA 7800GTX, która zawiera 24 fragment shadery w potoku obliczeniowym. Rozpoznawanie skóry Fuzzy ART na GPU może być pierwszym etapem w złożonej aplikacji przetwarzania obrazu, takiej jak interfejs człowiek-maszyna lub system nadzoru wizyjnego.


Przeszukiwanie dysków



WSTĘP

Konieczność radzenia sobie z dużymi zbiorami danych leży u podstaw wielu rzeczywistych problemów. W wielu organizacjach rozmiar danych przekroczył już petabajty (1015). Oczywiste jest, że fizyczne ograniczenia pamięci RAM stanowią poważną przeszkodę w przetwarzaniu tak ogromnej ilości danych. Jednak nośniki, które mogą przechowywać ogromne zbiory danych, tj. dyski twarde, są od 10 000 do 1 000 000 razy wolniejsze w dostępie niż pamięć RAM. Z drugiej strony, koszty dużych ilości miejsca na dyskach znacznie spadły. Ta rosnąca dysproporcja doprowadziła w ostatnich latach do wzrostu zainteresowania projektowaniem algorytmów pamięci zewnętrznej (Sanders i in., 2003). W przypadku dysku twardego losowy dostęp do dysku jest powolny ze względu na opóźnienie dysku w przesuwaniu głowicy nad danymi. Jednak gdy głowica znajdzie się we właściwej pozycji, dane można odczytać bardzo szybko. Algorytmy pamięci zewnętrznej wykorzystują ten fakt, przetwarzając dane w postaci bloków. Są lepiej poinformowani o przyszłych dostępach do danych i mogą organizować ich wykonywanie tak, aby minimalizować liczbę dostępów do bloków. Tradycyjne algorytmy przeszukiwania grafów działają dobrze, o ile graf mieści się w pamięci RAM. Jednak w przypadku dużych grafów algorytmy te są skazane na porażkę. W dalszej części omówimy niektóre postępy w dziedzinie algorytmów przeszukiwania zaprojektowanych dla dużych grafów.

TŁO Większość współczesnych systemów operacyjnych oferuje uniwersalny schemat zarządzania pamięcią zwany pamięcią wirtualną, aby zrekompensować ograniczoną pamięć RAM. Niestety, takie schematy przynoszą efekty tylko wtedy, gdy dostępy algorytmu do pamięci są lokalne, tj. działają one przez pewien czas na określonym zakresie adresów pamięci, zanim przeniosą uwagę na inny zakres. Algorytmy przeszukiwania, zwłaszcza te, które porządkują węzły według określonej właściwości węzła, nie wykazują takiego zachowania. Przeskakują one tam i z powrotem, aby wybrać najlepszy węzeł, w sposób niezależny przestrzennie, uwzględniając jedynie marginalne różnice we właściwościach węzła. Algorytmy pamięci zewnętrznej są projektowane z uwzględnieniem hierarchii pamięci. Są one analizowane w oparciu o model pamięci zewnętrznej, w przeciwieństwie do tradycyjnego modelu pamięci RAM von Neumanna. Do opisu algorytmów wyszukiwania wykorzystujemy dwupoziomowy model pamięci Vittera i Shrivera (1994). Model ten dostarcza niezbędnych narzędzi do analizy asymptotycznej liczby dostępów do bloku (operacji wejścia/wyjścia) wraz ze wzrostem rozmiaru danych wejściowych. Składa się on z:

o M: rozmiaru pamięci wewnętrznej wyrażonego liczbą elementów,
o N >> M: rozmiaru danych wejściowych wyrażonego liczbą elementów oraz
o B: rozmiaru bloku danych, który można przesłać między pamięcią wewnętrzną a dyskiem twardym; przesłanie jednego takiego bloku nazywa się pojedynczą operacją wejścia/wyjścia.

Złożoność algorytmów pamięci zewnętrznej jest wygodnie wyrażana w kategoriach predefiniowanych operacji wejścia/wyjścia, takich jak scan(N) do skanowania pliku o rozmiarze N ze złożonością Θ(N/B) wejść/wyjść i sort(N) do sortowania zewnętrznego pliku o rozmiarze N ze złożonością Θ(N/B logM/B (N/B)) wejść/wyjść. Dzięki dodatkowym parametrom model może również obsługiwać wiele dysków i procesorów. W poniższym przykładzie zakładamy graf jako krotkę (V, E, c), gdzie V jest zbiorem węzłów, E zbiorem krawędzi, a c funkcją wagową, która przypisuje niezerową dodatnią liczbę całkowitą do każdej krawędzi. Jeśli wszystkie krawędzie mają tę samą wagę, składnik c można pominąć, a grafy nazywane są nieważonymi. Biorąc pod uwagę węzeł początkowy s i węzeł docelowy g, wymagamy, aby algorytm wyszukiwania zwrócił optymalną ścieżkę względem funkcji wagowej.

Algorytmy przeszukiwania w pamięci zewnętrznej

Przeszukiwanie wszerz w pamięci zewnętrznej Przeszukiwanie wszerz (BFS) jest jednym z podstawowych algorytmów przeszukiwania. Eksploruje graf, najpierw rozszerzając węzły znajdujące się najbliżej węzła początkowego. Przeszukiwanie wszerz dla pamięci zewnętrznej zostało zaproponowane przez Munagalę i Ranade (1999). Rozważa ono tylko grafy niekierowane i jawne (zapewnione wcześniej w postaci list sąsiedztwa). Działanie algorytmu zilustrowano na grafie na rysunku 1.



Niech Open(i) będzie zbiorem węzłów na poziomie BFS i, znajdujących się na dysku. Algorytm buduje Open(i) z Open(i-1) w następujący sposób. Niech Succ(Open(i-1)) będzie wielozbiorem następników węzłów w Open(i-1); zbiór ten jest tworzony przez połączenie wszystkich list sąsiedztwa węzłów w Open(i-1). Ponieważ w tym zestawie może znajdować się wiele kopii tego samego węzła, kolejnym krokiem jest usunięcie tych duplikatów. W przypadku pamięci wewnętrznej można to łatwo zrobić za pomocą tablicy skrótów. Niestety, w przypadku pamięci zewnętrznej tablica skrótów nie jest opłacalna ze względu na losowy dostęp do jej zawartości. Dlatego polegamy na alternatywnych metodach usuwania duplikatów, które dobrze sprawdzają się w przypadku dużych ilości danych na dysku. Pierwszym krokiem jest posortowanie zbioru następczego za pomocą zewnętrznych algorytmów sortowania, co skutkuje zduplikowanymi węzłami leżącymi obok siebie. Poprzez zewnętrzne skanowanie tego posortowanego zbioru usuwane są wszystkie duplikaty. Nadal jednak w tym zestawie mogą znajdować się węzły, które zostały już rozwinięte w poprzednich warstwach. Munagala i Ranade udowodnili, że w przypadku grafów nieskierowanych wystarczy odjąć od Open(i) tylko dwie warstwy, Open(i-1) i Open(i-2). Ponieważ wszystkie trzy listy są posortowane, można to zrobić za pomocą równoległego skanowania zewnętrznego. Skumulowana złożoność wejścia/wyjścia tego algorytmu wynosi O(|V| + sort(|E|)) wejść/wyjść, gdzie |V| służy do niestrukturalnego dostępu do list sąsiedztwa, a sort(|E|) do usuwania duplikatów. Niejawny wariant grafowy powyższego algorytmu został zaproponowany przez Korfa (2003). Stosuje on O(sort(|Succ(Open(i-1))|) +scan(|Open(i-1)| + |Open(i-2)|))) operacji wejścia/wyjścia w każdej iteracji. Ponieważ nie jest potrzebny jawny dostęp do listy sąsiedztwa (ponieważ przestrzeń stanów jest generowana "w locie"), przy użyciu Σi |Succ(Open(i))| = O(|E|) i Σi|Open(i)| = O(|V|), całkowity czas wykonania jest ograniczony przez O(sort(|E|)+ scan(|V|)) operacji wejścia/wyjścia. Aby zrekonstruować ścieżkę rozwiązania, możemy przechowywać informacje o poprzednikach z każdym węzłem na dysku (podwajając w ten sposób rozmiar wektora stanu). Zaczynając od węzła docelowego, rekurencyjnie poszukujemy jego poprzednika w poprzedniej warstwie poprzez skanowanie zewnętrzne. Proces ten trwa do momentu dotarcia do pierwszej warstwy zawierającej węzeł początkowy. Ponieważ przeszukiwanie wszerz zachowuje najkrótsze ścieżki w grafie równomiernym, skonstruowana ścieżka jest ścieżką optymalną. Złożoność jest ograniczona czasem skanowania wszystkich rozważanych warstw, tj. przez O(scan(|V|)) operacji wejścia/wyjścia.

Heurystyczne wyszukiwanie w pamięci zewnętrznej

Algorytmy heurystyczne wykorzystują jakąś formę wskazówek; dostarczanych przez użytkownika lub automatycznie wnioskowanych ze struktury problemu, aby precyzyjnie określić cel. W praktyce takie algorytmy są bardzo skuteczne w porównaniu z algorytmami wyszukiwania ślepego, takimi jak BFS. A* to jeden z takich algorytmów, który priorytetyzuje węzły na podstawie ich rzeczywistej odległości od węzła początkowego wraz z heurystycznym oszacowaniem stanu docelowego. Formalnie, jeśli g(n) reprezentuje koszt ścieżki dotarcia do węzła n, a h(n) heurystyczne oszacowanie osiągnięcia celu, zaczynając od n, to A* porządkuje węzły na podstawie ich wartości f zdefiniowanej jako f(n)=g(n)+h(n). Do efektywnej implementacji A* wymagana jest struktura danych kolejki priorytetowej, która pozwala na usunięcie węzła o minimalnej wartości f w celu rozwinięcia. Jeśli funkcja heurystyczna h jest spójna, to na każdej ścieżce wyszukiwania żaden następnik nie będzie miał mniejszej wartości f niż poprzednik. Zatem A* - przechodząc zbiór węzłów w kolejności f - rozszerza każdy węzeł co najwyżej raz. Zewnętrzna A* autorstwa Edelkampa utrzymuje granicę wyszukiwania na dysku w postaci plików. Każdy plik odpowiada zewnętrznej reprezentacji struktury danych kolejki priorytetowej opartej na kontenerach. Kontener to zbiór węzłów o wspólnych właściwościach. W implementacji kontenera A* o jednym poziomie autorstwa Diala (1969) każdy kontener adresowany indeksem i zawiera wszystkie węzły u o priorytecie f(n)=i. Udoskonalenie zaproponowane przez Jensena rozróżnia węzły o różnych wartościach g i przypisuje kontener Open(i,j) wszystkim węzłom n o długości ścieżki g(n)=i i estymacie heurystycznym h(n)=j. Zewnętrzna reprezentacja tej struktury danych w pamięci zapamiętuje każdy kontener w innym pliku. Podczas procesu eksploracji rozwijane są tylko węzły z Open(i,j) z i+j=f, aż do jego wyczerpania. Kosze są wybierane w kolejności leksykograficznej dla (i,j). W tym czasie kosze Open(i′,j′) z i′< i oraz i′+j′=f są zamknięte, podczas gdy kosze Open(i′,j′) z i′+j′ > f lub z i′ > i oraz i′+j′=f są otwarte. W zależności od postępu rozszerzania węzły w aktywnym koszu są otwarte lub zamknięte. Praktyczne jest natychmiastowe wstępne sortowanie buforów w jednym koszu za pomocą wydajnego wewnętrznego algorytmu sortowania, aby ułatwić scalanie. Duplikaty w aktywnym koszu są eliminowane przez scalanie wszystkich wstępnie posortowanych buforów odpowiadających temu samemu koszowi, co skutkuje jednym posortowanym plikiem. Ten plik może następnie zostać przeskanowany w celu usunięcia z niego zduplikowanych węzłów. W rzeczywistości zarówno scalanie, jak i usuwanie duplikatów może odbywać się jednocześnie. Inny przypadek duplikatów węzłów pojawia się, gdy węzły, które zostały już ocenione w wyższych warstwach, są generowane ponownie. Podobnie jak w algorytmie Munagala i Ranade, algorytm External A* wykorzystuje obserwację, że w grafie problemu nieskierowanego duplikaty węzła o poziomie przeszukiwania wszerz i mogą występować co najwyżej na poziomach i, i-1 oraz i-2. Ponadto, ponieważ h jest funkcją całkowitą, mamy h(n) = h(n′), jeśli n = n′. Te duplikaty węzłów można usunąć poprzez odejmowanie plików dla następnego aktywnego kontenera Open(g+1,h-1). Usuwamy każdy węzeł, który pojawił się w kontenerach Open(g,h-1) i Open(g-1,h-1). To odejmowanie plików można wykonać poprzez proste równoległe skanowanie wstępnie posortowanych plików i użycie pliku tymczasowego, w którym przechowywany jest wynik pośredni. Wystarczy wykonać usuwanie duplikatów tylko dla kontenera, który ma zostać rozwinięty jako następny.

Zakres wykrywania duplikatów

Liczba poprzednich warstw, które są wystarczające do pełnego wykrywania duplikatów w grafach skierowanych, zależy od właściwości grafu poszukiwań zwanej lokalnością . W dalszej części uogólniamy ich koncepcję na grafy poszukiwań ważone i skierowane. Dla grafu problemu ze zbiorem węzłów V, dyskretną funkcją kosztu c, zbiorem następników Succ, stanem początkowym s i δ ze zdefiniowanym jako minimalny koszt między dwoma stanami, lokalność najkrótszej ścieżki jest zdefiniowana jako L = max{δ(s,n) - δ(s,n′) + c(n,n′) | n, n′ ∈ V, n′ ∈ Succ(n)}. W grafach nieważonych mamy c(n,n′)=1 dla wszystkich n, n′. Ponadto, δ(s,n) i δ(s,n′) różnią się co najwyżej o 1, tak że lokalność wynosi 2, co jest zgodne z obserwacją Munagala i Ranade. Lokalność określa grubość granicy przeszukiwania potrzebną do zapobiegania pojawianiu się duplikatów w przeszukiwaniu. Podczas gdy lokalność zależy od grafu, zakres wykrywania duplikatów zależy również od zastosowanego algorytmu przeszukiwania. W przypadku przeszukiwania wszerz (BFS) drzewo przeszukiwania jest generowane ze wzrastającą długością ścieżki (liczbą krawędzi), podczas gdy w przypadku grafów ważonych drzewo przeszukiwania jest generowane ze wzrastającym kosztem ścieżki (odpowiada to algorytmowi Dijkstry w strukturze danych kolejki priorytetów kubełków jednopoziomowych). W dodatnio ważonym grafie przeszukiwania liczba kubełków, które należy zachować, aby zapobiec wysiłkowi duplikowania przeszukiwania, jest równa lokalności najkrótszej ścieżki grafu przeszukiwania. Rozważmy dwa węzły n i n′, gdzie n′ ∈ Succ(n). Załóżmy, że n zostało rozwinięte po raz pierwszy, generując następnik n′, który pojawił się już w warstwach 0, …, δ(s,n)-L, co oznacza, że δ(s,n′) ≤ δ(s,n) - L. Mamy, L ≥ δ(s,n) - δ(s,n′) + c(n,n′) ≥ δ(s,n) - (δ(s,n) - L) + c(n,n′) = L + c(n,n′), w sprzeczności z c(n,n′) > 0.

Udoskonalenia

Ulepszenia algorytmu Munagala i Ranade′a dla jawnych grafów nieskierowanych zostały zaproponowane przez Mehlhorna i Meyera (2002), gdzie zaproponowano bardziej ustrukturyzowany dostęp do list sąsiedztwa. Ajwani i in. (2007) przedstawiają obszerne porównanie empiryczne tych podejść dla różnych rodzajów grafów. Opóźnione wykrywanie duplikatów oparte na haszu (Korf i Schultze, 2005) zostało zaprojektowane w celu uniknięcia złożoności sortowania. Opiera się na dwóch ortogonalnych funkcjach haszujących. Podstawowa funkcja haszująca rozmieszcza węzły w różnych plikach. Po wygenerowaniu pliku następników duplikaty są eliminowane. Zakłada się, że wszystkie węzły o tym samym podstawowym adresie hasza mieszczą się w pamięci głównej. Wtórna funkcja haszująca mapuje wszystkie duplikaty na ten sam adres hasza. Ustrukturyzowane wykrywanie duplikatów .buduje abstrakcyjny graf na grafie problemowym poprzez rozłączne partycjonowanie. W celu rozszerzenia, wszystkie stany mapowane na ten sam węzeł abstrakcyjny są ładowane do pamięci wraz z węzłami mapowanymi na sąsiednie węzły abstrakcyjne. Partycja jest definiowana w taki sposób, że dowolne dwa sąsiednie węzły na grafie są mapowane albo na tę samą partycję, albo na sąsiednią partycję abstrakcyjną. Węzły następcze są sprawdzane pod kątem sąsiednich partycji i usuwane, jeśli zostaną znalezione jako duplikaty, natychmiast po ich wygenerowaniu.

Zastosowania

Implementacje algorytmów zewnętrznego sprawdzania modelu zostały zaproponowane przez Kristensena i Mailunda (2003), którzy zasugerowali technikę linii przemiatania do skanowania przestrzeni poszukiwań zgodnie z zadanym porządkiem częściowym. W celu ogólnego sprawdzania modelu LTL (Linear Temporal Logic), Edelkamp i Jabbar (2006) rozszerzyli metodę External A* o sprawdzanie bezpieczeństwa i żywotności, integrując ją z najnowocześniejszym narzędziem do sprawdzania modeli SPIN.

TRENDY PRZYSZŁOŚCI

Często zdarza się, że algorytmy pamięci zewnętrznej można przekształcić w algorytmy równoległe. Wraz z pojawieniem się procesorów wielordzeniowych i niedrogich klastrów PC, algorytmy równoległe zyskują na znaczeniu. Jabbar i Edelkamp (2006) przedstawiają równoległą implementację zewnętrznego algorytmu A* do sprawdzania właściwości bezpieczeństwa modelu. W przypadku modeli probabilistycznych i niedeterministycznych iteracja wartości (VI) została rozszerzona przez Edelkampa (2007) o pracę na dużych przestrzeniach stanów, które nie mieszczą się w pamięci RAM. Zamiast pracować na stanach, działa ona na krawędziach (n, n′, a, h(n′)), gdzie n nazywane jest stanem poprzednikiem, n′ stanem zapisanym, a działaniem, które przekształca n w n′, a h(n′) to bieżąca wartość n′. Podobnie jak wewnętrzna wersja VI, zewnętrzna wersja VI działa w dwóch fazach. Fazie do przodu, w której generowana jest przestrzeń stanów, oraz fazie wstecznej, w której wartości heurystyczne są wielokrotnie aktualizowane, aż do obliczenia ?-optymalnej strategii lub wykonania maksymalnej liczby iteracji.

WNIOSKI

Przedstawiliśmy krótki przegląd algorytmów wyszukiwania opartych na dysku. Algorytmy te są specjalnie zaprojektowane dla dużych grafów, które nie mieszczą się w pamięci RAM. Wprowadzono zewnętrzną odmianę jednego z podstawowych algorytmów wyszukiwania, tj. przeszukiwanie wszerz. W dziedzinach, w których algorytm wyszukiwania może być wyposażony w jakąś formę wskazówek, aby zmniejszyć nakład pracy związany z wyszukiwaniem, Zewnętrzne A* zapewnia kompletne i wydajne pod względem wejścia/wyjścia rozszerzenie słynnego algorytmu wyszukiwania A*. Cały paradygmat wyszukiwania opartego na dysku jest w dużej mierze zależny od alternatywnych form schematów wykrywania duplikatów. Najbardziej ogólnym jest opóźnione wykrywanie duplikatów oparte na sortowaniu. W przypadku szczególnych problemów, w których możliwe jest dobre rozłączne partycjonowanie grafu, możliwe są wykrywanie duplikatów oparte na haszu i strukturalne wykrywanie duplikatów. Przedstawiliśmy również uogólnienie zakresu wykrywania duplikatów, które określa liczbę poprzednich warstw, które należy sprawdzić, aby zagwarantować, że żaden węzeł nie zostanie rozszerzony dwukrotnie. Na koniec zaobserwowaliśmy pewne przyszłe trendy ukierunkowane na efektywne wykorzystanie nowoczesnego sprzętu wielordzeniowego oraz na metody wyszukiwania reguł. STXXL zapewnia wydajną bibliotekę struktur danych i algorytmów pamięci zewnętrznej.


Problem Uziemienia Symboli



WSTĘP

Temat nabywania, manipulowania i wykorzystywania reprezentacji stanowi główny trend w sztucznej inteligencji od jej początków i nadal stanowi ważny temat w obecnych badaniach. W szczególności, ze względu na początkowe skupienie się na rozwoju systemów symbolicznych, temat ten jest zazwyczaj powiązany z badaniami nad uziemianiem symboli przez sztuczne inteligentne systemy. Systemy symboliczne, zgodnie z propozycją Newella i Simona (1976), charakteryzują się wysokopoziomowym systemem poznawczym, w którym symbole są postrzegane jako "[leżące] u podstaw inteligentnego działania" . Ponadto sformułowali oni Hipotezę Fizycznego Systemu Symboli (PSSH), stawiając mocne twierdzenie, że "fizyczny system symboli posiada niezbędne i wystarczające środki do ogólnego inteligentnego działania" . Hipoteza ta ustanawia zatem równoważność między systemami symboli a inteligentnym działaniem w taki sposób, że każde inteligentne działanie miałoby swoje źródło w systemie symboli, a każdy system symboli byłby zdolny do inteligentnego działania. System symboli opisany przez Newella i Simona (1976) jest postrzegany jako program komputerowy zdolny do manipulowania bytami zwanymi symbolami, "wzorcami fizycznymi" połączonymi w wyrażenia, które mogą być tworzone, modyfikowane lub niszczone za pomocą procesów składniowych. Dwie główne właściwości systemów symboli miały zapewniać systemowi właściwości domknięcia i zupełności, dzięki czemu sam system mógł być zbudowany wyłącznie na symbolach (Newell i Simon, 1976). Tymi właściwościami były desygnacja - wyrażenia desygnują obiekty - oraz interpretacja - wyrażenia mogły być przetwarzane przez system. Pytanie brzmiało, i z tego wynikała znaczna część krytyki systemów symboli, w jaki sposób systemy te, zbudowane na samych symbolach i manipulujące nimi, mogły desygnować coś spoza swojej domeny. Systemom symboli brakuje "intencjonalności", stwierdził John Searle (1980) w ważnym eseju, w którym opisał powszechnie znany eksperyment mentalny (eksperyment Gedankena), "Argument Chińskiego Pokoju". W tym eksperymencie Searle umieszcza się w pokoju, w którym otrzymuje reguły korelacji pozwalające mu na określanie odpowiedzi w języku chińskim na pytania zadane mu również w języku chińskim, mimo że Searle jako tłumacz nie zna chińskiego. Dla zewnętrznego obserwatora (rozumiejącego chiński) mężczyzna w tym pokoju rozumie chiński całkiem dobrze, mimo że w rzeczywistości manipuluje niezinterpretowanymi symbolami, stosując formalne reguły. Dla zewnętrznego obserwatora symbole w pytaniach i odpowiedziach rzeczywiście coś reprezentują, ale dla mężczyzny w pokoju symbole te nie mają intencjonalności. Mężczyzna w pokoju działa jak system symboli, który opiera się jedynie na manipulacji strukturami symbolicznymi za pomocą formalnych reguł. W takich systemach manipulowane tokeny nie dotyczą niczego, a zatem nie można ich nawet uznać za reprezentacje. Jedyna intencjonalność, jaką można przypisać tym symbolom, należy do osoby korzystającej z systemu, która wysyła dane wejściowe, które coś reprezentują, i interpretuje dane wyjściowe systemu (Searle, 1980). Dlatego intencjonalność jest ważną cechą, której brakuje w systemach symboli. Koncepcja intencjonalności dotyczy "cechy pewnych stanów mentalnych, poprzez które są one skierowane na obiekty i stany rzeczy w świecie" (Searle, 1980), jako myśli odnoszącej się do określonego miejsca.1 Searle (1980) wskazuje, że sam "program" nie może osiągnąć intencjonalności, ponieważ programy obejmują relacje formalne, a intencjonalność zależy od relacji przyczynowych. W tym kontekście Searle pozostawia możliwość przezwyciężenia ograniczeń samych programów: "maszyny" - systemy fizyczne przyczynowo połączone ze światem i posiadające "przyczynowe moce wewnętrzne" - mogłyby odtworzyć niezbędną przyczynowość, co stanowi podejście w tym samym kierunku, co usytuowana i ucieleśniona kognitywistyka i robotyka. Należy zauważyć, że te "maszyny" nie powinny być jedynie robotami sterowanymi przez system symboli, jak opisano wcześniej. Gdyby dane wejściowe nie pochodziły z klawiatury, a dane wyjściowe trafiały do monitora, lecz z kamery wideo, a następnie do silników, nie miałoby to znaczenia, ponieważ system symboli nie jest świadomy tej zmiany. A mimo to w tym przypadku robot nie miałby stanów intencjonalnych (Searle 1980). Systemy symboli nie powinny opierać się wyłącznie na regułach formalnych, jeśli symbole mają coś reprezentować dla systemu. Ten problem postawił kolejne pytanie: jak symbole mogłyby zostać powiązane z tym, co reprezentują, lub, jak stwierdził Harnad (1990), jak zdefiniować Problem Uziemienia Symboli.

"Jak semantyczna interpretacja formalnego systemu symboli może stać się jego nieodłączną częścią, a nie jedynie pasożytować na znaczeniach w naszych głowach? Jak znaczenia pozbawionych znaczenia symboli, manipulowane wyłącznie na podstawie ich (arbitralnych) kształtów, mogą być oparte na czymkolwiek innym niż inne pozbawione znaczenia symbole?"

Problem Uziemienia Symboli podkreśla zatem dwie ważne kwestie. Po pierwsze, symbole nie reprezentują niczego w systemie, a przynajmniej nie tego, co rzekomo "oznaczają". Tylko osoba obsługująca system mogłaby rozpoznać te symbole jako odnoszące się do bytów spoza systemu. Po drugie, system symboli nie może ograniczać się do powiązania symboli wyłącznie z innymi symbolami; do ustanowienia połączenia między symbolami a tym, co reprezentują, potrzebne jest coś innego. Harnad (1990) posługuje się analogią do osoby, która nie zna języka chińskiego, ale próbuje nauczyć się go ze słownika chińsko-chińskiego. Ponieważ terminy są definiowane za pomocą innych terminów, a żaden z nich nie był wcześniej znany, osoba ta jest uwięziona w "kręgu słownikowym", nigdy nie rozumiejąc tych symboli. Wielkim wyzwaniem dla badaczy sztucznej inteligencji jest zatem powiązanie symboli z tym, co reprezentują, a także określenie konsekwencji, jakie wdrożenie takiego połączenia miałoby dla systemu symboli, np. wiele opisów symboli za pomocą innych symboli byłoby zbędnych, gdyby dostępne były opisy poprzez uziemienie. Należy zauważyć, że proces uziemienia nie polega jedynie na wyposażeniu sztucznego systemu w czujniki, aby mógł on "widzieć" świat, ponieważ "trywializuje" problem uziemienia symboli i ignoruje istotną kwestię sposobu ustanawiania połączenia między symbolami a obiektami (Harnad, 1990).

TŁO

Problem uziemienia symboli zrodził się z uwagi na fakt, że systemy symboli manipulują strukturami, które mogą być kojarzone z rzeczami w świecie przez obserwatora obsługującego system, ale nie przez sam system. Poszukiwanie procesów uziemienia symboli koncentruje się na zrozumieniu procesów, które mogłyby umożliwić połączenie tych czysto symbolicznych reprezentacji z tym, co one faktycznie reprezentują, co może odbywać się bezpośrednio lub za pośrednictwem innych, bardziej złożonych reprezentacji. Stanowi to wyzwanie zarówno technologiczne, jak i filozoficzne i naukowe, ale istnieje między nimi silna współzależność. Z jednej strony istnieje problem technologicznego projektowania i inżynierii procesów uziemienia symboli w systemach sztucznych. Z drugiej strony, proces uziemienia jest procesem obecnym w systemach naturalnych, a zatem poprzedza systemy sztuczne. Teorie i modele są opracowywane w celu wyjaśnienia uziemienia i, jeśli są wystarczająco spójne i szczegółowe, mogą w zasadzie zostać wdrożone w systemach sztucznych, które z kolei stanowią laboratorium dla tych teorii, gdy ich hipotezy są testowane i stawiane są nowe pytania, co pozwala na dalsze udoskonalanie i eksperymentowanie. Pierwsza propozycja uziemienia symboli została przedstawiona przez Harnada (1990) w tym samym artykule, w którym podał definicję "procesu uziemienia symboli". Harnad zaproponował, aby reprezentacje symboliczne były uziemiane oddolnie za pomocą reprezentacji niesymbolicznych: reprezentacji ikonicznych - projekcji sensorycznych obiektów - i reprezentacji kategorialnych - niezmiennych cech obiektów. Sieci neuronowe zostały wskazane jako system uczenia się cech i dyskryminatora, który mógłby łączyć dane sensoryczne z reprezentacjami symbolicznymi po wytrenowaniu w zakresie identyfikacji niezmiennych cech. To wiązałoby się z przyczynowym łączeniem symboli i danych sensorycznych, ale ta propozycja opisuje jedynie system tagowania, który nadaje nazwy obiektom sensorycznym, ale nie wykorzystuje ich do podejmowania działań i interakcji z otoczeniem. Powstaje "teatr mentalny", jak zdefiniował to Dennett (1991), w którym obrazy są wyświetlane wewnętrznie i kojarzone z symbolami, ale nikt ich nie ogląda. Poza tym symbole i reprezentacje ikoniczne są prawdopodobnie nadawane przez operatora systemu, a system musi nauczyć się ich wszystkich, nie rozróżniając ich i nie przypisując im żadnej funkcjonalności.Inne podejście do radzenia sobie z ograniczeniami systemów symboli przedstawił Brooks (1990). Zamiast modelować systemy sztuczne jako systemy symboli, Brooks odrzucił symboliczne podejście do modelowania poznania i potrzebę reprezentacji w tym celu: "[r]eprezentacja jest niewłaściwą jednostką abstrakcji w budowaniu najbardziej rozbudowanych części systemów inteligentnych", a reprezentacje postrzegane są jako scentralizowane, jawne i predefiniowane struktury. Zaproponował hipotezę fizycznego uziemienia (Brooks, 1990), wspierając tezę, że systemy inteligentne powinny być osadzone w świecie rzeczywistym, odczuwać go i działać w nim, ustanawiać relacje przyczynowe z percepcjami i działaniami, być budowane oddolnie, z wyższymi poziomami zależnymi od niższych. Reprezentacje nie były potrzebne, ponieważ system był już w kontakcie z obiektami i zdarzeniami, które musiał reprezentować. Co więcej, Brooks zwrócił uwagę na pominięcie najważniejszego aspektu inteligencji: radzenia sobie ze światem i jego dynamiką. Zamiast zajmować się wyrafinowanymi procesami wysokiego poziomu dotyczącymi prostych domen, badania w ramach tzw. Nowej Sztucznej Inteligencji (Nouvelle AI) powinny koncentrować się na prostszych procesach dotyczących bardzo skomplikowanych domen (takich jak świat rzeczywisty) i przechodzić od nich do procesów wyższego poziomu (Brooks, 1990). Brooks (1991a) również sformułował zasady tego nowego podejścia, takie jak usytuowanie i ucieleśnienie, które są dewizami badań nad poznaniem usytuowanym i ucieleśnionym .Reprezentacje symboliczne nie są w rzeczywistości niezgodne z hipotezą fizycznego uziemienia ani z podejściem poznania usytuowanego i ucieleśnionego. Sam Brooks (1990) wskazywał, że abstrakcje wysokiego poziomu powinny być "konkretyzowane" za pomocą procesów niższego poziomu, a zatem reprezentacje symboliczne powinny być konstruowane przyczynowo z dynamiki interakcji usytuowanych/ucieleśnionych poprzez historię działania sztucznego podmiotu. Podejście to było stosowane przez wielu badaczy zajmujących się uziemianiem symboli podczas budowania sztucznych systemów, w których reprezentacje wyłaniają się z interakcji agentów, gdy zachodzą procesy uczenia się . W większości tych nowych systemów sztuczni agenci są umiejscowieni w środowisku, w którym mogą odczuwać i działać, i mogą wchodzić w interakcje z innymi agentami - sztucznymi lub biologicznymi. Za pomocą asocjacyjnych mechanizmów uczenia się agenci są w stanie stopniowo ustanawiać relacje między reprezentacjami a tym, co reprezentują w świecie, wykorzystując komunikację jako podstawę do kierowania tym procesem uczenia się. Co ciekawe, omawiając wprost "problem uziemienia symboli" , teoria znaków Charlesa Sandersa Peirce′a, a w szczególności jego definicja symbolu, zostaje przywołana jako teoretyczne tło dla nowego spojrzenia na ten problem.

SEMIOTYKA I PROBLEM UZIEMIENIA SYMBOLÓW

Problem uziemienia symboli sprowadza się zasadniczo do kwestii, w jaki sposób pewne rzeczy mogą reprezentować inne dla kogoś. Chociaż systemy symboli miały rzekomo posiadać właściwości "desygnacyjne" (Newell i Simon, 1976), które pozwalałyby symbolom manipulowanym przez system reprezentować obiekty i zdarzenia w świecie, właściwość ta powinna być w rzeczywistości przypisana zewnętrznemu obserwatorowi, który był jedynym zdolnym do nawiązania takiego połączenia. Sam sztuczny system nie posiadał tej zdolności, więc symbole, którymi manipulował, miały być nieuziemione. Budowanie sztucznych systemów w oparciu o hipotezę, że procesy symboliczne są autonomiczne i nie jest wymagany żaden inny proces, okazało się błędne, a dążenie do zrozumienia procesów reprezentacji stało się istotnym problemem. Reprezentacja jest przedmiotem zainteresowania semiotyki, "formalnej nauki o znakach" zdefiniowanej przez Charlesa Sandersa Peirce′a. Jego definicja semiotyki i pragmatyczne pojęcie znaczenia jako "działania znaków" (semiosis) wywarły głęboki wpływ na filozofię, psychologię, biologię teoretyczną i nauki kognitywne. Model i klasyfikacja znaku zostały opracowane przez Peirce′a na podstawie jego logiczno-fenomenologicznych kategorii. Jego definicja znaku jako "czegoś, co reprezentuje dla kogoś coś pod jakimś względem lub w jakimś zakresie" łączy ze sobą trzy odrębne elementy: znak, obiekt, który znak reprezentuje pod jakimś względem, oraz efekt (interpretant) na interpretującego. Charakter relacji między znakiem a przedmiotem ustanawia "najbardziej fundamentalny podział znaków": znaki mogą być ikonami, indeksami lub symbolami. Ikony reprezentują obiekt poprzez podobieństwo, ponieważ niosą ze sobą cechy wspólne z obiektem. Rysunek obiektu, diagram i "projekcje sensoryczne" są uważane za ikony. Indeksy ustanawiają przestrzenno-czasową relację fizyczną z obiektem, oba występują jako zdarzenia, a interpretujący nie jest odpowiedzialny za połączenie między nimi, po prostu zauważa je, gdy zostanie ono ustanowione . Przykładami indeksów są dym, który jest powiązany z ogniem, krzyk, który przyciąga naszą uwagę, lub dziura po kuli. Według Peirce′a symbol jest znakiem, ponieważ jest interpretowany jako taki, ze względu na naturalną lub konwencjonalną dyspozycję, pomimo pochodzenia tej ogólnej reguły interpretacji . Słowo, tekst, a nawet czerwone światło na sygnalizacji świetlnej ostrzegające kierowców o konieczności zatrzymania się są symbolami. W tym symbolicznym procesie obiekt, który jest komunikowany interpretującemu poprzez znak, jest prawowitą relacją między danym typem znaku a danym typem obiektu. Ogólnie rzecz biorąc, symbol komunikuje interpretującemu prawo w wyniku regularności w relacji między znakiem a obiektem. Co więcej, należy zauważyć, że symbole, indeksy i ikony nie są klasami wzajemnie wykluczającymi się; są one klasami wzajemnie powiązanymi i współzależnymi. "Symbol jest prawem lub prawidłowością nieokreślonej przyszłości. […] Ale prawo koniecznie rządzi jednostkami lub jest "ucieleśnione" w nich i określa niektóre z ich cech. W konsekwencji, składnik Symbolu może być Indeksem, a składnik może być Ikoną". Symbole wymagają indeksów, które wymagają ikon. Harnad (1990) zauważył już, że symbole potrzebują reprezentacji niesymbolicznych i zaproponował, aby symbole były powiązane z projekcjami sensorycznymi i cechami kategorialnymi, które w teorii Peirce′a są uważane za ikony. Symbol jest znakiem i jako taki zawiera obiekt, do którego się odnosi, oraz interpretant, efekt znaku, zatem symbol może reprezentować coś tylko dla kogoś i wtedy, gdy ktoś go interpretuje. Symbol wyróżnia się spośród innych znaków, ponieważ nie wykazuje podobieństwa ani relacji czasoprzestrzennej z obiektem, a zatem zależy od ogólnej reguły lub dyspozycji interpretatora. Wreszcie, symbole zawierają indeksy (a w konsekwencji ikony), a jednym ze sposobów ich pozyskiwania jest wykorzystanie relacji indeksowych między znakami a obiektami, ustanawiając między nimi regularności.

PRZYSZŁE TRENDY

Dyskusja wokół problemu uziemienia symboli ma istotny komponent teoretyczny, ponieważ obejmuje zagadnienia takie jak reprezentacja i modelowanie poznawcze. Niemniej jednak, jest to również problem technologiczny, jeśli badacze zajmujący się sztuczną inteligencją zamierzają modelować i budować sztuczne systemy, które są zdolne do obsługi symboli w odpowiedni sposób. Najbardziej oczywistą konsekwencją dyskusji na temat problemu uziemienia symboli i sposobów jego rozwiązania jest związek z językiem, a szerzej z systemami komunikacji między agentami (sztucznymi lub nie). Jeśli oczekujemy, że robot będzie działał odpowiednio, gdy powiemy "przynieś mi ten kubek", powinniśmy oczekiwać, że będzie wiedział, co te symbole reprezentują, aby odpowiednio działać. Co więcej, oczekujemy, że sztuczny agent będzie uczył się i nawiązywał połączenia symbol-obiekt autonomicznie, bez konieczności programowania wszystkiego przed wykonaniem zadania przez robota lub przeprogramowywania go za każdym razem, gdy ma się nauczyć nowego symbolu. Wykorzystanie solidnych podstaw teoretycznych, które dokładnie opisują interesujący proces, może z pewnością przyczynić się do jego modelowania i implementacji w systemach sztucznych. Semiotyka Charlesa S. Peirce′a jest uznawana za silnie spójną teorię i została przedstawiona przez różnych badaczy zajmujących się sztuczną inteligencją, choć fragmentarycznie. Oczekujemy, że opis procesów znakowych autorstwa Peirce′a rzuci światło na zawiły problem ugruntowania symboli. W szczególności koncepcja Peirce′a dotycząca znaczenia jako działania znaku może otworzyć perspektywy dotyczące implementacji maszyn semiotycznych, które mogą sensownie wytwarzać, transmitować, odbierać, obliczać i interpretować znaki różnego rodzaju (Fetzer 1990). Zgodnie z pragmatycznym podejściem Peirce′a, znaczenie nie jest pojęciem wrodzonym, lecz siłą generującą interpretantów (wpływającą na interpretatorów). Zgodnie z pragmatycznym modelem znaku Peirce′a, znaczenie jest dynamicznym procesem, wrażliwym na kontekst (umiejscowionym), zależnym od interpretatora, materialnie rozszerzonym (ucieleśnionym). Jest to proces społeczno-poznawczy, a nie jedynie system statyczny. Kładzie nacisk na proces i nie można go oddzielić od pojęcia usytuowanego (i aktywnie rozproszonego) agenta komunikacyjnego. Jest on zależny od kontekstu w tym sensie, że jest on determinowany przez sieć zdarzeń komunikacyjnych, w których agenci interpretujący są zanurzeni w znakach, tak że współpracują ze sobą. Jest on zarówno zależny od interpretatora, jak i obiektywny, ponieważ triadowo łączy znak, obiekt i efekt u interpretatora.

WNIOSKI

Pierwotna koncepcja systemów sztucznej inteligencji jako systemów symboli przyniosła problem znany jako problem uziemienia symboli. Jeśli systemy symboli manipulują symbolami, symbole te powinny coś reprezentować dla samego systemu, a nie tylko dla zewnętrznego obserwatora, ale system nie ma możliwości uziemienia tych symboli w swojej historii interakcji sensorycznych i motorycznych, ponieważ jej nie posiada. Wielu badaczy wskazało na tę kluczową wadę, szczególnie John Searle (1980) w swoim Argumencie Chińskiego Pokoju oraz Stevan Harnad (1990), którego definicja stała się powszechnie znana. Wskazano na kierunek w kierunku modelowania systemów sztucznych jako ucieleśnionych i usytuowanych agentów, zamiast systemów manipulujących symbolami, podkreślając potrzebę wdrożenia systemów, które mogłyby autonomicznie oddziaływać ze swoim otoczeniem i rzeczami, dla których powinny mieć reprezentacje. Jednak temat uziemienia symboli wymaga również opisu tego, w jaki sposób pewne rzeczy zaczynają reprezentować inne dla kogoś, co jest przedmiotem badań semiotyki. Semiotyka C.S. Peirce′a została wykorzystana jako ramy teoretyczne w dyskusji na temat problemu uziemienia symboli w sztucznej inteligencji. Zastosowanie jego teorii w rozwiązywaniu problemu uziemienia symboli powinno dodatkowo przyczynić się do rozwoju modeli obliczeniowych systemów poznawczych i budowy coraz bardziej znaczących maszyn.


Przegląd sieci neuronowych w negocjacjach automatycznych



WSTĘP

Negocjacje automatyczne to bardzo wymagająca dziedzina badań, która zyskuje na popularności w obszarze e-biznesu. Istnieją trzy główne kategorie negocjacji automatycznych, sklasyfikowane według kardynalności uczestniczących agentów i charakteru ich interakcji (Jennings, Faratin, Lomuscio, Parsons, Sierra i Wooldridge,2001): negocjacje dwustronne, w których każdy agent negocjuje z jednym przeciwnikiem, negocjacje wielostronne, w których uczestniczy wielu dostawców i klientów w ramach struktury przypominającej aukcję, oraz modele oparte na argumentacji/perswazji, w których strony konfliktu używają bardziej wyrafinowanych argumentów, aby osiągnąć porozumienie. We wszystkich tych dziedzinach negocjacji automatycznych wiele badań koncentrowało się na przewidywaniu zachowań agentów negocjacyjnych. Niniejszą pracę można podzielić na dwie główne kategorie. Pierwsza opiera się na technikach wymagających solidnej wiedzy a priori dotyczącej zachowania agenta przeciwnika w poprzednich wątkach negocjacyjnych. Drugi wykorzystuje mechanizmy, które dobrze sprawdzają się w negocjacjach jednoinstancyjnych, gdy nie są dostępne dane historyczne dotyczące przeszłego zachowania negocjacyjnego agenta przeciwnika. Jednym z dość popularnych narzędzi, które mogą wspierać ten drugi przypadek, są sieci neuronowe (NN) (Haykin, 1999). Sieci neuronowe są często wykorzystywane w różnych zastosowaniach rzeczywistych, gdzie wymagane jest szacowanie lub modelowanie funkcji lub systemu. W dziedzinie negocjacji automatycznych ich wykorzystanie ma na celu głównie poprawę wydajności agentów negocjacyjnych w przewidywaniu zachowań ich przeciwników, a tym samym osiągnięcie lepszych ogólnych rezultatów. Niniejszy artykuł przedstawia przegląd najpopularniejszych podejść do negocjacji automatycznych, które wykorzystują sieci neuronowe do szacowania elementów zachowania przeciwnika. Pozostała część artykułu ma następującą strukturę. W drugiej części omówiono najnowocześniejsze ramy negocjacji dwustronnych oparte na sieciach neuronowych. W trzeciej części krótko przedstawiono rozwiązania negocjacji wielostronnych wykorzystujące sieci neuronowe. Na koniec, w ostatniej części, przedstawiono krótką dyskusję na temat ankiety.

SIECI NEURONOWE W NEGOCJACJACH DWUSTRONNYCH

W pracy (Zhang, Ye, Makedon i Ford, 2004) opisano hybrydowy mechanizm strategii negocjacji dwustronnych, który zapewnia agentom negocjacyjnym większą elastyczność i solidność w zautomatyzowanym systemie negocjacyjnym. Struktura ta obsługuje dynamiczne przypisywanie agentowi odpowiedniej strategii negocjacyjnej w zależności od bieżącego otoczenia, a także mechanizm tworzenia nowych reguł negocjacyjnych poprzez uczenie się na podstawie poprzednich negocjacji. Te możliwości uczenia się opierają się na sieciach neuronowych z propagacją wsteczną i wielowymiarowymi regułami asocjacji międzytransakcyjnych. Jednakże struktura ta nie jest odpowiednio opisana i zdefiniowana, a sieci neuronowe nie są szczegółowo instancjonowane. Ponadto nie ma ani ilościowych, ani jakościowych wyników eksperymentów dla przypadków rzeczywistych. Wreszcie, format danych wejściowych do ogólnej sieci, który jest prezentowany, jest niejednoznacznie opisany. W pracy (Zeng, Meng i Zeng, 2005) autorzy wykorzystują sieć neuronową do wspomagania negocjacji w bardzo specyficznych kwestiach, zaczerpniętych z przykładu ze świata rzeczywistego. Sieć jest trenowana online na podstawie ofert złożonych wcześniej przez przeciwnika, a zarówno kupujący, jak i sprzedający mają możliwość korzystania z proponowanej sieci. Jednak zbiory danych eksperymentalnych są bardzo ograniczone i nie uwzględniają różnorodności ofert, które mogą wystąpić w rzeczywistych scenariuszach. Ponadto autorzy nie przedstawiają rzeczywistego rozmiaru warstwy ukrytej, parametru niezwykle istotnego z punktu widzenia zasadności wykorzystania takiej sieci w negocjacjach w czasie rzeczywistym przez agenta dysponującego ograniczonymi zasobami. Co więcej, w pracy (Rau, Tsai, Chen i Shiang, 2006) autorzy badali proces negocjacji między spedytorem a spedytorem, stosując podejście oparte na uczeniu się, wykorzystując sieć neuronową z propagacją wsteczną i sprzężeniem zwrotnym z dwoma modelami danych wejściowych oraz funkcjami decyzyjnymi negocjacji. Kwestiami negocjacji były cena wysyłki, kara za opóźnienie, termin płatności i ilość przesyłki. Proponowany mechanizm miał zastosowanie dla obu stron jednocześnie, a architektura sieci została wybrana na podstawie wcześniejszych podobnych prób, zgodnie z bardzo restrykcyjnym wzorcem liczby neuronów warstwy ukrytej. Przeprowadzone eksperymenty wykazały ogólną poprawę wyników dla obu stron negocjacji, a struktura okazała się stabilna i charakteryzowała się niskim prawdopodobieństwem wystąpienia impasu. Autorzy sugerują jednak, że konieczne są dalsze eksperymenty, zwłaszcza w odniesieniu do szerszego wachlarza strategii i potencjalnie bardziej odpowiednich architektur sieciowych dla warstwy ukrytej. W pracy (Carbonneau, Kersten i Vahidov, 2006) przedstawiono model oparty na sieci neuronowej, służący do przewidywania ofert przeciwnika w trakcie procesu negocjacji. Ramy te zostały przetestowane na określonym zestawie danych eksperymentalnych zebranych z innych istniejących ram i są one do nich w dużym stopniu dostosowane. Celem tego rozwiązania jest nie tylko przewidywanie kolejnej oferty przeciwnika, ale także percepcja konkretnej procedury, tj. całościowy obraz tego, dlaczego wszystko się dzieje i dokąd prowadzi procedura. Zatem przewidywanie oferty przeciwnika w kolejnej rundzie stanowi jedynie część wyników sieci. Jednak wybrany zestaw eksperymentów jest ograniczony i nie bada skuteczności ram w odniesieniu do różnych strategii, takich jak te proponowane na samym początku tego obszaru i obecnie głównie stosowane. Ponadto, chociaż autorzy popierają pogląd, że ich framework jest odpowiedni dla środowisk czasu rzeczywistego, faktem jest, że powstała sieć jest trudna do trenowania online, głównie ze względu na jej rozmiar i zasoby wymagane do takiego trenowania. Zatem ta architektura sieciowa jest prawdopodobnie nieodpowiednia dla środowisk agentów mobilnych i należy zaprojektować coś mniejszego i bardziej szczegółowego, ze względu na ograniczenia wspólne dla tych środowisk. Co więcej, w pracy (Oprea, 2003) autor przedstawia agenta zakupowego, który jest w stanie negocjować w dwustronnych, wielowątkowych procedurach online, wykorzystując utworzoną i wytrenowaną w trybie offline sieć neuronową typu feedforward, aby zwiększyć swoją rentowność poprzez dostosowywanie swojego zachowania do działań przeciwnika. Celem zastosowania sieci neuronowej w każdej procedurze jest przewidywanie kolejnej oferty przeciwnika w każdej rundzie, a tym samym modelowanie jego zachowania i intencji, aby ostatecznie osiągnąć lepszą, a nawet najlepszą możliwą ofertę. Dzięki wykorzystaniu sieci neuronowej, agent zakupowy może w trakcie internetowej fazy negocjacji określić strategię przeciwnika i oszacować jej wartość rezerwacyjną. W odniesieniu do przeprowadzonych eksperymentów, autor wykorzystuje dobrze uzasadnione taktyki negocjacyjne przedstawione w pracy (Faratin, Sierra i Jennings, 1998) w celu przetestowania proponowanego rozwiązania i stwierdza, że struktura ta sprawdza się w przypadku średnio- lub długoterminowych terminów realizacji zleceń agentów. Przedstawione wyniki nie są jednak w pełni uzasadnione i należy przetestować bardziej ekstremalne strategie przeciwnika, aby ocenić adekwatność sieci w takich warunkach. Prawdopodobnie trzy neurony warstwy ukrytej mogą nie być wystarczające w takich przypadkach i długoterminowych szacunkach. Wreszcie, Papaioannou i inni zaprojektowali i ocenili ostatnio kilka podejść do negocjacji dwustronnych w pojedynczych kwestiach, w których agent klienta jest wzbogacony o sieci neuronowe. Dokładniej, w (Roussaki, Papaioannou i Anagnostou, 2006), agent Klienta używa lekkiej sieci neuronowej z propagacją wsteczną w przód, połączonej z uczciwą taktyką imitacyjną typu "odwet za odwet", i próbuje oszacować ofertę cenową Dostawcy po upływie terminu Klienta. To podejście zwiększa liczbę osiągniętych umów średnio o jedną trzecią. W (Papaioannou, Roussaki i Anagnostou, 2006) porównano wydajność sieci neuronowych MLP i RBF w zakresie przewidywania ofert Dostawcy w ostatniej rundzie. Eksperymenty wskazują, że liczba umów wzrasta średnio o ∿38% dzięki strategiom wspomaganym przez MLP i RBF. Niemniej jednak, całkowity czas i liczba neuronów wymagane przez MLP są znacznie wyższe niż te wymagane przez RBF. W pracy (Roussaki, Papaioannou i Anagnostou, 2007) sieci neuronowe MLP i GR były wykorzystywane przez agenta klienta do identyfikacji nieudanych wątków negocjacyjnych (UNT) na wczesnym etapie, kończąc je w ten sposób na długo przed upływem terminów. Zaobserwowano, że sieć neuronowa MLP wykrywa średnio ponad 90% UNT, nieznacznie przewyższając sieć NN GR. Wreszcie, w pracy (Papaioannou, Roussaki i Anagnostou, 2007) porównano wydajność sieci neuronowych MLP i RBF ze splajnami sześciennymi, aproksymatorami wielomianowymi opartymi na najmniejszych kwadratach, aproksymatorami wykładniczymi i aproksymatorami Gaussa, w celu przewidywania przyszłych ofert negocjującego agenta dostawcy. Przeprowadzona szeroko zakrojona ocena eksperymentalna wskazuje, że strategie negocjacyjne wspomagane przez MLP i RBF działają niemal równie dobrze i przewyższają pozostałe cztery strategie wspomagane aproksymatorami. W niniejszym artykule proponowane ramy zostały rozszerzone o negocjacje wielowątkowe, uwzględniając znaczenie negocjowanych kwestii dla strony negocjującej, a także stopień ich współzależności. Wadą wspomnianych ram negocjacyjnych opartych na sieciach neuronowych jest to, że zostały one ocenione tylko w przypadku, gdy agent Dostawcy przyjmie strategię uzależnioną od czasu.

SIECI NEURONOWE W NEGOCJACJACH WIELOSTRONNYCH

W pracy (Oprea, 2001) podjęto próbę wykorzystania małoskalowej sieci neuronowej z sprzężeniem zwrotnym w celu przewidywania zachowania agenta przeciwnika. W tym kontekście ulepszony agent negocjuje z przeciwnikiem, który nie jest wyposażony w żaden mechanizm uczenia się ani inny inteligentny mechanizm. Sieć neuronowa jest odpowiednio konstruowana i trenowana w każdej rundzie, aby reagować na każdą rundę negocjacji następną wartością przeciwnika, wykorzystując jedynie trzy wcześniejsze oferty złożone przez przeciwnika. Ten fakt sprawia, że obliczenia krok po kroku są wykonalne w procedurach czasu rzeczywistego, ale niekoniecznie niezawodne. Proponowane podejście okazało się jednak odpowiednie tylko w przypadkach, gdy obaj agenci (lub przynajmniej agent przeciwnika) mają długoterminowe terminy. Inne wykorzystanie potencjału sieci neuronowych przedstawiono w pracy (Shibata i Ito, 1999), gdzie autorzy koncentrują się głównie na komunikacji między agentami. Zasadniczo dzielą oni komunikację agentów na dwie klasy ze względu na jej znaczenie. Pierwszy z nich uwzględnia przypadki, w których agent przekazuje obserwowane informacje, a drugi te, w których przekazywana jest intencja agenta. Struktura wykorzystuje rekurencyjną sieć neuronową Elmana z pętlami sprzężenia zwrotnego, szczególnie w tej drugiej klasie przypadków. Sieć pomaga agentom unikać potencjalnych impasów negocjacyjnych, chociaż nic nie wiadomo a priori na temat ich strategii ani zasobów. Sieć przechowuje informacje z przeszłości i odpowiednio dostosowuje online zachowanie odpowiadającego jej agenta, aby uniknąć kolizji. Proponowana struktura została również przetestowana z czterema agentami, co dało obiecujące wyniki. Autorzy nie proponują jednak ani nie stosują technik zwiększających rentowność uczestniczących agentów, a jedynie techniki unikania kolizji poprzez poznanie intencji przeciwnika. Ponadto rekurencyjna sieć neuronowa jest złożoną strukturą i wydaje się nieodpowiednia do zastosowania w środowiskach agentów o niskich zasobach. Ponadto w pracy (Abreu, Canuto i Santana, 2005) autorzy przedstawiają analizę porównawczą niektórych metod negocjacji stosowanych w wieloneuronowym systemie agentowym o nazwie NeurAge. System ten składa się z kilku klasyfikatorów neuronowych, zwanych agentami neuronowymi, a jego głównym celem jest przezwyciężenie pewnych wad systemów wieloklasyfikatorowych i, w konsekwencji, poprawa ich wydajności. Agenci neuronowi dostarczają wspólny wynik, który powstaje po negocjacjach między nimi i jest wynikiem działania systemu. W tym celu oceniono trzy różne metody negocjacji: teorię gier, aukcję i zaufanie. Wyniki dowodzą, że proponowane podejście jest wartościowe dla takich systemów klasyfikacyjnych i może okazać się przydatne w przypadkach, gdy konieczne jest przeprowadzenie klasyfikacji taktyk. System ten nie nadaje się jednak do procedur online, wymaga współpracy wielu agentów neuronowych i nie został przetestowany na rzeczywistych danych liczbowych dotyczących taktyk negocjacyjnych. Dlatego wyniki mogą być wartościowe, gdy wymagany jest schemat klasyfikacji, ale prawdopodobnie nie nadają się jako wzorzec predykcji na przyszłość. Z drugiej strony (Veit i Czernohous, 2003) przedstawiają wyniki udoskonalenia agentów konsumenckich za pomocą kilku algorytmów uczenia maszynowego na prawidłowo zaprojektowanym rynku elektronicznym z jednym statycznym dostawcą. Wyniki dowodzą, że w bardzo specyficznych okolicznościach agent wspomagany siecią neuronową działa gorzej niż prosty agent wspomagany metodą Q-learning, który utrzymuje określony zestaw wartości dla procedury uczenia w macierzy instancjonowanej a priori. Scenariusze są jednak bardzo restrykcyjne i w żadnym wypadku nie uwzględniają charakterystyki rzeczywistych scenariuszy, w których zastosowanie podobnych agentów opartych na tabelach nie przyniosłoby rezultatu, głównie ze względu na różnorodność potencjalnych przestrzeni rozwiązań dla każdej negocjacji. Co więcej, sami autorzy przyznają się do tej uwagi, uwzględniając ją w swoich przyszłych planach. W pracy (Park i Yang, 2006) autorzy proponują system agentów negocjacyjnych oparty na przyrostowym uczeniu się sieci neuronowej ze sprzężeniem zwrotnym, aby zwiększyć efektywność negocjacji dwustronnych i poprawić przydatność w negocjacjach wielostronnych. Sieć jest aktywowana wartościami wyodrębnionymi po procedurze oceny użyteczności, a w każdej rundzie wyjściem jest kolejna kontrpropozycja strony. Jeśli chodzi o uogólnienie na przypadek wielostronny, proponowane podejście opiera się na dopasowaniu wszystkich sprzedających i wszystkich kupujących do par spośród wszystkich możliwych, zgodnie z praktycznymi kryteriami, jak wskazuje powszechnie stosowany termin zakresu negocjacji. Wyniki eksperymentów pokazują, że proponowany system osiąga do 2% więcej porozumień i prowadzi negocjacje co najmniej dwa razy szybciej niż inne systemy o podobnych ustawieniach. W pracy (Wang, Chai i Huang, 2005) autorzy podejmują próbę rozwiązania problemu wyboru agenta sprzedaży, który spełnia wymagania kupującego, a także jego ograniczenia użyteczności, jak te reprezentowane przez odpowiedniego inteligentnego agenta. Problem rozwiązuje się poprzez wybór sprzedawcy przed negocjacjami, co poprawia dokładność negocjacji i użyteczność kupującego. Aby w pełni wykorzystać historię negocjacji, niniejszy artykuł przekształca problem wyboru sprzedawcy w problem K-uzbrojonego bandyty. Funkcja użyteczności jest łączną sumą użyteczności zarówno kupujących, jak i sprzedających, podczas gdy kupujący wykorzystuje odpowiednio nauczoną sieć neuronową, aby poznać preferencje swoich oponentów i ostatecznie wybrać tę, która doprowadzi do najlepszego porozumienia. Zaletą tego modelu jest to, że sieć neuronowa kupującego uczy się offline i wykorzystuje wyniki tylko w procedurze online. W związku z tym nie ma to istotnego wpływu na rzeczywistą procedurę. Wreszcie, w pracy (Liu i You, 2003) zaproponowano rozmytą sieć neuronową do radzenia sobie z niepewnościami w rzeczywistych działaniach zakupowych, takimi jak preferencje konsumentów, specyfikacja produktu, wybór produktu, negocjacje cenowe, zakup, dostawa, obsługa posprzedażowa i ocena. Rozmyta sieć neuronowa osiąga automatyczny i autonomiczny schemat klasyfikacji i wyboru produktów, wspierający rozmyte podejmowanie decyzji poprzez integrację technologii logiki rozmytej i sieci neuronowej z propagacją wsteczną. Ponadto, wprowadzono wizualny model danych, aby pokonać ograniczenia obecnych przeglądarek internetowych, które nie zapewniają klientom elastyczności w zakresie przeglądania produktów z różnych perspektyw. Wyniki eksperymentów dowodzą wykonalności proponowanego podejścia w przypadku internetowych transakcji biznesowych.

WNIOSKI I DYSKUSJA

W niniejszym artykule przedstawiono krótki przegląd najpopularniejszych badań w dziedzinie zautomatyzowanych negocjacji wspomaganych przez sieci neuronowe. Istotną obserwacją, którą można łatwo poczynić, jest fakt, że sieci neuronowe są wykorzystywane w tej dziedzinie w bardzo zróżnicowany sposób. Na przykład, w niektórych przypadkach mają one na celu oszacowanie przyszłych ofert przeciwnika, podczas gdy w innych przypadkach pomagają negocjatorowi w wyborze najlepszej taktyki, która powinna zostać zastosowana w celu zwiększenia jego potencjalnej użyteczności. Chociaż wykorzystanie sieci neuronowych (NN) w zautomatyzowanych negocjacjach może poprawić różne aspekty ich wydajności i wyników, istnieją pewne przypadki, w których nie są one odpowiednie. Na przykład, działają znacznie lepiej, gdy są trenowane w trybie off-line, a zatem są mniej odpowiednie, gdy nie jest dostępna wiedza a priori. Ogólnie rzecz biorąc, preferowane jest stosowanie stosunkowo małych sieci neuronowych trenowanych w trybie off-line, ale jeśli nie jest to możliwe, lepiej jest użyć sieci neuronowych o minimalnym rozmiarze trenowanych w trybie on-line, ryzykując jednak, że ostatecznie nie będą one wystarczająco odpowiednie. Co więcej, jeśli strategia negocjacyjna przeciwnika nie jest spójna, często wykazując gwałtowne zmiany w rodzaju lub konfiguracji stosowanej taktyki, sieci neuronowe często nie dostosowują się. W przypadku, gdy przeciwnik stosuje naśladowcze strategie negocjacyjne, użyteczność sieci neuronowych w szacowaniu zachowania przeciwnika jest wątpliwa. Wreszcie, jeśli agent dysponuje niewielkimi zasobami pamięci masowej i przetwarzania, sieci neuronowe, które można zastosować, muszą być tak lekkie, że znacznie brakuje im elastyczności. Mimo tych niedociągnięć oczekuje się, że sieci neuronowe zdobędą znaczący udział w rynku elektronicznych agentów negocjacyjnych wykorzystujących umiejętność uczenia się.


Przetwarzanie strumieniowe klasyfikatora neuronowego I



WSTĘP

Sztuczna sieć neuronowa (ANN) to struktura obliczeniowa inspirowana badaniem biologicznego przetwarzania neuronowego. Chociaż neurony są uważane za bardzo proste jednostki obliczeniowe, w układzie nerwowym ogromna liczba szeroko połączonych neuronów może przetwarzać ogromne ilości danych, pracując równolegle. Istnieje wiele różnych typów ANN, od stosunkowo prostych do bardzo złożonych, podobnie jak wiele teorii dotyczących działania biologicznego przetwarzania neuronowego. Jednak wykonywanie ANN jest zawsze trudnym zadaniem obliczeniowym. Ważnymi rodzajami ANN są te poświęcone rozpoznawaniu wzorców, takie jak perceptron wielowarstwowy (MLP), mapy samoorganizujące się (SOM) lub klasyfikatory oparte na adaptacyjnej teorii rezonansu (ART) (Haykin, 2007). Tradycyjne implementacje ANN wykorzystywane przez większość naukowców zostały opracowane w językach programowania wysokiego poziomu, aby mogły być uruchamiane na popularnych komputerach osobistych (PC). Główną wadą tych implementacji jest to, że chociaż sieci neuronowe są z natury systemami równoległymi, symulacje są wykonywane na jednostce centralnej (CPU), procesorze zaprojektowanym do wykonywania sekwencyjnych programów na zasadzie SISD (Single Instruction Single Data). W rezultacie te ciężkie programy mogą potrzebować godzin, a nawet dni na przetworzenie dużych ilości danych wejściowych. W przypadku aplikacji wymagających przetwarzania w czasie rzeczywistym możliwe jest opracowanie małych, doraźnych sieci neuronowych na specjalistycznym sprzęcie, takim jak układy FPGA (Field Programmable Gate Arrays). Realizacja sieci neuronowych w oparciu o układy FPGA jest jednak dość kosztowna i wymaga dodatkowych nakładów projektowych (Zhu i Sutton, 2003). Wykorzystanie dedykowanego sprzętu do uczenia maszynowego było zazwyczaj kosztowne; wynikami nie można było dzielić się z innymi badaczami, a sprzęt stawał się przestarzały w ciągu kilku lat. Sytuacja ta uległa ostatnio zmianie wraz z popularyzacją procesorów graficznych (GPU) jako tanich i programowalnych platform sprzętowych wysokiego poziomu. Procesory graficzne (GPU) są coraz częściej wykorzystywane do przyspieszania obliczeń w wielu dziedzinach badań, zgodnie z modelem przetwarzania strumieniowego (Stream Processing Model ). W niniejszym artykule przedstawiono równoległą implementację sieci neuronowej Fuzzy ART (Fuzzy ART ANN) opartą na GPU, która może być wykorzystywana zarówno do procesów szkoleniowych, jak i testowych. Fuzzy ART to nienadzorowany klasyfikator neuronowy zdolny do uczenia przyrostowego, szeroko stosowany w wielu zastosowaniach, takich jak nauki medyczne, ekonomia i finanse, inżynieria oraz informatyka. Implementacje Fuzzy ART oparte na CPU charakteryzują się niską wydajnością i nie mogą być wykorzystywane do celów testowych w aplikacjach czasu rzeczywistego. Implementacja Fuzzy ART oparta na GPU przedstawiona w niniejszym artykule przyspiesza obliczenia ponad 30-krotnie w porównaniu z programowaniem w języku C/C++ opartym na CPU, gdy jest wykonywana na procesorze graficznym NVIDIA 7800 GT.

TŁO

Biologiczne sieci neuronowe są w stanie uczyć się i adaptować swoją strukturę w oparciu o informacje zewnętrzne lub wewnętrzne przepływające przez sieć. Większość typów sieci neuronowych (SN) stwarza problem katastrofalnego zapominania. Po wytrenowaniu sieci, aby mogła ona uczyć się na nowych danych wejściowych, konieczne jest powtórzenie całego procesu od początku. W przeciwnym razie sieć neuronowa zapomniałaby wcześniej nabytą wiedzę. S. Grossberg opracował adaptacyjną teorię rezonansu (ART), aby rozwiązać ten problem (Grossberg, 1987). Rozmyta teoria ART jest rozszerzeniem oryginalnego systemu ART 1, który włącza obliczenia z teorii zbiorów rozmytych do sieci ART, umożliwiając w ten sposób uczenie się i rozpoznawanie zarówno analogowych, jak i binarnych wzorców wejściowych . Procesory graficzne (GPU) są rozważane w wielu dziedzinach obliczeń, a niektórzy badacze podejmują wysiłki w celu integracji różnych rodzajów sieci neuronowych na GPU. Większość badań przeprowadzono nad wdrożeniem Perceptronu Wielowarstwowego (MLP) wykorzystującego wydajność GPU w produktach macierz-macierz . Inni badacze wykorzystali GPU do map samoorganizujących się (SOM) z doskonałymi wynikami. Bernhard i in. osiągnęli wzrost prędkości od 5 do 20 razy, symulując duże sieci neuronów impulsowych na GPU . Wreszcie, Martínez-Zarzuela i in. opracowali generyczną rozmytą sieć neuronową ART na GPU, osiągając wzrost prędkości powyżej 30 razy w porównaniu z CPU . Karty graficzne klasy komercyjnej zapewniają ogromną moc obliczeniową. Karta graficzna NVIDIA GeForce 7800 GTX jest w stanie osiągnąć 165 GFLOPS, w porównaniu z teoretycznym szczytem 25,6 GFLOPS dla jednostek SSE dwurdzeniowego procesora Intel Pentium Extreme 3,7 GHz . Najnowsza generacja kart graficznych, takich jak NVIDIA Geforce 8800 Ultra czy AMD (ATI) Radeon HD 2900 XT, może zapewnić wydajność szczytową przekraczającą 500 Gflops i szczytową przepustowość pamięci 100 GB/s. Producenci kart graficznych odkryli niedawno, że rynek docelowy ich produktów stanowią technologie obliczeń o wysokiej wydajności (HPC). Dostarczają oni specjalistyczny sprzęt i oprogramowanie, aby sprostać wysokim wymaganiom obliczeniowym przedsiębiorstw i badaczy.

PRZETWARZANIE STRUMIENIA W SIECI NEURONOWEJ FUZZY ART.

Niniejszy artykuł opisuje równoległą implementację rozmytej sieci neuronowej ART z wykorzystaniem modelu przetwarzania strumieniowego. W tym jednolitym paradygmacie przetwarzania równoległego seria obliczeń, zdefiniowana przez jedną funkcję lub jądro, jest wykonywana na uporządkowanym zbiorze danych lub strumieniu w oparciu o metodę SIMD (Single Instruction Multiple Data). Główne ograniczenie tego modelu jest również jednym z powodów, dla których może on zapewnić znaczny wzrost wydajności i uproszczony model programowania: operacje na każdym elemencie strumienia są niezależne, co pozwala na jednoczesne wykonywanie jądra na różnych sprzętowych jednostkach przetwarzania i zapobiega przestojom, które mogłyby wystąpić z powodu współdzielenia danych między jednostkami. Procesory graficzne (GPU) posiadały kiedyś dwa rodzaje programowalnych procesorów: procesory wierzchołków i procesory fragmentów. Oba rodzaje procesorów zostały zaprojektowane do działania na czterech wektorach składowych, ponieważ podstawowymi prymitywami trójwymiarowej grafiki komputerowej są wierzchołki 3D w przestrzeni rzutowanej (x, y, z, w) oraz cztery kolory składowe (czerwony, zielony, niebieski, alfa). Zarówno jednostki wierzchołków, jak i fragmentów mogą być używane do wykonywania jądra na strumieniu danych (Stream Processing) i są programowane za pomocą shaderów, które można zapisać w językach wysokiego poziomu, takich jak Cg , GLSL lub HLSL. Najnowsza generacja procesorów GPU, takich jak nVIDIA GeForce 8800 GTX, nie zawiera procesorów fragmentów wierzchołków, lecz zunifikowane procesory strumieniowe (SP): uogólnione procesory skalarne zmiennoprzecinkowe, zdolne do przetwarzania wierzchołków, pikseli lub dowolnego rodzaju danych. Te nowe procesory GPU można programować za pomocą zestawu narzędzi CUDA (Compute Unified Device Architecture) firmy nVIDIA. CUDA to obiecujące nowe rozwiązanie w zakresie programowania oprogramowania dla procesorów GPU, upraszczając proces tworzenia oprogramowania dzięki wykorzystaniu standardowego języka C. Przed wprowadzeniem CUDA, programowanie procesorów GPU do obliczeń ogólnego przeznaczenia (GPGPU) polegało na tłumaczeniu algorytmów na języki graficzne (Harris, 2005). Inne firmy, takie jak Rapidmind, opracowują łatwe w programowaniu interfejsy API, które wykorzystują kompilatory just-in-time (JIT) do tłumaczenia kodu źródłowego na format, który będzie działał na sprzęcie kilku systemów (GPU, Cell lub procesorze x86). Tablice danych mogą być przesyłane z procesora do pamięci GPU i przechowywane w teksturach. Tekstury RGBA mogą służyć do przechowywania 4 danych zmiennoprzecinkowych na jednostkę tekstury (teksel). Dane są modyfikowane w potoku graficznym, a następnie zapisywane w pamięci bufora ramki lub renderowane do nowej tekstury, co umożliwia bezpośrednie sprzężenie zwrotne danych wyjściowych do wejścia potoku.

Rozmyte równania ART.

Rozmyte systemy ART składają się z trzech warstw lub pól węzłów. Pierwsza warstwa otrzymuje wektor wejściowy oznaczony wzorem

Ī =(I1,…IM)

Węzły w warstwie wyjściowej reprezentują aktywny kod lub kategorię wybieranego wzorca wejściowego. Dla każdego neuronu wyjściowego funkcja wyboru Tj ( j : 1….N) jest zdefiniowana wzorem:



gdzie wj = (wj1,…,wj) oznacza powiązany ślad pamięci długotrwałej (LTM), rozmyty operator MIN ∧ jest zdefiniowany wzorem (pi ∧ qi) ≡ min(pi, qi), a norma |⋅| jest zdefiniowany przez



Wybór kategorii jest indeksowany przez J, gdzie TJ = max(Tj : j = 1…N), a system wchodzi w rezonans, jeśli funkcja dopasowania spełnia kryterium czujności:



W takim przypadku wektor wj jest aktualizowany zgodnie ze wzorem (3). W przeciwnym razie węzeł J jest hamowany, co powoduje, że Tj = 0. Jeśli nie zostanie znaleziony żaden węzeł j spełniający kryterium czujności, aktywowany jest nowy neuron wyjściowy.



Proces uczenia Fuzzy ART na GPU

Uczenie się nie jest procesem równoległym, lecz sekwencyjnym. Różnych wzorców wejściowych nie można nauczyć się jednocześnie, ponieważ wszystkie generowałyby różne kategorie. Optymalizacja procesu uczenia pod kątem równoległego wykonywania musi być przeprowadzona podczas wyszukiwania kategorii najbardziej przypominającej wzorzec wejściowy. Implementacje Fuzzy ART na procesorze sekwencyjnie obliczają aktywność dla każdego węzła wyjściowego. Następnie wykonywana jest operacja sortowania, aby dowiedzieć się, który neuron jest najczęściej aktywowany przez wzorzec wejściowy (1). Jeśli kategoria przechowywana w tym neuronie przypomina wzorzec wejściowy (2), powiązane z nią wagi są aktualizowane o nowe informacje (3); w przeciwnym razie należy przeanalizować kolejny najczęściej aktywowany neuron. W implementacji równoległego przetwarzania strumieniowego możemy obliczyć funkcję wyboru dla każdego neuronu wyjściowego (1) w sposób równoległy. Co więcej, możemy uzyskać funkcję dopasowania (2) dla każdego węzła jednocześnie. W implementacji GPU wagi każdego zatwierdzonego neuronu wjL są przechowywane jako wiersze w teksturze WT. Wzorzec wejściowy Ī ? jest renderowany do każdego wiersza tekstury IT o tych samych wymiarach co WT, dzięki czemu podczas wyboru kategorii można go porównać z każdym śladem LTM naraz, jak pokazano na rysunku 1a).



Operacje globalne na elementach strumienia danych, takie jak obliczanie jego maksimum lub sumy, są trudne do wykonania na GPU i muszą być realizowane poprzez kilka przebiegów renderowania. Technika ping-ponga polega na wykorzystaniu wyjścia z przebiegu renderowania jako danych wejściowych w kolejnym. W każdym przebiegu wykonywana jest lokalna operacja między elementami sąsiednimi w teksturze, a wyniki są zapisywane do mniejszej tekstury. Po serii redukcji uzyskiwany jest wynik końcowy . Obliczenie norm |Ī ∧w,sub>j|i|wj| jest wykonywane za pomocą operacji redukcji kolumnowej wzdłuż tekstur WT i IT∧ WT, jak pokazano na rysunku 1b). Użycie tekstur RGBA pozwala na wykonywanie operacji MIN i SUM na wektorach 4-składnikowych w jednym cyklu zegara na każdej jednostce fragment shader, co przyspiesza proces. Jeśli wymiary wzorców wejściowych nie są wielokrotnością 4, niewykorzystane kanały tekstur RGBA muszą zostać uzupełnione zerami. Zredukowane tekstury są następnie używane do przechowywania aktywności każdego neuronu spełniającego kryteria dopasowania w kanale R tekstury T; kanał G służy do przechowywania indeksu kategorii; kanał A przyjmuje wartość 1 w przypadku spełnienia kryteriów dopasowania i 0 w przeciwnym razie; na koniec kanał B może być użyty do wydrukowania częstotliwości dopasowania, co może być bardzo przydatne w celach debugowania. Neuron J-ty jest znajdowany za pomocą operacji redukcji wierszy na teksturze T, w której fragmenty niespełniające kryteriów dopasowania są odrzucane. Jeśli system wejdzie w rezonans, wagi wybranej kategorii są aktualizowane poprzez renderowanie do odpowiedniego podregionu tekstury WT. W przeciwnym razie nowy wzór jest uczony poprzez renderowanie do nieużywanego wiersza wag w WT zgodnie z równaniem (3).

Proces testowania Fuzzy ART na GPU

Algorytm testowania Fuzzy ART jest łatwiejszy i znacznie bardziej opłacalny do wdrożenia na GPU. W tym procesie, kilka wzorców wejściowych może być kategoryzowanych równolegle, gdy tryb uczenia jest wyłączony. Najlepsza konfiguracja danych wykorzystuje każdy procesor strumieniowy dostępny na GPU do kategoryzowania każdego wzorca w kilku przejściach shadera. Rysunek 2 przedstawia organizację danych na GPU. W proponowanym systemie, dla każdej pary współrzędnych (x, y) w danych wejściowych, wzorzec jest przechowywany wzdłuż osi z.



Pojedyncza tekstura RGBA może przechowywać 4 składowe wektory wejściowe, a kilka tekstur RGBA może być użytych do przechowywania większych wzorców. Po N przejściach shadera, gdzie N jest liczbą zatwierdzonych kategorii przez sieć, można uzyskać wyjściową teksturę RGBA, zawierającą informacje o klasyfikacji dla każdego wzorca. Na rysunku 2.b pokazano wynik dla 30. przejścia shadera. Tekstura WT jest używana do przechowywania wag neuronów pola F2 na GPU. Każdy wiersz przechowuje ślad LTM wj, tak jak w implementacji szkoleniowej. Składowe wektora wejściowego przechowywane w teksturach wejściowych RGBA są porównywane z odpowiadającą im kolumną wag na WT. W każdym przejściu shadera, aktywacja k-tego neuronu wyjściowego i funkcja dopasowania są obliczane dla każdego wzorca wejściowego. Wartości te są renderowane do tekstury wyjściowej RGBA, która jest używana jako dane wejściowe dla kolejnej iteracji, ponownie z wykorzystaniem techniki ping-ponga. Jeśli aktywacja w przejściu k jest większa niż obliczona aktywacja w przejściu k-1 i kryteria dopasowania są spełnione, wówczas kategoria indeksu jest aktualizowana na teksturze wyjściowej. Renderowanie zarówno indeksu wybranej kategorii, jak i funkcji dopasowania do tekstury wyjściowej pozwala ekspertowi na wizualną analizę wyniku: różne poziomy na kanale R reprezentują różne kategorie, a kanał alfa pokazuje stopień podobieństwa wzorca wejściowego do wybranej kategorii.

WYNIKI EKSPERYMENTALNE

Aby zmierzyć wydajność implementacji, przeprowadzono kilka testów na procesorze z samodzielnie napisaną implementacją Fuzzy ART C++ oraz na procesorze graficznym GPU z wcześniej opisaną implementacją C++/OpenGL/Cg. Pomiary czasu przeprowadzono na procesorze Pentium 4 3,2 GHz z 1 GB pamięci RAM i kartą graficzną GeForce 7800GT 256 MB. Wydajność Fuzzy ART zależy od kilku czynników: długości wzorca wejściowego Ī ? , liczby wzorców wejściowych P prezentowanych sieci oraz liczby zatwierdzonych kategorii N. W trakcie procesu uczenia się wartość N zmienia się w zależności zarówno od stopnia podobieństwa wzorców, jak i parametru czujności ρ(2). Do testów treningowych wygenerowano syntetyczny benchmark, składający się z kilku zestawów wzorców. W każdym zestawie długość wektorów wejściowych M i liczba oczekiwanych kategorii N różnią się (patrz Tabela 1).



Aby zagwarantować, że N nie będzie nadmiernie zależne od M i P, do generowania wzorców zastosowano wielowymiarowy rozkład normalny. Ponieważ N to liczba kategorii w zestawie P wzorców k wzorców należących do kategorii Ni w zestawie wygenerowano przy użyciu rozkładu normalnego dla każdego wektora , a następnie uzyskano jego kodowanie dopełnienia
TRENDY NA PRZYSZŁOŚĆ

Opisana implementacja algorytmu treningowego Fuzzy ART na GPU jest nadal wolniejsza niż implementacja programowana wysokiego poziomu na CPU. W proponowanej implementacji wzorce, które mają być nauczone przez sieć, są pobierane z CPU do GPU jeden po drugim, powodując zatrzymanie GPU w oczekiwaniu na nowe dane. Stanowi to poważne wąskie gardło. Co więcej, gdy liczba zatwierdzonych kategorii nie jest zbyt duża, intensywność obliczeniowa projektu jest bardzo niska, ponieważ istnieje ograniczona liczba operacji, które można wykonać na przesłanych danych. Przyszłe zadania badawcze mogą obejmować wykorzystanie obiektów bufora pikseli (PBO), rozszerzenia OpenGL, w celu osiągnięcia szybkich, asynchronicznych prędkości transferu z pamięci procesora do pamięci GPU.

WNIOSKI

W niniejszym artykule przedstawiono implementację sieci neuronowej Fuzzy ART na GPU, bazującą na modelu przetwarzania strumieniowego. Projekt ten z powodzeniem radzi sobie z problemem integracji procesów uczenia i testowania na standardowej karcie graficznej, bazującej na modelu przetwarzania strumieniowego. Proces testowania Fuzzy ART jest wykonywany na GPU nawet 46 razy szybciej niż na CPU, co pozwala na jego wykorzystanie w aplikacjach czasu rzeczywistego, które obejmują rozpoznawanie wzorców i podejmowanie decyzji. Proces uczenia jest jednak nadal wolniejszy na GPU niż na CPU. Procesory GPU szybko ewoluują i co 6-9 miesięcy nowa generacja ulepszonych procesorów jest udostępniana publicznie. Gwarantowana jest kompatybilność prezentowanej implementacji z przyszłymi wersjami sprzętu, a w przypadku nowszych kart można spodziewać się większej wydajności.


Przetwarzanie sekwencji z wykorzystaniem rekurencyjnych sieci neuronowych



WSTĘP

Przetwarzanie sekwencji obejmuje kilka zadań, takich jak klasteryzacja, klasyfikacja, predykcja i transdukcja danych sekwencyjnych, które mogą być symboliczne, niesymboliczne lub mieszane. Przykłady symbolicznych wzorców danych występują w modelowaniu języka naturalnego (ludzkiego), podczas gdy prognozowanie poziomu wody w Tamizie jest przykładem przetwarzania danych niesymbolicznych. Jeśli zawartość sekwencji będzie się zmieniać w różnych krokach czasowych, sekwencję taką nazywa się czasową lub szeregiem czasowym. Ogólnie rzecz biorąc, sekwencja czasowa składa się z symboli nominalnych z określonego alfabetu, podczas gdy sekwencja szeregu czasowego dotyczy elementów ciągłych o wartościach rzeczywistych . Przetwarzanie obu tych sekwencji polega głównie na zastosowaniu aktualnie znanych wzorców do wygenerowania lub przewidzenia przyszłych, a główną trudnością jest to, że zakres zależności danych jest zazwyczaj nieznany. Dlatego inteligentny system z funkcją zapamiętywania ma kluczowe znaczenie dla efektywnego przetwarzania i modelowania sekwencji. Rekurencyjna sieć neuronowa (RNN) to sztuczna sieć neuronowa, w której dozwolone są pętle własne i połączenia wsteczne między węzłami . W porównaniu z sieciami neuronowymi z jednokierunkowym sprzężeniem zwrotnym, RNN są znane ze swojej zdolności do zapamiętywania zależności czasowych i modelowania układów nieliniowych. Sieci RNN można trenować na przykładach, aby odwzorowywały sekwencje wejściowe na sekwencje wyjściowe, i zasadniczo mogą one implementować dowolne zachowania sekwencyjne. Są biologicznie bardziej wiarygodne i obliczeniowo wydajniejsze niż inne podejścia do modelowania, takie jak ukryte modele Markowa (HMM), które mają nieciągłe stany wewnętrzne, sieci neuronowe z jednokierunkowym sprzężeniem zwrotnym i maszyny wektorów nośnych (SVM), które w ogóle nie mają stanów wewnętrznych. W tym artykule dokonujemy przeglądu architektur RNN i omawiamy wyzwania związane z trenowaniem RNN do przetwarzania sekwencji. Przedstawiamy przegląd algorytmów uczenia się RNN i omawiamy przyszłe trendy w tej dziedzinie.

TŁO

Jedną z pierwszych sieci RNN była sieć lawinowa opracowana przez Grossberga (1969) do uczenia się i przetwarzania dowolnego wzorca czasoprzestrzennego. Sekwencyjna sieć Jordana (Jordan, 1986) i prosta sieć rekurencyjna Elmana (Elman, 1990) zostały zaproponowane później. Pierwsze sieci RNN nie sprawdziły się w praktycznych zastosowaniach, a ich działanie było słabo poznane. Opracowano jednak kilka wariantów tych modeli do zastosowań w świecie rzeczywistym, takich jak robotyka, rozpoznawanie mowy, komponowanie muzyki, widzenie, a ich potencjał w rozwiązywaniu rzeczywistych problemów zainspirował wiele badań w dziedzinie sieci RNN. Obecne badania nad sieciami RNN pozwoliły przezwyciężyć niektóre z głównych wad pierwszych modeli. Postęp ten nastąpił w postaci nowych architektur i algorytmów uczenia się, co doprowadziło do lepszego zrozumienia zachowania sieci RNN.

ARCHITEKTURY SIECI REKURENCYJNYCH

W literaturze zaproponowano kilka schematów klasyfikacji, które mają na celu uporządkowanie architektur RNN, wychodząc od różnych zasad klasyfikacji, tj. niektóre uwzględniają pętle węzłów w warstwach ukrytych, podczas gdy inne biorą pod uwagę typy danych wyjściowych. Na przykład, można je podzielić na kanoniczne RNN i dynamiczne MLP ; autonomiczne zbieżne i nieautonomiczne niezbieżne (; lokalne (odbierające informacje zwrotne z tej samej lub bezpośrednio połączonej warstwy), wyjściowe informacje zwrotne orazw pełni połączone (tj. wszystkie węzły mogą odbierać i przesyłać sygnały zwrotne do innych węzłów, nawet w obrębie różnych warstw) RNN binarne i analogowe RNN . Z matematycznego punktu widzenia , zakładając, że y i z są odpowiednio odpowiedzią warstwy wyjściowej i wyjściem warstwy ukrytej, statyczną sieć neuronową ze sprzężeniem zwrotnym można sformułować następująco:



gdzie f(•) oznacza nieliniową funkcję aktywacji, WI i WII wagi warstwy ukrytej i warstwy wyjściowej, x wektor wejściowy, a b odchylenia. Tę ogólną postać można łatwo przekształcić, aby opisać opóźnioną sieć neuronową z sprzężeniem zwrotnym (FFTD), podstawiając następujące równania opóźnione indeksem czasu t:



gdzie s(t) oznacza wektor stanu w czasie t, ⊕ iloczyn kartezjański, d liczbę opóźnień. Dodając połączenie sprzężenia zwrotnego z warstwy ukrytej do jednostki opóźnienia, równanie (4) można zapisać jako



gdzie Λ jest macierzą diagonalną opisującą sieć neuronową typu Elmana.W przypadku nieliniowej sieci autoregresyjnej z wejściami egzogenicznymi (NARX) stan jest opisany jako



gdzie m jest liczbą sprzężeń zwrotnych wyjściowych. Wzory w pełni RNN można również wyprowadzić, łącząc równania. (3) i (7) z następującym:



ALGORYTMY UCZENIA SIĘ DLA SIECI REKURENCYJNYCH

Jeśli chodzi o trenowanie sieci neuronowych (RNN) i przechowywanie informacji w ich wewnętrznych reprezentacjach, algorytmy uczenia oparte na metodzie gradientu zstępującego (GD) są najczęściej stosowanymi metodami, mimo że twierdzi się, że GD ma pewne wady. Po pierwsze, gdy opóźnienia lub połączenia rekurencyjne są bardzo głębokie, tj. gdy wymagana jest pamięć długoterminowa, błąd propagacji wstecznej może zniknąć, a proces trenowania może stać się nieefektywny. Po drugie, najczęstszym sposobem zastosowania algorytmów GD w sieciach RNN jest rozwinięcie warstw rekurencyjnych i trenowanie całej sieci jako sieci typu feedforward. Kolejną wadą jest to, że generalizacja jest silnie zależna od próbek w zbiorze danych treningowych. W przetwarzaniu temporalnym trudno jest wyodrębnić lub przygotować negatywne próbki z danego zestawu danych treningowych, a następnie konkretny RNN przewiduje lub klasyfikuje nowe nadchodzące próbki wyłącznie na podstawie zdobytej wiedzy. W pracy (Bengio i in., 1993), oprócz propagacji wstecznej w czasie (BPTT) i obliczeń gradientu w czasie rzeczywistym, omówiono również podejścia uwzględniające lokalność przestrzenną i/lub czasową. Jednak algorytmy lokalne można zastosować do niektórych specyficznych lokalnych RNN ze sprzężeniem zwrotnym i tylko do krótkotrwałego zapamiętywania ze względu na ich wrodzone możliwości reprezentacyjne. Nieefektywność GD w uczeniu się długoterminowych zależności wynika głównie z tego, że poprzednie informacje są początkowo traktowane jako szum i stopniowo ignorowane (Bengio i in., 1993; Bengio i in., 1994). Dlatego w pracach Bengio zrewidowano i omówiono dwa alternatywne algorytmy: pseudo-Newtona ważonego czasowo i dyskretną propagację błędu. Pierwszy z nich stosuje metodę rozwijania do optymalizacji pseudo-Newtona, a drugi uwzględnia jedynie ograniczony przypadek propagacji; Należy zweryfikować, czy zadziałałoby to winnej, bardziej ogólnej sytuacji, czy nie. W pracy (Pearlmutter, 1995) omówiono dwa typy algorytmów uczenia się: punktu stałego i punktu niestałego. W tej klasyfikacji uwzględniono znane algorytmy, takie jak BPTT i uczenie rekurencyjne w czasie rzeczywistym (RTRL), a także zaproponowano sposób wprowadzania stałych czasowych i opóźnień czasowych. Omówiono również metodę rozszerzonego RTRL (eRTRL) oraz inne istotne podejścia, takie jak sieci Elmana, sieci Jordana, metoda ruchomych celów, sieci sprzężenia zwrotnego ze stanem, wymuszanie uczenia w czasie ciągłym i filtr Kalmana. Pearlmutter (1995) porównuje również złożoność czasową i przestrzenną oraz omawia tryb uczenia się, stabilność i lokalność tych algorytmów. Dla w pełni połączonych sieci ukrytej warstwy i dynamicznych MLP, Tsoi (1998b) zbadał dwa algorytmy uczenia się gradientowego pierwszego rzędu. W niniejszej pracy omówiono pewne wady tych metod, takie jak powolna konwergencja i generalizacja, oraz wyprowadzono dwa podejścia drugiego rzędu, które przyspieszają konwergencję i rozwiązują problem przycinania wag; omówiono również wrażliwość wyników. Im niższa wrażliwość wyników na określony regulowany parametr, tym lepsza wydajność sieci. Chociaż powiązane wzory są dobrze zdefiniowane w niniejszej pracy (Tsoi, 1998b), nadal istnieje kluczowa stała, która służy do określenia poziomu czułości, który powinien zostać zdefiniowany przez użytkowników. Metody quasi-drugiego rzędu, takie jak gradient sprzężony, skalowany gradient sprzężony i metoda Newtona, zostały również wspomniane i wskazane jako odpowiednie jedynie do uczenia wsadowego, podczas gdy filtr Kalmana i rozszerzony filtr Kalmana są klasyfikowane jako algorytmy uczenia się oparte na GD drugiego rzędu, które mogą być używane w trybie online, gdzie rozszerzony filtr Kalmana może być użyty do przycinania wag z sieci neuronowej (RNN). Kremer (2001) dokonuje przeglądu 14 rodzajów pamięci wykorzystywanych w sieciach koneksjonistycznych czasoprzestrzennych, zdolnych do obliczania wektorów stanu, i przedstawia ogólną formułę obliczania wektorów wyjściowych. Autor podsumowuje również 10 różnych rodzajów reguł aktualizacji, takich jak pełne GD, obcięte GD, autoasocjacyjne GD i uczenie się stosu. Analizuje trzy otwarte kwestie: przypisanie kredytu temporalnego, możliwości reprezentacji oraz kodowanie wiedzy. Z punktu widzenia modelowania szeregów czasowych, Kolehmainen (2003) omawia BPTT i RTRL do uczenia się sieci RNN, podczas gdy Dietterich (2002) sugeruje BPTT. Podobnie jak Baldi (1993) i Pearlmutter (1995), rozważane są również sieci punktów stałych i podsumowane jest pięć algorytmów względnych, takich jak BPTT i uczenie się GD stałych czasowych, wzmocnień i opóźnień. Większość zastosowań sieci neuronowych (RNN) nadal wykorzystuje algorytmy uczenia się pierwszego rzędu, pomimo wad GD. Podjęto pewne próby zaproponowania algorytmów uczenia się drugiego rzędu, np. dos Santos i von Zuben (2000) zaproponowali metodę quasi-drugiego rzędu. Symulowane wyżarzanie również dało obiecujące wyniki, ale czas uczenia jest stosunkowo dłuższy (Bengio i in., 1994). Tabela 2 przedstawia przegląd uczenia się sieci neuronowych (RNN), podając przykłady algorytmów uczenia dla lokalnych i globalnych sieci RNN dla różnych zastosowań.

PRZYSZŁE TRENDY

Ostatnie kierunki badań nad sieciami neuronowymi (RNN) koncentrują się na badaniu i proponowaniu nowych sposobów lepszego modelowania niestacjonarności sekwencji, takich jak sekwencje generowane podczas modelowania mowy lub znaków pisanych odręcznie, bez założeń o niezależności czasowej. Jeśli chodzi o architektury, modele hybrydowe oparte na kombinacjach ukrytych modeli Markowa i sieci neuronowych (RNN), a także na strukturach modułowych, są uważane za obiecujące podejścia do rozwiązywania problemów przetwarzania sekwencji występujących w przetwarzaniu języka naturalnego i mowy. Ponadto, szereg zastosowań tzw. sieci neuronowych (RNN) o długiej pamięci krótkotrwałej dostarczyło obiecujących rezultatów, pokazując, że te rekurencyjne architektury mogą pokonać kilka fundamentalnych problemów tradycyjnych sieci neuronowych (RNN) i skutecznie nauczyć się rozwiązywać wiele wcześniej nieuczonych zadań. Jeśli chodzi o uczenie sieci neuronowych rekurencyjnych (RNN), pomimo popularności metod gradientu zstępującego, które wymuszają monotoniczne zmniejszanie błędu uczenia, istnieją nowe algorytmy uczenia oparte na algorytmach ewolucyjnych i niemonotonicznych strategiach uczenia , które wykazały potencjał efektywnego uczenia sieci neuronowych rekurencyjnych (RNN).

WNIOSKI

Sieci rekurencyjne stanowią elegancki sposób na zwiększenie wydajności sieci z wyprzedzeniem (feedforward) w zakresie przetwarzania złożonych danych w postaci sekwencji wzorców. Sieci rekurencyjne są dobrze znane ze swojej zdolności do modelowania zależności czasowych i przetwarzania sekwencji w celu klasyfikacji, rozpoznawania i transdukcji. Nowoczesne architektury sieci neuronowych rekurencyjnych (RNN) są zdolne do uczenia się, aby rozwiązywać wiele wcześniej nieuczonych zadań, nawet w środowiskach częściowo obserwowalnych. W niniejszym artykule przedstawiliśmy kilka modeli RNN. Zidentyfikowaliśmy główne wyzwania związane z uczeniem sieci neuronowych (RNN) i omówiliśmy kilka algorytmicznych podejść do uczenia RNN pod kątem przetwarzania sekwencji. Na koniec przedstawiliśmy kilka przyszłych kierunków prac w tej dziedzinie.


Przetwarzanie języka naturalnego i metody biologiczne



WSTĘP

W XX wieku biologia - zwłaszcza biologia molekularna - stała się nauką pilotażową, co skłoniło wiele dyscyplin do sformułowania swoich teorii w oparciu o modele zaczerpnięte z biologii. Informatyka stała się dziedziną niemal inspirowaną biologią dzięki ogromnemu rozwojowi obliczeń naturalnych i obliczeń DNA. Interakcje lingwistyki z biologią nie były w XX wieku częste. Niemniej jednak, ze względu na "lingwistyczne" podejście do kodu genetycznego, biologia molekularna zapożyczyła kilka modeli z formalnej teorii języka, aby wyjaśnić strukturę i działanie DNA. Próby te koncentrowały się na projektowaniu podejść opartych na gramatyce, mających na celu zdefiniowanie kombinatoryki w sekwencjach białek i DNA . Również lingwistyka języka naturalnego wniosła pewien wkład w tę dziedzinę za sprawą Collado (1989), który zastosował podejścia generatywistyczne do analizy kodu genetycznego. Z drugiej strony, i wyłącznie z czysto teoretycznego punktu widzenia, podjęto kilka prób ustalenia paralelizmów strukturalnych między sekwencjami DNA a językiem werbalnym. Brakuje jednak teorii na temat próby wyjaśnienia struktury języka ludzkiego na podstawie wyników semiozy kodu genetycznego. I to jest prawdopodobnie jedyny niedokończony sposób na zamknięcie drogi między informatyką ,biologią molekularną, biosemiotyką i lingwistyką. Przetwarzanie języka naturalnego (NLP) - poddziedzina sztucznej inteligencji zajmująca się automatycznym generowaniem i rozumieniem języków naturalnych - może w dużym stopniu wykorzystać strukturalne i "semantyczne" podobieństwa między tymi kodami. W szczególności, biorąc pod uwagę systemowe jednostki kodu i metody łączenia kodu genetycznego, metody takiej jednostki można przełożyć na badanie języka naturalnego. Dlatego NLP może stać się kolejną nauką "inspirowaną biologią", za pośrednictwem teoretycznej informatyki, która dostarcza teoretycznych narzędzi i formalizacji niezbędnych do takiej wymiany metod. W ten sposób uzyskujemy ramy teoretyczne, w których biologia, NLP i informatyka wymieniają się metodami i oddziałują na siebie dzięki semiotycznemu paralelizmowi między kodem genetycznym a językiem naturalnym.

TŁO

Większość obecnych podejść do języka naturalnego ukazuje kilka faktów, które w pewien sposób zachęcają do poszukiwania nowych formalizmów, aby w prostszy i bardziej naturalny sposób ująć języki naturalne. Dwa główne fakty prowadzą nas do poszukiwania bardziej naturalnego systemu obliczeniowego, który zapewniłby formalne ujęcie języków naturalnych: a) zdania języka naturalnego nie mogą zostać umieszczone w żadnej z rodzin hierarchii Chomsky′ego (Chomsky, 1956), na której zasadniczo opierają się obecne modele obliczeniowe, oraz b) metody przepisywania stosowane w wielu podejściach do języka naturalnego wydają się niewystarczające, z perspektywy poznawczej, do wyjaśnienia przetwarzania języka. Jeśli dodamy do tego (1), że języki wygenerowane zgodnie z molekularnym modelem obliczeniowym umieszczane są pomiędzy rodzinami języków wrażliwych na kontekst i bezkontekstowych; (2) że model genetyczny oferuje prostsze alternatywy dla reguł przepisywania; (3) i że genetyka jest naturalnym systemem informacyjnym, podobnie jak język naturalny, mamy idealne warunki do proponowania modeli biologicznych w NLP. Idea wykorzystania metod biologicznych do opisu i przetwarzania języków naturalnych jest poparta długą tradycją wymiennych metod w biologii oraz teorii języka naturalnego/formalnego:

1. Wyniki i metody z dziedziny teorii języka formalnego zostały zastosowane w biologii:(1) Pawlak (1965) gramatyki zależności jako podejście w badaniu formowania białek; (2) gramatyki transformacyjne do modelowania regulacji genów ; (3) stochastyczne gramatyki bezkontekstowe do modelowania RNA); (4) gramatyki zdań określonych i gramatyki ciętych do badania struktury genów oraz mutacji i przegrupowań w nich zachodzących ; (5) gramatyki drzewiaste do przewidywania struktury RNA danych biologicznych .

2. Języki naturalne jako modele dla biologii: (1) Watson (1968) rozumienie dziedziczności jako formy komunikacji; (2) Asimov (1968) idea, że zasady nukleotydowe są literami i tworzą alfabet; (3) Jacob (1970) rozważania, że sens przekazu genetycznego jest nadawany przez połączenie jego znaków w słowach i przez układ słów we frazach; (4) Jakobson (1970) koncepcje dotyczące traktowania zasad nukleotydowych jako fonemów kodu genetycznego lub o opozycjach binarnych w fonemach i kodzie nukleinowym. 3. Idee biologiczne w językoznawstwie: (1) "model drzewa" zaproponowany przez Schleichera (1863); (2) "model falowy" Schmidta (1872); (3) "model sieci geometrycznej" zaproponowany przez Forstera (1997); lub (3) naturalistyczna metafora w językoznawstwie broniona przez Jakobsona (1970, 1973). 4. Wykorzystanie DNA jako wsparcia dla obliczeń jest podstawową ideą obliczeń molekularnych . Spekulacje na temat tej możliwości można znaleźć u Feynmana (1961), Bennetta (1973) i Conrada (1995).

METODY BIOLOGICZNE W NLP

W niniejszym artykule przedstawiamy przegląd różnych metod inspirowanych biologią, które w ostatnich latach zostały z powodzeniem zastosowane w wielu zagadnieniach NLP, od składni po pragmatykę. Metody te zaczerpnięte są głównie z informatyki i obejmują zasadniczo: obliczenia DNA, obliczenia membranowe oraz sieci procesorów ewolucyjnych.

Obliczenia DNA

Jednym z najbardziej rozwiniętych kierunków badań w dziedzinie obliczeń naturalnych jest tzw. obliczenia molekularne, model oparty na biologii molekularnej, który powstał głównie po Adlemanie (1994). Aktywnym obszarem obliczeń molekularnych jest obliczenia DNA , inspirowane sposobem, w jaki DNA wykonuje operacje w celu generowania, replikowania lub zmiany konfiguracji ciągów. Zastosowanie metod obliczeń molekularnych do składni języka naturalnego prowadzi do powstania składni molekularnej .Składnia molekularna opiera się na dwóch typach mechanizmów stosowanych w biologii w celu modyfikacji lub generowania sekwencji DNA: mutacjach i splicingu. Mutacje odnoszą się do zmian zachodzących w ciągu językowym, niezależnie od tego, czy jest to fraza, zdanie czy tekst. Splicing to proces obejmujący dwie lub więcej sekwencji językowych. Stanowi on dobrą podstawę do podejścia do składni, zarówno z perspektywy zdaniowej, jak i dialogowej. Metody wykorzystywane w składni molekularnej opierają się na podstawowych procesach genetycznych: wycinaniu, wklejaniu, usuwaniu i przesuwaniu. Łącząc te elementarne zasady, można uzyskać większość złożonych struktur języka naturalnego, zachowując przy tym wysoki stopień prostoty. To podejście stanowi test generatywnej mocy splicingu dla składni. Wydaje się, zgodnie z uzyskanymi wynikami, że splicing jest dość skuteczny w generowaniu, w bardzo prosty sposób, większości wzorców tradycyjnej składni. Co więcej, nowe perspektywy i wyniki, jakie zapewnia, mogą oznaczać transformację w ogólnym spojrzeniu na składnię. W związku z tym uważamy, że bio-NLP, zastosowane w sposób metodologiczny i przejrzysty, jest potężnym i prostym modelem, który może być bardzo przydatny do a) sformułowania systemów zdolnych do generowania większości struktur języka oraz b) zdefiniowania formalizacji, która może zostać zaimplementowana i może być w stanie opisać i przewidzieć zachowanie struktur języka naturalnego.

Obliczenia membranowe

Systemy membranowe (MS) to modele obliczeniowe inspirowane podstawowymi cechami błon biologicznych. Można je postrzegać jako nowy paradygmat w dziedzinie obliczeń naturalnych, oparty na funkcjonowaniu błon wewnątrz komórki. MS mogą być wykorzystywane jako narzędzia generatywne, obliczeniowe lub rozstrzygalności. Ten nowy model obliczeniowy ma kilka istotnych cech, takich jak na przykład wykorzystanie multizbiorów i nieodłączny paralelizm w jego ewolucji oraz możliwość tworzenia obliczeń, które mogą rozwiązywać problemy wykładnicze w czasie wielomianowym. Ten model stanowi potężne narzędzie do formalizacji wszelkiego rodzaju interakcji, zarówno między agentami, jak i między agentami a środowiskiem. Jedną z kluczowych idei MS jest to, że generacja odbywa się poprzez ewolucję. Dlatego większość ewoluujących systemów można sformalizować za pomocą systemów membranowych. Systemy membran językowych (LMS) mają na celu modelowanie procesów językowych, wykorzystując elastyczność systemów membran językowych i ich przydatność w niektórych dziedzinach, w których konteksty stanowią centralną część teorii. Systemy membran językowych można łatwo dostosować do różnych aspektów opisu i przetwarzania języków naturalnych. Najbardziej rozwiniętymi zastosowaniami systemów membran językowych są semantyka i dialog. Systemy membran językowych stanowią dobrą platformę do rozwijania teorii semantycznej, ponieważ z definicji są systemami ewoluującymi, w tym samym sensie, w jakim znaczenie postrzegamy jako byt dynamiczny. Co więcej, systemy membran językowych dostarczają modelu, w którym konteksty, izolowane lub oddziałujące na siebie, są ważnym elementem, który jest już sformalizowany i może dostarczyć nam niezbędnych narzędzi teoretycznych. Membrany semantyczne można postrzegać jako zintegrowane podejście do semantyki wywodzące się z języków formalnych, biologii i lingwistyki. Biorąc pod uwagę wyniki uzyskane w dziedzinie informatyki, a także naturalność i prostotę formalizmu, wydaje się, że formalizacja kontekstów za pomocą membran jest obiecującym obszarem badań na przyszłość. Przykłady zastosowania MS w semantyce można znaleźć w pracach Bel-Enguix i Jiménez-López (2007). Tematem, w którym kontekst i interakcja między agentami są kluczowe, jest modelowanie dialogu i jego zastosowania w projektowaniu efektywnych i przyjaznych dla użytkownika komputerowych systemów dialogowych. Biorąc pod uwagę pragmatyczne podejście do dialogu oraz w oparciu o akty mowy, teorię wieloagentową i gry dialogowe, powstały systemy membran dialogowych (DMS) jako próba obliczania aktów mowy za pomocą MS. Biorąc pod uwagę membrany jako agentów, a domeny jako osobiste zaplecze i kompetencję językową, zastosowanie ich do dialogu jest niemal naturalne i proste z formalnego punktu widzenia.

NepS - Sieci Procesorów Ewolucyjnych

Sieci Procesorów Ewolucyjnych (NEP) to nowy mechanizm obliczeniowy, bezpośrednio inspirowany zachowaniem populacji komórek. Każda komórka jest opisana przez zestaw słów (DNA) ewoluujących poprzez mutacje, które są reprezentowane przez operacje na tych słowach. Na końcu procesu przetrwają tylko komórki z poprawnymi ciągami znaków. Pomimo biologicznej inspiracji, architektura systemu jest bezpośrednio związana z Maszyną Połączeniową i paradygmatem Przepływu Logicznego . Co więcej, globalne ramy rozwoju NEP-ów muszą zostać uzupełnione o biologiczne podstawy obliczeń DNA , obliczeń membranowych (Păun, 2000), a zwłaszcza o systemy gramatyczne , które z NEP-ami łączą ideę kilku urządzeń współpracujących ze sobą i wymieniających się wynikami. Pierwsze precedensy wykorzystania NEP-ów jako urządzeń generujących można znaleźć w pracach Csuhaj-Varjú i Salomaa (1997) oraz Csuhaj-Varjú i Mitrana (2000). Temat ten został wprowadzony przez Castellanosa i (2003) oraz Martín-Vide (2003), a następnie rozwinięty przez Castellanosa (2005), Csuhaj-Varjú i innych (2005). Mając na uwadze powyższe tło i powiązania teoretyczne, łatwo zrozumieć, dlaczego NEP-y można opisać jako agencyjne, bioinspirowane, wrażliwe na kontekst systemy. Wiele dyscyplin naukowych potrzebuje tego typu modeli, które byłyby w stanie wspierać biologiczne ramy w środowisku współpracy. Połączenie tych cech pozwala na zastosowanie systemu w wielu obszarach, wykraczających poza generowanie i rozpoznawanie w formalnej teorii języka. NLP jest jedną z dziedzin, w których brakuje modeli biologicznych i które wyraźnie nadają się do stosowania w podejściach agencyjnych. NEP-y posiadają znaczące, wewnętrzne możliwości wieloagentowe wraz z adaptowalnością do środowiska, typową dla modeli bioinspirowanych. Niektóre z cech architektury NEP-ów to:Modularyzacja, kontekstualizacja i redefinicja możliwości agentów, synchronizacja, ewolucyjność i zdolność uczenia się.Wewnątrz konstruktu każdy agent jest autonomiczny, wyspecjalizowany, interaktywny w kontekście i zdolny do uczenia się. W odniesieniu do funkcjonowania NEP-ów, na podkreślenie zasługują dwie główne cechy: emergencja i paralelizm. Ze względu na te cechy NEP-y wydają się odpowiednim modelem do analizy języków naturalnych. Jednym z głównych problemów języka naturalnego jest to, że jest on generowany w mózgu, a jednocześnie brakuje wiedzy na temat procesów umysłowych, którym umysł podlega, aby wytworzyć zdanie. Oczekując nowych postępów w neuronauce, musimy korzystać z modeli, które wydają się lepiej pasować do NLP. Modułowość okazała się ważną ideą w szerokim zakresie dziedzin: kognitywistyce, informatyce i oczywiście NLP. Modele NEP zapewniają odpowiednie ramy teoretyczne do formalizacji modułowości w NLP. Kolejnym głównym problemem w formalizacji i przetwarzaniu języka naturalnego jest jego zmienna natura. Nie tylko słowa, ale także reguły, znaczenia i fonemy mogą przybierać różne kształty w procesie obliczeń. Modele formalne oparte na języku matematycznym charakteryzują się brakiem elastyczności w opisie języka naturalnego. Modele biologiczne wydają się być lepsze w tym zadaniu, ponieważ byty biologiczne dzielą z językami pojęcie "ewolucji". Z tej perspektywy modele NEP oferują wystarczającą elastyczność, aby modelować dowolną zmianę w dowolnym momencie w dowolnej części systemu. Ponadto, jako biologicznie inspirowana metoda obliczeniowa, posiadają one zdolność symulowania naturalnej ewolucji w wysoce trafny i wyspecjalizowany sposób. Niektóre dyscypliny lingwistyczne, takie jak pragmatyka czy semantyka, są obszarami zorientowanymi na kontekst, w których ta sama wypowiedź ma różne znaczenia w różnych kontekstach. Aby modelować taką zmienność, potrzebny jest system z dobrą definicją środowiska. NEP-y oferują pewnego rodzaju rozwiązanie pozwalające podejść do formalnej semantyki i formalnej pragmatyki z perspektywy obliczeń naturalnych. Wreszcie, multimodalne podejście do komunikacji, w którym należy zająć się nie tylko produkcją, ale także gestami, wizją i ponadsegmentalnymi cechami dźwięków, odnosi się do równoległego sposobu przetwarzania. NEP-y umożliwiają modułom równoległą pracę. Autonomia każdego z procesorów i ewentualna nieskoordynowana koordynacja między nimi mogą również wyjaśniać szereg problemów związanych z mową.

TRENDY NA PRZYSZŁOŚĆ

Wprowadzono trzy ogólne formalizmy dotyczące przetwarzania języka naturalnego (NLP) za pomocą metod biologicznych, koncentrując się na formalnej definicji kilku ram, które dostosowują modele pochodzące z obszaru obliczeń inspirowanych biologią do potrzeb NLP. Główne trendy na przyszłość koncentrują się na implementacji tych modeli w celu przetestowania ich przewagi obliczeniowej nad klasycznymi modelami NLP bez inspiracji biologicznej.

WNIOSKI

Zbieżności między różnymi strukturami języka i biologii pozwalają nam, w dziedzinie NLP, wykorzystać modele inspirowane biologią, sformalizowane przez informatykę teoretyczną. Co więcej, wieloagentowe możliwości niektórych z tych modeli czynią je odpowiednim narzędziem do symulacji procesów generowania i rozpoznawania w języku naturalnym. Metody biologiczne wywodzące się z informatyki mogą być bardzo przydatne w dziedzinie języka naturalnego, ponieważ dostarczają prostych, elastycznych i intuicyjnych narzędzi do opisu języków naturalnych i ułatwiają ich implementację w systemach NLP. Badania te wyznaczają integracyjną ścieżkę dla biologii, informatyki i przetwarzania języka naturalnego - trzech gałęzi ludzkiej wiedzy, które muszą ze sobą współdziałać w celu opracowania nowych systemów komunikacji dla przyszłego globalnego społeczeństwa.


Problemy informacyjne "narracyjne"



WSTĘP

Informacja "narracyjna" dotyczy ogólnie opisu jakiejś rzeczywistej lub fikcyjnej historii ("narracji") z udziałem konkretnych lub wyimaginowanych "postaci". W niniejszym artykule zajmujemy się (multimedialnymi) narracjami niefikcyjnymi o znaczeniu ekonomicznym. Oznacza to, po pierwsze, że nie zajmujemy się wszelkiego rodzaju narracjami fikcyjnymi, które mają głównie wartość rozrywkową i przedstawiają relację wyimaginowanego narratora z historii, która wydarzyła się w wyimaginowanym świecie: powieść jest typowym przykładem narracji fikcyjnej. Po drugie, nasze "narracje niefikcyjne" muszą mieć wartość ekonomiczną: są one następnie zazwyczaj ucieleśniane w korporacyjnych dokumentach pamięci, dotyczą wiadomości, tekstów normatywnych i prawnych, dokumentacji medycznej, wiadomości wywiadowczych, nagrań z monitoringu lub dzienników odwiedzin, zdjęć i fragmentów wideo z gazet i czasopism, materiałów e-learningowych i multimedialnych materiałów dziedzictwa kulturowego itd. Ze względu na wszechobecność tych "narracyjnych", "dynamicznych" zasobów, szczególnie ważne jest tworzenie aplikacji komputerowych zdolnych do reprezentowania i wykorzystywania w ogólny, dokładny i efektywny sposób treści semantycznej - tj. kluczowego "znaczenia" - tych zasobów.

TŁO

"Narracje" stanowią obecnie bardzo "gorącą" dziedzinę. Z teoretycznego punktu widzenia stanowią one przedmiot odrębnej dyscypliny, "narratologii", której cel można zdefiniować jako dogłębny opis "struktur syntaktycznych/semantycznych" narracji, tj. narratolog zajmuje się rozkładaniem narracji na części składowe w celu ustalenia ich funkcji, celów i relacji między nimi. Dobrym wprowadzeniem do tej dziedziny jest (Jahn, 2005). Chociaż narratologia zajmuje się w szczególności analizą literacką (a zatem narracjami "fikcyjnymi"), w ostatnich latach niektóre jej odmiany nabrały szczególnego znaczenia również z punktu widzenia ścisłej sztucznej inteligencji (AI) i informatyki (CS). Pomijając dawne marzenie o generowaniu fikcji za pomocą komputer,możemy tu wspomnieć o dwóch nowych dyscyplinach, "opowiadaniu historii" i "eChronicles", które są interesujące zarówno z punktu widzenia narracji non-fiction, jak i sztucznej inteligencji/komputerów. Opowiadanie historii zajmuje się ogólnie badaniem różnych sposobów przekazywania "historii" i wydarzeń za pomocą słów, obrazów i dźwięków w celu rozrywki, nauczania, wyjaśniania itp. Opowiadanie historii cyfrowych zajmuje się w szczególności sposobami wprowadzania postaci i emocji w domenie rozrywki interaktywnej, a następnie grami wideo, grami online dla wielu graczy, telewizją interaktywną, rzeczywistością wirtualną itp. Cyfrowe opowiadanie historii jest zatem powiązane z inną, komputerową odmianą narratologii, zwaną inteligencją narracyjną (Narrative Intelligence), poddziedziną sztucznej inteligencji (AI), która bada zagadnienia na styku sztucznej inteligencji, medioznawstwa i projektowania interakcji człowiek-komputer (interfejsy narracyjne, systemy zarządzania bazami danych historycznych, sztuczne agenty o narracyjnym, strukturalnym zachowaniu, systemy generowania i/lub rozumienia historii/narracji itp.). System eChronicle można w skrócie zdefiniować jako sposób rejestrowania, organizowania, a następnie uzyskiwania dostępu do strumieni zdarzeń multimedialnych rejestrowanych przez jednostki, grupy lub organizacje z wykorzystaniem wideo, dźwięku i innych czujników. Zebrane w ten sposób "kroniki" mogą dotyczyć wszelkiego rodzaju "narracji", od protokołów ze spotkań po mecze piłkarskie, działania sprzedażowe, "dzienniki życia" uzyskane z czujników noszonych na ciele itd. Wyzwania techniczne dotyczą głównie sposobów agregacji zdarzeń w spójne "epizody" z wykorzystaniem modeli domenowych jako ontologii, a następnie zapewnienia użytkownikom dostępu do tego rodzaju materiałów na wymaganym poziomie szczegółowości. Należy zauważyć, że dominującym sposobem interakcji z repozytoriami kronik jest eksploracja, a nie "zwykłe" zapytania). Rozwiązanie (NKRL) zaproponowane do "inteligentnego" zarządzania narracjami non-fiction w towarzyszącym artykule - "Narrative" Information, the NKRL Solution - jest uważane za w pełni rozwiniętą technikę eChronicle. W NKRL jednak zasadniczy aspekt dotyczy obecności skutecznych technik "rozumowania" - aspektu, który nie jest wystarczająco dogłębnie uwzględniany w eChronicles, które skupiają się głównie na gromadzeniu materiałów narracyjnych bardziej niż na "inteligentnym" wykorzystaniu ich wewnętrznych powiązań.

PRZEDSTAWIANIE NARRACJI "NIEFIKCYJNYCH"

Wszystkie rodzaje "narracji niefikcyjnych" przywołane w poprzednich rozdziałach dotyczą w praktyce opisu przestrzennie i czasowo nacechowanych "wydarzeń", które odnoszą się, na pewnym poziomie abstrakcji, do zachowania lub stanu pewnych rzeczywistych "aktorów" (postaci, osobistości itp.): starają się oni osiągnąć określony rezultat, doświadczać określonych sytuacji, manipulować pewnymi (konkretnymi lub abstrakcyjnymi) materiałami, wysyłać lub odbierać wiadomości, kupować, sprzedawać, dostarczać itp. Należy zauważyć, że:

o Termin "wydarzenie" jest tutaj rozumiany w jego najogólniejszym znaczeniu, obejmującym również ściśle powiązane pojęcia, takie jak fakt, działanie, stan, sytuacja, epizod, aktywność itp.
o "Aktorzy" lub "osobistości" zaangażowane w wydarzenia niekoniecznie są ludźmi: możemy mieć narracje dotyczące np. perypetii w podróży atomowego okrętu podwodnego ("aktor","podmiot" lub "postaci") lub różnych awatarów w życiu produktu komercyjnego.
o Nawet jeśli duża liczba narracji non-fiction jest zawarta w tekstach w języku naturalnym (NL), niekoniecznie jest to prawdą: informacje narracyjne są w istocie "multimedialne". Zdjęcie przedstawiające sytuację, którą werbalnie można by wyrazić jako "Prezydent USA przemawia do Kongresu", nie jest oczywiście dokumentem NL, ale z pewnością reprezentuje narrację.

Dogłębna analiza istniejących rozwiązań reprezentacji wiedzy, które mogłyby zostać wykorzystane do reprezentowania i zarządzania narracjami non-fiction, obdarzonymi powyższymi cechami, wykracza poza możliwości niniejszego artykułu . Ograniczymy się tutaj do krótkiego omówienia. Przede wszystkim możemy zauważyć, że tak popularne obecnie języki sieci semantycznej (W3C), takie jak RDF (Resource Description Framework), oraz OWL (Web Ontology Language), nie są w stanie sprostać tym wymaganiom, ponieważ ich podstawowy formalizm opiera się na praktyce klasycznego modelu "atrybut - wartość". W przypadku tych języków "binarnych" właściwość może być jedynie relacją binarną, łączącą dwie osoby lub osobę i wartość. Gdy języki te muszą reprezentować proste "narracje", takie jak "Jan dał Marysi książkę", pojawia się kilka trudności. W tym niezwykle prostym zdaniu, np. "give" jest relacją n-arną (ternarną), która, aby być reprezentowaną w sposób kompletny, wymaga obecności określonego "predykatu semantycznego" w stylu "give" lub "transfer", gdzie "argumenty", "John", "book" i "Mary" predykatu muszą być oznaczone "rolami konceptualnymi", takimi jak np. "agent give", "obiekt give" i "beneficjent give". Wysiłki mające na celu rozszerzenie języków W3C poprzez wprowadzenie pewnej funkcji n-arnej nie były do tej pory zbyt udane: zobacz w tym kontekście niedawny dokument roboczy W3C Semantic Web Best Practices and Deployment Working Group (SWBPD WG) na temat "Definiowania relacji n-arnych w sieci semantycznej" . W niniejszym artykule zaproponowano pewne rozszerzenia paradygmatu binarnego, aby umożliwić poprawną reprezentację "narracji", takich jak: "Steve ma wysoką, ale słabnącą temperaturę" lub "Lot United Airlines 3177 odwiedza następujące lotniska: LAX, DFW i JFK". Rozwiązania techniczne przedstawione w niniejszym artykule nie są zbyt przekonujące i spotkały się z licznymi krytykami. Skupiały się one głównie na: i) fakcie, że większość proponowanych rozwiązań nie zajmuje się w rzeczywistości problemem n-arnym, lecz (tylko luźno) powiązanymi kwestiami, takimi jak możliwość określenia "standardowej" relacji binarnej poprzez dodanie właściwości, oraz ii) na dowolnym wprowadzaniu, poprzez procesy reifikacji, fikcyjnych (i nieuchronnie doraźnych) "jednostek" do reprezentacji relacji n-arnych, gdy są one faktycznie rozpatrywane. Co więcej, artykuł nie wspomina na przykład o sposobie radzenia sobie w konkretnych sytuacjach "narracyjnych" z tymi kluczowymi "zjawiskami łączności", takimi jak przyczynowość, cel, mowa zależna, koordynacja i podporządkowanie itp., które łączą podstawowe informacje - np. "wydarzenia podstawowe" odpowiadające obecnemu stanowi chorobowemu Steve′a z innymi "wydarzeniami podstawowymi" odpowiadającymi (możliwym lub pewnym) "przyczynom" tego stanu. W literaturze opisano kilka rozwiązań umożliwiających reprezentację narracji w sposób użyteczny dla komputera, zgodnie z pewnego rodzaju rzeczywistym "modelem n-arnym". Na przykład, w kontekście swojej pracy - prowadzonej między połową lat pięćdziesiątych a połową lat sześćdziesiątych - nad stworzeniem mechanicznego procesu tłumaczenia opartego na symulacji procesów myślowych tłumacza, Silvio Ceccato zaproponował reprezentację zdań narracyjnych jako sieci struktur triadycznych ("korelacji") zorganizowanych wokół określonych "korelatorów" (rodzaju ról). Ceccato jest również uznawany za jednego z pionierów badań nad sieciami semantycznymi; zasadniczo sieci semantyczne to grafy skierowane (digrafy), w których węzły reprezentują koncepcje, a łuki - różne rodzaje powiązań asocjacyjnych, nie tylko "klasyczne" powiązania IsA i właściwości-wartości, ale także relacje n-arne. Przegląd różnych rozwiązań koncepcyjnych proponowanych w kontekście sieci semantycznych można znaleźć w pracy (Lehmann, 1992). W latach siedemdziesiątych szczególnie popularne, n-arne podejście do sieci semantycznych zostało zaprezentowane przez teorię zależności konceptualnych Rogera Schanka (Schank, 1973). W teorii tej ukryte znaczenie ("konceptualizacja") wypowiedzi narracyjnych jest wyrażane jako kombinacje "predykatów semantycznych" wybranych z zestawu dwunastu "pierwotnych działań" (takich jak INGEST, MOVE, ATRANS, przeniesienie abstrakcyjnej relacji, takiej jak posiadanie, własność i kontrola, PTRANS, przeniesienie fizyczne itd.) oraz stanów i zmian stanów, oraz siedmiu relacji ról ("przypadek konceptualny"). Grafy konceptualne (CG) to system reprezentacji opracowany przez Johna Sowę i wywodzący się, przynajmniej częściowo, z prac Schanka i innych wczesnych prac z dziedziny sieci semantycznych. CG wykorzystują notację opartą na grafie do reprezentowania "typów pojęć" (zorganizowanych w hierarchię typów), "pojęć" (będących instancjami typów pojęć) oraz "relacji pojęciowych", które wiążą jedno pojęcie z drugim. CG mogą być używane do formalnego reprezentowania narracji takich jak "Piękna dama tańczy z gracją" oraz bardziej złożonych konstrukcji drugiego rzędu, takich jak konteksty, życzenia i przekonania. CYC dotyczy jednego z najbardziej kontrowersyjnych przedsięwzięć w historii sztucznej inteligencji. Rozpoczęty na początku lat 80. jako projekt MCC (Microelectronics and Computer Technology Corporation, Teksas, USA), zakończył się około 15 lat później utworzeniem ogromnej bazy wiedzy zawierającej około miliona ręcznie wprowadzanych "twierdzeń logicznych", obejmujących zarówno proste stwierdzenia faktów, jak i reguły dotyczące tego, jakie wnioski można wywnioskować, jeśli spełnione są określone stwierdzenia faktów. "Wyższy poziom" ontologii, która strukturyzuje bazę wiedzy CYC, jest obecnie swobodnie dostępny w sieci. Możemy tu również wspomnieć o innym "nowoczesnym" systemie, mapach tematycznych (Topic Maps), gdzie informacje są reprezentowane za pomocą tematów (reprezentujących dowolne koncepcje, od ludzi po moduły oprogramowania i zdarzenia), skojarzeń (relacji między nimi) i wystąpień (relacji między tematami a istotnymi dla nich zasobami informacji). Odpowiadają one ostatecznie swego rodzaju zdegradowanej reprezentacji w sieci semantycznej. Pomijając "historyczne" rozwiązania, takie jak te zaproponowane przez Schanka czy Ceccato, żadne z istniejących rozwiązań n-arnych wymienionych powyżej nie wydaje się w pełni spełniać wymogów narracji niefikcyjnych, patrz ponownie po więcej szczegółów. Uniwersalne cele CYC, niezwykle duże rozmiary jego bazy wiedzy i skrajne zróżnicowanie jej zawartości rodzą poważne problemy ze spójnością, które najwyraźniej ograniczyły rozwój konkretnych aplikacji opartych na tej technologii do projektów eksperymentalnych, wspieranych głównie przez rząd USA. Z drugiej strony, język reprezentacji wiedzy CYC, CycL (w zasadzie system ramowy przepisany w formie logicznej), wydaje się zbyt sztywny i jednolity, aby dostosować się do reprezentacji wszystkich aspektów (od ogólnych pojęć i zdarzeń elementarnych po zjawiska łączności itp.), które charakteryzują narracje. Grafy konceptualne (CG) mogłyby stanowić, przynajmniej w teorii, trafne rozwiązanie w zakresie przetwarzania niefikcyjnych informacji narracyjnych. Wydaje się jednak oczywiste, że prace w kontekście CG dotyczą głównie, z nielicznymi wyjątkami, domeny "akademickiej", a praktyczne zastosowania CG są szczególnie rzadkie. Staje się to szczególnie oczywiste, gdy weźmiemy pod uwagę, że twórcom CG wciąż brakuje wyczerpującej i autorytatywnej listy standardowych struktur CG w formie "grafów kanonicznych", które mogłyby stanowić rodzaj "katalogu" do rozwiązywania problemów praktycznych; stworzenie takiego narzędzia wydaje się nigdy nie być planowane. Istnienie takiego katalogu mogłoby być niezwykle ważne dla praktycznych zastosowań w dziedzinie narracji (i nie tylko), biorąc pod uwagę, że: i) twórca systemu nie powinien musieć samodzielnie tworzyć wiedzy strukturalnej i inferencyjnej potrzebnej do opisu i wykorzystania zdarzeń właściwych dla (wystarczająco) dużej klasy narracji; ii) reprodukcja i udostępnianie wcześniejszych wyników mogłyby stać się znacznie łatwiejsze. Do powyższych trudności możemy dodać istnienie szeregu ogólnych problemów, które nie są związane z konkretnym systemem, ale dotyczą zasadniczo wszystkich istniejących rozwiązań n-arnych, takich jak brak porozumienia co do listy "ról" (przypadków koncepcyjnych) do wykorzystania, gdy narracja musi zostać praktycznie przedstawiona w formacie koncepcyjnym, lub różnice zdań na temat użycia "prymitywów".

RZECZYWISTE TRENDY

Pomimo dość pesymistycznych rozważań z poprzedniego rozdziału, stworzenie konkretnego narzędzia Reprezentacji Wiedzy do praktycznego radzenia sobie z niefikcyjnymi informacjami narracyjnymi jest dalekie od niemożliwego. Wracając teraz do powyższego przykładu "Jan dał książkę …"- i pomijając na razie wszystkie dodatkowe problemy związane np. z istnieniem "zjawiska łączności" - nietrudno zauważyć, że kompletna, n-arna reprezentacja, która ujmuje całe "istotne znaczenie" tej elementarnej narracji, sprowadza się do:

o Zdefiniuj JANA_, MARY_ i KSIĄŻKĘ_1 jako "jednostki", instancje ogólnych "pojęć", takich jak istota_ludzka i wsparcie_informacyjne, lub koncepcji bardziej szczegółowych. Pojęcia i instancje (jednostki) są, jak zwykle, gromadzone w "binarnej" ontologii (budowanej za pomocą standardowego narzędzia, takiego jak np. Protégé).
o Zdefiniuj strukturę n-argumentową zorganizowaną wokół predykatu konceptualnego, takiego jak np. MOVE lub PHYSICAL_TRANSFER, i powiąż powyższe jednostki (argumenty) z predykatem za pomocą ról konceptualnych, które określają ich "funkcję" w narracji globalnej. Zmienna JOHN_ zostanie następnie wprowadzona przez rolę AGENT (lub SUBJECT),BOOK_1 przez rolę OBJECT (lub PATIENT), a MARY_ przez rolę BENEFICIARY. Dodatkową informację, taką jak "wczoraj", można wprowadzić np. za pomocą roli TEMPORAL_ANCHOR itd.
o "Reifikuj" uzyskaną strukturę n-argumentową, przypisując jej unikalny identyfikator w formie "etykiety semantycznej", aby zapewnić zarówno i) logiczno-semantyczną spójność struktury; ii) racjonalny i efektywny sposób jej przechowywania i wyszukiwania. Formalnie, strukturę n-arną zdefiniowaną zgodnie z powyższymi wytycznymi można opisać jako:

(Li (Pj (R1 a1) (R2 a2) …(Rn an))) (1) gdzie Li jest symboliczną etykietą identyfikującą daną strukturę n-arną (np. globalną strukturą odpowiadającą reprezentacji przykładu "Jan dał książkę…"), Pj jest predykatem pojęciowym, Rk jest rolą ogólną, a ak odpowiednim argumentem (np. poszczególne osoby john_, mary_ itd.). Należy zauważyć, że każda z komórek (Ri ai) w (1), rozpatrywana indywidualnie, reprezentuje relację binarną w stylu języka W3C. Najważniejsze jest jednak to, że całą strukturę pojęciową reprezentowaną przez (1) należy rozpatrywać globalnie.Rozwiązanie formalnie przedstawione w postaci (1) stanowi podstawę kompletnych i działających narzędzi koncepcyjnych do reprezentacji i zarządzania niefikcyjną informacją narracyjną zwaną NKRL (językiem reprezentacji wiedzy narracyjnej) i towarzyszący artykuł: Informacja "narracyjna", rozwiązanie NKRL.

WNIOSKI

W niniejszym artykule zajmujemy się "narracjami niefikcyjnymi". Są to zasoby informacji o dużym znaczeniu ekonomicznym, które dotyczą np. dokumentów "wiedzy korporacyjnej", artykułów prasowych, dokumentacji medycznej, nagrań z monitoringu, rejestrów odwiedzin itp. Analizując istniejące (lub przeszłe) systemy reprezentacji wiedzy, które mogłyby być wykorzystane do obsługi narracji niefikcyjnych, możemy zauważyć, że żaden z nich nie wydaje się być w stanie w pełni spełnić wymagań dotyczących narracji niefikcyjnych. Na przykład języki W3C (Semantic Web), takie jak RDF i OWL, nie spełniają tego warunku, ponieważ są binarnymi typami reprezentacji, podczas gdy narracje wymagają, ogólnie rzecz biorąc, rozwiązań n-arnych. Istnieje jednak specyficzny, zorientowany na narrację formalizm, zdolny do uchwycenia istotnego "znaczenia" "elementarnego" zdarzenia narracyjnego i towarzyszący artykuł: "Narrative" Information, the NKRL Solution.


Przyspieszenie algorytmów sztucznej inteligencji (IA) za pomocą procesorów GPU



WSTĘP

Jednostki przetwarzania grafiki (GPU) ewoluowały bardzo szybko, przekształcając się w wysokowydajne procesory programowalne. Chociaż procesory GPU zostały zaprojektowane do obliczania algorytmów graficznych, ich moc i elastyczność czynią je bardzo atrakcyjną platformą do obliczeń ogólnego przeznaczenia. W ostatnich latach były wykorzystywane do przyspieszania obliczeń w fizyce, rozpoznawaniu obrazów, sztucznej inteligencji, operacjach baz danych itp. W niniejszym artykule przedstawiono podejście do obliczeń ogólnego przeznaczenia z wykorzystaniem procesorów GPU, a następnie opisano algorytmy sztucznej inteligencji oparte na sztucznych sieciach neuronowych (ANN) i obliczeniach ewolucyjnych (EC) akcelerowanych za pomocą procesorów GPU.

TŁO

Obliczenia ogólnego przeznaczenia z wykorzystaniem jednostek przetwarzania grafiki (GPGPU) polegają na wykorzystaniu procesora graficznego (GPU) jako alternatywnej platformy do obliczeń równoległych, wykorzystującej wysoką wydajność zapewnianą przez procesor graficzny (Strona internetowa poświęcona obliczeniom ogólnego przeznaczenia z wykorzystaniem sprzętu graficznego; Owens, 2007). Istnieje kilka powodów uzasadniających wykorzystanie procesorów graficznych (GPU) do obliczeń ogólnego przeznaczenia:

o Procesory graficzne poprzedniej generacji są bardzo szybkie w porównaniu z obecnymi procesorami. Na przykład karta NVIDIA8800 GTX ma moc obliczeniową około 330 GFLOPS, podczas gdy procesor Intel Core2 Duo 3,0 GHz ma moc jedynie około 48 GFLOPS.
o Procesory graficzne są wysoce programowalne. W ostatnich latach możliwości programowania układów graficznych znacznie wzrosły, zastępując silniki o stałym programowaniu programowalnymi, takimi jak silniki pikseli i wierzchołków. Co więcej, doprowadziło to do pojawienia się języków wysokiego poziomu, które ułatwiają ich programowanie.
o Ewolucja GPU jest szybsza niż CPU. Wydajność GPU rośnie obecnie z 1,7x do 2,3x rocznie, podczas gdy w przypadku CPU wynosi około 1,4x. Presja wywierana przez rynek gier wideo jest jednym z głównych powodów tej ewolucji, co zmusza firmy do ciągłego rozwoju sprzętu graficznego.
o GPU wykorzystują typy danych o wysokiej precyzji. Chociaż początkowo sprzęt graficzny był projektowany do pracy z typami danych o niskiej precyzji, obecnie obliczenia wewnętrzne są wykonywane przy użyciu 32-bitowych liczb zmiennoprzecinkowych.
o Karty graficzne charakteryzują się niskim kosztem w stosunku do oferowanej wydajności. Obecnie GPU są dostępne dla każdego użytkownika.
o GPU charakteryzują się wysokim stopniem równoległości i mogą obsługiwać wiele procesorów, co pozwala na wykonywanie wydajnych równoległych obliczeń arytmetycznych.

Niemniej jednak istnieją pewne przeszkody. Po pierwsze, nie wszystkie algorytmy pasują do modelu programowania GPU, ponieważ GPU są zaprojektowane do obliczania algorytmów równoległych o wysokiej intensywności . Po drugie, występują trudności w korzystaniu z GPU, głównie z następujących powodów:

* Model programowania GPU różni się od modelu CPU.
* GPU są zaprojektowane do algorytmów graficznych, a zatem do programowania grafiki. Implementacja algorytmów ogólnego przeznaczenia na GPU znacznie różni się od implementacji tradycyjnych.
* Istnieją pewne ograniczenia w możliwościach programowania. Większość funkcji języków programowania GPU jest bardzo specyficzna i dedykowana do wykonywania obliczeń w algorytmach graficznych.
* Architektury GPU są dość zmienne ze względu na szybką ewolucję i wprowadzanie nowych funkcji. Dlatego przeniesienie algorytmu opracowanego dla procesorów CPU do GPU nie jest łatwe.

Przegląd potoku graficznego

Obecnie procesory graficzne (GPU) wykonują obliczenia zgodnie ze wspólną strukturą zwaną potokiem graficznym. Potok graficzny składa się z zestawu etapów, które są wykonywane sekwencyjnie wewnątrz procesora graficznego, umożliwiając obliczanie algorytmów graficznych. Współczesny sprzęt składa się z czterech głównych elementów. Po pierwsze, procesorów wierzchołków, które odbierają tablice wierzchołków z procesora i dokonują niezbędnych transformacji z ich pozycji w przestrzeni do pozycji końcowej na ekranie. Po drugie, zespół prymitywów buduje prymitywy graficzne (na przykład trójkąty) wykorzystując informacje o łączności między różnymi wierzchołkami. Po trzecie, w rasteryzerze te prymitywy graficzne są dyskretyzowane i przekształcane we fragmenty. Fragment reprezentuje potencjalny piksel i zawiera niezbędne informacje (kolor, głębię itp.) do wygenerowania ostatecznego koloru piksela. Wreszcie, w procesorach fragmentów, fragmenty stają się pikselami, do których zapisany jest ostateczny kolor w buforze docelowym, którym może być bufor ekranu lub tekstura. Obecnie procesory GPU posiadają wiele procesorów wierzchołków i fragmentów, które obliczają operacje równolegle. Oba są programowalne za pomocą małych fragmentów kodu, zwanych odpowiednio programami wierzchołków i fragmentów. W ostatnich latach pojawiły się różne języki programowania wysokiego poziomu, takie jak Cg/ lub GLSL (OpenGL Shading Language Information Site), które ułatwiają programowanie tych procesorów.

Model programowania GPU

Istnieje duża różnica między programowaniem procesorów CPU a GPU, głównie ze względu na ich różne modele programowania. Procesory GPU oparte są na modelu programowania strumieniowego , w którym wszystkie dane są reprezentowane przez strumień, który można zdefiniować jako posortowany zestaw danych tego samego typu. Jądro działa na pełnych strumieniach i pobiera dane wejściowe z jednego lub większej liczby strumieni, aby wygenerować jeden lub większą liczbę strumieni wyjściowych. Główną cechą jądra jest to, że działa na całym strumieniu, a nie na poszczególnych elementach. Typowym zastosowaniem jądra jest obliczanie funkcji dla każdego elementu strumienia wejściowego, nazywane operacją mapowania. Inne operacje jądra to ekspansje, redukcje, filtry itp. . Dane wyjściowe generowane przez jądro są zawsze oparte na ich strumieniach wejściowych, co oznacza, że w jądrze obliczenia wykonywane na elemencie nigdy nie zależą od pozostałych. W modelu programowania strumieniowego aplikacje są budowane w taki sposób, że łączą wiele jąder. Aplikację można przedstawić jako graf zależności, w którym każdy węzeł grafu jest jądrem, a każda krawędź reprezentuje strumień danych między jądrami . Zachowanie graficznego potoku jest podobne do modelu programowania strumieniowego. Dane przepływają przez każdy etap, a dane wyjściowe zasilają następny. Elementy strumienia (tablice wierzchołków lub fragmentów) są przetwarzane niezależnie przez jądra (programy wierzchołków lub fragmentów), a ich dane wyjściowe mogą być ponownie odbierane przez inne jądra. Model programowania strumieniowego umożliwia wydajne obliczenia, ponieważ jądra operują na niezależnych elementach z zestawu strumieni wejściowych i mogą być przetwarzane za pomocą sprzętu, takiego jak GPU, który przetwarza strumienie wierzchołków lub fragmentów równolegle. Pozwala to na wykonywanie obliczeń równoległych bez złożoności tradycyjnych modeli programowania równoległego.

Zasoby obliczeniowe GPU

Aby zaimplementować dowolny algorytm na GPU, potrzebne są różne zasoby obliczeniowe . Z jednej strony, obecne GPU posiadają dwa różne, równoległe procesory programowalne: procesory wierzchołków i fragmentów. Procesory wierzchołków obliczają strumienie wierzchołków (punkty z powiązanymi właściwościami, takimi jak pozycja, kolor, normalna itp.). Procesor wierzchołków stosuje program wierzchołków, aby przekształcić każdy wierzchołek wejściowy na jego pozycję na ekranie. Procesory fragmentów obliczają strumienie fragmentów. Stosują program fragmentów do każdego fragmentu, aby obliczyć ostateczny kolor piksela. Oprócz korzystania z atrybutów każdego fragmentu, te procesory mogą uzyskiwać dostęp do innych strumieni danych, takich jak tekstury, podczas generowania każdego piksela. Tekstury można postrzegać jako interfejs dostępu do pamięci tylko do odczytu. Innym dostępnym zasobem w GPU jest rasteryzator. Generuje on fragmenty za pomocą trójkątów zbudowanych z informacji o wierzchołkach i połączeniach. Rasteryzator umożliwia generowanie zbioru danych wyjściowych z mniejszego zbioru danych wejściowych, ponieważ interpoluje właściwości każdego wierzchołka należącego do trójkąta (takie jak kolor, współrzędne tekstury itp.) dla każdego wygenerowanego fragmentu. Jedną z podstawowych funkcji procesorów GPU jest renderowanie do tekstury. Pozwala to na przechowywanie pikseli wygenerowanych przez procesor fragmentów w teksturze, a nie w buforze ekranu. Jest to obecnie jedyny mechanizm umożliwiający bezpośrednie uzyskanie danych wyjściowych z obliczeń GPU. Renderowania do tekstury nie można traktować jako interfejsu do pamięci odczytu i zapisu, ponieważ procesor fragmentów może odczytywać dane z tekstury wielokrotnie, ale może je zapisać tylko raz, na końcu przetwarzania każdego fragmentu.

ALGORYTMY SZTUCZNEJ INTELIGENCJI NA GPU

Wykorzystując model programowania strumieniowego oraz zasoby zapewniane przez sprzęt graficzny, algorytmy sztucznej inteligencji mogą być paralelizowane, a tym samym przyspieszane obliczeniowo. Równoległy i wysoce intensywny charakter obliczeniowy tego rodzaju algorytmów sprawia, że są one dobrymi kandydatami do implementacji na GPU. Rozważmy proces ewolucji algorytmów genetycznych, w którym dla każdego osobnika należy obliczyć wartość dopasowania. Populację można traktować jako strumień danych, a funkcję dopasowania jako jądro przetwarzające ten strumień. Na przykład na GPU strumień danychmusi być reprezentowany jako tekstura, podczas gdy jądro musi być zaimplementowane w programie fragmentarycznym. Dopasowanie każdego osobnika byłoby uzyskiwane w strumieniu wyjściowym, reprezentowanym również przez teksturę, i uzyskiwane za pomocą funkcji renderowania do tekstury. Ostatnio zrealizowano pewne prace, głównie w zakresie równoległych algorytmów ANN i EC, opisanych w kolejnych sekcjach.

Sztuczne sieci neuronowe

Bohn (1998) wykorzystał GPGPU do skrócenia czasu uczenia map cech Kohonena. W tym przypadku, im większa mapa, tym większa była redukcja czasu przy użyciu GPU. Na mapach o rozmiarze 128x128 czas był podobny dla CPU i GPU, ale na mapach o rozmiarze 512x512 GPU było prawie 3,5 razy szybsze niż CPU, zwiększając się do 5,3 razy szybciej na mapach 1024x1024. Była to jedna z pierwszych implementacji GPGPU, stworzona na nieprogramowalnym systemie graficznym, stacji roboczej SiliconGraphics Infinite Reality. Później, dzięki programowalnemu sprzętowi, Oh (2004) wykorzystał GPU do przyspieszenia procesu uzyskiwania danych wyjściowych z wielowarstwowej sieci neuronowej perceptronu. Opracowany system został zastosowany do rozpoznawania wzorców, uzyskując 20-krotnie krótszy czas obliczeniowy niż implementacja CPU. Rozważając inny rodzaj sieci neuronowych, Zhongwen (2005) wykorzystał GPGPU do skrócenia czasu obliczeniowego w trenowaniu map samoorganizujących się (SOM). Im większy SOM, tym większa była redukcja. Podczas gdy użycie map 128x128 neuronów czas obliczeniowy był podobny dla CPU i GPU, mapy 512x512 neuronów wymagały 4-krotnie szybszego procesu trenowania przy użyciu implementacji GPU. Bernhard (2005) wykorzystał GPU do symulacji modelu neuronów impulsowych. Ten model ANN wymaga zarówno intensywnych obliczeń, jak i ma charakter równoległy, więc bardzo dobrze pasuje do obliczeń GPGPU. Autorzy stworzyli różne implementacje w zależności od zastosowania sieci neuronowej. W pierwszym przypadku algorytm segmentacji obrazu został zaimplementowany przy użyciu lokalnie pobudzającej globalnie hamującej sieci neuronowej impulsowej (SNN). W tym eksperymencie autorzy uzyskali do 10 razy szybsze wyniki. W drugim przypadku sieci neuronowe (SNN) wykorzystano do segmentacji obrazu za pomocą algorytmu opartego na klasteryzacji histogramów, gdzie sieć neuronowa minimalizowała funkcję celu. Również w tym przypadku szybkość wzrosła nawet 10-krotnie. Seoane (2007) wykazał przyspieszenie czasu treningu sieci neuronowej perceptronu wielowarstwowego za pomocą algorytmów genetycznych. Techniki GPGPU do obliczeń sieci neuronowych pozwoliły na ich 11-krotne przyspieszenie. Firma Evolved Machines (strona internetowa Evolved Machines) wykorzystuje potężną moc procesorów graficznych (GPU) do symulacji obliczeń neuronowych, uzyskując wyniki nawet 100 razy szybsze niż obliczenia wykonywane przez procesory CPU.

Obliczenia ewolucyjne

W pracach związanych z EC, Yu (2005) opisuje, jak równoległe algorytmy genetyczne można mapować w niedrogim sprzęcie graficznym. W ich podejściu chromosomy i wartości dopasowania są przechowywane w teksturach. Obliczenia dopasowania i operatory genetyczne zaimplementowano za pomocą programów fragmentów na GPU. Do testów wykorzystano różne rozmiary populacji zastosowane do problemu minimalizacji Colville′a, co skutkowało lepszymi oszczędnościami czasu w przypadku większych populacji. W przypadku populacji o rozmiarze 128x128, obliczenia operatorów genetycznych GPU były 11,8 razy szybsze niż CPU, podczas gdy w populacji o rozmiarze 512x512, szybkość ta wzrosła do 20,1. W obliczeniach funkcji dopasowania, szybkości wynosiły odpowiednio 7,9 i 17,1. W innej pracy, Wong (2006) zaimplementował Hybrid Genetic Algorithms na GPU, włączając operator mutacji Cauchy′ego. Wszystkie kroki algorytmu zostały zaimplementowane w sprzęcie graficznym, z wyjątkiem generowania liczb losowych. W tym podejściu zaproponowano pseudodeterministyczną metodę wyboru procesu, umożliwiającą znaczące skrócenie czasu wykonania. Implementacja GPU była 3 razy szybsza niż CPU. Fok (2007) pokazał, jak zaimplementować algorytmy ewolucyjne na GPU. Ponieważ operatory krzyżowania GA wymagają bardziej złożonych obliczeń niż mutacje, autorzy zbadali implementację programowania ewolucyjnego na GPU, używając tylko operatorów mutacji. Testy z rozkładem Cauchy′ego przeprowadzone dla 5 różnych problemów optymalizacyjnych wykazały, że wyniki są od 1,25 do 5 razy szybsze.

TRENDY PRZYSZŁOŚCI

Obecnie procesory graficzne (GPU) są bardzo wydajne i rozwijają się dość szybko. Z jednej strony, w procesorach graficznych pojawia się coraz więcej programowalnych elementów; z drugiej, języki programowania stają się w pełni funkcjonalne. Pojawia się coraz więcej implementacji różnego rodzajualgorytmów ogólnego przeznaczenia, które wykorzystują te cechy. W dziedzinie sztucznej inteligencji liczba opracowań jest raczej niewielka, pomimo ogromnej liczby obecnych algorytmów i ich wysokich wymagań obliczeniowych. Wykorzystanie procesorów graficznych (GPU) do rozszerzenia istniejących implementacji wydaje się bardzo interesujące. Na przykład, przedstawiono kilka przykładów przyspieszenia symulacji sieci neuronowych (SN),jednak nie ma prac nad skróceniem czasu uczenia. Podobnie, te same pomysły można zastosować do implementacji innych rodzajów architektur sieci neuronowych lub technik sztucznej inteligencji (IA), na przykład w dziedzinie programowania genetycznego, gdzie nie ma żadnych postępów w rozwoju.

WNIOSKI

Niniejszy artykuł przedstawia programowanie ogólnego przeznaczenia na procesorach graficznych (GPU). Zostały one przedstawione jako wydajne procesory równoległe, których możliwości programistyczne pozwalają na wykorzystanie ich do realizacji algorytmów obliczeniowych o wysokim stopniu intensywności. W oparciu o tę ideę opisano istniejące implementacje modeli sztucznej inteligencji (IA), takich jak sieci neuronowe (ANN) czy algorytmy EC, na procesorach GPU, które znacznie skracają czas obliczeń. Obliczenia ogólnego przeznaczenia na procesorach GPU i ich wykorzystanie do przyspieszania algorytmów sztucznej inteligencji (IA) zapewniają ogromne korzyści, stanowiąc istotny wkład w zastosowania, w których czas obliczeń jest czynnikiem decydującym.


Podejście projektowe wysokiego poziomu do implementacji sieci neuronowych w układach FPGA



WSTĘP

Sztuczne sieci neuronowe (ANN) to systemy wywodzące się z dziedziny neuronauki, charakteryzujące się intensywnymi operacjami arytmetycznymi. Sieci te charakteryzują się takimi interesującymi cechami, jak paralelizm, klasyfikacja, optymalizacja, adaptacja, generalizacja i pamięć asocjacyjna. Od czasu pionierskiej pracy McCullocha i Pittsa (McCulloch, W.S. i Pitts, W. (1943) toczy się wiele dyskusji na temat implementacji sieci neuronowych, a zaprojektowano ogromną różnorodność sieci . Korzyści płynące z wykorzystania takich implementacji zostały dobrze omówione w artykule R. Lippmanna : "Ogromne zainteresowanie budowaniem sieci neuronowych wciąż wiąże się z szybkim przetwarzaniem, które można osiągnąć poprzez masowo równoległą implementację". W innym artykule Clark S. Lindsey postawił prawdziwy dylemat implementacji sprzętowej: "Zbudować ogólny, ale prawdopodobnie drogi system, który można przeprogramować do kilku rodzajów zadań, na przykład CNAPS? A może zbudować wyspecjalizowany układ scalony, który będzie wykonywał jedną czynność, ale bardzo szybko, jak procesor IBM ZISC". Aby przezwyciężyć ten dylemat, większość badaczy zgadza się Zakłada się, że idealne rozwiązanie powinno zapewniać wydajność uzyskiwaną przy użyciu specyficznej implementacji sprzętowej oraz elastyczność zapewnianą przez narzędzia programowe i układy scalone ogólnego przeznaczenia. Od momentu ich wprowadzenia na rynek w połowie lat 80. XX wieku, dzięki postępowi w rozwoju zarówno technologii mikroelektronicznej, jak i specjalistycznych narzędzi CAD, układy FPGA rozwijały się w sposób ewolucyjny i rewolucyjny. Proces ewolucji umożliwił tworzenie szybszych i większych układów FPGA, lepszych narzędzi CAD i lepszego wsparcia technicznego. Proces rewolucji dotyczy wprowadzenia wysokowydajnych mnożników, mikroprocesorów i funkcji DSP. Ma to bezpośredni związek z implementacją sieci neuronowych w FPGA i przeprowadzono wiele badań w celu zbadania wykorzystania układów FPGA w implementacji sieci neuronowych. Kolejną atrakcyjną, kluczową cechą układów FPGA jest ich elastyczność, którą można uzyskać na różnych poziomach: poprzez wykorzystanie programowalności FPGA, dynamiczną rekonfigurację lub rekonfigurację w czasie wykonywania (RTR) (Xilinx) oraz zastosowanie koncepcji projektowania pod kątem ponownego wykorzystania . Jednak dużą wadą układów FPGA jest niskopoziomowy, zorientowany sprzętowo model programowania, niezbędny do pełnego wykorzystania potencjału wydajności układów FPGA. Zaproponowano wysokopoziomowe narzędzia syntezy VHDL, aby wypełnić lukę między wymaganiami aplikacji wysokiego poziomu a wymaganiami sprzętowymi układów FPGA niskiego poziomu, ale narzędzia te nie są algorytmiczne ani specyficzne dla danej aplikacji. Dlatego przed użyciem narzędzi syntezy należy opracować specjalne koncepcje automatycznej implementacji sieci neuronowych (ANN). W niniejszym artykule przedstawiamy metodologię projektowania wysokiego poziomu dla implementacji sieci neuronowych (ANN), która stanowi pomost między narzędziem syntezy a wymaganiami projektowymi sieci neuronowej. Metoda ta oferuje dużą elastyczność w projektowaniu, jednocześnie spełniając ograniczenia dotyczące wydajności w zakresie prędkości/obszaru. Rozważono trzy schematy implementacji algorytmu propagacji wstecznej opartego na ANN. Są to: implementacja typu off-type, globalna implementacja na chipie oraz dynamiczne opcje rekonfiguracji sieci neuronowej. Aby osiągnąć nasz cel, konieczne jest opracowanie projektu pod kątem ponownego wykorzystania. Zastosowano strategię. Aby zweryfikować nasze podejście, rozważono trzy studia przypadków z wykorzystaniem układów FPGA Virtex-II i Virtex-4. Przeprowadzono badanie porównawcze i przedstawiono nowe wnioski.

TŁO

W tej sekcji przedstawiono teoretyczną prezentację algorytmu propagacji wstecznej opartego na perceptronie wielowarstwowym (MLP). Następnie omówiono najważniejsze prace związane z metodologią projektowania wysokiego poziomu i ramami sieci neuronowych.

Teoretyczne podstawy algorytmu propagacji wstecznej

Propagacja wsteczna jest jednym z dobrze znanych algorytmów wykorzystywanych do trenowania sieci neuronowych MLP w trybie nadzorowanym. MLP jest wykonywany w trzech fazach: fazie sprzężenia zwrotnego, fazie obliczania błędów i fazie aktualizacji wag synaptycznych . W fazie sprzężenia zwrotnego do warstwy wejściowej przykładany jest wzór xi, a uzyskany sygnał jest propagowany w przód przez sieć, aż do obliczenia końcowych sygnałów wyjściowych; dla każdego i (indeksu neuronu) i j (indeksu warstwy).



gdzie μjijest ważoną sumą wag synaptycznych, a oji jest wynikiem sigmoidalnej funkcji aktywacji. Krok obliczania błędu oblicza błąd lokalny δ dla każdej warstwy, zaczynając od wyjścia z powrotem do wejścia:



gdzie di jest pożądanym wyjściem f′ funkcji pochodnej funkcji f. Krok aktualizacji wagi oblicza aktualizacje wag zgodnie z:



gdzie η jest współczynnikiem uczenia, Δw jest zmiennością wag, a l jest indeksami warstw.

Wprowadzenie do frameworków ANN

Najbardziej powiązane prace z frameworkami ANN przedstawiają (F. Schurmann ), (M. Diepenhorst ) oraz (J. Zhu ). Z drugiej strony, wraz ze wzrostem złożonościukładów FPGA, metodologia syntezy oparta na rdzeniach jest proponowana jako nowy trend w wydajnej implementacji sprzętowej FPGA. W narzędziach tych zaproponowano bibliotekę wstępnie zaprojektowanych rdzeni IP (tzw. "własności intelektualnej"). Przykład można znaleźć w (dokumentacji Xilinx Core Generator) i (dokumentacji Opencores). W metodologii projektowania opartej na rdzeniach, efektywne ponowne wykorzystanie wynika z sparametryzowanego projektu z wykorzystaniem języka VHDL i jego wielu elastycznych konstrukcji i cech (tj. abstrakcji, enkapsulacji, dziedziczenia i ponownego wykorzystania poprzez atrybuty, pakiety, procedury i funkcje). Poza tym koncepcja ponownego wykorzystania dobrze sprawdza się w przypadku struktur o wysokiej regularności i powtarzalności, takich jak sieci neuronowe. Jednak pomimo wszystkich tych zalet, rzadko zwracano uwagę na zastosowanie projektowania pod kątem ponownego wykorzystania w sieciach neuronowych (SN). W tym kontekście nasz artykuł przedstawia nową, zaawansowaną metodologię projektowania opartą na koncepcji projektowania pod kątem ponownego wykorzystania w sieciach neuronowych (SN). Aby osiągnąć ten cel, projekt musi spełniać następujące wymagania:

o Projekt musi być oparty na blokach.
o Projekt musi być rekonfigurowalny, aby spełnić wymagania wielu różnych aplikacji.
o Projekt musi wykorzystywać standardowe interfejsy.
o Kod musi być syntetyzowalny na poziomie RTL.
o Projekt musi być zweryfikowany.
o Projekt musi zawierać solidne skrypty i być dobrze udokumentowany.

PREZENTACJA PROPONOWANEGO PODEJŚCIA PROJEKTOWEGO

Proponowane podejście projektowe przedstawiono na rysunku jako schemat przepływowy.



Zastosowana metodologia opiera się na podejściu odgórnym, w którym projektant/użytkownik jest prowadzony krok po kroku przez proces projektowania sieci neuronowej (SN). Najpierw użytkownik proszony jest o wybór wymiaru sieci. Następnym krokiem jest wybór implementacji SSN; są to implementacja poza układem scalonym (off chip), globalna implementacja na układzie scalonym (on chip) oraz implementacja z wykorzystaniem rekonfiguracji w czasie wykonywania (RTR). W ten sposób dla każdego typu implementacji generowany jest rdzeń (Core). Na tym poziomie użytkownik/projektant może ustalić parametry sieci, tj. liczbę neuronów w każdej warstwie, wartości synaptyczne, typ mnożnika, reprezentację danych i precyzję. Na niskim poziomie wszystkie rdzenie IP, które budują neuron, są generowane automatycznie z biblioteki narzędzia syntezy, którym w naszym przypadku jest MENTOR GRAPHICS (patrz podręcznik użytkownika Mentor Graphics), które integruje również generator rdzeni IP Xilinx. Dodatkowo, dla każdego rdzenia IP generowany jest interfejs graficzny w celu ustalenia jego parametrów. Dzięki temu użytkownik/projektant może zmieniać architekturę wydajności sieci, zmieniając rdzenie IP zapisane w bibliotece.Następnie generowany jest kod VHDL na poziomie transferu rejestrów (RTL) do syntezy. Wcześniej wymagana jest symulacja funkcjonalna. Rezultatem jest lista połączeń plików gotowa do umieszczenia i wytyczenia trasy, a następnie finalny prototyp FPGA na płytce. Dokumentacja jest dostępna na każdym etapie procesu projektowania, a kod jest dobrze skomentowany. W ten sposób wymagania dotyczące ponownego wykorzystania są uwzględniane w całym procesie projektowania. Poniżej przedstawiono prezentację każdego typu implementacji.

Implementacja Feed Forward Off-Chip

Rysunek 2 przedstawia widok z góry rdzenia Feed Forward, który składa się z modułu ścieżki danych i modułu sterowania.



Na najwyższym poziomie te dwa moduły są reprezentowane przez czarne skrzynki, a użytkownikowi/projektantowi wyświetlane są tylko sygnały wejściowe i wyjściowe sieci neuronowej.Klikając wewnątrz pól, możemy uzyskać dostęp do architektury sieciowej, która składa się z trzech warstw reprezentowanych przez czarne pola, jak pokazano na rysunku 3 (po lewej stronie).



Klikając wewnątrz każdego pola, możemy uzyskać dostęp do architektury warstwowej, która składa się z czarnych pól reprezentujących neurony, jak pokazano na rysunek 3 (po prawej stronie); a klikając wewnątrz pola każdego neuronu, możemy uzyskać dostęp do architektury sprzętowej neuronu, jak pokazano na rysunku 4.



Każdy neuron implementuje skumulowaną sumę wag z równania (1) i funkcję aktywacji z równania (2). Jak pokazano na rysunku 4, model sprzętowy neuronu opiera się głównie na:

o Obwodzie pamięci, w którym gromadzone są końcowe wartości wag synaptycznych,
o Obwodzie mnożenia (MULT), który oblicza iloczyn przechowywanych wag synaptycznych z danymi wejściowymi,
o Obwodzie akumulatora (ACUM), który oblicza sumę powyższych iloczynów,
o Obwodzie aproksymującym funkcję aktywacji (np. funkcję liniową lub sigmoidalną),
o Obwodzie multipleksera (MUX) w przypadku szeregowego transferu między wejściami w tym samym neuronie.

Architektura sieci neuronowej ma następujące właściwości:

o Obliczenia między warstwami są wykonywane szeregowo,
o Dla tej samej warstwy neurony są obliczane równolegle,
o Dla tego samego neuronu do obliczenia sumy iloczynów używa się tylko jednego mnożnika i jednego akumulatora (MULT + ACUM = MAC).
o Każdy mnożnik jest połączony z pamięcią. Głębokość każdej pamięci jest równa liczbie neuronów tworzących warstwę.
o Cała sieć jest sterowana przez moduł jednostki sterującej.

Każdy obwód budujący neuron jest rdzeniem IP o "własności intelektualnej", który można wygenerować z generatora rdzeni Xilinx. Moduł sterowania sprzężeniem zwrotnym składa się z trzech faz: sterowania neuronem, sterowania warstwą i sterowania siecią. Biorąc pod uwagę fakt, że neurony pracują równolegle, sterowanie warstwą jest podobne do sterowania neuronem i sterowania multiplekserem. Sterowanie neuronem dzieli się na cztery fazy: start, inicjalizację, mnożenie/akumulację synaptyczną i przechowywanie sumy ważonej. Pierwszy diagram stanu modułu sterowania sprzężeniem zwrotnym, który został zaprojektowany, został oparty na maszynie Moore′a, w której system zmienia się tylko wtedy, gdy zmienia się jego stan. Wadą tej maszyny jest to, że nie jest ona generyczna. Na przykład (load=0, reset=0) pozwala akumulatorowi dodać wartość obecną w rejestrze wejściowym. Ta skumulowana wartość musi zostać powtórzona tyle razy, ile wynosi liczba neuronów w poprzedniej warstwie. Zatem, jeśli zmienimy liczbę neuronów z jednej warstwy na drugą, musimy zmienić cały stan przepływu w module sterującym. Aby rozwiązać ten problem, maszynę Moora zastępuje się maszyną Mealy′ego, w której dodajemy program licznika z wartością generyczną M i zmienną przejściową Max, taki, że:



gdzie wartość M jest równa liczbie neuronów. Stosując tę strategię, uzyskujemy architekturę, która ma dwie ważne, kluczowe cechy: generyczność i elastyczność. Generyczność jest związana z rozmiarem słowa danych, precyzją i głębokością pamięci, które są przechowywane jako parametry generyczne na najwyższym poziomie opisu VHDL. Cecha elastyczności jest związana z rozmiarem sieci (liczbą neuronów w każdej warstwie), dlatego możliwe jest dodawanie neuronów poprzez proste kopiowanie/wklejanie modułów neuronowych lub rdzeni, a także możliwe jest ich usuwanie poprzez prostą operację wycinania modów. Możliwe jest również wykorzystanie innych rdzeni IP z biblioteki (na przykład zastąpienie równoległego MULT przez potokowy MULT) w celu zmiany wydajności sieci bez zmiany kodu VHDL. W ten sposób zastosowano koncepcję projektowania pod kątem ponownego wykorzystania.

Strategia implementacji bezpośrednio na chipie

W tej sekcji proponujemy równoważną architekturę do implementacji trzech kolejnych faz algorytmu propagacji wstecznej. Rysunek 5 przedstawia proponowaną architekturę, która składa się z modułu feed forward, modułu obliczania błędów i modułu aktualizacji.



Zestaw trzech modułów jest sterowany przez globalną jednostkę sterującą. Moduł feed forward oblicza równania (1) i (2). Moduł Error oblicza równania (3) i (4), a moduł Update oblicza równania (5) i (6). Każdy moduł charakteryzuje się wysokim stopniem regularności struktury, modułowości i powtarzalności, co czyni całą sieć neuronową dobrym kandydatem do zastosowania koncepcji projektowania pod kątem ponownego wykorzystania. Podobnie jak w przypadku implementacji poza układem scalonym, jednostka sterująca została najpierw wykonana przy użyciu maszyny Moore′a, która integruje sterowanie trzema modułami: feed forward, error i update. Aby osiągnąć ponowne wykorzystanie, zastąpiliśmy maszynę Moore′a maszyną Mealy′ego. W ten sposób rozmiar sieci można modyfikować poprzez proste operacje kopiowania/wklejania lub usuwania modułów.

Strategia rekonfiguracji w czasie wykonywania

Nasza strategia rekonfiguracji w czasie wykonywania obejmuje następujące kroki: najpierw konfiguruje się moduły sprzężenia zwrotnego i globalnego sterowania. Wyniki są zapisywane w module makr magistrali układu FPGA Virtex. W kolejnym kroku moduł sprzężenia zwrotnego jest resetowany z układu FPGA, a moduły aktualizacji i błędów są konfigurowane. Wygenerowane wyniki są zapisywane w modułach makr magistrali, a ta sama procedura jest stosowana do kolejnego przykładu treningowego sieci neuronowej (ANN). Bardziej szczegółowy opis znajduje się w publikacji .

Ocena wydajności

W tej sekcji omówimy wydajność trzech schematów implementacji algorytmu propagacji wstecznej. Parametrami, które należy wziąć pod uwagę, są liczba konfigurowalnych bloków logicznych (CLB), czas odpowiedzi TR (TR) oraz liczba milionów połączeń na sekundę (MCPS). Porównano te parametry między rodzinami Virtex-II i Virtex-4. Symulacja funkcjonalna jest przeprowadzana za pomocą symulatora ModelSim (patrz podręcznik użytkownika ModelSim). Syntezę RTL uzyskuje się przy użyciu narzędzia do syntezy grafiki Mentor (odnośnik w podręczniku użytkownika narzędzia do syntezy grafiki Mentor), a do ostatecznej implementacji stosuje się narzędzie ISE Foundation Place and Rout (8.2) (odnośnik w podręczniku użytkownika ISE Foundation). Naszym pierwszym zastosowaniem jest klasyfikator ANN, który służy do klasyfikacji chorób wieńcowych serca. Sieć została wytrenowana poza układem scalonym (off-chip) za pomocą narzędzia MATLAB 6.5. Po wytrenowaniu ustalono wymiary sieci oraz wagę synaptyczną. Sieć ma wymiar (1, 8, 1), a wagi synaptyczne mają szerokość danych 24 bity. Do tego zastosowania wybraliśmy układy XC2V1000 i XC4VLX15, odpowiednio z procesorów Virtex-II i Virtex-4. Wyniki syntezy pokazują, że układ XC2V1000 zużywa 99% energii w funkcji CLB, czas odpowiedzi TR = 44,46 (ns), a MCPS = 360. Jeśli chodzi o XC4VLX15, zużywa on 82% CLB, TR = 26,76 (ns) i MCPS = 597. Zatem XC4VLX15 osiąga lepszą wydajnośćw odniesieniu do powierzchni (zysk 19% CLB w odniesieniu do powierzchni), szybkość transmisji wynosi 1,6, a szybkość transmisji MCPS wynosi 1,6. Naszym drugim zastosowaniem jest klasyczna (2, 2, 1) "XOR" SNN, która jest używana jako punkt odniesienia dla nieliniowych problemów z wczesnymi separowalnościami. W sieci zastosowano ogólną implementację uczenia się na chipie. Należy wspomnieć, że ograniczenia powierzchniowe nie mogły zostać spełnione dla pierwszej rodziny XC2V1000, jak również dla XC4VlX15, i przetestowaliśmy kilka rodzin, aż w końcu udało nam się naprawić XC4VlX80 dla Virtex-4 i XC2V8000 dla Virtex-II. Wyniki syntezy pokazują, że układ XC2V8000 zużywa 22% mocy obliczeniowej (CLB), czas odpowiedzi TR = 59,5 (ns), a MCPS = 202. W przypadku XC4VLX80 zużywa on 30% mocy obliczeniowej (CLB), TR = 47,93 (ns) i MCPS = 250. Z tych wyników możemy wywnioskować, że dzięki rodzinie Virtex-II możemy zyskać 8% mocy obliczeniowej (CLB) pod względem powierzchni; wynika to z faktu, że Virtex-II integruje więcej mnożników niż Virtex-4 i w którym komponent MAC jest zintegrowany w DSP48 (XC4VLX80 ma 80 mnożników MAC DSP, a XC2V8000 ma 168 mnożników blokowych). Układ Virtex-4 jest jednak szybszy niż Virtex-II i może osiągnąć wyższy MCPS (szybkość ~1,24). Implementacja na chipie wymaga wielu mnożników i dlatego zalecamy ich użycie, jeśli ograniczenia czasowe nie są krytyczne. W trzecim zastosowaniu, do pokazania wydajności (RTR) w implementacji globalnej wykorzystano trzy dowolne sieci. Są to sieć (3,3,3), sieć (16,16,16) i sieć (16,64,8). Wyniki pokazują, że przy dużym rozmiarze sieci trudno jest zaimplementować cały RPG w jednym układzie FPGA. Dzięki RTR możemy osiągnąć ponad 30% redukcję powierzchni i ponad 40% wzrost szybkości i MCPS.

TRENDY PRZYSZŁOŚCI

Proponowane środowisko ANN jest wciąż w fazie rozwoju. Podejście projektowe opiera się na wykorzystaniu wstępnie zaprojektowanych rdzeni IP, generowanych za pomocą narzędzia Xilinx Core Generator. Naszym kolejnym celem jest wzbogacenie i ulepszenie biblioteki rdzeni IP, zwłaszcza w przypadku implementacji funkcji aktywacji (sigmoidalne, liniowe obwody transferowe), a także ocena i porównanie wydajności sieci neuronowej (ANN) z innymi, wstępnie zaprojektowanymi rdzeniami IP. Planujemy również rozszerzyć koncepcję ponownego wykorzystania ANN na inne algorytmy ANN (sieci Kohonena i Hopfielda). Jeśli chodzi o rekonfigurację w czasie wykonywania (RTR), kolejnym krokiem jest integracja podejścia projektowego RTR z narzędziem projektowym PlaneAhead (odniesienie do podręcznika użytkownika PlanAhead). W ramach przyszłych prac planujemy ocenić i przeanalizować koszt koncepcji projektowania pod kątem ponownego wykorzystania zastosowanej do ANN.

WNIOSKI

W niniejszym artykule przedstawiliśmy skuteczne podejście projektowe do implementacji ANN w układach FPGA. Aby osiągnąć nasz cel, zastosowaliśmy strategię projektowania pod kątem ponownego wykorzystania i projektowanie parametryczne. Proponowana metodologia oferuje dużą elastyczność, ponieważ rozmiar ANN można zmienić poprzez proste kopiowanie/usuwanie rdzeni neuronów. Ponadto format, szerokość danych i precyzja są traktowane jako parametry ogólne. Dzięki temu możliwe jest projektowanie różnych aplikacji w krótszym czasie. Jeśli chodzi o te trzy aplikacje, pierwszy wniosek jest taki, że nowe układy FPGA Virtex-4 osiągają szybsze sieci w porównaniu z Virtex-II; ale jeśli chodzi o obszar, tj. liczbę bloków CLB, Virtex-II jest lepszy. Zatem naszym zdaniem Virtex-II doskonale nadaje się jako platforma do eksperymentowania z implementacjami sieci neuronowych (ANN). Może to pomóc w wyznaczeniu nowych kierunków przyszłych prac.


Projektowanie nienadzorowanych hierarchicznych systemów logiki rozmytej



WSTĘP

Systemy takie jak roboty i systemy z dużą ilością danych wejściowych i wyjściowych są zazwyczaj trudne do modelowania za pomocą technik matematycznych. Systemy te charakteryzują się zazwyczaj wysoką wymiarowością i wieloma parametrami obarczonymi niepewnością. Techniki sztucznej inteligencji, takie jak sieci neuronowe, logika rozmyta, algorytmy genetyczne i algorytmy ewolucyjne, stworzyły nowe możliwości rozwiązywania złożonych systemów. Zastosowanie logiki rozmytej , w szczególności do modelowania i rozwiązywania problemów przemysłowych, jest obecnie szeroko rozpowszechnione i cieszy się powszechną akceptacją. Modelowanie rozmyte, czyli identyfikacja rozmyta, ma liczne praktyczne zastosowania w sterowaniu, predykcji i wnioskowaniu. Okazała się przydatna, gdy system jest trudny do przewidzenia lub modelowania konwencjonalnymi metodami. Teoria zbiorów rozmytych zapewnia sposób reprezentacji niepewności. Podstawową siłą logiki rozmytej jest jej zdolność do reprezentowania nieprecyzyjnych wartości w zrozumiałej formie. Większość dotychczasowych systemów logiki rozmytej była statyczna i opierała się na wiedzy pochodzącej z niedokładnej wiedzy heurystycznej doświadczonych operatorów, a w stosownych przypadkach również na prawach fizyki rządzących dynamiką procesu. Chociaż jej zastosowanie w problemach przemysłowych często dawało lepsze rezultaty niż sterowanie klasyczne, procedury projektowania są ograniczone przez heurystyczne reguły systemu. Zakłada się po prostu, że reguły dla systemu są łatwo dostępne lub można je uzyskać. To ukryte założenie ogranicza zastosowanie logiki rozmytej do przypadków systemu o niewielkiej liczbie parametrów. Liczba parametrów systemu może być duża. Liczba reguł rozmytych systemu jest bezpośrednio zależna od tych parametrów. Wraz ze wzrostem liczby parametrów, liczba reguł rozmytych systemu rośnie wykładniczo. Algorytmy genetyczne mogą być wykorzystywane jako narzędzie do generowania reguł rozmytych dla systemu logiki rozmytej. To automatyczne generowanie reguł rozmytych za pośrednictwem algorytmów genetycznych można podzielić na dwie techniki uczenia się: nadzorowane i nienadzorowane. W niniejszym artykule rozważa się uczenie bez nadzoru reguł rozmytych hierarchicznych i wielowarstwowych systemów sterowania z logiką rozmytą. W uczeniu bez nadzoru nie ma zewnętrznego nauczyciela ani krytyka nadzorującego proces uczenia. Innymi słowy, nie ma konkretnych przykładów funkcji, których system ma się nauczyć. Zamiast tego przewidziano niezależny od zadania pomiar jakości lub reprezentacji, której system ma się nauczyć. Oznacza to, że system uczy się prawidłowości statystycznych danych wejściowych i rozwija zdolność uczenia się cech danych wejściowych, a tym samym automatycznego tworzenia nowych klas . Do przeprowadzenia uczenia bez nadzoru można zastosować strategię uczenia się konkurencyjnego. Poszczególne ciągi algorytmów genetycznych konkurują ze sobą o "szansę" na reagowanie na cechy zawarte w danych wejściowych. W najprostszej formie system działa zgodnie ze strategią "najsilniejsi wygrywają i przetrwają". Oznacza to, że pojedynczy chromosom w populacji o największym przystosowaniu "wygrywa" konkurencję i zostaje wybrany do operacji algorytmów genetycznych (krzyżowanie i mutacja). Pozostałe osobniki w populacji muszą następnie konkurować z osobnikami o odpowiednim przystosowaniu, aby przetrwać. Różnorodność zadań uczenia się przedstawiona w niniejszym artykule wskazuje na uniwersalność algorytmu genetycznego w zakresie uczenia się pojęć w sposób nienadzorowany. Hybrydowa architektura zintegrowana, łącząca logikę rozmytą i algorytm genetyczny, może generować reguły rozmyte dla problemów wymagających uczenia nadzorowanego lub nienadzorowanego. W niniejszym artykule rozważane jest wyłącznie uczenie się nienadzorowane systemów logiki rozmytej. Uczenie się reguł rozmytych i parametrów wewnętrznych w sposób nienadzorowany odbywa się przy użyciu algorytmów genetycznych. Wyniki symulacji wykazały, że proponowany system jest zdolny do uczenia się reguł sterowania dla hierarchicznych i wielowarstwowych systemów logiki rozmytej. Rozważane obszary zastosowań to hierarchiczne sterowanie siecią sterowania sygnalizacją świetlną i systemami robotycznymi. Pierwszym krokiem w konstrukcji systemu logiki rozmytej jest określenie, które zmienne są fundamentalnie ważne. Może pojawić się dowolna liczba tych zmiennych decyzyjnych, ale im więcej ich zostanie użytych, tym większy zestaw reguł musi zostać znaleziony. Wiadomo , że całkowita liczba reguł w systemie jest funkcją wykładniczą liczby zmiennych systemowych. Aby zaprojektować system rozmyty o wymaganej dokładności, liczba reguł rośnie wykładniczo wraz z liczbą zmiennych wejściowych i powiązanych z nimi zestawów rozmytych dla systemu logiki rozmytej. Jednym ze sposobów uniknięcia eksplozji rozmytych baz reguł w systemach logiki rozmytej jest rozważenie hierarchicznego sterowania logiką rozmytą (HFLC). W niniejszym artykule omówiono podejście uczenia się oparte na algorytmach genetycznych w celu określenia baz reguł hierarchicznych systemów logiki rozmytej.

ARCHITEKTURA GENERATORA REGUŁ GENETYCZNYCH FUZZY

W tej sekcji pokażemy, jak uczyć się reguł rozmytych w bazie reguł logiki rozmytej za pomocą algorytmu genetycznego. Pełny zestaw reguł rozmytych jest zakodowany jako pojedynczy ciąg w populacji algorytmu genetycznego. Aby to ułatwić, opracowujemy generator reguł rozmytych genetycznych, którego architektura składa się z pięciu podstawowych kroków:

1. Podział przestrzeni wejściowych i wyjściowych kontrolowanego systemu na zbiory rozmyte (regiony),
2. Zakodowanie reguł rozmytych w ciąg bitów 0 i 1,
3. Wykorzystanie algorytmu genetycznego jako procedury uczenia się do wygenerowania zbioru reguł rozmytych,
4. Wykorzystanie kontrolera logiki rozmytej do oceny zbioru reguł rozmytych i przypisanie wartości do każdego wygenerowanego zbioru reguł rozmytych,
5. Zatrzymanie generowania nowych zbiorów reguł rozmytych po spełnieniu pewnych kryteriów wydajnościowych.

Rysunek przedstawia graficznie architekturę generatora reguł rozmytych genetycznych.



Załóżmy, że chcemy wygenerować reguły rozmyte dla sterowania z logiką rozmytą z dwoma wejściami i jednym wyjściem. Ten prosty przypadek z dwoma wejściami u1, u2 i jednym wyjściem y został wybrany w celu wyjaśnienia podstawowych idei naszego nowego podejścia. Rozszerzenia na przypadki wielowyjściowe są proste. W pierwszym kroku dzielimy przedziały dziedziny u1, u2 i y na różne zbiory rozmyte. Liczba zbiorów rozmytych zależy od zastosowania. Załóżmy, że dzielimy przedział dla u1, u2 i y odpowiednio na 5, 7 i 7 zbiorów rozmytych. Każdemu zbiorowi rozmytemu przypisujemy rozmytą funkcję przynależności. Zatem dla tego układu można skonstruować maksymalnie 35 reguł rozmytych. Teraz bazę reguł rozmytych można utworzyć jako tabelę 5×7 z komórkami do przechowywania odpowiednich działań, które muszą zostać podjęte, jeśli spełniony jest warunek odpowiadający u1, u2. W kroku 2 kodujemy wejściowe i wyjściowe zbiory rozmyte w ciągi bitów (0 i 1). Każdy kompletny ciąg bitów składa się z 35 reguł rozmytych w tym przykładzie, a każda baza reguł rozmytych ma te same warunki wejściowe, ale może mieć przypisany inny sygnał sterujący. Dlatego wystarczy zakodować sygnał wyjściowy ciągów bitów reguł rozmytych w kompletny ciąg bitów. Pozwoli to zaoszczędzić czas przetwarzania na kodowanie i dekodowanie ciągów algorytmu genetycznego. W tym przypadku długość pojedynczego ciągu została zmniejszona z 665 bitów (tj. 19×35) do 245 bitów (tj. 7×35). Wybór sygnału sterującego wyjściowego, który ma zostać ustawiony dla każdej reguły rozmytej, jest dokonywany przez algorytm genetyczny. Inicjuje losowo populację kompletnych ciągów bitów. Każdy z tych ciągów bitów jest następnie dekodowany do reguł rozmytych i oceniany przez kontroler logiki rozmytej w celu określenia wartości dopasowania dla tego ciągu bitów. Teraz można kontynuować stosowanie selekcji proporcjonalnej i mutacji oraz operacji krzyżowania jednopunktowego. Selekcja i krzyżowanie są takie same jak w prostych algorytmach genetycznych, podczas gdy operacja mutacji jest modyfikowana. Krzyżowanie i mutacja odbywają się w oparciu o prawdopodobieństwo krzyżowania i mutacji. Operator mutacji jest zmieniany, aby dopasować go do tego problemu, mianowicie allel jest wybierany losowo i zastępowany liczbą losową z zakresu od 1 do 7, która w tym przykładzie reprezentuje pięć wyjściowych zbiorów rozmytych. Proces algorytmu genetycznego wykonuje samokierujące przeszukiwanie zgodnie z wartością dopasowania. We wszystkich zastosowaniach w tym artykule dążymy do minimalizacji funkcji dopasowania. Proces można zakończyć po żądanej liczbie pokoleń lub gdy wartość dopasowania najlepszego ciągu w pokoleniu jest mniejsza od pewnego określonego poziomu.

WYBÓR ZMIENNYCH I ROZKŁAD BAZY REGUŁ

Sterowanie sygnalizacją świetlną

Sterowanie sygnalizacją świetlną jest powszechnie stosowane do rozwiązywania konfliktów między ruchami pojazdów na skrzyżowaniach. System sterowania na każdym skrzyżowaniu z sygnalizacją świetlną składa się z trzech następujących elementów sterujących: czasu cyklu, podziałów faz i przesunięcia. Czas cyklu to czas trwania wszystkich faz sygnału; podział faz to podział czasu cyklu na okresy fazy zielonej dla konkurujących podejść; a przesunięcie to różnica czasowa między czasami rozpoczęcia faz zielonej na sąsiednich skrzyżowaniach. Zaproponowano schemat sterowania oparty na logice rozmytej, aby przezwyciężyć brak interakcji między sąsiednimi skrzyżowaniami. Najpierw opracowano model ruchu i zaproponowano schemat sterowania rozmytego do regulacji przepływu ruchu zbliżającego się do pojedynczego skrzyżowania. Następnie zaproponowano nowy schemat sterowania rozmytego wykorzystujący rozmyty regulator nadzorujący, który ma koordynować trzy skrzyżowania w oparciu o warunki ruchu na wszystkich trzech skrzyżowaniach. Wyniki symulacji potwierdziły skuteczność proponowanego schematu. Rysunek 2 przedstawia trzy skrzyżowania użyte w symulacji.



Następnie opracowano rozmyty układ sterowania nadzorujący, który ma koordynować trzy skrzyżowania znacznie efektywniej niż trzy lokalne układy sterowania rozmytego. Wynika to z faktu, że dzięki rozmytemu regulatorowi nadzorującemu każde skrzyżowanie jest skoordynowane ze wszystkimi sąsiednimi skrzyżowaniami. Rozmyta baza wiedzy rozmytego regulatora nadzorującego została poznana za pomocą algorytmów genetycznych. Rozmyty regulator nadzorujący, opracowany w celu koordynowania trzech skrzyżowań, koordynował sygnalizację świetlną znacznie efektywniej niż trzy lokalne układy sterowania rozmytego. Wynika to z faktu, że dzięki rozmytemu regulatorowi nadzorującemu każde skrzyżowanie jest skoordynowane ze wszystkimi sąsiednimi skrzyżowaniami. Proponowany schemat sterowania oparty na logice rozmytej może być skutecznie zastosowany do sterowania ruchem on-line ze względu na jego zdolność do radzenia sobie z rozległymi sytuacjami na drodze. Wyniki symulacji wykazały, że wielowarstwowy system oparty na logice rozmytej, składający się z trzech lokalnych sterowników opartych na logice rozmytej i nadrzędnego sterownika opartego na logice rozmytej, jest w stanie skrócić czas oczekiwania w sieci skrzyżowań .

Unikanie kolizji w systemie robota

Rozważmy następujący problem unikania kolizji w symulowanym systemie dwóch robotów o masie punktowej. Do rozwiązania problemu zaproponowano trójpoziomowy hierarchiczny system logiki rozmytej. W pierwszej warstwie opracowano dwie bazy wiedzy, po jednej dla każdego robota, w celu znalezienia kąta skrętu, aby sterować każdym robotem do celu. W drugiej warstwie opracowano dwie nowe bazy wiedzy, wykorzystując wiedzę z pierwszej warstwy, do sterowania prędkością każdego robota, tak aby każdy robotzbliżał się do celu z prędkością bliską zeru. Wreszcie, w trzeciej warstwie opracowano pojedynczą bazę wiedzy w celu modyfikacji sterowania każdego robota w celu uniknięcia kolizji w ograniczonej wspólnej przestrzeni roboczej



Na Rysunku , x; y określa fizyczne położenie robota na płaszczyźnie, ? to kierunek ruchu robota, q to kąt skrętu, D1 i D2 to odległości obu robotów od ich celów, S1 i S2 to prędkości obu robotów, D to odległość między dwoma robotami, a 1′q, 2′q, 1′′q, 2′′q, ′1s i to aktualizacje zmiennych wyjściowych dla dwóch ostatnich warstw. 2s to aktualizacje zmiennych wyjściowych dla dwóch ostatnich warstw. W tym przykładzie ważnym problemem jest przyswojenie wiedzy w danej warstwie, wystarczającej do wykorzystania w wyższych warstwach. W pierwszej warstwie hierarchicznego systemu logiki rozmytej, ignorując możliwość kolizji, kąty skrętu dla sterowania każdym robotem względem powiązanego z nim celu zostały określone za pomocą algorytmów genetycznych. W drugiej warstwie algorytm genetyczny został użyty do określenia korekt kąta skrętu i prędkości każdego robota, aby kontrolować prędkość robota podczas zbliżania się do celu. Następnie opracowano kolejną warstwę, aby dostosować prędkość i kąt skrętu robotów, aby uniknąć kolizji. Rozważmy bazę wiedzy pojedynczego robota w warstwie pierwszej. Nie wystarczy nauczyć się rozmytej bazy wiedzy z początkowej konfiguracji i wykorzystać ją do uzyskania informacji o kącie skrętu robota, aby nauczyć się sterowników rozmytych w drugiej warstwie. Oczywiste jest, że ta baza wiedzy jest gwarantowana dopiero od tej początkowej konfiguracji, ponieważ nie wszystkie reguły rozmyte zostaną uruchomione, aby doprowadzić robota do celu. Musimy znaleźć bazę wiedzy, która będzie skuteczna w pewnym akceptowalnym stopniu, w sterowaniu robotem do celu z "dowolnej" początkowej konfiguracji. Jednym ze sposobów jest najpierw nauczyć się zestawu lokalnych sterowników rozmytych, przy czym każda baza wiedzy jest wyuczona przez algorytm genetyczny z danej początkowej konfiguracji w ramach zestawu początkowych konfiguracji rozproszonych równomiernie w przestrzeni konfiguracji. Te bazy wiedzy można następnie połączyć poprzez proces amalgamacji rozmytej w globalną (ostateczną) rozmytą bazę wiedzy sterowania. Alternatywnym podejściem , jest opracowanie algorytmów genetycznych, które umożliwią bezpośrednie uczenie się "ostatecznej" bazy wiedzy w obszarze konfiguracji początkowych.Podsumowując, proponowany hierarchiczny system logiki rozmytej jest zdolny do skutecznego sterowania systemem wielorobotowym. Zastosowanie hierarchicznego systemu logiki rozmytej pozwala na redukcję liczby praw sterowania. W pierwszej warstwie hierarchicznego systemu logiki rozmytej, ignorując możliwość kolizji, algorytmy genetyczne określały kąty skrętu dla sterowania każdym robotem względem powiązanego z nim celu. W drugiej warstwie algorytm genetyczny wykorzystano do określenia korekt kąta skrętu i prędkości każdego robota, aby kontrolować prędkość robota podczas zbliżania się do celu. Następnie opracowano kolejną warstwę w celu dostosowania prędkości i kąta skrętu robotów, aby uniknąć kolizji. Gdyby do rozwiązania tego problemu użyto tylko jednego systemu logiki rozmytej, z wejściami x, y, Φ każdego robota i D, z tymi samymi zbiorami rozmytymi opisanymi w niniejszym artykule, potrzebnych byłoby 153125 reguł rozmytych dla jego bazy wiedzy rozmytej. Przy użyciu hierarchicznego systemu logiki rozmytej, dla tego systemu potrzebnych jest łącznie 1645 reguł rozmytych. Hierarchiczne uczenie się koncepcji z wykorzystaniem proponowanej metody ułatwia rozwój rozmytych układów sterowania, wspierając rozwój sterowników logiki rozmytej tam, gdzie duża liczba parametrów systemu utrudnia ich budowę.

PROBLEMY IDENTYFIKACJI BAZY REGUŁ

Badania w tym obszarze zostały opisane jako genetyczne systemy rozmyte wykorzystujące klasyczny algorytm genetyczny, który został zbadany przez Cordona . Algorytmy genetyczne są wykorzystywane do uczenia się lub dostrajania różnych komponentów systemu logiki rozmytej, takich jak baza wiedzy rozmytej i funkcje przynależności, w procesie wnioskowania. Zazwyczaj odbywa się to poprzez użycie algorytmów genetycznych do wygenerowania "najlepszych" reguł rozmytych i funkcji/parametrów przynależności w odniesieniu do kryterium optymalizacji. W literaturze istnieją trzy główne podejścia do uczenia się reguł w rozmytej bazie wiedzy. Są to podejście pittsburskie, podejście michigańskie i iteracyjne podejście uczenia się reguł . Podejścia pittsburskie i michigańskie to najczęściej stosowane metody w tym obszarze. Badania autorów, współpracowników i studentów studiów podyplomowych w przeważającej mierze wykorzystywały podejście pittsburskie z powodzeniem w uczeniu się reguł rozmytych w złożonych systemach, w strukturach hierarchicznych i wielowarstwowych w problemach

PRZYSZŁE TRENDY

Kodowanie rozmytej bazy reguł jako ciągu liniowego w algorytmie ewolucyjnym, przy zastosowaniu podejścia Pittsburgha, ma swoje wady, poza tym, że ciąg może być stosunkowo długi po rozłożeniu na struktury wielowarstwowe i hierarchiczne. Jedną z nich jest to, że jest to specyficzne kodowanie liniowe struktury nieliniowej, a typowe krzyżowanie jednopunktowe po wdrożeniu wprowadza błąd podczas odwracania kodowania w celu uzyskania rozmytej bazy reguł logicznych. Wykorzystanie algorytmów koewolucyjnych to również inna opcja, która wymaga dalszych badań.

WNIOSKI

W niniejszym artykule opisano problemy związane z budową hierarchicznego systemu logiki rozmytej do modelowania złożonego (nieliniowego) systemu. Zaproponowano uczenie reguł rozmytych w takich systemach za pomocą algorytmów genetycznych i wykazano jego wykonalność. Chociaż dekompozycja na hierarchiczne/wielowarstwowe podsystemy logiki rozmytej znacznie zmniejsza liczbę reguł rozmytych, które należy zdefiniować i nauczyć, pojawiają się inne problemy, takie jak brak jednoznaczności dekompozycji i możliwość powstania zmiennych bez znaczenia fizycznego. Może to stwarzać poważne trudności w uzyskaniu kompletnej klasy reguł od ekspertów, nawet przy niewielkiej liczbie zmiennych.


Podejmowanie decyzji w inteligentnych agentach



WSTĘP

Istnieje kilka sposobów budowania złożonych rozproszonych systemów oprogramowania, na przykład w formie agentów programowych. Jednak niezależnie od formy, występują pewne typowe problemy związane z różnicą między specyfikacją a wykonaniem. Jednym z nich jest inherentna dynamika środowiska, na które narażone jest wiele systemów. Właściwości środowiska nie są znane z żadną precyzją w momencie konstrukcji. To sprawia, że specyfikacja systemu jest z definicji niekompletna. Tradycyjny agent programowy jest przygotowany jedynie do obsługi sytuacji przewidzianych i zaimplementowanych w czasie kompilacji. Mimo że może działać w różnych kontekstach, jego zdolności decyzyjne są statyczne. Jednym ze sposobów rozwiązania jest przygotowanie rozproszonych komponentów do prawdziwie dynamicznego środowiska, tj. środowiska o zmiennych i nieco nieprzewidywalnych warunkach. Racjonalny agent programowy potrzebuje zarówno reprezentacji problemu decyzyjnego, jak i środków do jego oceny. Sztuczna inteligencja tradycyjnie zajmowała się niektórymi aspektami tego problemu, takimi jak reprezentacja i wnioskowanie, ale dotychczas w mniejszym stopniu zajmowała się zdolnościami decyzyjnymi niezależnych rozproszonych komponentów oprogramowania . Takie podejmowanie decyzji często musi być przeprowadzane w warunkach dużej niepewności dotyczącej kilku parametrów. Zatem metody niezależnych komponentów decyzyjnych powinnybyć w stanie poradzić sobie z niepewnościami dotyczącymi prawdopodobieństw i użyteczności. Były one badane głównie jako środki reprezentacji, ale obecnie rozwijane są w funkcjonalne teorie podejmowania decyzji, nadające się do dynamicznego wykorzystania przez agentów programowych i inne dynamiczne komponenty rozproszone. Taka teoria funkcjonalna przyniesie również korzyści analitycznym systemom wspomagania decyzji, mającym na celu wspomaganie ludzi w podejmowaniu decyzji. Zatem ogólny termin "agent" poniżej oznacza zarówno dynamiczny komponent programowy, jak i człowieka lub grupę ludzi wspomaganych przez inteligentne oprogramowanie.

TŁO

Ramsey (1926/78) jako pierwszy zaproponował teorię, która integrowała idee dotyczące subiektywnego prawdopodobieństwa i użyteczności, prezentując (nieformalnie) ogólny zestaw aksjomatów dla porównań preferencji między działaniami o niepewnych wynikach (decyzjami probabilistycznymi). Von Neumann i Morgenstern (1947) stworzyli podwaliny współczesnej teorii użyteczności. Sformułowali zbiór aksjomatów, które uznali za rozsądne dla racjonalnego decydenta (takiego jak agent), i wykazali, że agent powinien preferować alternatywę o najwyższej oczekiwanej użyteczności, zakładając, że działał zgodnie z tymi aksjomatami. Jest to zasada maksymalizacji oczekiwanej użyteczności. Savage (1954/72) opublikował dogłębne omówienie kompletnej teorii subiektywnej oczekiwanej użyteczności. Savage, von Neumann i inni ustrukturyzowali analizę decyzji, proponując rozsądne zasady rządzące podejmowaniem decyzji i konstruując na ich podstawie teorię. Innymi słowy, oni (a później wielu innych) sformułowali zbiór aksjomatów mających uzasadniać ich szczególne podejście do zasady użyteczności. W klasycznej analizie decyzji, spośród typów sugerowanych przez Savage′a i innych, powszechna jest opinia, że teoria użyteczności ujmuje koncepcję racjonalności. Po Raiffie (1968) probabilistyczne modele decyzyjne są obecnie często przedstawiane w formie drzewa . Drzewo decyzyjne składa się z korzenia, reprezentującego decyzję, zbioru węzłów zdarzeń, reprezentujących pewien rodzaj niepewności, oraz węzłów konsekwencji, reprezentujących możliwe wyniki końcowe. Na rysunku decyzja jest kwadratem, zdarzenia są okręgami, a konsekwencje końcowe trójkątami. Zdarzenia rozwijają się od lewej do prawej, aż do osiągnięcia konsekwencji końcowych. Może również istnieć więcej niż jedna decyzja do podjęcia, w takim przypadku decyzje podrzędne są podejmowane przed decyzją główną. W drzewach decyzyjnych rozkłady prawdopodobieństwa są przypisywane w postaci wag (liczb) w węzłach prawdopodobieństwa jako miary niepewności. Oczywiście, takie numerycznie precyzyjne podejście stawia wysokie wymagania co do możliwości wprowadzania danych przez agenta. Wady tej reprezentacji są liczne i muszą zostać zrekompensowane. Między innymi, podniesiono kwestię, czy ludzie są w stanie dostarczyć informacji wejściowych wymaganych przez teorię użyteczności . Na przykład, większość ludzi nie potrafi wyraźnie odróżnić prawdopodobieństw w zakresie od około 0,3 do 0,7 . Podobne problemy pojawiają się w przypadku sztucznych agentów, ponieważ sztuczne agenci bazujące na użyteczności zazwyczaj opierają swoje rozumowanie na ocenach ludzkich, na przykład w postaci indukowanych funkcji preferencji. Tak zwane agenty reaktywne, dla których ta teza nie jest prawdziwa, nie zostały wykorzystane w dynamicznych domenach charakteryzujących się niepewnością . Co więcej, nawet jeśli agent byłby w stanie rozróżniać różne prawdopodobieństwa, bardzo często brakuje kompletnych, adekwatnych i precyzyjnych informacji. W rezultacie, w ostatnich latach intensywnej działalności badawczej pojawiło się kilka alternatywnych podejść. W szczególności przeważały podejścia pierwszego rzędu, tj. oparte na zestawach miar prawdopodobieństwa, prawdopodobieństw górnych i dolnych oraz prawdopodobieństw przedziałowych. Główna klasa takich modeli koncentrowała się na wyrażaniu prawdopodobieństw w kategoriach przedziałów. W 1953 roku wprowadzono koncepcję pojemności . Pojemności były następnie wykorzystywane do modelowania nieprecyzyjnych prawdopodobieństw jako przedziałów (pojemności rzędu 2). Od początku lat 60. XX wieku wykorzystanie funkcji prawdopodobieństwa pierwszego rzędu (o wartościach przedziałowych) za pomocą klas miar prawdopodobieństwa zostało zintegrowane z klasyczną teorią prawdopodobieństwa, np. przez Smitha (1961) i Gooda (1962). Podobnie Dempster (1967) badał ramy modelowania prawdopodobieństw górnych i dolnych, które zostały rozwinięte przez Shafera (1976), gdzie zapewniono reprezentację przekonań dotyczących stanów lub zdarzeń. W środowisku AI podejście Dempstera-Shafera spotkało się z dużym zainteresowaniem. Jednak ich formalizm wydaje się zbyt silny, aby stanowić adekwatną reprezentację przekonań . Inne reprezentacje w kategoriach prawdopodobieństw górnych i dolnych zaproponowali m.in. Hodges i Lehmann (1952), Hurwicz (1951), Wald (1950), Kyburg (1961), Levi (1974, 1980), Walley (1991), Danielson i Ekenberg (1998, 2007) oraz Ekenberg (2001). Przewidywania górne i dolne były również badane przez różnych autorów. Na przykład Shafer i inni. (2003) proponują teorię rozumienia subiektywnych oszacowań prawdopodobieństwa opartą na Walley (1991). Kilka podejść opiera się również na logice, np. Nilsson (1986). Opracowuje on metody postępowania ze zdaniami zawierającymi prawdopodobieństwa górne i dolne. Tego rodzaju podejścia były rozwijane między innymi przez Wilsona (1999).

REPREZENTACJE DRUGIEGO RZĘDU

Wspólną cechą powyższych reprezentacji pierwszego rzędu jest to, że zazwyczaj nie obejmują one wszystkich mocnych aksjomatów teorii prawdopodobieństwa, a zatem nie wymagają od agenta modelowania i oceny sytuacji decyzyjnej za pomocą precyzyjnych oszacowań prawdopodobieństwa (a w niektórych przypadkach wartości). Zaletą reprezentacji wykorzystujących prawdopodobieństwo górne i dolne jest to, że nie wymagają one uwzględniania rozkładów prawdopodobieństwa. Z drugiej strony, często trudno jest wówczas opracować rozsądną regułę decyzyjną, która znajdzie dopuszczalną alternatywę spośród zbioru alternatyw i jednocześnie w pełni odzwierciedli intencje agenta (lub jego właściciela). Ponieważ prawdopodobieństwa i wartości są reprezentowane przez przedziały, zakres wartości oczekiwanych alternatywy również będzie przedziałem. W efekcie procedura zachowuje wszystkie alternatywy z nakładającymi się przedziałami użyteczności oczekiwanej, nawet jeśli to nakładanie się jest bardzo małe. Co więcej, nie dopuszczają one dyskryminacji między różnymi przekonaniami o różnych wartościach w obrębie przedziałów. Wszystkie te reprezentacje napotykają na ten sam kompromis. Podejścia zerowego rzędu (tj. stałe liczby reprezentujące oceny prawdopodobieństwa i użyteczności) wymagają nieuzasadnionej precyzji w reprezentacji danych wejściowych. Chociaż ocena i rozróżnianie alternatyw stają się proste, wyniki często nie odzwierciedlają problemu, a analizy wrażliwości są trudne do przeprowadzenia dla więcej niż kilku parametrów jednocześnie. Podejścia pierwszego rzędu (np. przedziałowe) oferują rozwiązanie problemu reprezentacji, dopuszczając niedokładność w reprezentacji ocen prawdopodobieństwa i użyteczności, takich jak przedziałowe, odzwierciedlając niepewność nieodłącznie związaną z większością rzeczywistych problemów decyzyjnych, z którymi borykają się agenci. Jednak ta dopuszczalność otwiera puszkę Pandory w tym sensie, że ocena i rozróżnianie stają się znacznie trudniejsze ze względu na nakładające się wyniki oceny różnych opcji dla agenta, tj. najgorszy przypadek dla jednej alternatywy nie jest lepszy niż najlepszy przypadek dla innej alternatywy lub odwrotnie, co uniemożliwia osiągnięcie całkowitej kolejności rankingowej między alternatywami. Kompromis między realistyczną reprezentacją a mocą dyskryminacyjną nie został rozwiązany w ramach powyższych paradygmatów. Aby znaleźć rozwiązanie, należy rozważyć podejścia drugiego rzędu, dopuszczające zarówno niedokładność reprezentacji, jak i moc dopuszczalnej dyskryminacji. Podejścia do rozszerzania reprezentacji przedziałowej za pomocą rozkładów na klasy miar prawdopodobieństwa i wartości zostały rozwinięte w różne modele hierarchiczne, takie jak teoria prawdopodobieństwa drugiego rzędu . Gärdenfors i Sahlin rozważają globalne rozkłady przekonań, ale ograniczają się do reprezentacji przedziałowych i tylko do prawdopodobieństw, a nie użyteczności. Inne ograniczenia polegają na tym, że nie badają oni relacji między rozkładami globalnymi i lokalnymi, ani nie wprowadzają metod określania spójności zdań użytkownika jako dodanych. To samo dotyczy Hodgesa i Lehmanna (1952), Hurwicza (1951) i Walda (1950). Ostatnio zaproponowano kilka bardziej wyspecjalizowanych podejść, takich jak (Jaffray, 1999), (Nau, 2002) i (Utkin & Augustin, 2003). Ogólnie rzecz biorąc, bardzo niewiele z nich podjęło problem złożoności obliczeniowej przy rozwiązywaniu problemów decyzyjnych obejmujących takie oszacowania. Nie trzeba dodawać, że w przypadku agentów dynamicznych ważne jest określenie w stosunkowo krótkim czasie, jak różne zasady ewaluacyjne klasyfikują dane opcje w sytuacji decyzyjnej. Ekenberg (2006) oraz Danielson (2007) przedstawiają ramy dla systematycznego wykorzystania reprezentacji drugiego rzędu do wykorzystania informacji o przekonaniach w celu efektywnego rozróżniania alternatyw, które dają nakładające się przedziały oczekiwanej użyteczności przy użyciu ewaluacji przedziałów pierwszego rzędu. Informacja o przekonaniach ma postać łącznego rozkładu przekonań, określonego jako marginalne rozkłady przekonań rzutowane na każdy parametr. Wykazano, że niezależnie od formy rozkładów przekonań w przedziałach wyjściowych, rozkłady wynikające z mnożenia i dodawania mają formy bardzo różne od swoich składowych. Ta zmienność wynikowych przekonań pokazuje, że analizy wykorzystujące wyłącznie informacje pierwszego rzędu, takie jak górne i dolne granice, nie uwzględniają wszystkich dostępnych informacji. Metoda ta opiera się na uwzględnieniu przekonań agenta w różnych częściach przedziałów, wyrażonych lub domniemanych. Można powiedzieć, że reprezentują one przekonania w różnych podczęściach przedziałów dopuszczalnych. W rezultacie całkowity brak nakładania się nie jest wymagany do skutecznego rozróżnienia alternatyw. Dopuszcza się natomiast nakładanie się części interwałowych o małej masie przekonań, tj. reprezentujących niewielką część przekonań agenta. Wówczas części nienakładające się na siebie można postrzegać jako rdzeń oceny sytuacji decyzyjnej przez agenta, co pozwala na rozróżnienie. Istnieją zasadniczo trzy sposoby oceny (tj. podjęcia decyzji) problemu decyzyjnego agenta drugiego rzędu. Pierwszy sposób (analiza centroidów) polega na użyciu centroidu jako najlepszego, jednopunktowego reprezentanta rozkładów. Centroid jest addytywny i multiplikatywny. Zatem centroid rozkładu oczekiwanej użyteczności jest oczekiwaną użytecznością centroidów projekcji. Analiza centroidów daje dobry przegląd sytuacji decyzyjnej. Drugi sposób (analiza kontrakcji) polega na użyciu centroidu jako punktu centralnego (punktu kontrakcji), w kierunku którego przedziały są zmniejszane podczas badania nakładania się przedziałów oczekiwanej użyteczności pierwszego rzędu. Trzeci sposób (analiza dystrybucji) jest bardziej rozbudowany i obejmuje analizę otrzymanych rozkładów oczekiwanej użyteczności oraz obliczenie odsetka przekonań pokrywających się między ocenianymi alternatywami.

PRZYSZŁE TRENDY

W ostatnich latach aktywność w obszarze nieprecyzyjnych prawdopodobieństw znacznie wzrosła (IPP), a tematowi temu poświęcone są obecnie konferencje specjalne (ISIPTA) i czasopisma (IJAR). Teorie drugiego rzędu zostaną w przyszłości w pełni rozwinięte w funkcjonalne teorie podejmowania decyzji, nadające się do dynamicznego wykorzystania przez rozproszone komponenty oprogramowania. Opracowane zostaną algorytmy efektywnej ewaluacji przez agentów, wykorzystujące co najmniej dwa pierwsze sposoby analizy wymienione powyżej.

WNIOSKI

W niniejszym artykule omawiamy różne podejścia do probabilistycznego podejmowania decyzji w agentach. Zwracamy uwagę, że teorie uwzględniające przekonania drugiego rzędu mogą zapewnić agentowi (agentowi programowemu lub człowiekowi) silniejsze rozróżnienie podczas przetwarzania agregacji reprezentacji przedziałowych, takich jak w drzewach decyzyjnych lub sieciach probabilistycznych, oraz że same w sobie oszacowania przedziałowe (górne i dolne granice) nie są zupełne. Dotyczy to wszystkich rodzajów drzew decyzyjnych i sieci probabilistycznych, ponieważ wszystkie one wykorzystują mnożenie do ewaluacji. Kluczową ideą jest wykorzystanie dostępnych informacji do efektywnej oceny struktur decyzyjnych. Użycie wyłącznie estymacji przedziałowych często nie zapewnia agentowi wystarczającej mocy dyskryminacyjnej do wygenerowania kolejności preferencji wśród rozważanych alternatyw. Metody drugiego rzędu to nie tylko ładne teorie, ale powinny być brane pod uwagę, aby zapewnić agentom efektywne metody decyzyjne, w szczególności w przypadku agregacji nieprecyzyjnych reprezentacji, jak ma to miejsce w drzewach decyzyjnych lub sieciach probabilistycznych.


Podstawowe koncepcje i kluczowe zagadnienia eksploracji danych



WSTĘP

Eksploracja danych to proces wydobywania wcześniej nieznanych informacji z dużych baz danych lub magazynów danych i wykorzystywania ich do podejmowania kluczowych decyzji biznesowych. Narzędzia do eksploracji danych odnajdują wzorce w danych i na ich podstawie formułują reguły. Wyekstrahowane informacje mogąsłużyć do tworzenia modelu predykcyjnego lub klasyfikacyjnego, identyfikowania relacji między rekordami bazy danych lub tworzenia podsumowania eksplorowanych baz danych. Te wzorce i reguły mogą być wykorzystywane do kierowania procesem decyzyjnym i prognozowania skutków tych decyzji, a eksploracja danych może przyspieszyć analizę, koncentrując uwagę na najważniejszych zmiennych.

TŁO

Toniemy w danych, ale jednocześnie brakuje nam wiedzy. W ostatnich latach ilość lub objętość informacji znacznie wzrosła. Niektórzy badacze sugerują, że objętość przechowywanych informacji podwaja się każdego roku. Pojemność dyskowa przypadająca na osobę (DSP) to sposób pomiaru wzrostu ilości danych osobowych. Edelstein (2003) oszacował, że liczba ta drastycznie wzrosła z 28 MB w 1996 r. do 472 MB w 2000 r. Eksploracja danych wydaje się być najbardziej obiecującym rozwiązaniem dylematu radzenia sobie z nadmiarem danych przy bardzo małej wiedzy. Wykorzystując technologie rozpoznawania wzorców oraz techniki statystyczne i matematyczne do przeszukiwania zgromadzonych informacji, eksploracja danych pomaga analitykom rozpoznawać istotne fakty, zależności, trendy, wzorce, wyjątki i anomalie. Wykorzystanie eksploracji danych może poprawić pozycję firmy poprzez stworzenie trwałej przewagi konkurencyjnej. Hurtownie danych i eksploracja danych to nauka zarządzania i analizowania dużych zbiorów danych oraz odkrywania nowych wzorców. Eksploracja danych zyskuje na popularności z kilku powodów: organizacje gromadzą coraz więcej danych o swojej działalności, obserwuje się ogromny spadek kosztów przechowywania danych, presję ze strony konkurencji, chęć wykorzystania istniejących inwestycji w technologie informatyczne oraz gwałtowny spadek stosunku kosztów do wydajności systemów komputerowych. Kolejnym powodem jest rozwój hurtowni danych. W przeszłości często konieczne było gromadzenie danych, ich oczyszczanie i scalanie. Teraz, w wielu przypadkach, dane znajdują się już w hurtowniach danych, gotowe do użycia. W ciągu ostatnich 40 lat narzędzia i techniki przetwarzania danych i informacji ewoluowały od baz danych do hurtowni danych, a następnie do eksploracji danych. Aplikacje hurtowni danych stały się krytyczne dla biznesu. Eksploracja danych pozwala na wydobycie jeszcze większej wartości z tych ogromnych repozytoriów informacji. Eksploracja danych to dziedzina interdyscyplinarna obejmująca wiele dyscyplin, takich jak bazy danych, statystyka, sztuczna inteligencja, rozpoznawanie wzorców, uczenie maszynowe, teoria informacji, teoria sterowania, badania operacyjne, wyszukiwanie informacji, wizualizacja danych, obliczenia o wysokiej wydajności lub obliczenia równoległe i rozproszone itp. Z pewnością wiele modeli statystycznych pojawiło się dawno temu. Uczenie maszynowe stanowi kamień milowy w ewolucji informatyki. Chociaż eksploracja danych jest wciąż w powijakach, jest obecnie wykorzystywana w szerokim zakresie branż i do szeregu zadań w różnych kontekstach . Eksploracja danych jest synonimem odkrywania wiedzy w bazach danych, ekstrakcji wiedzy, analizy danych/wzorców, archeologii danych, pogłębiania danych, podsłuchiwania danych, łowienia danych, gromadzenia informacji i analizy biznesowej.

GŁÓWNY CEL

Funkcjonalności i zadania


Typowe typy informacji, które można uzyskać z operacji eksploracji danych, to asocjacje, sekwencje, klasyfikacje, klastry i prognozowanie. Asocjacje powstają, gdy zdarzenia są powiązane w jedno zdarzenie. Jednym z najpopularniejszych zastosowań asocjacji jest analiza koszyka rynkowego. Technika ta wykorzystuje funkcje częstotliwości i prawdopodobieństwa do szacowania procentowej szansy wystąpienia. Stratedzy biznesowi mogą wykorzystać analizę koszyka rynkowego, stosując takie techniki, jak cross-selling i up-selling. W sekwencjach zdarzenia są powiązane w czasie. Jest to szczególnie istotne w e-biznesie do analizy stron internetowych. Klasyfikacja jest prawdopodobnie najpowszechniejszą obecnie czynnością eksploracji danych. Rozpoznaje ona wzorce opisujące grupę, do której należy dany element. Robi to poprzez badanie istniejących elementów, które zostały już sklasyfikowane, i wywnioskowanie z nich zestawu reguł. Klastrowanie jest powiązane z klasyfikacją, ale różni się tym, że nie zdefiniowano jeszcze żadnych grup. Za pomocą klasteryzacji narzędzie eksploracji danych odkrywa różne grupowania w danych. Powstałe grupy lub klastry pomagają użytkownikowi końcowemu zrozumieć ogromne ilości danych. Wszystkie te zastosowania mogą obejmować prognozy. Piąty typ aplikacji, prognozowanie, stanowi odmienną formę prognozowania. Szacuje on przyszłą wartość zmiennych ciągłych na podstawie wzorców w danych.

Algorytmy i metodologie

Sieci neuronowe


Sieci neuronowe, nazywane również sztuczną inteligencją (AI), wykorzystują algorytmy predykcyjne. Technologia ta ma wiele cech podobnych do regresji, ponieważ aplikacja zazwyczaj analizuje dane historyczne i wykorzystuje formę funkcjonalną, która najlepiej zrównuje zmienne objaśniające ze zmienną docelową w sposób minimalizujący błąd między tym, co wygenerował model, a tym, co faktycznie miało miejsce w przeszłości, a następnie stosuje tę funkcję do danych przyszłych. Sieci neuronowe są nieco bardziej złożone, ponieważ wykorzystują intensywne architektury programowe w celu identyfikacji liniowych, nieliniowych i wzorcowanych zależności w danych historycznych.

Drzewa decyzyjne

Megaputer (2006) wspomniał, że tę metodę można zastosować wyłącznie do rozwiązywania zadań klasyfikacyjnych. W wyniku zastosowania tej metody do zbioru uczącego tworzona jest hierarchiczna struktura reguł klasyfikacyjnych typu "jeśli…to…". Struktura ta ma formę drzewa. Aby zdecydować, do której klasy należy przypisać obiekt lub sytuację, należy odpowiedzieć na pytania zlokalizowane w węzłach drzewa, zaczynając od korzenia. Postępując zgodnie z tą procedurą, ostatecznie dociera się do jednego z końcowych węzłów (zwanych liśćmi), gdzie analityk wyciąga wniosek, do której klasy należy przypisać rozważany obiekt.

Algorytmy genetyczne (lub programowanie ewolucyjne)

Algorytmy genetyczne, inspirowane biologią metody wyszukiwania, zapożyczają mechanizmy dziedziczenia w celu znajdowania rozwiązań. Systemy biologiczne wykazały elastyczność, odporność i wydajność. Wiele systemów biologicznych dobrze adaptuje się do swojego środowiska. Niektóre metody biologiczne (takie jak reprodukcja, krzyżowanie i mutacja) mogą być wykorzystane jako podejście do komputerowego rozwiązywania problemów. Początkowa populacja rozwiązań jest tworzona losowo. Tylko stała liczba rozwiązań kandydackich jest zachowywana z pokolenia na pokolenie. Terozwiązania, które są mniej dopasowane, mają tendencję do wymierania, podobnie jak w biologicznym pojęciu "przetrwania najlepiej przystosowanych".

Analiza regresji

Ta technika polega na określeniu formy funkcyjnej, która najlepiej opisuje związek między zmiennymi objaśniającymi, sterującymi lub niezależnymi a zmienną docelową lub zależną, którą decydent chce wyjaśnić. Analitycy biznesowi zazwyczaj wykorzystują regresję do identyfikacji ilościowych zależności między zmiennymi i umożliwiają im prognozowanie na przyszłość. Modele regresji umożliwiają również analitykom przeprowadzanie analiz "co by było, gdyby" lub analiz wrażliwości. Przykładami mogą być zmiany wskaźników odpowiedzi po uruchomieniu konkretnej kampanii marketingowej lub promocyjnej, wpływ określonych zasad wynagradzania na wydajność pracowników i wiele innych.

Regresja logistyczna

Regresja logistyczna powinna być stosowana, gdy chcemy przewidzieć wynik zmiennej dychotomicznej (np. tak/nie). Ta metoda jest stosowana w przypadku danych, które nie mają rozkładu normalnego (krzywa dzwonowa), tj. danych kategorycznych (zakodowanych). Gdy zmienna zależna może mieć tylkojedną z dwóch odpowiedzi, takich jak "uzyska krzywą" lub "nie uzyska krzywej", nie można uzyskać rozkładu normalnego, jak omówiono wcześniej.

Rozumowanie oparte na pamięci (MBR) lub metoda najbliższego sąsiada

Aby przewidzieć przyszłą sytuację lub podjąć prawidłową decyzję, takie systemy znajdują najbliższe przeszłe odpowiedniki obecnej sytuacji i wybierają to samo rozwiązanie, które było właściwe w tych przeszłych sytuacjach. Wadą tego zastosowania jest brak gwarancji, że uzyskane klastry przyniosą jakąkolwiek wartość użytkownikowi końcowemu. Wynikowe klastry mogą po prostu nie mieć sensu w odniesieniu do całego środowiska biznesowego. Ze względu na ograniczenia tej techniki nie można zaimplementować predykcji, analizy "co by było, gdyby" ani powiązania zmienna/cel. Kluczową różnicą między klasyfikacją i segmentacją a regresją i wspomnianą wcześniej technologią sieci neuronowych jest brak możliwości przeprowadzania przez te pierwsze analizy wrażliwości lub prognozowania.

Zastosowania i korzyści

Eksploracja danych może być szeroko stosowana w nauce i biznesie do analizy baz danych, gromadzenia danych i rozwiązywania problemów. Zgodnie z Berrym i Linoffem (2004), korzyści, jakie eksploracja danych może przynieść firmom, są nieograniczone. Oto kilka przykładów:

o Identyfikacja najlepszych potencjalnych klientów i utrzymanie ich jako klientów. Koncentrując działania marketingowe wyłącznie na najlepszych potencjalnych klientach, firmy oszczędzają czas i pieniądze, zwiększając tym samym efektywność swoich działań marketingowych.
o Przewidywanie możliwości sprzedaży krzyżowej i rekomendowanie. Zarówno tradycyjne, jak i internetowe działania mogą pomóc klientom szybko znaleźć interesujące ich produkty i jednocześnie zwiększyć wartość każdej komunikacji z klientami.
o Poznanie parametrów wpływających na trendy sprzedaży i marż.W większości przypadków nie mamy pojęcia, jaka kombinacja parametrów wpływa na działanie (czarna skrzynka). W takich sytuacjach eksploracja danych jest jedyną realną opcją.
o Segmentuj rynki i personalizuj komunikację. Mogą istnieć odrębne grupy klientów, pacjentów lub zjawiska naturalne, które wymagają różnych podejść w ich obsłudze.

Znaczenie gromadzenia danych odzwierciedlających określone działania biznesowe lub naukowe w celu uzyskania przewagi konkurencyjnej jest powszechnie uznawane. Potężne systemy gromadzenia danych i zarządzania nimi w dużych bazach danych są dostępne we wszystkich dużych i średnich firmach. Jednak wąskim gardłem w przekształcaniu tych danych w informacje jest trudność w wydobyciu wiedzy o badanym systemie z zebranych danych. Analitycy bez specjalistycznych narzędzi nie są już w stanie zrozumieć ogromnych ilości danych wymagających przetwarzania w celu podejmowania świadomych decyzji biznesowych . Zastosowania eksploracji danych są wszechobecne: od danych biomedycznych po dane użytkowników urządzeń mobilnych ; od magazynowania danych po inteligentną personalizację internetową od analizy wyników klinicznych po badanie wzorców przestępczości .

Potencjalne pułapki

Jakość danych


Jakość danych oznacza ich dokładność i kompletność. Jakość danych to wszechstronne zagadnienie, stanowiące jedno z największych wyzwań dla eksploracji danych. Problem jakości danych ma ogromne znaczenie ze względu na pojawianie się dużych wolumenów danych. Wiele aplikacji biznesowych i przemysłowych w istotnym stopniu opiera się na jakości informacji przechowywanych w zróżnicowanych bazach danych i hurtowniach danych. Jak podkreślił Seifert (2004), na jakość danych może wpływać struktura i spójność analizowanych danych. Inne czynniki, takie jak obecność zduplikowanych rekordów, brak standardów danych, terminowość aktualizacji i błędy ludzkie, mogą znacząco wpłynąć na skuteczność złożonych technik eksploracji danych, które są wrażliwe na subtelne różnice w danych. Aby poprawić jakość danych, czasami konieczne jest ich oczyszczenie poprzez usunięcie zduplikowanych rekordów, standaryzację wartości lub symboli używanych w bazie danych do reprezentowania określonych informacji, uwzględnienie brakujących punktów danych, usunięcie niepotrzebnych pól danych oraz identyfikację nieprawidłowych punktów danych.

Interoperacyjność. Interoperacyjność odnosi się do zdolności systemu komputerowego i/lub danych do współpracy z innymi systemami lub danymi przy użyciu wspólnych standardów lub procesów. Do niedawna niektóre agencje rządowe nie ryzykowały z jakimkolwiek poziomem otwartego dostępu i korzystały z odizolowanych systemów informatycznych. Jednak odizolowane dane są pod wieloma względami bezużyteczne; fragmenty cennych informacji na temat działań porywaczy z 11 września 2001 roku mogły być przechowywane w różnych bazach danych na szczeblu federalnym, stanowym i lokalnym, ale informacje te nie były gromadzone i dostępne dla tych, którzy potrzebowali ich, aby uzyskać pełny obraz narastającego zagrożenia. Dlatego Seifert (2004) zasugerował, że jest to kluczowy element szerszych działań na rzecz usprawnienia współpracy międzyagencyjnej i wymiany informacji. W przypadku eksploracji danych publicznych interoperacyjność baz danych i oprogramowania jest ważna, aby umożliwić jednoczesne przeszukiwanie i analizę wielu baz danych. Zapewnia to również kompatybilność działań eksploracyjnych różnych agencji.

Standaryzacja. Pozwala to uporządkować informacje o klientach w spójnym formacie. Do największych wyzwań należą niespójne skróty, błędy ortograficzne i warianty pisowni. Wśród typów danych, które można dołączyć, znajdują się dane demograficzne, geograficzne, psychograficzne, behawioralne, oparte na zdarzeniach i obliczeniowe. Dopasowanie pozwala na identyfikację podobnych danych w obrębie i pomiędzy źródłami danych. Jednym z największych wyzwań w dopasowaniu jest stworzenie systemu uwzględniającego "reguły biznesowe", czyli kryteria określające, co stanowi dopasowanie.

Zapobieganie degradacji

Najgorszym wrogiem informacji jest czas. A informacje degradują się w różnym tempie . Oczyszczenie bazy danych to duże osiągnięcie, ale będzie ono krótkotrwałe, jeśli nie wdroży się procedur zapewniających jej czystość u źródła. Zgodnie z drugą zasadą termodynamiki, uporządkowane systemy mają tendencję do nieporządku, a baza danych jest systemem bardzo uporządkowanym. Kontakty się przemieszczają. Firmy się rozwijają. Pracownicy umysłowi niepoprawnie wprowadzają nowe informacje o klientach. Niektóre informacje po prostu na początku są błędne, co wynika z błędów wprowadzania danych, takich jak literówki, transpozycje, pominięcia i inne pomyłki. Często łatwo ich uniknąć. Znalezienie sposobów na skuteczne wdrożenie tych nowych technologii do kompleksowego programu jakości danych nie tylko podnosi jakość informacji o klientach, ale także oszczędza czas, zmniejsza frustrację, poprawia relacje z klientami i ostatecznie zwiększa przychody. Bez stałej dbałości o jakość, jakość informacji ulegnie degradacji.

Brak uogólnień na populację

W statystyce definiuje się populację, a następnie pobiera się próbkę w celu wyciągnięcia wniosków na jej temat. Oznacza to, że danych nie można ponownie wykorzystać. Definiują model przed analizą danych. Eksploracja danych nie podejmuje prób uogólnień na populację. Baza danych jest traktowana jako populacja. Dzięki mocy obliczeniowej współczesnych komputerów, osoby zajmujące się eksploracją danych mogą korzystać z całej bazy danych, co sprawia, że próbkowanie staje się zbędne. Dane można ponownie wykorzystać. W eksploracji danych powszechną praktyką jest testowanie setek modeli i znalezienie tego, który najlepiej pasuje. Utrudnia to interpretację istotności. Uczenie maszynowe jest odpowiednikiem regresji w eksploracji danych. W uczeniu maszynowym używamy zbioru treningowego do trenowania systemu w celu znalezienia zmiennej zależnej.

PRZYSZŁE TRENDY

Analiza predykcyjna


Augusta (2004) zasugerował, że analiza predykcyjna jest jednym z głównych przyszłych trendów w eksploracji danych. Zamiast skupiać się wyłącznie na eksploracji dużych ilości danych, analityka predykcyjna dąży do faktycznego zrozumienia ich zawartości. Ma nadzieję na prognozowanie na podstawie ich zawartości. Wymaga to jednak złożonego programowania i dużej wiedzy biznesowej. Analitycy chcą robić coś więcej niż tylko archiwizować dane, z czego obecnie słynie eksploracja danych. Chcą nie tylko je przetwarzać, ale także lepiej je rozumieć, co z kolei pozwoli im na lepsze przewidywanie przyszłych zachowań. W analityce predykcyjnej program sam przeszukuje dane i próbuje formułować lub pomagać w formułowaniu nowych hipotez. To bardzo obiecujące rozwiązanie, które byłoby korzystne dla branż na całym świecie. Różnorodność obszarów zastosowań Eksploracja danych i zjawisko "X", jak określił to Tuzhilin (2006), gdzie X stanowi szeroki zakres dziedzin, w których eksploracja danych jest wykorzystywana do analizy danych. Doprowadziło to do procesu wzajemnego przenikania się pomysłów generowanych przez tę zróżnicowaną grupę badaczy, którzy współdziałają ponad tradycyjnymi granicami swoich dyscyplin. Nowa generacja zastosowań eksploracji danych obejmuje wiele różnych dziedzin, od tradycyjnego biznesu po zaawansowane badania naukowe. Kantardzic i Zurada (2005) zauważyli, że dzięki nowym narzędziom, metodologiom i infrastrukturze ten trend dywersyfikacji będzie się utrzymywał z roku na rok.

WNIOSKI

Pojawienie się nowych technologii informatycznych dało nam znacznie więcej danych i wiele więcej możliwości ich wykorzystania. Jednak zarządzanie tym napływem danych i uczynienie go użytecznym i dostępnym dla decydentów stanowiło poważne wyzwanie organizacyjne. Eksploracja danych umożliwiawydobycie diamentów wiedzy z ogromnych historycznych kopalni danych. Pomaga przewidywać skutki przyszłych sytuacji, optymalizować decyzje biznesowe, zwiększać wartość każdego klienta i komunikacji oraz ulepszać Satysfakcja klienta. Zarządzanie danymi wymaga zrozumienia i umiejętności wykraczających daleko poza samo programowanie. Zarządzanie eksploracją danych to nowe odkrycie, ponieważ analitycy będą musieli codziennie przeszukiwać coraz więcej informacji ze względu na stale rosnącą liczbę użytkowników Internetu i zakupów konsumenckich. Eksploracja danych może przynieść ogromne korzyści, jeśli zostanie odpowiednio wykorzystana. Mamy bezprecedensową szansę na przyszłość - możemy uniknąć pułapek związanych z eksploracją danych.


Programowanie genetyczne sterowane gramatyką



WSTĘP

Obliczenia ewolucyjne (EC) to badanie systemów obliczeniowych, które zapożyczają pomysły z naturalnej ewolucji i adaptacji oraz są przez nią inspirowane . EC obejmuje szereg technik opartych na procesach ewolucyjnych i doborze naturalnym: strategie ewolucyjne, algorytmy genetyczne i programowanie genetyczne . Strategie ewolucyjne to podejście do efektywnego rozwiązywania pewnych problemów ciągłych, dające dobre wyniki dla niektórych problemów parametrycznych w rzeczywistych dziedzinach. W porównaniu z algorytmami genetycznymi strategie ewolucyjne wymagają bardziej eksploracyjnych poszukiwań i są dobrą opcją w przypadku zastosowania do stosunkowo nieznanych problemów parametrycznych. Algorytmy genetyczne naśladują proces ewolucyjny zachodzący w przyrodzie. Poszczególne jednostki rywalizują o przetrwanie, dostosowując się najlepiej jak potrafią do warunków środowiskowych. Krzyżowanie się jednostek, mutacje i śmierć są częścią procesu adaptacji. Zastępując rozwiązywany problem środowiskiem naturalnym, otrzymujemy tanią obliczeniowo metodę, która jest w stanie poradzić sobie z każdym problemem, pod warunkiem wiemy, jak określić sprawność jednostki .Programowanie genetyczne jest rozwinięciem algorytmów genetycznych . Jego celem jest budowanie programów komputerowych, które nie zostały wyraźnie zaprojektowane i zaprogramowane przez człowieka. Można powiedzieć, że jest to technika optymalizacyjna, której przestrzeń poszukiwań tworzą wszystkie możliwe programy komputerowe służące do rozwiązania konkretnego problemu. Kluczową przewagą programowania genetycznego nad algorytmami genetycznymi jest to, że może ono obsługiwać osoby (programy komputerowe) o różnej długości. Programowanie genetyczne pod kontrolą gramatyki (GGGP) jest rozwinięciem tradycyjnych systemów GP . Różnica polega na tym, że wykorzystują one gramatyki bezkontekstowe (CFG), które generują wszystkie możliwe rozwiązania danego problemu w postaci zdań, ustanawiając w ten sposób formalną definicję ograniczeń problemu syntaktycznego, oraz wykorzystują drzewa derywacyjne dla każdego zdania do kodowania tych rozwiązań . Stosowanie tego typu formalizmów syntaktycznych pozwala na rozwiązanie tzw. problemu domknięcia . Aby osiągnąć domknięcie, należy zawsze wygenerować prawidłowe jednostki (punkty należące do przestrzeni poszukiwań). Ponieważ generowanie nieprawidłowych osób znacznie spowalnia prędkość konwergencji, rozwiązanie tego problemu znacznie poprawi możliwości wyszukiwania lekarzy pierwszego kontaktu. Podstawowym operatorem bezpośrednio wpływającym na problem domknięcia jest krzyżowanie: skrzyżowanie dwóch (lub dowolnych) prawidłowych osobników powinno wygenerować prawidłowe potomstwo. Podobnie to operator ma największy wpływ na proces dochodzenia do rozwiązania optymalnego. Dlatego w artykule dokonano przeglądu najważniejszych operatorów crossoverów zatrudnionych w GP i GGGP, podkreślając istniejące obecnie słabości tego obszaru badań. Proponujemy również system GGGP. System ten opiera się na oryginalnym pomyśle wykorzystania niejednoznacznego CFG w celu przezwyciężenia tych słabości, zwiększając w ten sposób szybkość konwergencji i zmniejszając prawdopodobieństwo uwięzienia w lokalnych optimach. Wyniki porównawcze potwierdzają empirycznie nasze twierdzenia.

TŁO

Koza zdefiniował jeden z pierwszych dużych crossoverów (KX) (1992). To podejście losowo zamienia poddrzewa u obojga rodziców, aby wygenerować potomstwo. Dlatego ma tendencję do rozdzielania tak zwanych cegiełek na drzewach (reprezentujących osobniki). Elementy składowe to poddrzewa poprawiające kondycję. Ta nadmierna ekspansja ma negatywny wpływ na sprawność fizyczną jednostek. Ponadto nadmierne możliwości eksploracyjne tego operatora prowadzą do innej słabości: wzrostu rozmiaru osobników, co wpływa na wydajność systemu i skutkuje mniejszą szybkością konwergencji . Efekt ten nazywany jest wzdęciem lub wzdęciem kodu. Istnieje jeszcze jedna ważna wada: wiele wygenerowanych elementów potomnych jest składniowo niepoprawnych, ponieważ skrzyżowania są wykonywane całkowicie losowo. Osoby te nie powinny być częścią nowej populacji, ponieważ nie zapewniają prawidłowego rozwiązania. To poważnie podważa proces konwergencji. Rysunek 1 przedstawia sytuację, w której jedna z dwóch indywiduów powstałych po skrzyżowaniu Kozy narusza ograniczenia nałożone przez hipotetyczną gramatykę, której zdania reprezentują równości arytmetyczne. Operator krzyżowania zachowujący silny kontekst (SCPC) pozwala uniknąć problemu desegregacji elementów składowych (zwanych także kontekstem) w obrębie drzew, ustawiając surowe (silne) ograniczenia dla węzłów drzewa uznawanych za możliwych kandydatów do wyboru jako węzły krzyżujące. Zdefiniowano układ współrzędnych w celu jednoznacznej identyfikacji każdego węzła w drzewie wyprowadzeń. Pozycja każdego węzła w drzewie jest określona wzdłuż ścieżki, którą należy przebyć, aby dotrzeć do danego węzła od korzenia. W tym celu położenie węzła opisuje się za pomocą krotki n współrzędnych T = (b1, b2,…, bn), gdzie n to głębokość węzła w drzewie, a bi wskazuje, która gałąź została wybrana na głębokości i (licząc od lewej do prawej). Rysunek 2 pokazuje przykład reprezentujący ten układ współrzędnych. Można zamieniać tylko węzły o tych samych współrzędnych od obojga rodziców. Z tego powodu poddrzewo może nigdy nie zostać przeniesione do innego miejsca w drzewie. To ograniczenie może powodować poważne problemy z eksploracją przestrzeni poszukiwań, ponieważ cała przestrzeń poszukiwań nie może zostać objęta, chyba że każda funkcja i terminal pojawi się pod każdą możliwą współrzędną co najmniej raz u dowolnego osobnika w populacji. Ten brak migracji elementów składowych powoduje, że ewoluują one oddzielnie w każdym regionie, powodując zbyt dużą zdolność eksploatacyjną, zwiększając w ten sposób prawdopodobieństwo uwięzienia w lokalnych optimach . W miarę upływu czasu zjawisko rozdęcia kodu staje się poważnym problemem i odgrywa coraz większą rolę. Aby tego uniknąć, Crawford-Marks i Spector (2002) opracowali crossover Fair . Jest to zmodyfikowana wersja podejścia zaproponowanego przez Langdona. Rozmiar drzewa jest kontrolowany w następujący sposób. Najpierw wybierany jest losowo węzeł skrzyżowania w pierwszym rodzicu i obliczana jest długość l poddrzewa rozciągającego się od węzła do liści. Następnie wybierany jest losowo węzeł drugiego rodzica i obliczana jest długość l2 tego drugiego poddrzewa. Jeśli l2 mieści się w przedziale [l - l/4, l + l/4], wówczas akceptowany jest węzeł przecięcia dla drugiego rodzica i zamieniane są dwa poddrzewa. Jeśli nie, dla drugiego rodzica wybierany jest losowo inny węzeł skrzyżowania i sprawdzanie jest przeprowadzane ponownie. W ten sposób rozmiar poddrzewa drugiego rodzica, który ma zostać zamieniony, jest kontrolowany i ograniczony, dzięki czemu unika się zjawiska rozdęcia kodu. Kolejnym aspektem, który należy tutaj skomentować, jest to, żezakres, w którym należy uwzględnić l2 , można modyfikować, aby efektywniej rozwiązywać określone problemy, ale pierwotnie proponowany zakres działa dobrze w przypadku większości z nich. Whigham zaproponował jeden z najczęściej używanych operatorów (WX) w GGGP. Ze względu na jakość dźwięku w takich systemach stał się de facto standardem i jest w użyciu do dziś . Algorytm działa w następujący sposób. Po pierwsze, ponieważ nad wszystkimi symbolami końcowymi znajduje się co najmniej jeden symbol nieterminalny, wówczas bez utraty ogólności węzły przecinające mogą być ograniczone wyłącznie do lokalizacji w węzłach zawierających symbole nieterminalne. Węzeł nieterminalny należący do pierwszego rodzica jest wybierany losowo. Następnie z drugiego rodzica wybierany jest węzeł nieterminalny oznaczony tym samym symbolem nieterminalnym, co w pierwszym wybranym węźle krzyżującym. Zapewnia to, że wygenerowane jednostki należą do języka generowanego przez gramatykę, ponieważ skrzyżowane węzły mają ten sam symbol. Główną wadą tego operatora jest to, że istnieją inne możliwe wybory węzłów w drugim rodzicu, które nie zostały zbadane i które mogą zakończyć się rozwiązaniem docelowym

PROPONOWANY OPERATOR ZWROTOWANIA DLA SYSTEMÓW GGGP

Proponowany operator jest operatorem ogólnego przeznaczenia przeznaczonym do pracy w dowolnym systemie GGGP. Wykorzystuje kluczową cechę, która definiuje CFG jako niejednoznaczną: to samo zdanie można uzyskać z kilku drzew derywacyjnych. Oznacza to, że jest kilka osób reprezentujący rozwiązanie problemu. Dlatego łatwiej go znaleźć. Operator ten składa się z ośmiu kroków:

1. Wybierz węzeł, z wyjątkiem aksjomatu, z symbolem nieterminalnym, losowo z pierwszego rodzica. Węzeł ten nazywany jest węzłem krzyżowym i oznaczany jest jako CN1.
2. Wybierz rodzica CN1. Ponieważ pracujemy z CFG, będzie to symbol nieterminalny. Prawa strona wszystkich reguł produkcji jest przechowywana w tablicy R.
3. Wyprowadzenie utworzone przez rodzica CN1 nazywa się wyprowadzeniem głównym i oznacza się A ::= C. Oblicz długość wyprowadzenia l jako liczbę symboli po prawej stronie wyprowadzenia głównego. Mając l, pozycję (p) CN1 w głównym wyprowadzeniu i C, zdefiniuj trójkrotkę T(l, p, C).
4. Usuń z R wszystkie prawe strony o różnych długościach od głównego wyprowadzenia.
5. Usuń z R wszystkie te prawe strony, w których istnieje jakakolwiek różnica pomiędzy symbolami (z wyjątkiem tego znajdującego się w pozycji p) w każdej prawej stronie a symbolami w C.
6. Zbiór X tworzą wszystkie symbole po prawej stronie R, które znajdują się na pozycji p. X zawiera wszystkie nieterminalne symbole drugiego rodzica, które można wybrać jako węzeł zwrotnicy (CN2).
7. Wybierz losowo CN2 z X, odrzucając wszystkie węzły, które wygenerują drzewa potomne o rozmiarze większym niż wcześniej ustalona wartość D.
8. Oblicz dwa nowe drzewa derywacyjne powstałe jako potomstwo poprzez zamianę dwóch poddrzew, których korzenie to CN1 i CN2.

Podstawowa idea tego algorytmu polega na obliczeniu, które symbole nieterminalne mogą zastąpić symbol zawarty w CN1, mając na uwadze, że reguła produkcji zawierająca CN1 pozostaje aktualna. Ponieważ w procesie krzyżowania uwzględniane są wszystkie symbole nieterminalne, które mogą generować prawidłowe reguły produkcji, operator ten wykorzystuje niejednoznaczną gramatykę. Proponowany operator krzyżowania ma przede wszystkim trzy atrakcyjne cechy: a) krok 7 określa mechanizm kontroli rozdęcia kodu, b) wytworzone potomstwo zawsze składa się z dwóch prawidłowych drzew oraz c) krok 6 wskazuje, że pod uwagę brane są wszystkie możliwe węzły drugiego rodzica, które mogą wygenerować prawidłowe osobniki, a nie tylko te węzły z tym samym nieterminalnym symbolem, co ten wybrany dla pierwszego rodzica. Ta trzecia cecha zwiększa możliwości eksploracyjne systemu GGGP, co pozwala uniknąć pułapek w lokalnych optimach i wykorzystuje fakt, że dla jednego zdania istnieje więcej niż jedno drzewo derywacyjne (potencjalne rozwiązanie problemu).

Wyniki

Przedstawiamy i omawiamy wyniki osiągnięte przez operatory crossover opisane w części wprowadzającej oraz operator, który proponujemy. Aby to zrobić, uporaliśmy się ze złożonym problemem klasyfikacyjnym: rzeczywistym zadaniem zapewnienia prognozy raka piersi (łagodnego lub złośliwego) na podstawie morfologicznych cech mikrozwapnień. Mikrozwapnienia to małe złogi mineralne w tkance piersi, które mogą powodować raka. Eksperyment ten polegał na przeszukaniu bazy wiedzy dotyczącej reguł rozmytych, które mogłyby dać taką prognozę. Dane wykorzystywane do prognozowania choroby to: wiek pacjentki, wielkość zmiany, lokalizacja zmiany w piersi oraz szczegółowe cechy mikrozwapnień: liczba, rozmieszczenie i rodzaj. Liczba wskazuje ilość istniejących skupionych mikrozwapnień, rozmieszczenie pokazuje sposób ich skupienia, a typ odzwierciedla indywidualną morfologię mikrozwapnień. Do badań wybrano losowo 365 mikrozwapnień. Spośród nich wybrano losowo 315 zmian do wykorzystania w przypadkach szkoleniowych systemu programowania genetycznego z opisanymi różnymi operatorami krzyżowania. Po szkoleniu wybrano najsprawniejszą osobę, aby utworzyć bazę wiedzy zawierającą rozmyte reguły zakodowane przez tę osobę. Następnie bazę wiedzy przetestowano z 50 pozostałymi zmianami, które nie zostały wybrane podczas fazy szkolenia, aby uzyskać liczbę prawidłowo sklasyfikowanych wzorców w tak zwanej fazie testowania. Zastosowany CFG został utworzony przez 19 nieterminalów symbole, 54 terminale i 51 reguł produkcji, niektóre z nich uwzględniono w celu uzyskania niejednoznacznej gramatyki. Zastosowano wielkość populacji wynoszącą 1000, górną granicę wielkości drzew derywacyjnych ustalono na 20. Funkcja przystosowania polegała na obliczeniu liczby dobrze sklasyfikowanych wzorców. Zatem im większa kondycja, tym sprawniejszy jest dana osoba, przy czym maksymalny limit wynosi 315 w fazie treningowej i 50 w teście. Rysunek 3 przedstawia średni proces ewolucji dla każdego z pięciu operatorów crossover w fazie szkolenia po 100 wykonaniach. Z rysunku 3 jasno wynika, że KX daje najgorsze wyniki, ponieważ utrzymuje nadmiernie zróżnicowaną populację i pozwala na generowanie nieprawidłowych osobników. Uniemożliwia to skupienie się na jednym możliwym rozwiązaniu. Efekt Dostatecznej jest odwrotny, prowadzi bardzo szybko do jednego z optymalnych rozwiązań (dlatego początkowo ma stosunkowo dużą prędkość zbieżności) i zwalnia, jeśli zbieżność zmierza w stronę lokalnego maksimum (co zdarza się w większości przypadków). Produkują WX i SCPC dobre wyniki, lepsze jedynie dzięki proponowanemu crossoverowi. Wysoka prędkość konwergencji świadczy o korzyściach wynikających z uwzględnienia wszystkich możliwych węzłów drugiego rodzica, które mogą wygenerować ważne potomstwo. Tabela 1 przedstawia przykłady wyników reguł rozmytych w jednym z wykonań dla dwóch najlepszych operatorów skrzyżowania - WX i operatora proponowanego - po zakończeniu fazy uczenia. KX ponownie daje najgorsze wyniki, poprawnie klasyfikując zaledwie 57,46% (181/315) wzorców w fazie treningowej i 54% (27/50) w fazie testowej. Krzyżówki SCPC i Fair również dają niewystarczające wyniki: około 59% w fazie szkolenia i 54%-56% w fazie testowania, chociaż, jak pokazano na rysunku 3, SCPC ma większą prędkość konwergencji. Na koniec zwróć uwagę na podobieństwo pomiędzy WX i proponowanym operatorem. Jednak proponowany operator charakteryzuje się większą szybkością zbieżności i jest mniej prawdopodobne, że wpadnie w pułapkę lokalnych optimów, ponieważ osiągnął przedwczesną zbieżność tylko dwa razy na 100 wykonań.

PRZYSZŁE TENDENCJE

Kontynuację prac opisanych w tym artykule można podzielić na dwa główne kierunki badań w GGGP. Pierwsza polega na znalezieniu algorytmu, który może oszacować maksymalne rozmiary drzew generowanych w procesie ewolucji, aby zapewnić osiągnięcie optymalnego rozwiązania. Pozwoliłoby to przezwyciężyć słabość proponowanego operatora krzyżowania polegającą na niemożności znalezienia rozwiązania, ponieważ dozwolony maksymalny rozmiar drzewa jest zbyt restrykcyjny, aby mógł on osiągnąć dobre rozwiązanie, podczas gdy rozwiązanie to mogłoby być stwierdzono, jeśli osobniki były tylko trochę większe. Drugim interesującym kierunkiem badań wywodzącym się z tej pracy jest wykorzystanie gramatyk niejednoznacznych. Empirycznie zaobserwowano, że stosując proponowaneoperator w połączeniu z niejednoznacznymi gramatykami w systemach GGGP zapewnia szybkość konwergencji. Jednak "zbyt duża dwuznaczność" jest szkodliwa. Chodzi o to, aby uzyskać miarę niejednoznaczności, która może odpowiedzieć na pytanie, ile niejednoznaczności jest potrzebne, aby uzyskać najlepsze wyniki pod względem wydajności.

WNIOSEK

Artykuł ten podsumowuje najnowsze i najważniejsze osiągnięcia GGGP, zwracając szczególną uwagę na operator krzyżowania, który (obok metody inicjalizacji, kodyfikacji jednostek i oczywiście w mniejszym stopniu operatora mutacji) jest głównie odpowiedzialny za szybkość konwergencji i powodzenie procesu ewolucji. Systemy GGGP są w stanie znaleźć rozwiązania każdego problemu, który można syntaktycznie wyrazić za pomocą CFG. Proponowany operator crossover zapewnia systemom GGGP zadowalającą równowagę pomiędzy możliwościami poszukiwawczo-wydobywczymi. Skutkuje to dużą szybkością konwergencji, wymykając się jednocześnie lokalnym optymom, jak pokazują raportowane wyniki. Aby móc osiągnąć tak dobre wyniki, proponowany operator krzyżowania zawiera tani obliczeniowo mechanizm kontroli wzdęć, zawsze generuje syntaktycznie poprawny element potomny i może wybrać dowolny węzeł z drugiego rodzica do wygenerowania potomka, a nie tylko te węzły z tymi samymi nieterminalnymi symbolami, co ten wybrany w pierwszym rodzicu.


Przewidywanie struktury białek metodą fuzji



WSTĘP

Przewidywanie struktury drugorzędowej białka (alfa-helisy, beta-harmonijki, spirali) na podstawie pierwotnej sekwencji aminokwasów jest bardzo trudnym zadaniem, a problem ten był rozpatrywany z kilku punktów widzenia. Białko jest sekwencją reszt aminokwasowych i dlatego można je postrzegać jako jednowymiarowy łańcuch "koralików", gdzie każdy koralik odpowiada jednej z 20 różnych reszt aminokwasowych występujących w białkach. Długość większości sekwencji białkowych waha się od 50 do około 1000 reszt, ale znane są również dłuższe białka, np. miozyna, główne białko włókien mięśniowych, składa się z 1800 reszt. Wielu badaczy stosowało wiele technik do przewidywania struktury drugorzędowej białka, ale najczęściej stosowaną techniką do przewidywania struktury drugorzędowej białka są sieci neuronowe . W tym rozdziale omówiono nową metodę łączącą sieci neuronowe oparte na profilach , symulowane wyżarzanie (SA) , algorytm genetyczny (GA) oraz algorytmy fuzji decyzji . Naukowcy wykorzystali sieć neuronową w połączeniu z algorytmami GA i SA, a następnie zastosowali dwie metody fuzji decyzji: metodę komitetową i metody korelacji, uzyskując lepsze wyniki w zakresie dokładności predykcji . Profile sekwencji aminokwasów stanowią dane wejściowe dla sieci neuronowej opartej na profilach. Dwie metody fuzji decyzji poprawiły dokładność predykcji, ale zauważalnie jedna z nich działała lepiej w niektórych przypadkach, a druga w przypadku innych profili sekwencji aminokwasów jako danych wejściowych . Zamiast rezygnować z niektórych dobrych rozwiązań, które można było uzyskać przy użyciu obu metod, zastosowano ich połączenie w celu uzyskania lepszej dokładności predykcji. To kryterium stanowi podstawę metody wnioskowania bayesowskiego . Uzyskane wyniki pokazują, że dokładność predykcji poprawia się o ponad 2% przy zastosowaniu połączenia metody fuzji decyzji i metody wnioskowania bayesowskiego.

TŁO

W ciągu ostatnich 10-20 lat wykonano wiele interesujących prac dotyczących problemu przewidywania struktur drugorzędowych białek, a w ciągu ostatnich 10-20 lat metody te stopniowo poprawiały swoją dokładność. Najbardziej udane zastosowanie sieci neuronowych do przewidywania struktur drugorzędowych uzyskali Rost i Sander , co zaowocowało stworzeniem serwera poczty predykcyjnej o nazwie PHD. Dzięki zastosowaniu sieci neuronowej opartej na profilach i kilku innych metod, wydajność sieci sięga 67,2% (Rost i in. 1993b). W problemie przewidywania struktury drugorzędowej białka, danymi wejściowymi są profile sekwencji aminokwasów, a danymi wyjściowymi - przewidywana struktura (zwana również konformacją, czyli kombinacją helis alfa, harmonijek beta i pętli) . Poniżej przedstawiono typową sekwencję białka i jej klasę konformacji: Sekwencja białka: ADADADADCCQQFFFAAAQQA- QQA Klasa konformacji: HHHH EEEE HHHHHHHH H oznacza helisę, E - rozszerzoną, a puste miejsca to pozostałe zwinięte konformacje. Typowe białko zawiera około 32% helis alfa, 21% harmonijek beta i 47% pętli lub struktur nieregularnych (Rost i in. 1993b). Możliwe jest przewidywanie regionów pętli z większą dokładnością niż w przypadku helis alfa lub harmonijek beta . Technika siedmiokrotnej walidacji krzyżowej została zastosowana do zestawu 126 niehomologicznych białek globularnych, który jest nazywany zbiorem danych RS126 do celów szkoleniowych i testowych. Dokładność struktury drugorzędowej białka oblicza się, stosując dokładność trójstanową na resztę (Q3), która podaje odsetek prawidłowo przewidzianych reszt w jednym z trzech stanów (klas), helisie alfa, nici beta lub regionie pętli :



Pα, Pβ i Ploop to liczba reszt prawidłowo przewidzianych odpowiednio w stanie helisy alfa, nici beta i pętli, natomiast T to całkowita liczba reszt.

PRZEWIDYWANIE STRUKTURY DRUGORZĘDOWEJ BIAŁKA Z UŻYCIEM RÓŻNYCH METOD

W niniejszych badaniach wykorzystano zbiór danych RS126, który zawiera 126 sekwencji o około 23 300 pozycjach aminokwasowych i 20 aminokwasach (Rost i in. 1994). Ortogonalny schemat kodowania jest używany dla danych wejściowych, które są przesyłane do sieci neuronowej opartej na profilach. Przewidywanie struktury drugorzędowej białka z wykorzystaniem profili sekwencji - W niniejszych badaniach wykorzystano sieć neuronową opartą na profilach. Wykazano, że stosowanie profili na poziomie wejściowym daje ogólnie lepsze wyniki niż stosowanie profili na poziomie wyjściowym . Przy zastosowaniu tego podejścia dokładność przewidywania struktury drugorzędowej (Q3) wynosi 66,8%. GA i sieci neuronowe oparte na profilach do przewidywania struktury drugorzędowej białka - Przewidywana struktura z sieci neuronowej opartej na profilach jest przekazywana do GA; GA wykonuje serię operacji mutacji i przeskoku na przewidywanej strukturze z sieci neuronowej opartej na profilu, aby wygenerować nowe rozwiązania (potomstwa) . Po wygenerowaniu potomstwa, dopasowanie tego nowego potomstwa jest obliczane poprzez ponowne porównanie z rzeczywistą strukturą już znaną za pomocą funkcji Q3. GA akceptuje lub odrzuca to rozwiązanie w zależności od wartości dopasowania, która w tym przypadku jest dokładnością predykcji Q3. Na koniec, w tym momencie obliczana jest wartość błędu i wsteczna propagacja w celu dostosowania wag sieci neuronowej opartej na profilu. Prawdopodobieństwo mutacji dla GA w tych badaniach jest ustawione na 0,25, liczba pokoleń na 75, wielkość populacji na 30, a prawdopodobieństwo krzyżowania na 100% . Przy użyciu tego podejścia, dokładność predykcji struktury drugorzędnej (Q3) wynosi 69,2%. SA i sieci neuronowe oparte na profilach do przewidywania struktury drugorzędowej białek - Przewidywana struktura z sieci neuronowej opartej na profilach jest przesyłana do algorytmu SA w celu dalszego przetwarzania przez algorytm SA . Algorytm SA generuje nowe rozwiązania i porównuje je z rzeczywistą strukturą drugorzędową, która jest już znana, aby obliczyć dokładność przewidywania Q3. Błąd jest następnie obliczany poprzez określenie wartości Q3. Ta wartość błędu jest następnie propagowana wstecz w celu dostosowania wag sieci neuronowej opartej na profilach. Temperatura początkowa dla SA w tych badaniach jest ustawiona na 600°C, temperatura końcowa na 0,20°C, szybkość chłodzenia na 0,84°C, a liczba iteracji na temperaturę na 20°C. Przy zastosowaniu tego podejścia dokładność przewidywania struktury drugorzędowej (Q3) wynosi 68,3%. Przewidywanie struktury drugorzędowej białka z wykorzystaniem metody komitetowej i sieci neuronowej opartej na profilach - W metodzie opartej na komitetach polegającej na stosowaniu fuzji decyzji, wartości struktury drugorzędowej oblicza się za pomocą połączonej sieci neuronowej opartej na profilach (PNN) z algorytmem statystycznym (GA), połączonej sieci neuronowej opartej na profilach z algorytmem statystycznym (SA) oraz niezależnej sieci neuronowej opartej na profilach. Dane wyjściowe uzyskane z sieci neuronowej opartej na profilach, połączonej sieci neuronowej opartej na profilach z algorytmem statystycznym (GA) oraz połączonej sieci neuronowej opartej na profilach z algorytmem statystycznym (SA) są kierowane do algorytmu fuzji decyzji w celu fuzji rozwiązań. Algorytm fuzji decyzji działa w oparciu o metodę komitetową (metodę komitetową lub metodę głosowania), w której każda osoba w komitecie decyduje o najlepszym rozwiązaniu zgodnie z ustalonymi zasadami, a następnie głosuje na najlepsze podejście. W przypadku remisu, rozstrzyga go jeszcze jedna zasada: priorytet przypisany każdemu algorytmowi. Wygrywa algorytm o najwyższym priorytecie. Algorytm łączenia komitetów opisano poniżej:

1. Biorąc pod uwagę strukturę drugorzędną uzyskaną za pomocą sieci neuronowej opartej na profilu pierwiastków Ni, gdzie i = 1,2,……,n. (Tutaj dla "H" przyjmujemy wartość 2, dla "E" wartość 3, a dla "C" wartość 4. Są to wartości wybrane arbitralnie). Podobnie przedstaw wyjście z GA i SA odpowiednio za pomocą Gi i Si.

2. Oblicz następujące wartości:



3.Oblicz Ni - Gi. Jeśli Ni - Gi > 0, to (bin+) ? Ni - Gi, w przeciwnym razie, jeśli Ni - Gi < 0, to (bin-) ? Ni - Gi, gdzie bin+ i bin- to tak zwane dodatnie i ujemne pojemniki. Jeśli wynik operacji wynosi zero, nie jest on przechowywany w żadnym z pojemników.

4. Oblicz bin+ i bin-, dodatnie i ujemne pojemniki dla G; jeśli są one równe lub jeśli dodatni pojemnik ma większą liczbę w porównaniu z ujemnym pojemnikiem G, przypisywany jest znak dodatni. (+G), w przeciwnym razie G ma przypisany znak ujemny (-G). Zawsze rozpatruj N=0.

5. Powtórz kroki 3 i 4, aby obliczyć S.

6. Użyj max(N, G, S) jako struktury drugorzędnej do obliczenia Q3, która służy do określenia błędu propagacji wstecznej dla korekt wag. Każdy algorytm głosuje na najlepsze rozwiązanie, porównując jego wartość z wartościami innych algorytmów. Algorytm z największą liczbą głosów wygrywa. W przypadku remisu, remis rozstrzygany jest zgodnie z priorytetem algorytmu, a algorytm, który wygrywa, oblicza dokładność predykcji za pomocą funkcji Q3, aby określić błąd, który ma zostać propagowany wstecznie do sieci neuronowej opartej na profilu w celu korekt wag.

7. Wartości struktury drugorzędnej sieci neuronowej opartej na profilu (PNN) mają najwyższy priorytet, następnie kombinacja sieci neuronowej opartej na profilu i algorytmu statystycznego (PNN+GA), a następnie kombinacja sieci neuronowej opartej na profilu i algorytmu statystycznego (PNN+SA) . Przy zastosowaniu tego podejścia dokładność przewidywania struktury drugorzędnej (Q3) wynosi 70,8%.

Przewidywanie struktury drugorzędowej białka z wykorzystaniem metody korelacji i sieci neuronowej opartej na profilu - ta metoda jest bardzo podobna do metody komitetowej, ale z pewnymi drobnymi zmianami . W tej metodzie algorytm, który wygrywa po zastosowaniu fuzji decyzji, jest używany do obliczenia dokładności przewidywania za pomocą funkcji Q3, aby określić błąd, który ma zostać przekazany wstecz do sieci neuronowej opartej na profilu w celu dostosowania wag. Po dostosowaniu wag w sieci neuronowej opartej na profilu, poprzednia sekwencja białek jest ponownie wykorzystywana do celów testowych, aby sprawdzić, czy osiągnięto lepszą dokładność przewidywania. W tym przypadku nowe wagi są stosowane, jeśli uzyskamy poprawę o ponad 1,5%. W przeciwnym razie, na podstawie wcześniej obliczonych dokładności predykcji (PNN), (PNN+GA) i (PNN+SA), wybierana jest metoda zapewniająca najwyższą dokładność predykcji, aby określić błąd, który ma zostać przekazany wstecz do sieci neuronowej opartej na profilu w celu dostosowania wag . Przy zastosowaniu tego podejścia dokładność predykcji struktury drugorzędnej (Q3) wynosi 71,4%.

PRZEWIDYWANIE STRUKTURY DRUGORZĘDOWEJ BIAŁKA ZA POMOCĄ METODY WNIOSKOWANIA BAYESOWSKIEGO

W tej metodzie metoda wnioskowania bayesowskiego jest stosowana do wyników generowanych przez metody komitetowe i korelacyjne fuzji decyzji. W podejściu wnioskowania bayesowskiego obie te metody są stosowane poprzez przypisanie im określonej wartości prawdopodobieństwa, a następnie wygenerowanie nowej wartości za pomocą równania bayesowskiego . Uzyskana nowa wartość jest wykorzystywana do wyboru między dwiema metodami (metodą komitetową i metodą korelacyjną) do obliczenia błędu, który ma być propagowany wstecz do sieci neuronowej opartej na profilu w celu dostosowania wag. Poniższe równanie bayesowskie służy do obliczenia wartości do oceny między dwiema metodami.



Dla przykładu, niech H1 odpowiada metodzie korelacji, a H2 metodzie komitetu. Ponieważ metoda korelacji zapewnia lepszą dokładność prognozy w porównaniu z metodą komitetu, w pierwszym przypadku zakładamy, że P(H1) = 0,51, a P(H2) = 0,49 (przypisując większe prawdopodobieństwo wyboru metody korelacji, ponieważ ta metoda zapewnia lepszą dokładność prognozy w porównaniu z metodą komitetu). Na przykład, jeśli uzyskamy dokładność prognozy 71% przy użyciu metody korelacji i dokładność prognozy 70,5% przy użyciu metody komitetu, to P(D|H1) = 0,71 i P(D|H2) = 0,705. Równanie bayesowskie daje:

P= 0,51 x 0,71 /0,51 x 0,71 + 0,49 x 0,705 = 0,5117

Jeśli uzyskane prawdopodobieństwo jest większe lub równe 0,5, do obliczenia błędu, który ma zostać przeniesiony wstecz do sieci neuronowej opartej na profilu w celu dostosowania wag, stosuje się metodę korelacji. Na przykład, jeśli uzyskamy dokładność prognozy 69% za pomocą metody korelacji i dokładność prognozy 72% za pomocą metody komitetowej, to P(D|H1) = 0,69 i P(D|H2) = 0,72. Równanie bayesowskie daje wówczas:

P= 0,51 x 0,69 /0,51 x 0,71 + 0,49 x 0,72 = 49,93

Jeśli uzyskane prawdopodobieństwo jest mniejsze niż 0,5, stosuje się metodę komitetową do obliczenia błędu, który ma być propagowany wstecz dla korekt wag. Podobnie, to nowe podejście jest testowane z użyciem różnych wartości prawdopodobieństwa dla P(H1) i P(H2), zawsze wybierając P(H1) większe niż P(H2). Na podstawie kilku przypadków testowych stwierdzono, że wartości 0,506 dla P(H1) i 0,494 dla P(H2) zapewniają najwyższą dokładność przewidywania. Przy zastosowaniu podejścia bayesowskiego dokładność przewidywania wynosi 73,3% (Q3). Ta metoda zapewnia najwyższą dokładność przewidywania struktury drugorzędowej białka w porównaniu ze wszystkimi innymi metodami badanymi w tym badaniu.

WYNIKI SYMULACJI

Symulacje przeprowadzono z wykorzystaniem kodu napisanego w języku JAVA na komputerze PC z procesorem Intel Pentium IV 3,6 GHz i technologią hiperwątkowości, systemem operacyjnym Microsoft Windows XP, 2 GB pamięci RAM i dyskiem twardym o pojemności 160 GB. Podejście wielowątkowe wykorzystano do równoległego uruchomienia algorytmów GA i SA oraz metod fuzji decyzji.

PRZYSZŁE TRENDY

Wielu badaczy na całym świecie aktywnie pracuje nad tym problemem, stosując różne metody, aby osiągnąć lepszą dokładność prognozowania. Przyszłe prace mogą obejmować wykorzystanie innych metod fuzji decyzji, takich jak metoda klasteryzacji, metoda zbiorów rozmytych i metoda probabilistyczna, w celu dalszej poprawy dokładności przewidywania struktury drugorzędowej białek.

WNIOSKI

Niniejsze badania miały na celu poprawę dokładności przewidywania struktury drugorzędowej białek za pomocą metody wnioskowania bayesowskiego. Chociaż istnieje wiele algorytmów klasyfikacji struktur białek, badania przeprowadzono w przekonaniu, że dalszą poprawę można osiągnąć poprzez znalezienie najlepszego sposobu na połączenie kilku metod, aby doprowadzić do ujednoliconej, lepszej decyzji. Na podstawie uzyskanych wyników można stwierdzić, że zastosowanie algorytmów sztucznej inteligencji (AI) wraz z technikami fuzji decyzji poprawia dokładność prognozowania w porównaniu z przewidywaniem za pomocą sieci neuronowych lub algorytmów AI, osobno lub w połączeniu z sieciami neuronowymi opartymi na profilach. Wyniki symulacji dowodzą, że metoda wnioskowania bayesowskiego poprawia dokładność prognozowania w porównaniu z innymi metodami fuzji decyzji. Główną zaletą tego podejścia jest to, że nie obejmuje ono zalet oferowanych przez metody komitetowe i korelacyjne w procesie łączenia decyzji.


Planowanie oparte na uczeniu się



WSTĘP

Automatyczne planowanie (AP) bada generowanie sekwencji działań w celu rozwiązania problemu. Problem w AP jest definiowany przez funkcję stanu przejścia opisującą dynamikę świata, stan początkowy świata i cele do osiągnięcia. Zgodnie z tą definicją, problemy AP wydają się być łatwo rozwiązywane poprzez wyszukiwanie ścieżki w grafie, co jest dobrze zbadanym problemem. Jednak grafy wynikające z problemów AP są tak duże, że ich jawne określenie jest niemożliwe. W związku z tym próbowano różnych podejść do rozwiązywania problemów AP. Od połowy lat 90. nowe algorytmy planowania umożliwiły rozwiązanie problemów AP o praktycznym rozmiarze. Niemniej jednak planiści niezależni od dziedziny nadal nie radzą sobie z rozwiązywaniem złożonych problemów AP, ponieważrozwiązywanie zadań planistycznych jest problemem zupełnym w modelu PSPACE . Jak ludzie radzą sobie z tą nieodłączną złożonością planowania? Jedną z odpowiedzi jest to, że nasze doświadczenie pozwala nam rozwiązywać problemy szybciej; Jesteśmy wyposażeni w umiejętności uczenia się, które pomagają nam planować, gdy problemy są wybierane ze stabilnej populacji. Zainspirowani tą ideą, w dziedzinie planowania opartego na uczeniu się bada się rozwój systemów AP zdolnych do modyfikowania swojej wydajności zgodnie z wcześniejszymi doświadczeniami. Od początków sztuczna inteligencja (AI) zajmowała się problemem uczenia maszynowego (ML). Już w 1959 roku Arthur L. Samuel opracował wybitny program, który uczył się ulepszać swoją grę w warcaby (Samuel, 1959). Nic dziwnego, że ML było często wykorzystywane do wprowadzania zmian w systemach wykonujących zadania związane z AI, takie jak percepcja, sterowanie robotem lub AP. Niniejszy artykuł analizuje różnorodne sposoby wykorzystania ML do usprawniania procesów AP. Najpierw dokonujemy przeglądu głównych koncepcji AP i podsumowujemy główne badania przeprowadzone w zakresie planowania opartego na uczeniu się. Po drugie, opisujemy obecne trendy w stosowaniu ML w AP. Na koniec komentujemy kolejne możliwości łączenia AP i ML i podsumowujemy.

TŁO

Języki reprezentacji zadań AP zazwyczaj opierają się na rozszerzeniach logiki pierwszego rzędu. Kodują one zadania za pomocą zestawu działań, który reprezentuje funkcję przejścia stanu świata (domena planowania) oraz zestawu predykatów pierwszego rzędu, które reprezentują stan początkowy wraz z celami zadania AP (problem planowania). Na początku rozwoju AP, STRIPS był najpopularniejszym językiem reprezentacji. W 1998 roku opracowano Język Definicji Domeny Planowania (PDDL) na potrzeby pierwszego Międzynarodowego Konkursu Planowania (IPC) i od tego czasu stał się on standardowym językiem dla społeczności AP. W PDDL działanie w domenie planowania jest reprezentowane przez: (1) warunki wstępne działania, listę predykatów wskazujących fakty, które muszą być prawdziwe, aby działanie stało się wykonalne, oraz (2) warunki końcowe działania, zazwyczaj rozdzielone na listy dodawania i usuwania, które są listami predykatów wskazującymi zmiany stanu po zastosowaniu działania. Przed połową lat 90. zautomatyzowane planiści mogli syntetyzować plany obejmujące nie więcej niż 10 działań w akceptowalnym czasie. W tamtych latach planiści w dużym stopniu polegali na technikach przyspieszających rozwiązywanie problemów AP. Dlatego zastosowanie kontroli wyszukiwania stało się bardzo popularnym rozwiązaniem przyspieszającym algorytmy planowania. Pod koniec lat 90. nastąpił znaczny wzrost skali planowania dzięki pojawieniu się grafów planowania osiągalności oraz rozwojowi zaawansowanych heurystyk niezależnych od domeny . Planiści stosujący te podejścia często mogli syntetyzować plany obejmujące 100 działań w ciągu zaledwie kilku sekund. Obecnie nie ma takiej zależności od uczenia maszynowego w rozwiązywaniu problemów AP, ale obserwuje się odrodzenie zainteresowania zastosowaniem uczenia maszynowego do AP, motywowane trzema czynnikami: (1) IPC-2000 wykazał, że planiści oparty na wiedzy znacznie przewyższają planistów niezależnych od domeny. Rozwój technik uczenia maszynowego (ML), które automatycznie definiują rodzaj wiedzy wprowadzanej przez ludzi do tych planistów, przyniósłby ogromny postęp w tej dziedzinie. (2) Planiści niezależni od domeny wciąż nie są w stanie poradzić sobie ze złożonymi problemami w świecie rzeczywistym. Wręcz przeciwnie, problemy te często rozwiązuje się poprzez ręczne definiowanie doraźnych strategii planowania. ML obiecuje być rozwiązaniem umożliwiającym automatyczne definiowanie tych strategii. Ponadto (3) istnieje zapotrzebowanie na narzędzia wspomagające definiowanie, walidację i utrzymanie modeli domen planowania. Obecnie procesy te są nadal wykonywane ręcznie.

PLANOWANIE OPARTE NA UCZENIU SIĘ

W tej sekcji opisano aktualne techniki uczenia maszynowego (ML) służące poprawie wydajności systemów planowania. Techniki te pogrupowano według celu uczenia się: sterowanie wyszukiwaniem, planiści domenowi lub modele domenowe.

Uczenie się sterowania wyszukiwaniem

Planiści niezależni od domeny wymagają dużego nakładu pracy, dlatego wiedza o sterowaniu wyszukiwaniem jest często wykorzystywana do jego ograniczenia. Ręcznie kodowana wiedza o sterowaniu okazała się użyteczna w wielu domenach, jednak trudno ją sformalizować, ponieważ wymaga specyficznej wiedzy o domenach planowania i strukturze planisty. Od początków programowania maszynowego (AP) opracowano różne techniki uczenia maszynowego (ML), których celem jest automatyczne uczenie się wiedzy o sterowaniu wyszukiwaniem. Przykładami takich technik są makroakcje , reguły sterowania oraz planowanie oparte na przypadkach i analogiczne . Obecnie większość najnowocześniejszych planistów opiera się na heurystycznym przeszukiwaniu przestrzeni stanów (12 z 20 uczestników konferencji IPC-2006 stosowało to podejście). Planiści ci osiągają imponującą wydajność w wielu dziedzinach i problemach, ale ich wydajność w dużym stopniu zależy od zdefiniowania dobrej, niezależnej od dziedziny funkcji heurystycznej. Heurystyki te obliczane są poprzez rozwiązywanie uproszczonej wersji zadania planowania, która ignoruje listę działań do usunięcia. Rozwiązanie uproszczonego zadania jest traktowane jako szacowany koszt osiągnięcia celów zadania. Tego rodzaju heurystyki zapewniają dobre wskazówki w szerokim zakresie różnych dziedzin. Mają jednak pewne wady: (1) w wielu dziedzinach te funkcje heurystyczne znacznie niedoszacowują odległości do celu, co prowadzi do słabego prowadzenia, (2) obliczenie wartości heurystycznych węzłów wyszukiwania jest zbyt kosztowne, oraz (3) te heurystyki są niedopuszczalne, więc planiści heurystyczni nie znajdują dobrych rozwiązań pod względem jakości planu. Ponieważ ocena węzła wyszukiwania w planowaniu heurystycznym jest tak czasochłonna, zaproponowali wykorzystanie rozumowania opartego na przypadkach (CBR) w celu zmniejszenia liczby eksplorowanych węzłów. Ich podejście przechowuje sekwencje abstrakcyjnych przejść stanów związanych z każdym konkretnym obiektem w instancji problemu. Następnie, w przypadku nowego problemu, sekwencje te są pobierane i ponownie instancjonowane w celu obsługi heurystycznego wyszukiwania w przód, decydując o kolejności węzłów do obliczenia ich wartości heurystycznej. W ostatnich latach opracowano inne podejścia mające na celu zminimalizowanie negatywnych skutków heurystyki za pomocą uczenia maszynowego: nauczyli się makroakcji offline, aby zmniejszyć liczbę ocenianych węzłów poprzez zmniejszenie głębokości drzewa wyszukiwania. nauczyli się makroakcji online, aby wyjść z plateau w drzewie wyszukiwania bez żadnej eksploracji. zaproponowali zastosowanie podejścia indukcyjnego w celu skorygowania heurystyki niezależnej od domeny w tych domenach, w oparciu o naukę uzupełnienia heurystyki na podstawie obserwacji rozwiązanych problemów w tych domenach. Wszystkie te metody uczenia się wiedzy o sterowaniu wyszukiwaniem obarczone są problemem użyteczności. Nauka zbyt dużej ilości wiedzy o sterowaniu może w rzeczywistości przynieść efekt przeciwny do zamierzonego, ponieważ trudności w przechowywaniu i zarządzaniu informacjami oraz w określeniu, których informacji użyć do rozwiązania konkretnego problemu, mogą negatywnie wpływać na wydajność.

Uczenie się planistów specyficznych dla domeny

Alternatywnym podejściem do nauki sterowania wyszukiwaniem jest nauka programów planowania specyficznych dla domeny. Programy te otrzymują jako dane wejściowe problem planowania o ustalonej domenie i zwracają plan, który rozwiązuje problem. Pierwsze podejścia do nauki planistów domenowych opierały się na nadzorowanym uczeniu indukcyjnym; wykorzystywały programowanie genetyczne i uczenie się z list decyzyjnych , ale nie były w stanie wiarygodnie generować dobrych wyników. Niedawno przedstawili inne podejście oparte na uogólnieniu przykładowego planu na program planowania domenowego i połączeniu powstałego kodu źródłowego z poprzednimi. Planiści domenowi są również reprezentowani jako polityki, tj. pary stanu i preferowanej akcji do wykonania w stanie. Relacyjne uczenie się przez wzmacnianie (RRL) wzbudziło zainteresowanie jako efektywne podejście do uczenia polityk dla domen relacyjnych. RRL obejmuje zestaw technik uczenia się do obliczania optymalnej polityki dla osiągnięcia zadanych celów poprzez eksplorację przestrzeni stanów metodą prób i błędów. Główną zaletą tych technik jest to, że można je wykorzystać do rozwiązywania problemów niezależnie od tego, czy model działania jest znany, czy nie. Z drugiej strony, ponieważ RRL nie uwzględnia wprost celów zadań w politykach, za każdym razem, gdy trzeba osiągnąć nowy cel, trzeba uczyć się nowych polityk, nawet jeśli dynamika środowiska się nie zmieniła. Ogólnie rzecz biorąc, planiści domenowi muszą radzić sobie z problemem generalizacji. Techniki te budują programy planistyczne na podstawie danego zestawu rozwiązanychproblemów, więc teoretycznie nie mogą zagwarantować rozwiązania kolejnych problemów.

Uczenie się modeli domenowych

Niezależnie od tego, jak wydajny jest planista, jeśli zostanie mu podany wadliwy model domenowy, zwróci on wadliwe plany. Projektowanie, kodowanie i utrzymywanie modelu domenowego jest bardzo pracochłonne. Obecnie planiści są jedynym dostępnym narzędziem wspomagającym rozwój modelu domeny AP, ale nie są one zaprojektowane specjalnie do tego celu. Uczenie się modeli domenowych to badanie mechanizmów uczenia maszynowego (ML) w celu automatycznego pozyskiwania schematów działań planistycznych (warunków wstępnych i końcowych działań) z obserwacji wykonywania działań. Uczenie się modeli domenowych w środowiskach deterministycznych jest dobrze zbadanym problemem; różne techniki uczenia indukcyjnego zostały z powodzeniem zastosowane do automatycznego definiowania schematów działań na podstawie obserwacji . W środowiskach stochastycznych problem ten staje się bardziej złożony. Działania mogą prowadzić do niezliczonej liczby różnych rezultatów, dlatego wymagane są bardziej rozbudowane podejścia. przedstawili pierwszy konkretny algorytm uczenia prostych działań stochastycznych bez efektów warunkowych. Algorytm ten opiera się na trzech poziomach uczenia się: pierwszy polega na deterministycznych technikach uczenia się reguł w celu wywołania warunków wstępnych działania. Drugi polega na poszukiwaniu zestawu wyników działania, który najlepiej pasuje do przykładów wykonania, a trzeci polega na szacowaniu rozkładów prawdopodobieństwa dla zestawu wyników działania. Jednak algorytmy planowania stochastycznego nie muszą uwzględniać wszystkich możliwych rezultatów działań. Zaproponowano naukę złożonych modeli działania-skutku (w tym warunków) tylko dla istotnych rezultatów działań. W ten sposób planiści generują solidne plany, uwzględniając tylko najbardziej prawdopodobny rezultat wykonania, a inne pozostawiając do ukończenia, gdy dostępne są dodatkowe informacje. W środowiskach deterministycznych wprowadzili algorytm, który dokładnie uczy się schematów działania STRIPS, nawet jeśli domena jest tylko częściowo obserwowalna. Jednak w środowiskach stochastycznych nadal nie ma ogólnego, efektywnego podejścia do nauki modelu działania.

PRZYSZŁE TRENDY

Od czasu pojawienia się pierwszej wersji PDDL w IPC-1998, standardowy język reprezentacji planowania ewoluował, łącząc algorytmy AP z rzeczywistymi problemami planowania. Obecnie wersja PDDL 3.0 dla IPC-2006 zawiera numeryczne zmienne stanu do obsługi metryk jakości, działania duracyjne, które umożliwiają jawną reprezentację czasu, predykaty pochodne wzbogacające opisy stanów systemu oraz cele miękkie i ograniczenia trajektorii, wyrażające preferencje użytkownika dotyczące różnych możliwych planów bez odrzucania planów prawidłowych. Jednak większość tych nowych funkcji nie jest obsługiwana przez najnowocześniejsze algorytmy planowania: istniejące planiści zazwyczaj nie potrafią rozwiązać problemów definiujących metryki jakości. Kwestia preferencji celów i trajektorii została poruszona tylko początkowo. Czas i zasoby tak bardzo komplikują proces wyszukiwania, że rozwiązanie rzeczywistego problemu staje się niezwykle trudne. Nowe wyzwania dla społeczności AP wiążą się z opracowywaniem nowych algorytmów planowania i heurystyk do rozwiązywania tego typu problemów. Ponieważ znalezienie efektywnego rozwiązania ogólnego jest bardzo trudne, uczenie maszynowe (ML) musi odgrywać ważną rolę w rozwiązywaniu tych nowych wyzwań, ponieważ może być wykorzystane do zmniejszenia złożoności procesu wyszukiwania poprzez wykorzystanie regularności w przestrzeni typowych problemów. Ponadto, najnowocześniejsze algorytmy planowania wymagają szczegółowego opisu domeny, aby skutecznie rozwiązać zadanie AP, ale nowe aplikacje, takie jak sterowanie podwodnymi pojazdami autonomicznymi, łazikami marsjańskimi itp., wymagają planowania w środowiskach, w których model dynamiki może być trudno dostępny. Obecnie istnieje potrzeba, aby systemy planowania były w stanie pozyskiwać informacje o swoim środowisku wykonawczym. Przyszłe systemy planowania muszą zawierać ramy umożliwiające integrację procesów planowania i wykonania wraz z technikami modelowania domen. Tradycyjnie planiści oparty na uczeniu się są oceniani tylko w odniesieniu do tego samego planisty, ale bez uczenia się, w celu udowodnienia poprawy ich wydajności. Ponadto systemy te nie są oceniane wyczerpująco; zazwyczaj ocena koncentruje się tylko na bardzo małej liczbie domen, więc planiści ci są zazwyczaj dość podatni na napotkanie nowych domen. W związku z tym społeczność potrzebuje formalnej metodologii do walidacji wydajności nowych systemów planowania opartych na uczeniu się, w tym mechanizmów porównywania różnych planistów opartych na uczeniu się. Chociaż techniki uczenia maszynowego (ML) ulepszają systemy planowania, istniejące badania nie są w stanie teoretycznie wykazać ich przydatności w nowych obszarach testowych. Co więcej, na razie nie jest możliwe formalne wyjaśnienie ukrytego znaczenia zdobytej wiedzy (tj. czy obejmuje ona dekompozycję zadań? uporządkowanie celów? ścieżkę rozwiązania?). Ten punkt pokazuje, że przyszłe badania w zakresie uczenia maszynowego (AP) i uczenia maszynowego (ML) będą również koncentrować się na aspektach teoretycznych, które odnoszą się do tych kwestii.

WNIOSKI

Ogólne planiści niezależni od domeny nadal nie są w stanie poradzić sobie ze złożonością rzeczywistych problemów planistycznych. W związku z tym większość systemów planowania wdrożonych w aplikacjach wymaga dodatkowej wiedzy, aby rozwiązać rzeczywiste zadania planistyczne. Jednak ręczne wydobycie i kompilacja tej specyficznej wiedzy jest skomplikowana. W niniejszym artykule opisano główne ostatnie postępy w rozwoju planistów z powodzeniem wspomaganych technikami uczenia maszynowego (ML). Automatycznie przyswajana wiedza jest przydatna dla AP na wiele sposobów: pomaga planistom w kierowaniu procesami poszukiwań, w uzupełnianiu teorii domenowych lub w określaniu konkretnych rozwiązań konkretnego problemu. Jednak społeczność zajmująca się planowaniem opartym na uczeniu się może nie tylko skupić się na rozwijaniu nowych technik uczenia się, ale także na definiowaniu formalnych mechanizmów w celu walidacji jej skuteczności w porównaniu z innymi planistami ogólnymi i innymi planistami opartymi na uczeniu się.



Poznawanie równowag Nasha w grach niekooperacyjnych



Poznawanie równowag Nasha w grach niekooperacyjnych WSTĘP Teoria gier (Von Neumann i Morgenstern, 1944) to dziedzina matematyki stosowanej i ekonomii, która bada sytuacje (gry), w których egoistycznie nastawieni, interaktywni gracze działają w celu maksymalizacji zysków; zatem zysk każdego gracza zależy od jego zachowania i od zachowań pozostałych graczy. Teoria gier, która odgrywa ważną rolę w naukach społecznych i politycznych, ostatnio przyciągnęła uwagę nowych dziedzin akademickich, od projektowania mechanizmów algorytmicznych po cybernetykę. Jednak fundamentalnym problemem, który należy rozwiązać, aby skutecznie zastosować teorię gier w rzeczywistych zastosowaniach, jest zdefiniowanie dobrze ugruntowanych koncepcji rozwiązań gry oraz zaprojektowanie efektywnych algorytmów do ich obliczania. Powszechnie akceptowaną koncepcją rozwiązań gry, w której wszelka współpraca między graczami musi być samonapędzająca się (gra niekooperacyjna), jest równowaga Nasha. W szczególności równowaga Nasha to zestaw strategii, po jednej dla każdego gracza, taki, że żaden gracz nie może skorzystać ze zmiany swojej strategii jednostronnie, tj. podczas gdy pozostali gracze zachowują swoje strategie bez zmian . Problem obliczania równowagi Nasha w grach niekooperacyjnych jest uważany za jeden z najważniejszych otwartych problemów teorii złożoności . Daskalakis, Goldbergy i Papadimitriou (2005) wykazali, że problem obliczania równowagi Nasha w grze z czterema lub większą liczbą graczy jest zupełny dla wersji klasy złożoności PPAD-Polynomial Parity Argument Directed, co więcej, Chen i Deng rozszerzyli ten wynik na gry dwuosobowe . Jednak nawet w przypadku dwóch graczy, najlepszy znany algorytm ma wykładniczy najgorszy czas wykonania ; ponadto, jeśli wymagane jest obliczenie równowag z prostymi dodatkowymi właściwościami, problem natychmiast staje się NP-trudny . Motywowane tymi wynikami, ostatnie badania zajęły się problemem efektywnego obliczania Równowag Nasha, wykorzystując podejścia oparte na koncepcjach uczenia się i ewolucji . W tych podejściach Równowagi Nasha gry nie są obliczane statycznie, ale są wynikiem ewolucji systemu złożonego z agentów grających w grę. W szczególności, każdy agent po kolejnych rundach nauczy się grać strategią, która - zgodnie z hipotezą racjonalności agenta - będzie jedną z równowag Nasha w grze. Niniejszy artykuł przedstawia SALENE, system wieloagentowy (MAS) do nauki równowag Nasha w grach niekooperacyjnych, oparty na powyższych koncepcjach.

TŁO
N-osobową grę strategiczną G można zdefiniować jako krotkę G = (N; (Ai)i∈N;(ri)i∈N), gdzie N = {1, 2, … , n} to zbiór graczy, Aiiin ℜ to funkcja wypłaty gracza i. Zbiór Ai nazywany jest również zbiorem czystych strategii gracza i. Iloczyn kartezjański ×i∈N Ai = A1 × … × An może być oznaczony przez A i r: A -> ℜN może oznaczać funkcję wektorową, której i-ta składowa to ri, tj. r(a) = (r1(a), … , rn(a)), więc można zapisać (N, A, r) w skrócie (N; (Ai)i∈N; (ri)i∈N). Dla dowolnego skończonego zbioru Ai zbiór wszystkich rozkładów prawdopodobieństwa na Ai można oznaczyć jako Δ(Ai). Element σi ∈ Δ(Ai) jest strategią mieszaną dla gracza i. Równowaga (Nasha) gry strategicznej G = (N, A, r) to N-krotność (mieszanych) strategii σ = (σi)i∈N, σi ∈ Δ(Ai), taka, że dla każdego i ∈ N i dowolnej innej strategii gracza i, τi∈ Δ(Ai), rii-i) ≤ rii, σ-i, gdzie ri oznacza również oczekiwaną wypłatę dla gracza i w mieszanym rozszerzeniu gry, a σ-i reprezentuje mieszane strategie w σ wszystkich pozostałych graczy. Zasadniczo, zakładając, że wszyscy pozostali gracze nie zmieniają swoich strategii, nie jest możliwe, aby jakikolwiek gracz i zagrał inną strategią ?i, która mogłaby uzyskać lepszą wypłatę niż ta uzyskana grając σi. σi nazywa się strategią równowagi Nasha dla gracza i. W 1951 roku J. F. Nash udowodnił, że gra strategiczna (niekooperacyjna) G = (N, A, r) ma co najmniej równowagę (Nasha) σ (Nash, 1951); na jego cześć problem obliczeniowy polegający na znalezieniu takiej równowagi znany jest jako NASH.

AGENCI PROGRAMOWI DO NAUKI RÓWNOWAG NASHA

SALENE został pomyślany jako system do nauki co najmniej jednej równowagi Nasha gry niekooperacyjnej podanej w postaci G = (N;(Ai)i∈N;(ri)i∈N). W szczególności system pyta użytkownika o:

o liczbę n graczy, która definiuje zbiór graczy N = {1, 2, … , n};
o dla każdego gracza i ∈ N, powiązany skończony zbiór czystych strategii Ai i jego funkcję wypłaty ri: A1 × … × An-> ℜ
o liczbę k rozegrań gry przez graczy.

Następnie system tworzy n agentów, po jednym dla każdego gracza, oraz sędziego. Agenci zagrają w grę G k razy. Po każdym meczu każdy agent zdecyduje o strategii gry w następnym meczu, aby zmaksymalizować swoją oczekiwaną użyteczność, bazując na swoich przekonaniach na temat strategii przyjmowanych przez pozostałych agentów. Analizując zachowanie każdego agenta we wszystkich k meczach gry, SALENE prezentuje użytkownikowi oszacowanie równowagi Nasha gry. Paradygmat agenta stanowi "naturalny" sposób modelowania i implementacji proponowanego rozwiązania, ponieważ charakteryzuje się on wieloma oddziałującymi na siebie autonomicznymi bytami (graczami), które dążą do osiągnięcia swoich celów (polegających na maksymalizacji zysków). Diagram klas SALENE przedstawiono na rysunku



Agent Zarządzający wchodzi w interakcję z użytkownikiem i jest odpowiedzialny za globalne zachowanie systemu. W szczególności, po uzyskaniu od użytkownika parametrów wejściowych G i k, Agent Zarządzający tworzy n Agentów Zawodników oraz Agenta Sędziego, który koordynuje i monitoruje zachowania graczy. Agent Zarządzający wysyła wszystkim agentom definicję G gry, następnie prosi Agenta Sędziego o zorganizowanie k meczów gry G. W każdym meczu Agent Sędziowski pyta każdego Agenta Zawodnika, jaką strategię czystą zdecydował się zagrać, a następnie, po uzyskaniu strategii od wszystkich graczy, Agent Sędziowski przekazuje każdemu Agentowi Zawodnika zarówno informacje o zastosowanych strategiach, jak i o wygranych uzyskanych przez wszystkich graczy. Po rozegraniu k meczów gry G Agent Sędziowski przekazuje wszystkie dane dotyczące rozegranych meczów Agentowi Zarządzającemu, który je analizuje i odpowiednio przedstawia uzyskane wyniki użytkownikowi. Agent Zawodnika to racjonalny gracz, który, biorąc pod uwagę definicję gry G, działa w celu maksymalizacji swojej oczekiwanej użyteczności w każdym pojedynczym meczu gry G, nie biorąc pod uwagę ogólnej użyteczności, jaką mógłby uzyskać w zestawie meczów. W szczególności zachowanie Agenta Gracza i można opisać za pomocą następujących głównych kroków:

1. W pierwszym meczu Agent Gracza i wybiera losowo wygenerowaną strategię czystą, biorąc pod uwagę wszystkie grywalne strategie czyste z tym samym prawdopodobieństwem: jeśli |Ai|=m, prawdopodobieństwo wyboru strategii czystej s ∈ Ai
2. Agent Gracza i czeka, aż Agent Sędziowski zapyta go, którą strategię chce zagrać, a następnie przekazuje Agentowi Sędziowskiemu wybraną strategię czystą, obliczoną w kroku 1, jeśli gra swój pierwszy mecz, lub w kroku 4, w przeciwnym razie;

3. Agent Gracza czeka, aż Agent Sędziowski przekaże mu zarówno zagrane strategie czyste, jak i wypłaty uzyskane przez wszystkich graczy;

4. Agent Gracza decyduje o strategii mieszanej, którą zagra w następnym meczu. W szczególności Agent Gracza aktualizuje przekonania dotyczące strategii mieszanych aktualnie przyjętych przez pozostałych graczy i w konsekwencji przelicza strategię zdolną do maksymalizacji jego oczekiwanej użyteczności. Zasadniczo, Gracz Agent i próbuje znaleźć strategię σi∈ Δ(Ai), taką, że dla dowolnej innej strategii τi &isin Δ(Ai), rii-i) ≤ riii,σ-i), gdzie ri oznacza jego oczekiwaną wypłatę, a σ-i reprezentuje jego przekonania na temat mieszanych strategii aktualnie przyjmowanych przez wszystkich innych graczy, tj. σ-i = (σ-i)j∈N,j≠i, σj ∈ Δ(Aj). Aby oszacować σj dla każdego innego gracza j ≠i, Gracz Agent i bierze pod uwagę czyste strategie grane przez gracza j we wszystkich poprzednich meczach i oblicza częstotliwość każdej czystej strategii. Ten rozkład częstotliwości będzie oszacowaniem dla σj. Jeżeli w faktycznie obliczonym zbiorze σ-i=(σj)j∈?N,j≠i znajduje się przynajmniej jeden element różniący się od zbioru σ-i obliczonego w poprzednim meczu, Agent Gracza i rozwiązuje nierówność rii-i) ≤ rii-i), co jest równoważne z rozwiązaniem problemu optymalizacyjnego P={max(rii-i), σi ∈ Δ(Ai)}. Warto zauważyć, że P jest liniowym problemem optymalizacji. W rzeczywistości, biorąc pod uwagę zbiór σ-ii, rii-i) jest liniową funkcją celu w σi (patrz definicja gry podana w sekcji Tło), a przy |Ai|=m σii∈Δ(Ai) jest wektorem χ ∈ℜM takim, że Σs∈M χs=1 i dla każdego s∈M χs ≥ 0, więc ograniczenie σi ∈ Δ(Ai) jest zbiorem m+1 nierówności liniowych. P jest rozwiązywany przez Agenta Gracza przy użyciu wydajnej metody rozwiązywania problemów w programowaniu liniowym, w szczególności metody predyktora-korektora Mehrotry , której złożoność jest wielomianowa zarówno dla średniego, jak i najgorszego przypadku. Uzyskane rozwiązanie dla ?i jest strategią czystą, ponieważ jest to jeden z wierzchołków wielokąta definiującego obszar dopuszczalny dla P. Uzyskana strategia σi zostanie wykorzystana przez Gracza Agenta i w następnym meczu; rii-i) reprezentuje oczekiwaną wypłatę dla gracza i w następnym meczu;

5. powrót do kroku 2. Warto zauważyć, że Agent Gracza, wybierając strategię mieszaną w każdym meczu G, nie musi znać funkcji wypłat pozostałych graczy. W rzeczywistości, aby rozwiązać problem optymalizacji P, musi jedynie uwzględnić strategie, które zostały wykorzystane przez pozostałych graczy we wszystkich poprzednich meczach. Agent Menedżer otrzymuje od Agenta Sędziowskiego wszystkie dane dotyczące k meczów gry G i oblicza oszacowanie równowagi Nasha gry G, tj. N-krotność σ=(σi)i∈N σi ∈ Δ(Ai). W szczególności, w celu oszacowania σi (strategii równowagi Nasha gracza i), Agent Menedżera oblicza, na podstawie czystych strategii wykorzystanych przez gracza i w każdym z k meczów, częstotliwość każdej czystej strategii: ten rozkład częstotliwości będzie oszacowaniem dla σi. Tak obliczony zbiór σ=(σi)i∈N, σii∈Δ(Ai) zostanie następnie prawidłowo zaproponowany użytkownikowi wraz z danymi wykorzystanymi do jego oszacowania. SALENE został zaimplementowany przy użyciu JADE , frameworka oprogramowania umożliwiającego tworzenie systemów i aplikacji wieloagentowych zgodnych ze standardami FIPA, i przetestowany w różnych grach, które różnią się od siebie zarówno liczbą, jak i rodzajem Równowag Nasha. Eksperymenty wykazały, że:

o jeśli gra ma p>=1 Czystych Równowag Nasha i s>=0 Mieszanych Równowag Nasha, agenci zbiegają się, rozgrywając jedną z p Czystych Równowag Nasha; W takich przypadkach, gdy zachowanie każdego Agenta Gracza zbiega z prawdopodobieństwem jeden do Równowagi Nasha gry, proces uczenia się zbiega w zachowaniach do równowagi ;

o jeśli gra ma tylko Mieszane Równowagi Nasha, a zachowanie Agentów Gracza nie zbiega do równowagi, zachowanie uśrednione w czasie, tj. empiryczna częstotliwość, z jaką każdy gracz wybiera swoją strategię, może zbiegać do jednej z mieszanych Równowag Nasha gry; to znaczy, że proces uczenia się może zbiegać w uśrednionym czasie do równowagi . W następnej sekcji, w bardziej ogólnej dyskusji na temat obecnych i przyszłych wysiłków badawczych, omówione zostaną główne aspekty związane z właściwościami zbieżności podejścia/algorytmu wykorzystywanego przez Agentów SALENE do uczenia Równowag Nasha.

PRZYSZŁE TRENDY

Innowacyjne podejścia, takie jak SALENE, oparte na koncepcjach uczenia się i ewolucji, wykazały duży potencjał w modelowaniu i efektywnym rozwiązywaniu gier niekooperacyjnych. Ponieważ jednak rozwiązania gier (np. równowagi Nasha) nie są obliczane statycznie, lecz są wynikiem ewolucji systemu złożonego z oddziałujących ze sobą agentów, istnieje kilka otwartych problemów, związanych głównie z dokładnością dostarczanego rozwiązania, które należy rozwiązać, aby umożliwić szerokie wykorzystanie tych podejść w konkretnych zastosowaniach biznesowych. Podejście wykorzystane w SALENE, wywodzące się z podejścia Fictitious Play (Robinson, 1951), skutecznie rozwiązuje problem uczenia się równowagi Nasha w grach niekooperacyjnych, które mają co najmniej jedną czystą równowagę Nasha: w takim przypadku zachowanie graczy dokładnie zbiega się do jednej z czystych równowag Nasha gry (zbieżność zachowań do równowagi). Wręcz przeciwnie, jeśli gra ma wyłącznie mieszane równowagi Nasha, zbieżność algorytmu uczenia się nie jest zapewniona. Obliczenia ex ante w takim przypadku są dość kosztowne, ponieważ wymagają rozwiązania następującego problemu: "Określanie, czy gra strategiczna ma wyłącznie mieszane równowagi Nasha", co jest równoważne z problemem: "Określanie, czy gra strategiczna nie ma żadnych czystych równowag Nasha". Problem ten jest współ-NP-zupełny, ponieważ jego dopełnienie "Określanie, czy gra strategiczna ma czystą równowagę Nasha" jest NP-zupełne . Jak pokazują przeprowadzone eksperymenty, gdy gra ma jedynie mieszane równowagi Nasha, nadal istnieją przypadki, w których, o ile zachowanie graczy nie zbiega do równowagi, średnie czasowe zachowanie, tj. empiryczna częstotliwość, z jaką każdy gracz wybiera swoją strategię, zbiega do jednej z mieszanych równowag Nasha gry (zbieżność w średnim czasie do równowagi). Niemniej jednak istnieją przypadki, w których nie ma ani zbieżności w zachowaniu, ani zbieżności w średnim czasie do równowagi; przykładem takiego przypadku jest gra modowa Shapleya (1964). Ważnym otwartym problemem jest wówczas scharakteryzowanie klas gier, dla których algorytm uczenia przyjęty w SALENE zbiega; Dokładniej, klasy gier, dla których algorytm: (a) zbieżności w zachowaniach do stanu równowagi (co implikuje zbieżność w średnim czasie do stanu równowagi), (b) zbieżności tylko w średnim czasie do stanu równowagi; (c) nie zbieżności ani w zachowaniach, ani w średnim czasie. Obecnie wykazano, że algorytm zbieżności w zachowaniach lub w średnim czasie do stanu równowagi występuje dla następujących klas gier:

o gry o sumie zerowej
o gry rozwiązywalne przez iteracyjną eliminację strategii ściśle zdominowanych
o gry potencjalne
o gry 2xN, tj. gry z 2 graczami, 2 strategiami dla jednego gracza i N strategiami dla drugiego gracza .
Przyszłe działania będą ukierunkowane na: (i) dokończenie charakterystyki klas gier, dla których algorytm uczenia przyjęty w SALENE jest zbieżny, oraz ocenę złożoności rozwiązania problemu przynależności dla takich klas; (ii) ocenę różnych algorytmów uczenia i ich właściwości zbieżności; (ii) umożliwienie użytkownikowi żądania obliczenia Równowag Nashaz prostymi dodatkowymi właściwościami. Mówiąc bardziej ogólnie, szerokie zastosowanie nowych podejść opartych na agentach do rozwiązywania gier, które modelują konkretne aplikacje biznesowe, będzie zależało od dokładności i właściwości zbieżności dostarczonych rozwiązań; oba aspekty nadal wymagają pełnego zbadania.

WNIOSKI

Złożoność NASH, problemu polegającego na obliczaniu Równowag Nasha w grach niekooperacyjnych, jest nadal przedmiotem dyskusji, ale nawet w przypadku dwóch graczy, najbardziej znany algorytm ma wykładniczy czas wykonania w najgorszym przypadku. SALENE, proponowany algorytm MAS do uczenia się równowag Nasha w grach niekooperacyjnych, można postrzegać jako heurystyczną i wydajną metodę obliczania co najmniej jednej równowagi Nasha w grze niekooperacyjnej reprezentowanej w postaci normalnej; w rzeczywistości algorytm uczenia się przyjęty przez Agentów Graczy ma wielomianowy czas działania zarówno dla przypadku średniego, jak i najgorszego. SALENE można następnie z powodzeniem wykorzystać do efektywnego rozwiązywania gier niekooperacyjnych, które modelują interesujące konkretne problemy, od klasycznych problemów ekonomicznych i finansowych po nowe, związane z ekonomicznymi aspektami Internetu, takie jak przeciążenie TCP/IP, samolubne trasowanie i projektowanie mechanizmów algorytmicznych.



Przegląd dopasowania ontologii



WSTĘP

Obecnie ontologie są uważane za odpowiednie rozwiązanie problemu heterogeniczności danych, ponieważ metody ontologiczne umożliwiają osiągnięcie wspólnego rozumienia pojęć w danej dziedzinie. Jednak wykorzystanie jednej ontologii nie zawsze jest możliwe ani zalecane, biorąc pod uwagę, że różne zadania lub różne punkty widzenia zazwyczaj wymagają odmiennych konceptualizacji. Może to prowadzić do stosowania różnych ontologii, chociaż w niektórych przypadkach różne ontologie łącznie mogą zawierać informacje, które mogą się pokrywać, a nawet być sprzeczne. To z kolei stanowi kolejny rodzaj heterogeniczności, która może prowadzić do nieefektywnego przetwarzania lub błędnej interpretacji danych, informacji i wiedzy. Aby rozwiązać ten problem, a jednocześnie zapewnić odpowiedni poziom interoperacyjności między systemami heterogenicznymi, konieczne jest znalezienie odpowiedników lub odwzorowań istniejących między elementami (różnych) używanych ontologii. Proces ten jest znany jako dopasowanie ontologii. Niniejszy artykuł oferuje zaktualizowany przegląd dopasowania ontologii, w tym szczegółowe wyjaśnienie, na czym polega dopasowanie i jak można je osiągnąć. Najpierw ontologie zdefiniowano, łącząc różne interpretacje. Następnie zdefiniowano koncepcję dopasowania ontologii i, na prostym przykładzie, zilustrowano niektóre z najczęściej stosowanych technik dopasowania. Następnie omówiono znaczenie automatyzacji procesu dopasowania ontologii, podsumowując niektóre z głównych obecnie stosowanych systemów dopasowania. Na koniec, w kontekście przyszłych kierunków rozwoju, omówiono korzyści związane z integracją dopasowania ontologii z systemami wymagającymi automatycznej wymiany informacji.

TŁO

Pod koniec XX i na początku XXI wieku termin "ontologia" (lub ontologie) zyskał na znaczeniu w informatyce, odnosząc się do obszaru badań w dziedzinie sztucznej inteligencji, zajmującego się przede wszystkim semantyką pojęć oraz procesami ekspresyjnymi (lub interpretacyjnymi) w komunikacji komputerowej. W tym kontekście istnieje wiele definicji ontologii, które ewoluowały na przestrzeni lat. Gruber zaproponował jedną z pierwszych definicji ontologii w 1993 roku, w następujący sposób :

"Ontologia to jawna specyfikacja konceptualizacji".

Definicja Grubera stała się najczęściej cytowaną w literaturze i stała się definicją bazową lub roboczą dla osób zajmujących się tą dziedziną. Obecnie ontologie są postrzegane jako praktyczny sposób konceptualizacji informacji wyrażonej w formacie elektronicznym i są wykorzystywane w wielu aplikacjach, w tym w sieciach semantycznych, handlu elektronicznym, magazynach danych czy integracji i wyszukiwaniu informacji. Podstawową ideą tych aplikacji jest wykorzystanie ontologii do osiągnięcia wspólnego poziomu zrozumienia lub pojmowania w ramach określonej dziedziny (np. określonej branży, medycyny, budownictwa mieszkaniowego, napraw samochodowych, finansów itp.). Jednak niektóre systemy obejmujące dużą liczbę komponentów powiązanych z różnymi domenami zazwyczaj wymagałyby użycia różnych ontologii. W takich przypadkach użycie ontologii nie zmniejszyłoby heterogeniczności, lecz raczej przekształciłoby problem heterogeniczności w inne (i bardziej zaawansowane) ramy, w których problem staje się problemem dopasowania ontologii, umożliwiając tym samym bardziej efektywną wymianę informacji i wiedzy pochodzącej z różnych (heterogenicznych) baz danych, baz wiedzy oraz wiedzy zawartej w samych ontologiach. W ten sposób dopasowanie ontologii zwiększa interoperacyjność systemów.

DOPASOWANIE ONTOLOGII

Euzenat i inni zdefiniowali problem dopasowania ontologii w następujący sposób : "Biorąc pod uwagę dwie ontologie, z których każda opisuje zbiór dyskretnych bytów (którymi mogą być klasy, właściwości, reguły, predykaty itp.), znajdź relacje (np. równoważność lub subsumcję) zachodzące między tymi bytami". Kluczowym problemem w dopasowaniu ontologii jest znalezienie bytu w jednej ontologii odpowiadającego (pod względem znaczeniowym) innemu bytowi w jednej (lub wielu) ontologii (lub ontologiach). Zasadniczo można powiedzieć, że dopasowanie ontologii można sprowadzić do zdefiniowania miary podobieństwa między bytami w różnych ontologiach i wybrania zbioru odpowiedników między bytami z różnych ontologii o najwyższych miarach podobieństwa. Istnieją różne metody obliczania miar podobieństwa między bytami, które zbiorczo nazywane są technikami dopasowania ontologii. Wiele z tych technik wywodzi się z innych dziedzin (na przykład matematyki dyskretnej, automatycznego uczenia się, projektowania baz danych, rozpoznawania wzorców i innych). W związku z tym niektóre z tych technik próbują porównywać ciągi tekstowe opisujące encje w ontologiach (dopasowanie ontologii oparte na terminologii), podczas gdy inne obliczają miary podobieństwa między encjami, uwzględniając strukturę odpowiadających im ontologii (dopasowanie ontologii strukturalnej). Pełną klasyfikację technik dopasowywania opracował Martínez . Poniższa dyskusja, na prostym przykładzie, ilustruje niektóre z podstawowych technik dopasowywania ontologii, które są obecnie stosowane. W tym przykładzie badane są dwie proste ontologie, jak pokazano na rysunku Ontologie pokazane na rysunku 1 opisują różne encje w świecie rzeczywistym: zbiory elementów, które mają wspólne cechy lub klasy (np. skrzydło, samochód, autobus itp.), instancje klas (jednostki) i ich relacje (np. konkretne Ferrari F50 należy do konkretnej osoby, Marka), a także trzy różne typy relacji między jednostkami (isA, partOf i hasOwner). Każda z ontologii przedstawionych w tym przykładzie ma swój własny zbiór encji zorganizowanych zgodnie z określoną taksonomią. Dwie reprezentacje powstają ze względu na fakt, że odpowiadają dwóm różnym perspektywom lub punktom widzenia, z których każdy jest powiązany z inną domeną. Jednak w tych ontologiach można zidentyfikować pewne pary encji, które mają tę samą lub podobną semantykę. Zatem jest prawdopodobne, że klasa "Płaszczyzna" w pierwszej ontologii i "Aeroplane" w drugiej ontologii odnoszą się do tego samego pojęcia w ogólności (w świecie rzeczywistym), zakładając, że terminy je opisujące są synonimami. Tabela 1 przedstawia niektóre pary encji tych ontologii, między którymi mogą występować podobieństwa semantyczne, co ujawniłoby się po zastosowaniu technik dopasowywania. Przedstawiono technikę stosowaną w każdym przypadku wraz z opisem samej techniki.

Systemy dopasowania ontologii

Dopasowanie ontologii jest przeznaczone do zautomatyzowanego wykorzystania z dwóch głównych powodów: po pierwsze, jest to zadanie czasochłonne, żmudne i czasami trudne, a po drugie, jego prawdziwa wartość ujawnia się po zintegrowaniu z procesami automatycznej wymiany informacji. W rezultacie w ciągu ostatnich kilku lat pojawiło się wiele narzędzi programistycznych opracowanych przez zróżnicowane grupy badawcze i uznane organizacje międzynarodowe, głównie związane ze środowiskiem akademickim. Narzędzia te, zaprojektowane do automatycznej identyfikacji powiązań, które mogą istnieć między encjami różnych ontologii, nazywane są systemami dopasowania ontologii. Dzięki rozwojowi tych narzędzi pojawiła się znaczna liczba systemów dopasowania ontologii. Każdy z tych systemów oferuje unikalny zestaw zalet, wad i cech wydajnościowych. System dopasowania ontologii akceptuje jedną (lub więcej) ontologii jako dane wejściowe i dostarcza, jako dane wyjściowe, zestaw powiązań między ich elementami. Ten zestaw powiązań nazywany jest dopasowaniem. Jakość konkretnego dopasowania zależy od poprawności i kompletności znalezionych odpowiedników. System dopasowania zazwyczaj opiera się na kilku najnowszych technikach dopasowania w połączeniu z własnymi metodami, w celu uzyskania możliwie najdokładniejszego i najpełniejszego dopasowania.

TRENDY PRZYSZŁOŚCI

Obecnie istnieje kilka systemów dopasowania ontologii zdolnych do identyfikowania, z akceptowalną wydajnością, odpowiedników semantycznych, które mogą istnieć między encjami powiązanymi z różnymi ontologiami. Jednak prawdziwy potencjał dopasowania ontologii zostanie wykorzystany, gdy metodologia ta zostanie zintegrowana z procesami wymagającymi w pełni automatycznej wymiany informacji między różnymi systemami. Będzie to możliwe, gdy systemy dopasowania ontologii staną się wystarczająco wydajne, aby rozwiązywać, w czasie rzeczywistym i z minimalnym błędem, problemy z dopasowaniem w określonych domenach. Po pomyślnym rozwiązaniu tych problemów możliwe będzie osiągnięcie odpowiedniego poziomu interoperacyjności między heterogenicznymi systemami, które wcześniej nie były wykorzystywane wspólnie, co stanowi punkt zwrotny w dziedzinie technologii informacyjno-komunikacyjnych. W ten sposób wiele systemów o różnych cechach i pochodzeniu mogłoby się ze sobą komunikować, umożliwiając odkrycie nowej wiedzy, która wcześniej pozostawałaby nieodkryta w rozproszonych systemach informacyjnych. Potencjalnie zapewniłoby to użytkownikom szeroki wachlarz zautomatyzowanych, inteligentnych systemów i usług zdolnych do wzajemnego współdziałania bez pomocy z zewnątrz, co z kolei znacznie ułatwiłoby jedno z najtrudniejszych zadań: automatyczne, wydajne i niezawodne wykorzystanie dużych ilości informacji.

WNIOSKI

W niektórych zastosowaniach użycie jednej ontologii do pełnego opisu całej dziedziny zazwyczaj nie jest odpowiednim rozwiązaniem i zazwyczaj konieczne staje się użycie różnych ontologii. W takich przypadkach pojawia się potrzeba znalezienia relacji między elementami różnych ontologii - proces znany jako dopasowanie ontologii. Automatyzacja procesu dopasowania ontologii jest możliwa do osiągnięcia, dlatego właśnie proces ten jest szczególnie przydatny w środowiskach lub aplikacjach wymagających automatycznej interoperacyjności między systemami. Obecnie dostępnych jest wiele systemów dopasowania ontologii, a większość z nich jest wynikiem badań akademickich lub podstawowych. Systemy te można postrzegać jako narzędzia programowe zdolne do znajdowania odpowiedników lub relacji, które mogą istnieć między elementami różnych ontologii. Narzędzia te mogą dawać dość niezwykłe rezultaty, zwłaszcza biorąc pod uwagę fakt, że zasadniczo pozostają one w fazie rozwoju, wciąż w początkowej fazie rozwoju lub testowania. Oczekuje się, że w przyszłości systemy dopasowywania ontologii osiągną akceptowalny poziom solidności, wydajności i niezawodności, co umożliwi zastosowanie tych systemów w procesach, które automatycznie wymieniają dane między różnymi systemami, które indywidualnie wykorzystują różne ontologie. Te zautomatyzowane interakcje między systemami nie tylko ograniczyłyby interwencję użytkownika, ale także zautomatyzowałyby wiele czasochłonnych, złożonych i kosztownych obliczeniowo zadań, które obecnie są wykonywane ręcznie lub wcale.


Przetwarzanie z ograniczeniami



WSTĘP

Ograniczenia pojawiają się w wielu dziedzinach ludzkiej działalności, począwszy od łamigłówek takich jak krzyżówki (słowa mogą się nakładać tylko na tę samą literę) i ostatnio popularnego Sudoku (żadna liczba nie pojawia się dwa razy z rzędu), poprzez codzienne problemy, takie jak planowanie spotkań (sala konferencyjna musi pomieścić wszystkich uczestników), aż po rozwiązywanie trudnych problemów optymalizacyjnych, na przykład w harmonogramowaniu produkcji (zadanie musi się zakończyć przed innym). Chociaż wszystkie te problemy wydają się pochodzić z zupełnie innych światów, wszystkie mają podobną podstawę - zadaniem jest znalezienie wartości zmiennych decyzyjnych, takich jak czas rozpoczęcia zadania lub pozycja liczby na tablicy, z uwzględnieniem danych ograniczeń. Problem ten nazywa się problemem spełnienia ograniczeń (Constraint Satisfaction Problem - CSP). Przetwarzanie z ograniczeniami pojawiło się w badaniach nad sztuczną inteligencją w latach 70. XX wieku , kiedy badano takie problemy, jak etykietowanie scen . Celem etykietowania scen było rozpoznanie typu linii (a następnie typu obiektu) na dwuwymiarowym obrazie sceny trójwymiarowej. Możliwe typy to linie wypukłe, wklęsłe i zasłaniające, a kombinacja typów była ograniczona na skrzyżowaniach linii, aby była fizycznie wykonalna. Ten problem etykietowania scen jest prawdopodobnie pierwszym problemem sformalizowanym jako CSP, a niektóre techniki opracowane do jego rozwiązania, a mianowicie spójność łukowa, nadal stanowią rdzeń przetwarzania ograniczeń. Systematyczne wykorzystanie ograniczeń w systemach programowania rozpoczęło się w latach 80. XX wieku, kiedy naukowcy zidentyfikowali podobieństwo między unifikacją w programowaniu logicznym a spełnianiem ograniczeń. Tak narodziło się programowanie logiki ograniczeń. Obecnie programowanie ograniczeń jest odrębną dziedziną, niezależną od języka programowania, choć programowanie logiki ograniczeń nadal odgrywa ważną rolę dzięki naturalnej integracji ograniczeń w ramach programowania logicznego. W niniejszym artykule przedstawiono główne techniki rozwiązywania problemów spełniania ograniczeń. Techniki te są bardziej zaawansowane niż obecnie stosowane rozwiązania ograniczeń, a ich zrozumienie jest ważne dla pełnego wykorzystania dostępnej technologii.

TŁO

Problem spełniania ograniczeń jest formalnie definiowany jako trójka: skończony zbiór zmiennych decyzyjnych, dziedzina możliwych wartości oraz skończony zbiór ograniczeń ograniczających możliwe kombinacje wartości, które można przypisać zmiennym. Chociaż dziedzina może być nieskończona, na przykład liczby rzeczywiste, często zakłada się dziedzinę skończoną. Bez utraty ogólności, dziedzinę skończoną można odwzorować na zbiór liczb całkowitych, co jest typowym przypadkiem w solverach ograniczeń. Niniejszy artykuł dotyczy wyłącznie dziedzin skończonych. W wielu problemach każda zmienna ma swoją własną dziedzinę, która jest podzbiorem dziedziny z definicji problemu. Taka dziedzina może być formalnie zdefiniowana za pomocą ograniczenia unarnego. Wspomnieliśmy już, że ograniczenia ograniczają możliwe kombinacje wartości, jakie mogą przyjmować zmienne decyzyjne. Zazwyczaj ograniczenie jest definiowane dla podzbioru zmiennych, jego zakresu, i jest określone albo ekstensywnie, jako zbiór krotek wartości spełniających ograniczenie, albo celowo, za pomocą formuły logicznej lub arytmetycznej. Ta formuła, na przykład A < B, opisuje, które krotki wartości spełniają ograniczenie. Małym przykładem CSP jest ({A, B, C}, {1, 2, 3}, {A < B, B < C}). Zadaniem przetwarzania ograniczeń jest utworzenie instancji każdej zmiennej decyzyjnej za pomocą wartości z dziedziny w taki sposób, aby wszystkie ograniczenia były spełnione. Taka instancjacja nazywa się wykonalnym przypisaniem. Oczywiste jest, że problem, czy istnieje wykonalne przypisanie dla CSP, jest NP-zupełny - problemy takie jak 3SAT lub problem plecakowy można bezpośrednio zakodować jako CSP. Czasami problemowi spełnienia ograniczeń towarzyszy tak zwana funkcja celu zdefiniowana na podstawie (niektórych) zmiennych decyzyjnych, co prowadzi do problemu optymalizacji z ograniczeniami. Następnie zadaniem jest wybranie spośród wykonalnych zadań zadania, które minimalizuje (lub maksymalizuje) wartość funkcji celu. Niniejszy artykuł koncentruje się na technikach znajdowania wykonalnego zadania, ale techniki te można naturalnie rozszerzyć na problemy optymalizacyjne za pomocą znanej techniki gałęzi i ograniczeń. Istnieje wiele obszernych źródeł informacji na temat spełniania ograniczeń, począwszy od przeglądów czasopism , poprzez samouczki online, aż po kilka książek. Książka Van Hentenrycka (1989) była pionierską pracą, pokazującą spełnianie ograniczeń w kontekście programowania logicznego. Późniejsza książka Tsanga (1993) koncentruje się na technikach spełniania ograniczeń niezależnie od ram programowania i zawiera pełne szczegóły techniczne większości algorytmów opisanych w dalszej części artykułu. Najnowsze książki obejmują zarówno aspekty teoretyczne , jak i praktyczne , dostarczają dobrych materiałów dydaktycznych lub dogłębnych opracowań poszczególnych tematów (Rossi i in., 2006). Nie należy zapominać o książkach pokazujących, jak technologia spełniania ograniczeń jest stosowana w poszczególnych obszarach; problemy harmonogramowania odgrywają tu istotną rolę , ponieważ przetwarzanie ograniczeń jest w tym obszarze wyjątkowo skuteczne.

TECHNIKI SPEŁNIANIA OGRANICZEŃ

Problemy spełniania ograniczeń w domenach skończonych są zasadniczo problemami kombinatorycznymi, więc można je rozwiązać, badając przestrzeń możliwych (częściowych lub całkowitych) instancji zmiennych decyzyjnych. W dalszej części tego rozdziału przedstawimy typowe algorytmy wyszukiwania wykorzystywane w przetwarzaniu ograniczeń. Należy jednak podkreślić, że przetwarzanie ograniczeń nie jest prostą enumeracją, a także pokażemy, jak tzw. techniki spójności przyczyniają się do rozwiązywania problemów CSP.

Wyszukiwanie systematyczne

Wyszukiwanie jest podstawową technologią sztucznej inteligencji, a wiele algorytmów wyszukiwania zostało opracowanych w celu rozwiązania różnych problemów. W przypadku przetwarzania ograniczeń poszukujemy wykonalnego przypisania wartości do zmiennych, gdzie wykonalność jest zdefiniowana przez ograniczenia. Można to zrobić metodą cofania, gdzie przypisujemy wartość wybranej zmiennej i sprawdzamy, czy ograniczenia, których zakres jest już utworzona, są spełnione. W przypadku pozytywnym przechodzimy do następnej zmiennej. W przypadku negatywnym próbujemy innej wartości dla bieżącej zmiennej lub, jeśli nie ma więcej wartości, cofamy się do ostatniej utworzonej zmiennej i próbujemy tam wartości alternatywnych. Poniższy kod przedstawia szkielet tej procedury, zwanej historycznym etykietowaniem (Waltz, 1975). Należy zauważyć, że sprawdzanie spójności może przycinać domeny poszczególnych zmiennych, co zostanie omówione w następnej sekcji.

procedure labelling(V,D,C)
if all variables from V are assigned then return V
select not-yet assigned variable x from V
for each value v from Dx do
(TestOK,D′) <- consistent(V,D,C?{x=v})
if TestOK=true then
R <- labelling(V,D′,C)
if R <- fail then return R
end for
return fail
end labelling

Powyższy mechanizm backtrackingu jest parametryzowany przez heurystyki wyboru zmiennych i wartości, które decydują o kolejności instancji zmiennych oraz o kolejności próbkowania wartości. Chociaż porządkowanie wartości jest zazwyczaj zależne od problemu, a heurystyki niezależne od problemu nie są często stosowane ze względu na ich złożoność obliczeniową, istnieją popularne heurystyki porządkowania zmiennych niezależne od problemu. Porządkowanie zmiennych opiera się na tzw. zasadzie pierwszego błędu sformułowanej przez Haralicka i Eliota (1980), która mówi, że zmienna, której instancja doprowadzi do awarii z największym prawdopodobieństwem, powinna być wypróbowana jako pierwsza. Typowym przykładem tej zasady jest heurystyka dom, która preferuje zmienne o najmniejszej domenie do instancjonowania. Istnieją inne popularne heurystyki porządkowania zmiennych, takie jak dom+deg lub dom/deg, ale ich szczegółowy opis wykracza poza zakres tego krótkiego artykułu. Chociaż heurystyki wpływają (pozytywnie) na wydajność wyszukiwania, nie są w stanie rozwiązać wszystkich wad backtrackingu. Prawdopodobnie główną wadą jest ignorowanie informacji o przyczynie niewykonalności ograniczenia. Jeśli algorytm odkryje, że zmiennej nie można przypisać wartości, bezmyślnie cofa się do ostatniej instancji zmiennej, mimo że przyczyna konfliktu może leżeć gdzie indziej. Istnieją techniki takie jak backjumping, które pozwalają wykryć zmienną, której instancjacja spowodowała problem, i cofnąć się do niej (backjump). Techniki te należą do szerszej klasy inteligentnych backtrackingów, które podzielają ideę inteligentnego odzyskiwania po niewykonalności. Chociaż techniki te są interesujące i wykraczają daleko poza proste enumeracje, wydaje się, że lepiej zapobiegać niewykonalności niż ją odzyskiwać (nawet w inteligentny sposób).

Filtrowanie domeny i utrzymanie spójności

Załóżmy zmienne A i B z dziedziną {1, 2, 3} i prostym ograniczeniem A < B. Oczywiste jest, że wartość 3 nigdy nie może zostać przypisana do zmiennej A, ponieważ nie ma sposobu na spełnienie ograniczenia A < B, jeśli ta wartość jest używana dla zmiennej A. W związku z tym wartość tę można bezpiecznie usunąć z dziedziny zmiennej A i nie trzeba jej przyjmować podczas wyszukiwania. Podobnie, wartość 1 można usunąć z dziedziny zmiennej B. Ten proces nazywa się filtrowaniem domeny i jest realizowany za pomocą specjalnej procedury przypisanej do każdego ograniczenia. Filtrowanie domeny jest ściśle związane ze spójnością ograniczenia. Mówimy, że ograniczenie C jest (łuk) spójne, jeśli dla dowolnej wartości x w dziedzinie dowolnej zmiennej w zakresie C istnieją wartości w dziedzinach innych zmiennych w zakresie C takie, że krotka wartości spełnia warunek C. Taka krotka wartości nazywana jest wsparciem dla x. Filtrowanie domeny ma na celu uczynienie ograniczenia spójnym poprzez usunięcie wartości, które nie mają wsparcia. Filtrowanie dziedzinowe można zastosować do wszystkich ograniczeń w problemie, aby usunąć nieobsługiwane wartości z dziedzin zmiennych i zapewnić spójność całego problemu. Ponieważ ograniczenia są ze sobą powiązane, może być konieczne powtórzenie filtrowania dziedzinowego ograniczenia C, jeśli inne ograniczenie przycięło dziedzinę zmiennej w zakresie C. Zasadniczo filtrowanie dziedzinowe jest powtarzane do momentu osiągnięcia ustalonego punktu, który usuwa największą liczbę nieobsługiwanych wartości. Istnieje kilka procedur realizujących tę ideę, a schemat AC-3 jest najpopularniejszy:



Nie omówiliśmy tutaj szczegółów procedury filtrowania. Najprościej rzecz ujmując, może ona eksplorować spójne krotki w ograniczeniu, aby znaleźć wsparcie dla każdej wartości. Istnieją bardziej zaawansowane techniki, które zachowują pewne informacje pomiędzy powtarzającymi się wywołaniami filtru, a tym samym osiągają lepszą wydajność czasową . Często procedura filtrowania wykorzystuje semantykę ograniczenia, aby zrealizować filtrowanie szybciej. Na przykład filtrowanie dla ograniczenia A < B można zrealizować usuwając z dziedziny A wszystkie wartości większe niż maksymalna wartość B (i podobnie dla B). Wróćmy do wyszukiwania. Nawet jeśli uczynimy wszystkie ograniczenia spójnymi, nie oznacza to, że uzyskaliśmy rozwiązanie. Na przykład problem ({A, B, C}, {1, 2, 3}, {A ≠ B, B ≠ C}) jest spójny w opisanym powyżej sensie, ale nie ma rozwiązania. Dlatego techniki spójności należy połączyć z wyszukiwaniem wstecznym, aby uzyskać kompletny solver ograniczeń. Najpierw zapewniamy spójność ograniczeń. Następnie rozpoczynamy wyszukiwanie wsteczne, jak opisano w poprzedniej sekcji, i po każdej instancji zmiennej ponownie zapewniamy spójność ograniczeń. Może się zdarzyć, że podczas procedury spójności jakaś dziedzina stanie się pusta. Wskazuje to na niespójność i możemy natychmiast cofnąć się. Ponieważ procedura spójności usuwa niespójności ze zmiennych, które nie zostały jeszcze utworzone, zapobiega to przyszłym konfliktom podczas wyszukiwania. Stąd ta zasada nazywana jest patrzeniem w przód, w przeciwieństwie do technik patrzenia wstecz, które koncentrują się na odzyskiwaniu po wykrytych konfliktach. Cały proces nazywany jest również utrzymywaniem spójności podczas wyszukiwania i można go zrealizować, zastępując procedurę spójności w etykietowaniu procedurą AC-3. Rysunek przedstawia różnicę między prostym wyszukiwaniem wstecznym (góra) a techniką patrzenia w przód (dół) podczas rozwiązywania znanego problemu z czterema hetmanami.



Zadanie polega na przydzieleniu hetmana do każdej kolumny szachownicy w taki sposób, aby żadne dwa hetmany nie atakowały się nawzajem. Zauważ, że metoda look-ahead rozwiązała metodę po czterech próbach, podczas gdy proste cofanie się nadal przydziela pierwsze dwie królowe. Oczywiście, im więcej niespójności uda się usunąć, tym mniejsze drzewo poszukiwań należy zbadać. Istnieją silniejsze techniki spójności, które zakładają kilka ograniczeń jednocześnie (zamiast filtrowania każdego ograniczenia osobno, jak opisaliśmy powyżej), ale są one zazwyczaj zbyt kosztowne obliczeniowo i dlatego nie są stosowane w każdym węźle drzewa poszukiwań. Niemniej jednak istnieje również kompromis między silniejszym a wydajnym filtrowaniem domeny, zwany ograniczeniem globalnym. Chodzi o to, aby zamknąć dobrze zdefiniowany podproblem w jednym ograniczeniu (zamiast w zestawie ograniczeń), a następnie zaprojektować szybki algorytm filtrowania dla tego ograniczenia. Typowym przykładem takiego globalnego ograniczenia jest ograniczenie "all-different", które obejmuje zbiór nierówności binarnych między wszystkimi parami zmiennych, a dzięki zastosowaniu filtrowania opartego na dopasowaniu w grafach dwudzielnych, osiąga silniejsze przycinanie (Régin, 1994). Rysunek 2 ilustruje, jak CSP z nierównościami binarnymi jest konwertowany na graf dwudzielny, gdzie dopasowanie oznacza spójną instancjację zmiennych.



Ograniczenia globalne stanowią potężny mechanizm integracji efektywnych algorytmów rozwiązywania w ogólne ramy spełniania ograniczeń. Istnieją dziesiątki ograniczeń globalnych zaprojektowanych dla konkretnych obszarów zastosowań , a także ogólne ograniczenia globalne.

PRZYSZŁE TRENDY

Przetwarzanie ograniczeń to dojrzała technologia, wykraczająca poza sztuczną inteligencję i współpracująca (i konkurująca) z technikami z takich dziedzin jak badania operacyjne i matematyka dyskretna. W ostatnich latach opracowano wiele technik spełniania ograniczeń, w tym dziesiątki specjalistycznych, jak i generycznych ograniczeń globalnych , a nowe techniki wciąż się rozwijają. Trendem technologicznym jest integracja technik z różnych dziedzin w celu kooperacyjnego i hybrydowego rozwiązywania problemów. Przetwarzanie ograniczeń może stanowić dobrą bazę dla takiej integracji (jak pokazały ograniczenia globalne), ale może również dostarczać technik rozwiązywania, które można zintegrować z innymi frameworkami, takimi jak SAT (spełnianie formuł logicznych w koniunktywnej postaci normalnej). Ten trend "hybrydyzacji i integracji" znajduje odzwierciedlenie w nowych konferencjach, na przykład CP-AI-OR (Międzynarodowa Konferencja Integracji Technik AI i OR w Programowaniu Ograniczeń dla Problemów Optymalizacji Kombinatorycznej). Paradoks szybkiego rozwoju technologii polega na tym, że jest ona trudniejsza w obsłudze dla użytkowników niebędących ekspertami. Zawsze istnieje kilka sposobów modelowania problemu za pomocą ograniczeń i chociaż modele te są równoważne pod względem poprawności, często nie są równoważne pod względem efektywności. Chociaż istnieje kilka zasad "dobrego modelowania ograniczeń" , nie istnieją powszechnie obowiązujące wytyczne dotyczące modelowania ograniczeń. W związku z tym czasami nie jest łatwo zaprojektować model, który będzie rozwiązywalny (w rozsądnym czasie) przez dostępne solvery ograniczeń. Dlatego jednym z najważniejszych wyzwań przetwarzania ograniczeń w nadchodzących latach jest przywrócenie tej technologii powszechnemu dostępowi poprzez zapewnienie zautomatyzowanych narzędzi do modelowania i reformułowania problemów, które utworzą oprogramowanie pośredniczące między solverami ograniczeń a użytkownikami niebędącymi ekspertami i sprawią, że święty Graal programowania - użytkownik zgłasza problem, a komputer go rozwiązuje - stanie się rzeczywistością.

WNIOSKI

W niniejszym artykule dokonano przeglądu popularnych technik spełniania ograniczeń, aby przedstawić zwięzłe podstawy technologii osobom, które chciałyby wykorzystać te techniki do rozwiązywania problemów optymalizacji kombinatorycznej. Uprościliśmy nieco techniki i terminologię, aby dopasować je do zakresu artykułu, zachowując jednocześnie podstawowe zasady. Należy pamiętać, że zaprezentowane techniki (i wiele innych) są już dostępne w istniejących systemach do rozwiązywania ograniczeń, takich jak biblioteka ILOG CP , SICStus Prolog , ECLiPSe , Mozart , Choco i inne systemy, dzięki czemu użytkownicy nie muszą ich programować od podstaw. Niemniej jednak zrozumienie podstawowych zasad jest ważne dla projektowania efektywnych modeli ograniczeń, które mogą być rozwiązywane przez te systemy. Przetwarzanie ograniczeń nie osiągnęło jeszcze szczytu programowania, ale szybko zmierza w tym kierunku.


Porównanie harmonogramów chłodzenia dla symulowanego wyżarzania



WSTĘP

Symulowane wyżarzanie jest jednym z najważniejszych metaheurystyk lub algorytmów ogólnego przeznaczenia optymalizacji kombinatorycznej, którego właściwości zbieżności w kierunku rozwiązań wysokiej jakości są dobrze znane, choć charakteryzują się wysokim kosztem obliczeniowym. Z tego powodu powstało wiele prac badawczych dotyczących szybkości zbieżności algorytmu, a zwłaszcza sposobu traktowania parametru temperatury, znanego jako harmonogram lub strategia chłodzenia. W niniejszym artykule przeprowadzamy badanie porównawcze wydajności symulowanego wyżarzania z wykorzystaniem najważniejszych strategii chłodzenia. W praktycznej analizie algorytmu wykorzystywane są dwa klasyczne problemy optymalizacji kombinatorycznej: problem komiwojażera i problem przyporządkowania kwadratowego.

WSTĘP

Głównym celem optymalizacji kombinatorycznej jest analiza i algorytmiczne rozwiązywanie problemów optymalizacji z ograniczeniami i zmiennymi dyskretnymi. Najważniejsze są problemy wymagające algorytmów o niewielomianowej złożoności czasowej w stosunku do rozmiaru problemu, zwane problemami NP-zupełnymi. Ogólne techniki rozwiązywania tego typu problemów należą do trzech różnych, ale powiązanych ze sobą dziedzin badawczych. Po pierwsze, możemy wymienić heurystyczne algorytmy wyszukiwania, takie jak deterministyczne algorytmy wyszukiwania lokalnego , stochastyczny algorytm symulowanego wyżarzania oraz wyszukiwanie tabu. Drugim rodzajem technik rozwiązywania problemów są algorytmy inspirowane genetyką i teorią ewolucji, takie jak algorytmy genetyczne i ewolucyjne oraz algorytmy memetyczne. Wreszcie, ze względu na kolektywne właściwości obliczeniowe niektórych modeli neuronowych, obszar sztucznych sieci neuronowych wniósł trzecie podejście, choć prawdopodobnie nie tak istotne jak poprzednie, do rozwiązywania problemów optymalizacji kombinatorycznej za pomocą sieci Hopfielda, maszyny Boltzmanna oraz mapy samoorganizującej się .

Algorytm symulowanego wyżarzania

Symulowane wyżarzanie to stochastyczna odmiana przeszukiwania lokalnego, która zawiera stochastyczne kryterium akceptacji rozwiązań o gorszej jakości, aby zapobiec przedwczesnemu uwięzieniu algorytmu w lokalnych optimach. To kryterium akceptacji jest oparte na algorytmie Metropolisa do symulacji systemów fizycznych poddanych działaniu źródła ciepła.

Algorytm (symulowane wyżarzanie). Niech będzie kombinatorycznym problemem optymalizacji (X, S, f, R) z funkcją generatora losowych k-sąsiadujących dopuszczalnych rozwiązań g : S × [0, 1 [? S. Zakładając, bez utraty ogólności, że f musi być minimalizowane, algorytm symulowanego wyżarzania można opisać w następujący sposób:

1. Ustal początkowe losowe dopuszczalne rozwiązanie jako bieżące rozwiązanie, si = s0.
2. Ustaw temperaturę początkową lub parametr sterujący T = T0.
3. Uzyskaj nowe rozwiązanie, które różni się od obecnego wartością k zmiennych, korzystając z funkcji generatora losowych k-sąsiadujących dopuszczalnych rozwiązań, sj = g(si, random[0,1[).
4. Jeśli nowe rozwiązanie sj jest lepsze od obecnego, f(sj) < f(si), to sj jest ustawiane jako obecne rozwiązanie, si = sj. W przeciwnym razie, jeśli ef(si)-f(sj)/ T > random[0,1[ , sj jest równie akceptowane jako obecne rozwiązanie, si = sj.
5. Jeśli liczba wykonanych przejść między stanami (kroki 3 i 4) dla bieżącej wartości temperatury jest równa L, to temperatura T jest zmniejszana.
6. Jeśli istnieją pewne k-sąsiadujące dopuszczalne rozwiązania w pobliżu obecnego, które nie zostały jeszcze przetworzone, należy powtórzyć kroki od 3 do 5. Algorytm kończy się w przypadku, gdy zbiór rozwiązań k-sąsiedzkich bliskich bieżącemu zostanie całkowicie przetworzony z prawdopodobieństwem bliskim 1 bez uzyskania jakiejkolwiek poprawy jakości rozwiązań.

Najważniejszą cechą algorytmu symulowanego wyżarzania jest to, że oprócz akceptacji przejść, które implikują poprawę kosztu rozwiązania, pozwala on również zaakceptować malejącą liczbę przejść, które oznaczają utratę jakości rozwiązania. Algorytm symulowanego wyżarzania zbiega asymptotycznie do zbioru globalnie optymalnych rozwiązań problemu. E. Aarts i J. Korst przedstawiają pełny dowód w swojej książce "Simulated Annealing and Boltzmann Machines: A Stochastic Approach to Combinatorial Optimization and Neural Computing" (1989). Zasadniczo warunek zbieżności w kierunku globalnego optimum określa, że temperatura T układu musi być zmniejszana logarytmicznie zgodnie z równaniem: Tk = T0/1 +Log(1+k) gdzie k = 0,1,...,n oznacza cykl temperaturowy. Jednak ta funkcja chłodzenia układu wymaga zaporowego czasu obliczeniowego, dlatego konieczne jest rozważenie szybszych metod obniżania temperatury.

Harmonogramy chłodzenia

Praktyczna implementacja symulowanego wyżarzania wymaga wygenerowania skończonej sekwencji malejących wartości temperatury T oraz skończonej liczby L przejść między stanami dla każdej wartości temperatury. Aby osiągnąć ten cel, należy określić harmonogram chłodzenia. Poniższy harmonogram chłodzenia, często stosowany w literaturze, został zaproponowany przez Kirkpatricka, Gelatta i Vecchiego (1983) i składa się z trzech parametrów: •  Temperatura początkowa, T0. Wartość początkowa temperatury musi być wystarczająco wysoka, aby każde nowe rozwiązanie wygenerowane w przejściu między stanami zostało zaakceptowane z pewnym prawdopodobieństwem bliskim 1.
•  Funkcja spadku temperatury. Zazwyczaj stosuje się wykładniczą funkcję spadku, taką jak Tk = T0 ⋅ αk, gdzie α jest stałą mniejszą od jednostki. Wartości typowe α wahają się między 0,8 a 0,99. •  Liczba przejść między stanami, L, dla każdej wartości temperatury. Intuicyjnie rzecz biorąc, liczba przejść dla każdej temperatury musi być wystarczająco wysoka, aby w przypadku braku akceptacji zmian w rozwiązaniu, cały zbiór k-sąsiadujących, dopuszczalnych rozwiązań w pobliżu aktualnego rozwiązania, mógł zostać przetworzony z prawdopodobieństwem bliskim 1. Temperaturę początkową, T0, i liczbę przejść między stanami, L, można łatwo uzyskać. Z drugiej strony, funkcja spadku temperatury była badana w licznych pracach badawczych

GŁÓWNY TEMAT

W tej sekcji opisano dziewięć różnych harmonogramów chłodzenia wykorzystanych w porównaniu algorytmu symulowanego wyżarzania. Wszystkie składają się z co najmniej trzech parametrów: temperatury początkowej T0, funkcji spadku temperatury oraz liczby przejść między stanami L dla każdej temperatury.

Multiplikatywne chłodzenie monotoniczne

W multiplikatywnym chłodzeniu monotonicznym, temperatura układu T w cyklu k jest obliczana poprzez pomnożenie temperatury początkowej T0 przez współczynnik malejący w stosunku do cyklu k. Rozważane są cztery warianty:

•  Wykładnicze chłodzenie multiplikatywne ,





zaproponowane przez Kirkpatricka, Gelatta i Vecchiego (1983), użyte jako punkt odniesienia w porównaniu różnych kryteriów chłodzenia. Spadek temperatury wynika z pomnożenia temperatury początkowej T0 przez współczynnik malejący wykładniczo względem cyklu temperaturowego k: Tk = T0 ⋅ αk ( 0,8 ≤ a ≤ 0,9 )

•  Logarytmiczne chłodzenie multiplikatywne (rysunek 1-B),



(α > 1)

oparte na warunku asymptotycznej konwergencji symulowanego wyżarzania , ale uwzględniające współczynnik a przyspieszenia chłodzenia, który umożliwia jego zastosowanie w praktyce. Spadek temperatury uzyskuje się mnożąc temperaturę początkową T0 przez współczynnik, który maleje odwrotnie proporcjonalnie do logarytmu naturalnego cyklu temperaturowego k:

Tk = T0 / 1 + αLog(1+k)

(α > 1)

•  Liniowe chłodzenie multiplikatywne (rysunek 1-C).



Spadek temperatury uzyskuje się mnożąc temperaturę początkową T0 przez współczynnik, który maleje odwrotnie proporcjonalnie do kwadratu cyklu temperaturowego k:

Tk = T0/1 +αk

(α > 0)

•  Kwadratowe chłodzenie multiplikatywne (rysunek 1-D).



Spadek temperatury uzyskuje się mnożąc temperaturę początkową T0 przez współczynnik, który maleje odwrotnie proporcjonalnie do kwadratu cyklu temperaturowego k:

Tk = T0/1 +αk2

(α > 0)

Chłodzenie monotoniczne addytywne

W chłodzeniu monotonicznym addytywnym należy uwzględnić dwa dodatkowe parametry: liczbę n cykli chłodzenia oraz temperaturę końcową Tn układu. W tym typie chłodzenia temperaturę układu T w cyklu k oblicza się, dodając do temperatury końcowej Tn człon malejący w stosunku do cyklu k. Rozważane są cztery warianty oparte na wzorach zaproponowanych przez B. T. Luke′a (2005):

•  Liniowe chłodzenie addytywne (rysunek 2-A).



Spadek temperatury oblicza się, dodając do temperatury końcowej Tn człon malejący liniowo względem cyklu temperaturowego k:

Tk = Tn + (T0 - Tn)(n-k/n) •  Kwadratowe chłodzenie addytywne (rysunek 2-B).



Spadek temperatury oblicza się, dodając do temperatury końcowej Tn człon malejący proporcjonalnie do kwadratu cyklu temperaturowego k:

Tk = Tn + (T0 - Tn)(n-k/n)2

•  Wykładnicze chłodzenie addytywne (rysunek 2-C).



Spadek temperatury oblicza się, dodając do temperatury końcowej Tn człon, który maleje odwrotnie proporcjonalnie do liczby e podniesionej do potęgi cyklu temperaturowego k:



•  Chłodzenie addytywne trygonometryczne (rysunek 2-D).



Spadek temperatury oblicza się, dodając do temperatury końcowej Tn człon malejący proporcjonalnie do cosinusa cyklu temperaturowego k:

Tk = Tn+1/2(T0-Tn)(1 + cos(kπ/n))

Chłodzenie adaptacyjne niemonotoniczne

W chłodzeniu adaptacyjnym niemonotonicznym temperatura układu T w każdej zmianie stanu jest obliczana poprzez pomnożenie wartości temperatury Tk, uzyskanej zgodnie z dowolnym z poprzednich kryteriów, przez współczynnik adaptacyjny μ oparty na różnicy między bieżącym celem rozwiązania, f(si), a najlepszym celem osiągniętym do tego momentu przez algorytm, oznaczony f*:

T = μTk= (1 + f(si - f*/f(si))Tk

Należy zauważyć, że nierówność 1 ≤ μ < 2 została zweryfikowana. Współczynnik μ oznacza, że im większa odległość między bieżącym rozwiązaniem a najlepszym osiągniętym rozwiązaniem, tym wyższa temperatura, a w konsekwencji tym większe są dozwolone przeskoki energii. Kryterium to jest wariantem kryterium zaproponowanego przez M. Locatelliego (2000) i może być stosowane w połączeniu z dowolnym z poprzednich kryteriów do obliczenia Tk. W porównaniu, w tym celu zastosowano standardowe chłodzenie wykładnicze iloczynowe. Zatem krzywa chłodzenia charakteryzuje się fluktuacyjnym, losowym zachowaniem, mieszczącym się między krzywą wykładniczą zdefiniowaną przez Tk a jej podwójną wartością 2Tk .

Problemy optymalizacji kombinatorycznej

Wykorzystane w porównaniu


Problem komiwojażera. Problem komiwojażera, TSP, polega na znalezieniu najkrótszej cyklicznej ścieżki, która okrąża n miast, tak aby każde miasto zostało odwiedzone tylko raz. Funkcja celu f, którą należy zminimalizować, jest dana wyrażeniem:



gdzie każda zmienna xi oznacza miasto odwiedzane w i-tym punkcie trasy, a d(xi,xji i xj. Testy przeprowadzono z użyciem dwóch różnych instancji euklidesowego TSP. Pierwsza z nich pozwala na objazd 47 miast europejskich, a druga - 80 miast.

Problem zadania kwadratowego. Problem Przydziału Kwadratowego, QAP, polega na znalezieniu optymalnej lokalizacji n warsztatów w p dostępnych miejscach (p ≥ n ), biorąc pod uwagę, że między każdymi dwoma warsztatami należy przetransportować określoną ilość towarów, a koszt jednostkowy różni się w zależności od lokalizacji warsztatów. Celem jest minimalizacja całkowitego kosztu transportu towarów między warsztatami. Funkcja celu f, którą należy minimalizować, jest podana wzorem:



gdzie każda zmienna xi oznacza miejsce, w którym znajduje się warsztat i, c(xi,xj) to koszt jednostkowy transportu towarów między miejscami, w których znajdują się sklepy i i j, a q(i,j) to ilość towarów, która musi zostać przetransportowana między tymi warsztatami. Testy zostały przeprowadzone z wykorzystaniem dwóch różnych instancji QAP: pierwszej z 47 warsztatami zlokalizowanymi w 47 miastach europejskich i drugiej z 80 warsztatami zlokalizowanymi w 80 miastach.

Wybór parametrów . Dla każdej instancji problemu wszystkie warianty algorytmu wykorzystują te same wartości temperatury początkowej T0 i liczby L przejść między stanami dla każdej temperatury. Temperatura początkowa T0 musi być wystarczająco wysoka, aby zaakceptować każde przejście między stanami do gorszego rozwiązania. Liczba L przejść między stanami musi gwarantować z prawdopodobieństwem η bliskim 1, że jeśli nie zostaną zaakceptowane żadne zmiany rozwiązania, można będzie przetworzyć dowolne rozwiązanie k-sąsiadujące, zbliżone do bieżącego.

Aby określić pozostałe parametry obniżania temperatury dla każdego schematu chłodzenia przy podobnych warunkach czasu realizacji, bierzemy pod uwagę średnią temperaturę końcową oraz błąd standardowy temperatury σ wykładniczego mnożnika chłodzenia Kirkpatricka, Gelatta i Vecchiego ze współczynnikiem malejącym α = 0,95. Celem jest takie określenie parametrów spadku temperatury, aby temperatura w przedziale została osiągnięta w takiej samej liczbie cykli, jak w przypadku wykładniczego mnożnikowego chłodzenia. Rozróżniamy trzy przypadki:

o Multiplikatywne chłodzenie monotoniczne. Współczynnik spadku a, który pojawia się w równaniach spadku temperatury, musi umożliwiać osiągnięcie temperatury , czyli najwyższej temperatury, od której koniec algorytmu jest bardzo prawdopodobny, w takiej samej liczbie n cykli, jak w przypadku wykładniczego chłodzenia multiplikatywnego. Wiedząc, że dla tego chłodzenia liczba n cykli wynosi:



dla chłodzenia mnożnikowego logarytmicznego otrzymujemy:



dla chłodzenia mnożnikowego liniowego:



a dla chłodzenia mnożnikowego kwadratowego:



•  Chłodzenie monotoniczne addytywne. Temperatura końcowa wynosi , a liczba n cykli temperaturowych jest równa odpowiadającej im liczbie cykli chłodzenia wykładniczego mnożnikowego dla tej temperatury końcowej, czyli:



•  Chłodzenie adaptacyjne niemonotoniczne. Ponieważ chłodzenie adaptacyjne jest w testach łączone z chłodzeniem wykładniczym mnożnikowym, współczynnik spadku a, który pojawia się w równaniu spadku temperatury, musi również wynosić α = 0,95.

PRZYSZŁE TRENDY

Zgodnie z poprzednimi wynikami proponujemy kontynuację badań nad harmonogramami chłodzenia z symulowanym wyżarzaniem:

•  Analiza wpływu temperatury początkowej na wydajność algorytmu. Interesującym pomysłem mogłoby być oszacowanie zachowania algorytmu, gdy temperatura jest inicjowana z procentem od 10% do 90% typowej szacowanej wartości dla T0

•  Określenie optymalnej monotonicznej krzywej spadku temperatury, w oparciu o wykładnicze chłodzenie multiplikatywne. Możliwa byłaby dynamiczna zmiana parametru a w równaniu spadku temperatury, z niższymi wartościami początkowymi (α = 0,8) i wartościami końcowymi bliższymi 1 (α = 0,9), ale osiągnięciem średniej liczby cykli temperaturowych równej standardowemu przypadkowi ze stałym parametrem α = 0,95.

•  Zbadanie nowych niemonotonicznych metod obniżania temperatury w połączeniu z wykładniczym chłodzeniem multiplikatywnym. Metody te, podobnie jak metoda Locatelliego w porównaniu, mogłyby opierać się na modyfikacji temperatury w zależności od odległości od bieżącego celu do najlepszego celu odniesienia.

Chociaż te trzy kierunki pracy są niezależne, wydaje się jasne, że ostatecznym celem byłoby zintegrowanie wyników uzyskanych za pomocą tych kierunków, w celu zbudowania wysokiej jakości kombinatorycznej metaheurystyki optymalizacji opartej na symulowanym wyżarzaniu.

WNIOSKI

Główne wnioski, jakie można wyciągnąć z porównania harmonogramów chłodzenia algorytmu symulowanego wyżarzania, to:

•  Biorąc pod uwagę obiektywną jakość związaną z kształtem krzywej spadku temperatury, możemy stwierdzić, że symulowane wyżarzanie działa prawidłowo pod względem zdolności do ucieczki od lokalnych minimów, gdy krzywa ma umiarkowane nachylenie w początkowej i środkowej części przetwarzania, a łagodniejsze w końcowej części, tak jak ma to miejsce w standardowym wykładniczym chłodzeniu multiplikatywnym. Specyficzny kształt (wypukły, sigmoidalny) krzywej w początkowej i środkowej części nie wydaje się wyjątkowy.

•  Biorąc pod uwagę czas wykonania, błąd standardowy liczby iteracji wydaje się być powiązany z ogonem krzywej spadku temperatury w końcowej części algorytmu. Odwrotnie logarytmiczny ogon powoduje łagodniejszy końcowy spadek temperatury i wyższy błąd standardowy, podczas gdy odwrotnie kwadratowe i wykładnicze ogony znoszą się szybciej, zapewniając najlepsze wartości błędu standardowego algorytmu.

•  Biorąc pod uwagę zastosowanie niemonotonicznej metody spadku temperatury, możemy stwierdzić, że zastosowane kryterium nie tylko nie pogarsza ogólnej wydajności algorytmu, ale wydaje się mieć korzystny wpływ, który zasługuje na uwzględnienie i dokładniejsze zbadanie.


Podstawowe sieci neuronowe komórkowe. Przetwarzanie obrazu



WSTĘP

Od czasu swojej przełomowej publikacji w 1988 r. paradygmat sieci neuronowej komórkowej (CNN) przyciągnął uwagę społeczności badawczej, głównie ze względu na jego zdolność do integrowania złożonych procesów obliczeniowych w kompaktowe, programowalne w czasie rzeczywistym analogowe układy scalone VLSI. W przeciwieństwie do automatów komórkowych, model CNN zawiera nieliniowe procesory, które z analogowych danych wejściowych tablicy generują w czasie ciągłym analogowe dane wyjściowe tablicy przy użyciu prostego, powtarzalnego schematu kontrolowanego tylko przez kilka parametrów o wartościach rzeczywistych. CNN jest rdzeniem rewolucyjnego Analogowego Komputera Komórkowego, programowalnego systemu, którego struktura jest tak zwaną Uniwersalną Maszyną CNN (CNN-UM). Analogowe komputery CNN naśladują anatomię i fizjologię wielu narządów sensorycznych i przetwarzających, z dodatkową możliwością przechowywania danych i programów . W tym artykule omówiono główne cechy tego modelu sztucznej sieci neuronowej (ANN) i skupiono się na jego wybitnym i bardziej eksploatowanym zastosowaniu inżynieryjnym: cyfrowym przetwarzaniu obrazu (DIP).

KONTEKST

W poniższych akapitach przeprowadzono definicję parametrów i struktury CNN w celu wyjaśnienia praktycznego wykorzystania modelu w DIP. Standardowa architektura CNN składa się z prostokątnej tablicy M × N komórek C(i,j) o współrzędnych kartezjańskich (i,j), i = 1, 2, …, M, j = 1, 2, …, N. Każda komórka lub neuron C(i,j) jest ograniczony do spójnego sąsiedztwa lub sfery wpływu Sr(i,j) o dodatnim promieniu całkowitym r, który jest zbiorem wszystkich sąsiadujących komórek spełniających następującą właściwość:



Ten zestaw jest czasami określany jako sąsiedztwo (2r +1) × (2r +1), np. dla sąsiedztwa 3 × 3 r powinno wynosić 1. Tak więc parametr r kontroluje łączność komórki, tj. liczbę aktywnych synaps, które łączą komórkę z jej bezpośrednimi sąsiadami. Gdy r > N /2 i M = N, uzyskuje się w pełni połączoną sieć neuronową, w której każdy neuron jest połączony z każdą inną komórką w sieci, a Sr(i,j) jest całą tablicą. Ten skrajny przypadek odpowiada klasycznemu modelowi sieci neuronowej Hopfielda. Równanie stanu dowolnej komórki C(i,j) w strukturze tablicy M × N standardowej sieci neuronowej można opisać matematycznie za pomocą:



gdzie C i R są wartościami kontrolującymi przejściową odpowiedź obwodu neuronowego (podobnie jak filtr RC, zwykle ustawiony na jedność dla uproszczenia), I jest ogólnie stałą wartością, która odchyla lub proguje macierz stanu Z = {zij}, a Sr jest lokalnym sąsiedztwem komórki C(i, j) zdefiniowanym w (1), które kontroluje wpływ danych wejściowych X = {xij} i wyjścia sieciowego Y = {yij} dla czasu t. Oznacza to, że zarówno płaszczyzna wejściowa, jak i wyjściowa oddziałują ze stanem komórki poprzez definicję zestawu wag o wartościach rzeczywistych, A(i, j; k, l) i B(i, j; k, l), których rozmiar jest określany przez promień sąsiedztwa r. Macierze lub szablony klonowania A i B nazywane są odpowiednio operatorami sprzężenia zwrotnego i sprzężenia zwrotnego do przodu (lub sterowania). Standardowa sieć CNN jest zwykle definiowana ze stałymi wartościami dla r, I, A i B, co oznacza, że dla ustalonego obrazu wejściowego X, neuron C(i, j) jest dostarczany dla każdego piksela (i, j), ze stałymi obwodami ważonymi zdefiniowanymi przez szablon sprzężenia zwrotnego A, który łączy komórkę z płaszczyzną wyjściową Y, i przez szablon sterowania B, który łączy neuron z sąsiednimi pikselami wejściowymi xij ∈ X. Wartość stanu neuronu zij jest następnie dostosowywana za pomocą parametru odchylenia I i przekazywana jako dane wejściowe do funkcji liniowej po kawałku w celu określenia wartości wyjściowej yij. Tę funkcję można wyrazić jako



W kontekście przetwarzania obrazu obraz wejściowy w skali szarości X można przedstawić piksel po pikselu, używając liniowej mapy między wartością piksela (np. 8-bitową macierzą jasności całkowitej z 256 poziomami skali szarości) a interwałem wejściowym CNN [-1, +1], gdzie dolny limit jest używany do implementacji pełnej jasności (tj. bieli), a górny do czarnych pikseli

PODSTAWOWE PRZETWARZANIE OBRAZU CNN

Głównym zastosowaniem modelu CNN, ze względu na jego schemat przypominający splot, jest modelowanie i projektowanie DIP. W kolejnych podsekcjach przedstawiono szereg podstawowych podejść DIP, podkreślając znaczenie parametrów sieci poprzez podanie ilustrujących przykładów zastosowania. Zaczynając od standardowego modelu opisanego w poprzedniej sekcji, następuje definicja standardowej izotropowej sieci CNN. Następnie wykonano przykład zastosowania w logicznym przetwarzaniu DIP w celu wprowadzenia efektów nieliniowych, które implikują użycie szablonu sprzężenia zwrotnego innego niż zero.

Izotropowy model CNN

W przypadku nieruchomego obrazu X będzie niezmienne w czasie, a w przypadku wideo X = X(t). W najbardziej ogólnym przypadku r, A, B i I mogą się zmieniać w zależności od położenia i czasu, a szablony klonowania są definiowane jako nieliniowe, z możliwością integrowania sygnałów hamujących dla macierzy stanu, a nawet nieliniowych szablonów, które oddziałują z mieszanymi danymi wejścia-wyjścia-stanu. Te możliwe rozszerzenia podnoszą definicję specjalnej (i prostszej) klasy CNN, zwanej izotropową lub niezmienną w przestrzeni, w której r, A, B i I są ustalone dla całej sieci i w której wykorzystywane są liniowe operatory synaptyczne. Innymi słowy,



Zdecydowana większość szablonów zdefiniowanych w kompendium szablonów dla CNN-UM opiera się na tym izotropowym schemacie, używając r = 1 i obrazów binarnych na płaszczyźnie wejściowej. Jeśli nie jest używane żadne sprzężenie zwrotne (tj. A = 0), wówczas CNN zachowuje się jak sieć splotowa, używając B jako filtru przestrzennego, I jako progu i liniowego wyjścia kawałkami (3) jako ogranicznika lub nasyconego filtra wyjściowego. W ten sposób praktycznie każdy filtr przestrzenny z teorii DIP może być zaimplementowany na takim sterowanym w przód CNN, co zapewnia stabilność jego wyjścia. Na przykład szablon EDGE zdefiniowany przez



jest zaprojektowany do poprawnej pracy dla wejść binarnych, dając czarne (+1) piksele wyjściowe w lokalizacjach wejściowych, w których istnieje czarny piksel krawędziowy (tj. jeśli czarny piksel ma 1 białego sąsiada), i białe (-1) piksele w innych miejscach. Jednak gdy obraz wejściowy w skali szarości jest podawany do tego CNN, wyjście może nie być obrazem binarnym. Aby rozwiązać ten potencjalny problem, następująca modyfikacja jest wykonywana w EDGE CNN:



Definicja wartości bezwzględnej sprzężenia zwrotnego środka większej niż 1 w (6) zapewnia wyjście binarne, a tym samym stabilność sieci wyjściowej. Szablon B używany w tych CNN jest typu Laplace′a, mający ważną właściwość, że wszystkie otaczające wejściowe wagi synaptyczne są hamujące (tj. ujemne) i identyczne, ale waga synaptyczna środka jest pobudzająca, a średnia wszystkich wejściowych wag synaptycznych wynosi zero. Oprócz krawędzi, wypukłe rogi (tj. czarne piksele z co najmniej pięcioma białymi sąsiadami) mogą być również wykrywane za pomocą następującej modyfikacji jego parametrów:



Przykład ten ilustruje ważną rolę odgrywaną przez parametr progowy I. Parametr ten można postrzegać jako indeks odchylenia, który realokuje początek z0 funkcji wyjściowej (3)

Podstawowe operatory logiczne

Aby wykonać operacje logiczne na poziomie pikseli pomiędzy dwoma obrazami binarnymi X1 i X2, stan początkowy Z(0) sieci jest również wykorzystywany jako zmienna . W standardowej sieci CNN ze sprzężeniem zwrotnym ta zmienna Z(0) jest zwykle ustawiana na zero, ale może być również używana w celu uzyskania wyników ważnych dla innych zastosowań, takich jak wykrywanie ruchu i szacowanie. Na przykład dla unii zbiorów binarnych (logiczne LUB) zdefiniowano następujące szablony:



podczas gdy dla przecięcia zbiorów (logiczne AND) zmienne te są definiowane jako



Po raz kolejny wykorzystanie sprzężenia zwrotnego pobudzającego zapewnia stabilność wyjścia poprzez funkcję wyjściową nasycenia (3), a próg odpowiednio odchyla wynik końcowy.

Standardowa sieć CNN sterowana sprzężeniem zwrotnym

Szablony sprzężenia zwrotnego używane we wszystkich wcześniej opisanych sieciach CNN wykorzystują (jeśli w ogóle) tylko centralny element szablonu. Standardowa sieć CNN z niecentralnymi elementami sprzężenia zwrotnego niezerowymi to specjalna klasa, która wykazuje bardziej złożoną dynamikę niż te omówione do tej pory . Użycie elementu centralnego w A, a00 > 1, oznacza, że wyjście będzie binarne, tj. wyjście sieciowe nigdy nie będzie stabilne w liniowym obszarze funkcji nasycenia (3). Przy tym ograniczeniu, jeśli w szablonie sprzężenia zwrotnego zostanie ustawiony inny element, mogą wystąpić dwie możliwe sytuacje: aktywacja komórek w przeciwnej części tylko jednego z obszarów nasycenia (częściowa inwersja) lub inwersje komórek propagujących fale w obu stanach binarnych. Pierwszy rodzaj tych sieci CNN sterowanych sprzężeniem zwrotnym ma właściwość monoaktywacji, jeśli komórki tylko w jednym obszarze nasyconym mogą wejść do obszaru liniowego. Tak więc, jeśli komórki mogą wejść do obszaru liniowego z obszaru nasycenia dodatniego, to te komórki nasycone w części ujemnej muszą spełniać warunek, że całkowity wkład A, B i I w jego sferze wpływu Sr musi być mniejszy niż -1. To znaczy,



Z drugiej strony, jeśli komórki wchodzą do regionu liniowego tylko z regionu ujemnego nasycenia, to wkład dla dodatnich stabilnych komórek musi być wij(t) > 1. Można wykazać, że w monoaktywowanej sieci CNN z dodatnimi współczynnikami A, z a00 > 1 i nasyconymi wartościami początkowymi, wszystkie komórki, które wchodzą do regionu liniowego, zmieniają monotonicznie swój stan z (tylko) jednego obszaru nasyconego do drugiego, a zatem jest to stabilna sieć nieliniowa. Jeśli na przykład jeden element w A jest ujemny, stan przejściowy nie będzie monotoniczny, co niekoniecznie oznacza niestabilność sieci. Przykładem niemonotonicznej, ale stabilnej sieci CNN jest detektor połączonych komponentów (CCD) , którego szablony (dla przypadku poziomego) są następujące:



Do zaprojektowania jednokierunkowej, falowo-propagowanej, monoaktywowanej sieci CNN zdefiniowano binarny wzór aktywacji, który będzie wyzwalał stan przejściowy, dopóki nie zostanie osiągnięta stabilność wyjściowa . Przykładem tego typu stabilnej sieci CNN napędzanej sprzężeniem zwrotnym jest (poziomy) detektor cienia , którego parametry to:



TRENDY PRZYSZŁOŚCI

Inżynierowie i specjaliści nieustannie dążą do: konkurowania z naturą i naśladowania jej, zwłaszcza niektórych "inteligentnych" zwierząt. Jednym z obszarów, którym interesują się inżynierowie komputerowi, jest wzrok. W tym kontekście tzw. Bioniczne Oko osadzone w architekturze CNN-UM jest idealne do implementacji wielu przestrzenno-czasowych modeli neuromorficznych. Dzięki potężnemu zestawowi narzędzi do przetwarzania obrazu i kompaktowej implementacji VLSI CNN-UM można wykorzystać do programowania lub naśladowania różnych modeli siatkówek, a nawet ich kombinacji . Ponadto może łączyć modele oparte na biologii, modele inspirowane biologią i analogowe algorytmy przetwarzania obrazu sztucznego. Ta kombinacja z pewnością przyniesie szerszy rodzaj zastosowań i rozwoju.

WNIOSEK

W ciągu ostatniej dekady zbadano szereg innych postępów w zakresie definicji i charakterystyki CNN. Obejmuje to definicję metod projektowania i implementacji większych niż 3 × 3 sąsiedztw w CNN-UM , wydajną implementację technik półtonowania , implementację CNN niektórych technik kompresji obrazu lub projekt algorytmu szybkiej transformaty Fouriera opartego na CNN na sygnałach analogowych, między wieloma innymi. Niektóre z nich zostały również opisane w tej książce w artykule zatytułowanym Advanced Cellular Neural Networks Image Processing. W tym artykule omówiono ogólny przegląd głównych właściwości i cech modelu Cellular Neural Network, skupiając się na jego możliwościach DIP z podstawowego punktu widzenia. CNN jest obecnie podstawowym i potężnym zestawem narzędzi do zadań nieliniowego przetwarzania obrazu w czasie rzeczywistym, głównie ze względu na jego wszechstronną programowalność, która napędzała jego rozwój sprzętowy dla aplikacji do wykrywania obrazu.


Predykcja klas w zbiorach testowych z rozkładami przesuniętymi



WSTĘP

Uczenie maszynowe dostarczyło potężnych algorytmów, które automatycznie generują modele predykcyjne na podstawie doświadczenia. Jedną z konkretnych technik jest uczenie nadzorowane, w którym maszyna jest trenowana w celu przewidywania pożądanego wyniku dla każdego wzorca wejściowego x. Ten rozdział skupi się na klasyfikacji, czyli uczeniu nadzorowanym, gdy przewidywanym wynikiem jest etykieta klasy. Na przykład przewidywanie, czy u pacjenta w szpitalu rozwinie się rak, czy nie. W tym przykładzie etykieta klasy c jest zmienną o dwóch możliwych wartościach: "rak" lub "brak raka", a wzorzec wejściowy x jest wektorem zawierającym dane pacjenta (np. wiek, płeć, dietę, nawyki związane z paleniem itp.). Aby zbudować właściwy model predykcyjny, metody uczenia nadzorowanego wymagają zestawu przykładów xi wraz z odpowiadającymi im etykietami ci. Ten zestaw danych nazywany jest "zbiorem treningowym". Skonstruowany model jest następnie wykorzystywany do przewidywania etykiet zbioru nowych przypadków xj, zwanego "zbiorem testowym". W przykładzie przewidywania raka jest to faza, w której model jest wykorzystywany do przewidywania raka u nowych pacjentów. Jednym z powszechnych założeń w algorytmach uczenia nadzorowanego jest to, że struktura statystyczna zbiorów danych treningowych i testowych jest taka sama. Oznacza to, że zakłada się, że zbiór testowy ma taki sam rozkład atrybutów p(x) i taki sam rozkład klas p(c|x) jak zbiór treningowy. Jednakże, z różnych powodów, nie jest to zazwyczaj prawdą w rzeczywistych zastosowaniach. Na przykład, w wielu problemach zbiór danych treningowych jest uzyskiwany w określony sposób, który różni się od sposobu, w jaki zbiór danych testowych zostanie wygenerowany później. Ponadto, natura problemu może ewoluować w czasie. Zjawiska te powodują, że pTr(x, c) ? pTest(x, c), co może obniżyć wydajność modelu skonstruowanego w trakcie treningu. W niniejszym artykule przedstawiamy nowy algorytm, który pozwala na reestymację modelu skonstruowanego w trakcie treningu z wykorzystaniem nieoznakowanych wzorców testowych. Przedstawiamy właściwości konwergencji algorytmu i ilustrujemy jego wydajność na przykładzie problemu sztucznego. Na koniec pokazujemy jego mocne strony w kontekście diagnozy choroby serca, gdzie zbiór treningowy pochodzi z innego szpitala niż zbiór testowy.

WSTĘP

W praktycznych problemach struktura statystyczna zbiorów uczących i testowych może być różna, tj. pTr(x, c) ? pTest(x, c). Efekt ten może wynikać z różnych przyczyn. Na przykład z błędów w doborze próby zbioru uczącego. Inną możliwą przyczyną jest to, że zbiory uczące i testowe mogą być powiązane z różnymi kontekstami. Na przykład, model diagnostyki chorób serca stosowany w szpitalu, który różni się od szpitala, w którym zebrano zbiór danych uczących. Z kolei, jeśli szpitale znajdują się w miastach, w których ludzie mają różne nawyki, średni wiek itp., spowoduje to powstanie zbioru testowego o innej strukturze statystycznej niż zbiór uczący. Przypadek szczególny pTr(x) ? pTest(x) i pTr(c | x) = pTest(c | x) jest znany w literaturze jako "przesunięcie kowariancji". W kontekście uczenia maszynowego przesunięcie kowariancji może obniżyć wydajność standardowych algorytmów uczenia maszynowego. Zaproponowano różne techniki radzenia sobie z tym problemem, patrz na przykład . Sugerowano również uczenie transdukcyjne jako inny sposób poprawy wydajności, gdy struktura statystyczna zbioru testowego jest przesunięta względem zbioru uczącego . Statystyki wzorców x mogą również zmieniać się w czasie, na przykład w firmie o ciągłym napływie nowych i odchodzących klientów (rysunek 1). Jeśli jesteśmy zainteresowani zbudowaniem modelu predykcyjnego, statystyki klientów w momencie wykorzystania modelu będą różnić się od statystyk w trakcie uczenia. Wreszcie, często koncepcja, której należy się nauczyć, nie jest statyczna, lecz ewoluuje w czasie (na przykład, przewidując, które wiadomości e-mail są spamem, a które nie), co powoduje, że pTr(x, c) ? pTest(x, c). Problem ten znany jest jako "dryf koncepcji" i zaproponowano różne algorytmy, aby sobie z nim poradzić.

NOWY ALGORYTM KONSTRUKCJI KLASYFIKATORÓW, GDY ZBIORY TRENINGOWE I TESTOWE MAJĄ RÓŻNE ROZKŁADY

W niniejszym artykule przedstawiamy nową strategię uczenia się dla problemów, w których rozkłady statystyczne zbiorów treningowego i testowego są różne. Tę technikę można zastosować w problemach, w których występuje dryf koncepcji, błędy próbkowania lub inne zjawiska powodujące różnice w strukturze statystycznej zbiorów treningowego i testowego. Z drugiej strony, nasza strategia konstruuje jawne oszacowanie struktury statystycznej problemu w zbiorze danych testowych. Pozwala nam to skonstruować klasyfikator zoptymalizowany pod kątem nowych statystyk testowych i dostarczający użytkownikowi istotnych informacji o tym, które aspekty problemu uległy zmianie.

Algorytm

1. Skonstruuj model statystyczny { P~(x | c) , P~(c) } dla zbioru treningowego, stosując standardową procedurę (na przykład standardowy algorytm EM).
2. Przeprowadź ponowną estymację tego modelu statystycznego, wykorzystując nieoznaczone wzorce x ze zbioru testowego. W tym celu opracowaliśmy półnadzorowane rozszerzenie EM.
3. Użyj tego ponownie oszacowanego modelu statystycznego {P~ '(x | c) , P~ '(c) } do skonstruowania klasyfikatora zoptymalizowanego pod kątem zbioru testowego.

Reestymacja modelu: Półnadzorowane rozszerzenie metody EM

Standardowy algorytm EM (Dempster, Laird i Rubin, 1977) to iteracyjna procedura zaprojektowana w celu znalezienia optymalnych parametrów modelu statystycznego w ujęciu metody maksymalnego prawdopodobieństwa. W niniejszym artykule przedstawiamy rozszerzenie algorytmu EM, które reestymuje model statystyczny wyuczony w trakcie treningu, wykorzystując nieoznakowany zbiór testowy, przy założeniu, że powinien on przypominać model statystyczny wyuczony w trakcie treningu. Oznacza to, że algorytm znajduje minimalną wartość zmiany, jaką należy przyjąć dla modelu skonstruowanego w trakcie treningu (gdzie znane są klasy wzorców), aby wyjaśnić globalny rozkład atrybutów x w zbiorze testowym. Nazwijmy ? zbiorem różnych parametrów w modelu statystycznym naszego problemu. Na przykład, jeśli modelujemy P~(x c = 1) i P~(x c = 2) za pomocą mieszaniny odpowiednio dwóch i trzech rozkładów Gaussa, wówczas ? będzie składać się ze średnich, macierzy kowariancji i prawdopodobieństw 2+3 różnych rozkładów Gaussa w modelu. Oszacowanie ?Tr należy najpierw wykonać w zbiorze treningowym, stosując standardową technikę, taką jak zastosowanie EM dla każdej indywidualnej klasy. Następnie należy je przeliczyć na ?Te, używając nieoznaczonego zbioru testowego, optymalizując prawdopodobieństwo ~( ) P Te DTe, Tr, gdzie DTe to nieoznaczony zbiór testowy (wzorce testowe bez informacji o klasie). Maksymalizacja tej wielkości względem ?Te jest równoważna maksymalizacji wielkości L'? ln P~(DTe Te) + ln P~(Te Tr) którą nazwiemy "rozszerzonym logarytmem wiarygodności". Wyrażenie ~( ) P Te Tr implementuje błąd w reestymacji parametrów, który w naszym przypadku jest preferencją dla małych zmian. Wykorzystując ten rozszerzony logarytm wiarygodności, możliwe jest wyprowadzenie nowej wersji EM, która maksymalizuje L'. Aby to osiągnąć, rozważamy, podobnie jak w standardowych zastosowaniach EM, istnienie dodatkowych, ale ukrytych (lub "ukrytych") zmiennych h w problemie (Dempster, Laird i Rubin, 1977). Na przykład, jeśli modelujemy statystyki jako mieszaninę rozkładów Gaussa, zmienna ukryta wskazuje, który z rozkładów Gaussa faktycznie wygenerował wzór. Parametry naszego modelu statystycznego są zatem dwojakiego rodzaju: te a wpływające na rozkłady prawdopodobieństwa ukrytych zmiennych h i te b wpływające na pozostałe parametry modelu. Zatem ? = {a, b}. Na przykład, jeśli model statystyczny jest mieszaniną rozkładów Gaussa, a zawiera prawdopodobieństwa a priori różnych rozkładów Gaussa, a b składa się z macierzy średnich i macierzy kowariancji. Zakładamy, że człon penalizacji można zapisać jako:



Jesteśmy teraz w stanie opracować półnadzorowane rozszerzenie EM. Postępując zgodnie z tym samym schematem rozumowania, dochodzimy do następującego algorytmu.

1. Zainicjuj "Te ? Tr" i "Te ? Tr"
2. (Krok E): Oblicz dla wszystkich h i xi:



3. (Krok M):

Oblicz * Te, które maksymalizuje następującą wielkość (ustalając 'Te i 'Te):



Oblicz * Te, które maksymalizuje następującą ilość (ustalając 'Te i 'Te):



4. Zaktualizuj parametry: "Te ? *Te" i "Te ? *Te"

5. Przejdź do kroku 2, aż do osiągnięcia zbieżności L.

W tym wyprowadzeniu zagwarantowane jest również, że L' nie maleje na każdym kroku, więc nasz algorytm znajdzie co najmniej lokalne optimum L'. Z drugiej strony, człon penalizacji zapewni stabilność algorytmu (niewielkie zmiany w danych testowych prowadzą do niewielkich zmian w reestymacji) i pozwoli na powiązanie właściwej klasy z różnymi klastrami. Nasz algorytm zawiera jako przypadek szczególny standardowy algorytm EM, gdy rozkład ( ) C ~ P Te Tr nie jest brany pod uwagę lub jest zakładany jako jednorodny. W przykładach, które pokażemy w tym rozdziale, używamy prostego przypadku tego algorytmu, w którym model statystyczny składa się z jednego rozkładu Gaussa na klasę, a jedynie średnie rozkładów Gaussa są reestymowane. Wyraz penalizacji ln P ~ ( Te Tr) używany w tych przykładach jest proporcjonalny do odległości Mahalanobisa (Duda, Hart i Stork, 2001) między średnimi oszacowanymi w treningu i tymi reestymowanymi w teście (będziemy odnosić się do czynnika proporcjonalności jako g). Następnie dochodzimy do następującego uproszczonego algorytmu:

1. Zainicjuj '1, Te ? 1, Tr i '2, Te ? 2, Tr
2. (Krok E): Oblicz dla c=1,2 i wszystkich xi w zestawie danych testowych:



3. (Krok M):



i przejdź do kroku 2, aż do osiągnięcia zbieżności L′.

gdzie c?{1, 2} jest klasą wzorca; P~(c) jest prawdopodobieństwem a priori klasy c oszacowanym w zestawie treningowym; c, Tr i c, Te są średnimi wzorców klasy c odpowiednio w zestawach treningowym i testowym; Mc jest macierzą kowariancji klasy c oszacowaną w zestawie treningowym; ~p(x ,M) jest funkcją gęstości prawdopodobieństwa x, pod warunkiem, że została wygenerowana przez proces Gaussa średniej m i macierzy kowariancji M; d jest odjęciem średniej globalnej atrybutów w teście od średniej globalnej atrybutów w treningu; a NTe jest liczbą wzorców w teście.

Zastosowanie do problemu syntetycznego

Najpierw zilustrujemy nasz algorytm, wykorzystując prosty problem syntetyczny z dwiema klasami. W procesie uczenia klasę "szarą" wygenerowano z rozkładu Gaussa ze średnią [1,0; 1,0] i macierzą kowariancji [0,5; 0,0; 0,0; 0,5]; klasę "czarną" wygenerowano z rozkładu Gaussa ze średnią [1,0; 1,5] i macierzą kowariancji [0,5; 0,4; 0,4; 0,5]. Struktura statystyczna zbioru testowego różni się od struktury w procesie uczenia ze względu na przesunięcie klasy "czarnej" , która obecnie ma średnią [2,0; 1,0]. Minimalne błędy Bayesa zbioru uczącego i testowego wynoszą odpowiednio 27,7% i 18,8%. Najpierw konstruujemy model statystyczny zbioru treningowego składający się z jednego rozkładu Gaussa dla każdej klasy (rysunek 2c). Ten model statystyczny jest następnie wykorzystywany do konstruowania klasyfikatora w oparciu o liniową analizę dyskryminacyjną (LDA). Błąd tego klasyfikatora w trakcie treningu wynosi 34,1%. Po zastosowaniu do zbioru testowego, błąd tego klasyfikatora wzrasta do 66,0%. Nasz algorytm został następnie wykorzystany do ponownej estymacji modelu statystycznego zbudowanego w trakcie treningu z wykorzystaniem wzorców z nieoznakowanego zbioru testowego . Możemy zaobserwować, że nasz algorytm znajduje odpowiedni model statystyczny dla zbioru testowego. W rzeczywistości, po ponownym obliczeniu klasyfikatora LDA z wykorzystaniem ponownie oszacowanego modelu statystycznego, błąd w teście zmniejszył się do 20,5%.

Zastosowanie w diagnostyce chorób serca, gdy szpitale szkoleniowy i testowy różnią się

Przetestowaliśmy nasz algorytm, korzystając z bazy danych chorób serca z repozytorium uczenia maszynowego UCI . Celem jest przewidzenie, czy pacjent ma chorobę serca, czy nie, na podstawie danych osobowych (wiek, płeć, nałóg palenia tytoniu itp.) oraz wyników kilku badań medycznych, takich jak ciśnienie krwi i elektrokardiogramy. Baza danych chorób serca to w rzeczywistości połączenie czterech zestawów danych, z których każdy pochodzi z innego szpitala. Można by oczekiwać, że struktura statystyczna problemu będzie inna w różnych szpitalach, ponieważ pacjenci mieszkają w różnych miastach (a zatem czynniki środowiskowe mogą być różne), urządzenia pomiarowe nie są identyczne itp. Dlatego oczekujemy, że nasz algorytm poprawi wydajność klasyfikacji modelu zbudowanego w innym szpitalu. Sprawdziliśmy tę hipotezę, wykorzystując dane z Cleveland Clinic Foundation jako dane treningowe oraz dane z Węgierskiego Instytutu Kardiologii jako dane testowe. W obu przypadkach usunęliśmy atrybuty z kolumn 12 i 13, ponieważ często brakuje ich w węgierskim zestawie danych, i przeprowadziliśmy normalizację w każdym zestawie, tak aby atrybuty miały zerową średnią i wariancję jednostkową. Rezultatem jest 297 przykładów z Cleveland Clinic (149 z klasy 1, 148 z klasy 2) i 294 z Węgierskiego Instytutu Kardiologii (188 z klasy 1, 106 z klasy 2). Najpierw używamy PCA, aby zredukować wymiarowość problemu w zbiorze uczącym. Dlatego model statystyczny naszego problemu składa się teraz z macierzy średniej i kowariancji każdej klasy na osiach głównych. Następnie rozważany jest prosty klasyfikator, który przypisuje wzorcowi x klasę o najbliższym środku. Liczba głównych składowych jest automatycznie wybierana na podstawie wydajności klasyfikatora w losowym podzbiorze zbioru danych uczących, który został zarezerwowany dla tego zadania. Po skonstruowaniu modelu statystycznego zbioru uczącego, oceniliśmy wydajność klasyfikatora w zbiorze testowym, uzyskując wskaźnik błędu wynoszący 18,7%. W drugim kroku zastosowaliśmy nasz algorytm do reestymacji modelu statystycznego z wykorzystaniem ? = 0,01, a następnie sklasyfikowaliśmy wzorce testowe, stosując tę samą procedurę co poprzednio, czyli przypisując każdemu wzorcowi testowemu klasę z najbliższym środkiem. Błąd został w tym przypadku zredukowany do 15,3%. Jeśli powtórzymy tę samą strategię, używając bardziej rozbudowanego klasyfikatora, takiego jak oparty na liniowej analizie dyskryminacyjnej, zaobserwujemy zmniejszenie błędu z 17,0% do 13,9% po zastosowaniu naszego algorytmu.

PRZYSZŁE TRENDY

W przedstawionych tutaj przykładach zastosowaliśmy uproszczoną wersję naszego algorytmu, która zakłada model statystyczny składający się z jednego rozkładu Gaussa dla każdej klasy i wymaga jedynie ponownego oszacowania średnich za pomocą testu. Jednak nasze półnadzorowane rozszerzenie metody EM jest algorytmem ogólnym, który można stosować z dowolnymi parametrycznymi modelami statystycznymi (np. mieszaninami dowolnej liczby modeli niegaussowskich) i pozwala na ponowne oszacowanie dowolnego parametru modelu. Przyszłe prace będą obejmować badanie wydajności i odporności różnych typów modeli statystycznych w praktycznych problemach. Z drugiej strony, ponieważ nasze podejście opiera się na rozszerzeniu szeroko badanego standardowego algorytmu EM, oczekujemy, że możliwe będzie uzyskanie wyników analitycznych, takich jak granice błędu generalizacji, co uczyni algorytm atrakcyjnym również z perspektywy teoretycznej.

WNIOSKI

Zaprezentowaliśmy nową strategię uczenia się dla problemów klasyfikacyjnych, w których struktura statystyczna zbiorów uczących i testowych jest różna. W tego typu problemach wydajność tradycyjnych algorytmów uczenia maszynowego może ulec znacznemu pogorszeniu. Zaproponowano różne techniki radzenia sobie z różnymi aspektami problemu, takie jak strategie radzenia sobie z błędem doboru próby , strategie radzenia sobie z dryfem pojęć oraz uczenie transdukcyjne . Przedstawiona przez nas strategia uczenia się pozwala uwzględnić wszystkie te aspekty, dzięki czemu może być stosowana w problemach, w których występuje dryf pojęć, błędy próbkowania lub jakiekolwiek inne zjawiska powodujące różnice w strukturze statystycznej zbiorów uczących i testowych. Co więcej, nasz algorytm konstruuje jawny model statystyczny nowej struktury w zbiorze danych testowych, co jest niezwykle cenne dla zrozumienia dynamiki problemu i wykorzystania tej wiedzy w praktycznych zastosowaniach. Aby to osiągnąć, rozszerzyliśmy algorytm EM o wersję półnadzorowaną, która pozwala na reestymację modelu statystycznego zbudowanego w trakcie treningu z wykorzystaniem rozkładu atrybutów wzorców nieoznakowanego zbioru testowego.

Prognozowanie nowotworów ośrodkowego układu nerwowego (OUN) z wykorzystaniem danych o ekspresji genów - część I



WSTĘP

Automatyczna diagnostyka i prognozowanie nowotworów ośrodkowego układu nerwowego (OUN) stanowią ogromne wyzwanie ze względu na heterogeniczny fenotyp i genotyp komórek nowotworowych. Jednoznaczna charakterystyka tych guzów jest niezbędna dla dokładnego prognozowania i terapii. Chociaż obecne techniki obrazowania pomagają w badaniu cech anatomicznych guzów mózgu, nie zapewniają one skutecznego sposobu wczesnego wykrywania. Obecnie badanie histologiczne guzów mózgu jest powszechnie stosowane w celu postawienia trafnej diagnozy; jednak klasyfikacja i stopniowanie guza na podstawie wyglądu histologicznego nie zawsze gwarantują absolutną dokładność . W wielu przypadkach,wykrycie szczegółowych zmian na poziomie molekularnym za pomocą badania histologicznego może okazać się niewystarczające, ponieważ takie badanie może nie pozwolić na dokładne przewidywanie odpowiedzi terapeutycznej lub rokowania. Zbyt mała próbka biopsji dodatkowo pogłębia problemy. Aby osiągnąć bardziej wiarygodną diagnostykę i rokowanie guzów mózgu, pomiary ekspresji genów z mikromacierzy znajdują się w centrum uwagi wielu badaczy pracujących nad schematami predykcji guzów. Nasz proponowany schemat predykcji guzów omówiono w dwóch rozdziałach tego tomu. W części I (tym rozdziale) wykorzystujemy model analizy wariancji (ANOVA) do scharakteryzowania danych dotyczących ekspresji genów Affymetrix z próbek guzów ośrodkowego układu nerwowego , natomiast w części II omawiamy przewidywanie klas guzów na podstawie genów markerowych wybranych za pomocą technik opracowanych w tym rozdziale. W tym rozdziale szacujemy miary ekspresji genów specyficzne dla nowotworów w oparciu o model ANOVA i wykorzystujemy je do lokalizacji genów markerowych o istotnie zróżnicowanej ekspresji w różnych typach próbek guzów. Przedstawiamy również nowatorską metodę wizualizacji do walidacji procesu selekcji genów markerowych.

WSTĘP

Opracowano wiele metod statystycznych, które koncentrują się na problemie wyszukiwania genów markerowych o zróżnicowanej ekspresji w próbkach guzów . Na przykład Pomeroy i inni wykorzystują test t-Studenta do identyfikacji takich genów w próbkach guzów OUN u zarodków. Ze względu na nienormalność pomiarów ekspresji genów, wielu badaczy przyjęło stosowanie metod nieparametrycznych, takich jak test sumy rang Wilcoxona , jako solidną alternatywę dla procedur parametrycznych. W tym rozdziale badamy podejście typu Wilcoxona i dostosowujemy wynikające z niego procedury do lokalizacji genów markerowych. Zazwyczaj procedury statystyczne do analizy danych z mikromacierzy obejmują przeprowadzanie testów specyficznych dla genów. Ponieważ liczba rozważanych genów jest zazwyczaj duża, powszechną praktyką jest kontrolowanie potencjalnie dużej liczby fałszywie dodatnich wniosków i współczynników błędów rodzinnych (FWB) (prawdopodobieństwo wystąpienia co najmniej jednego fałszywie dodatniego stwierdzenia) poprzez zastosowanie korekt wartości p. Pollard oraz Van der Laan i zaproponowali metody kontroli współczynników błędów rodzinnych w oparciu o technikę resamplingu bootstrapowego Westfalla i Younga (1993). Benjamini i Hochberg (1995), Efron i inni (2001) oraz Storey i inni (2002, 2003a, 2003b, 2004) przedstawili różne techniki kontroli współczynnika fałszywych odkryć (FDR), który jest definiowany jako oczekiwany współczynnik fałszywego odrzucenia hipotezy zerowej o braku różnicowej ekspresji genów. Te techniki korekcji zyskały na znaczeniu w badaniach statystycznych dotyczących analizy danych z mikromacierzy. W niniejszym artykule stosujemy kontrolę FDR, ponieważ jest ona mniej konserwatywna niż wskaźniki błędów rodzinnych (FDM) w korygowaniu obserwowanych wartości p pod kątem fałszywych odkryć. Ponadto proponujemy nowatorską technikę wizualizacji genu markerowego, aby zbadać odpowiedni wybór punktu odcięcia w procesie selekcji genu markerowego. Przed przeprowadzeniem analizy formalnej należy zidentyfikować rzeczywiste poziomy ekspresji genów powiązane z różnymi grupami tkanek i odrzucić lub zminimalizować inne źródła zmienności. Takie podejście zaproponowali Townsend i Hartl (2002), którzy wykorzystują model bayesowski z małymi błędami zarówno mnożnikowymi, jak i addytywnymi, do wykrywania niewielkich, ale istotnych różnic w ekspresji genów. Alternatywnie, model ANOVA wydaje się naturalnym wyborem do szacowania rzeczywistej ekspresji genów . W kontekście danych z mikromacierzy cDNA, model ANOVA został po raz pierwszy zaproponowany przez Kerra.

TECHNIKI OCENY I WIZUALIZACJI EKSPRESJI GENÓW SPECYFICZNE DLA NOWOTWORÓW

Aby zilustrować naszą procedurę, wykorzystaliśmy dane z mikromacierzy zebrane przez Pomeroya dotyczące pacjentów z różnymi typami guzów zarodkowych. Wśród pacjentów znalazło się 60 dzieci z rdzeniakami zarodkowymi, 10 młodych dorosłych z glejakami złośliwymi, 5 dzieci z AT/RT, 5 z guzami rabdoidalnymi nerek/pozanerkowymi oraz 8 dzieci z nadnamiotowymi guzami neuroendokrynnymi (PNET). Najpierw wstępnie przetwarzamy dane, aby usunąć szum tła i efekty matrycowe. Przeskalowujemy surowe dane dotyczące ekspresji uzyskane z GeneChip firmy Affymetrix, aby uwzględnić różną intensywność chipów. Dane z mikromacierzy zazwyczaj charakteryzują się niepożądanymi źródłami zmienności, takimi jak fluktuacje intensywności w małej i dużej skali w obrębie plamek, nieaddytywne tło, artefakty produkcyjne, procedury sprzęgania i przetwarzania sond, przygotowanie celu i macierzy w procesie hybrydyzacji, tło i efekty nadmiernego świecenia oraz ustawienia skanera . W celu modelowania tych zmienności w literaturze opisano szereg metod. W naszej obecnej pracy zastosowano model ANOVA podobny do tego zastosowanego przez Kerra , który ułatwia uzyskanie miar ekspresji genów specyficznych dla guza na podstawie wstępnie przetworzonych danych z mikromacierzy. Nasz dwukierunkowy model ANOVA przedstawia się następująco:



gdzie, yjgk oznacza logarytm miary ekspresji genu dla k-tej replikacji g-tego genu w j-tej grupie guzów (k = 1,…, Kj; g = 1,…, G; j = 1,…, J); μ αg, βj, γjg odnoszą się odpowiednio do ogólnego efektu, głównego efektu g-tego genu, głównego efektu j-tej grupy guzów i efektu interakcji g-tego genu z j-tą grupą guzów, a εjgk jest błędem losowym o zerowej średniej i stałej wariancji. Zakładamy, że te terminy są niezależne; jednak nie przyjmujemy żadnych założeń co do ich rozkładu. Ten model zakłada, że szum tła i efekty macierzy zostały wyeliminowane na poprzednich etapach wstępnego przetwarzania. To założenie dobrze pasuje do naszych wstępnie przetworzonych danych. Powodem wybrania tego modelu jest to, że dobrze pasuje on do naszego celu, jakim jest zbudowanie odpowiednich prototypów guzów do predykcji. Uważamy, że prototypy guzów powinny być budowane wyłącznie w oparciu o specyficzne dla guza miary ekspresji genów. W tym modelu termin interakcji γjg stanowi rzeczywistą ekspresję genu g przypisywaną typowi guza j. Zatem wartość wkładu k-tej replikacji pomiaru genu g w tkance j do wartości ekspresji genu specyficznej dla guza można zapisać zgodnie z :



a ekspresję specyficzną dla guza szacuje się za pomocą równania (3):



gdzie,

? są najmniejszymi kwadratowymi oszacowaniami głównych efektów g-tego genu i j-tej grupy nowotworów w oparciu o replikacje. W niniejszym opisie traktujemy te oszacowania jako oszacowania efektów stałych. W analizie bayesowskiej wszystkie parametry można traktować jako efekty losowe. Wartości są brane pod uwagę w kolejnych krokach analizy wpływu k replikacji na ekspresję genu g u pacjenta z j-tej grupy nowotworów. Stosując kilka różnych procedur, takich jak test Shapiro-Wilka i wykresy prawdopodobieństwa normalnego, obserwujemy, że poziomy ekspresji genu w naszym zbiorze danych nie mają rozkładu normalnego. Dlatego w naszym zbiorze danych wybraliśmy test nieparametryczny, taki jak Wilcoxon dla problemu dwóch kategorii i Kruskala-Wallisa dla problemu pięciu kategorii, aby zidentyfikować znacząco różnicowo ekspresjonowane geny wśród typów próbek tkanek. Dostosowujemy wielość zastosowanych testów, kontrolując współczynnik fałszywych odkryć (FDR) za pomocą wartości q, zgodnie z propozycją Storeya. Przy wyborze różnicowo ekspresjonowanych genów, ścisłe odcięcie może pominąć niektóre ważne geny markerowe, podczas gdy hojny próg zwiększa liczbę wyników fałszywie dodatnich. Aby rozwiązać ten problem, wykorzystaliśmy równoległy wykres współrzędnych średnich ekspresji genów dla poszczególnych grup. Na tym wykresie równoległe i równomiernie rozmieszczone osie reprezentują poszczególne geny. Dla każdej grupy próbek guzów narysowano oddzielne linie łamane. Im bardziej średnie poziomy ekspresji genów różnią się między grupami, tym więcej miejsca pojawia się między liniami łamanymi na wykresie. Aby skutecznie zwizualizować geny o zróżnicowanej ekspresji, najpierw obliczamy średnią wartości ekspresji genów specyficznych dla guza w dowolnym konkretnym typie próbki tkanki , zgodnie z równaniem (3). Następnie standaryzujemy średnie wartości ekspresji genów uzyskane w równaniu (3) w następujący sposób:

gdzie i Następnie dzielimy geny na dwie grupy. Pierwsza grupa składa się z genów, dla których , a pozostałe geny pozostają w drugiej grupie. Grupujemy je tak, aby linie reprezentujące typ guza na naszym wykresie się nie przecinały. Teraz, w obrębie każdej grupy genów, ponownie dzielimy geny na podgrupy, tak aby geny o podobnej ekspresji były grupowane razem. Do tego podziału wykorzystujemy podejście analizy wariancji oparte na samoorganizującej się mapie (SOM) Następnie, w obrębie każdej z podgrup, geny są porządkowane zgodnie z ?. Ta dalsza metoda podziału i porządkowania nadaje odpowiednie kształty liniom reprezentującym typ guza, dzięki czemu użytkownik może szybko zwizualizować zdolność rozróżniania typu guza przez wybrane geny. Przed wygenerowaniem ostatecznego wykresu normalizujemy standaryzowane średnie wartości ekspresji ? w następujący sposób:



Na koniec, znormalizowane wartości ekspresji są wykreślane za pomocą współrzędnych równoległych, gdzie każda oś równoległa odpowiada konkretnemu genowi, a każda linia łamana konkretnemu typowi guza. Podgrupy każdego genu są wykreślane na oddzielnych wykresach. Algorytm 1 określa nasze sformalizowane podejście do wizualizacji genów. Celem takich wykresów jest jakościowy pomiar wydajności procesu selekcji genów i znalezienie odpowiedniego punktu odcięcia, który zmniejsza liczbę wyników fałszywie dodatnich, jednocześnie utrzymując wysoką liczbę wyników prawdziwie dodatnich. Poniższe wyniki ilustrują użyteczność naszej metody wizualizacji przedstawionej w Algorytmie 1. Wzory ekspresji genów markerowych związanych z grupami przeżycia i niepowodzenia leczenia rdzeniaka zarodkowego przedstawiono na rysunkach 2 i 3.

Linie ciągłe i przerywane reprezentują odpowiednio grupę niepowodzenia (zgonu) i przeżycia (życia). Geny są wybierane za pomocą metody Wilcoxona, która została wcześniej opisana, w której w zależności od wartości q, wybierana jest różna liczba genów. Na obu rysunkach Na rysunkach 2 i 3, każdy indywidualny wykres przedstawia grupę genów o podobnej ekspresji, zgrupowanych razem, zgodnie z krokiem 5 Algorytmu 1. Rysunki 2 i 3 przedstawiają odpowiednio 280 i 54 wybrane geny markerowe. Obserwujemy, że spośród 280 wybranych genów na rys. 2, wiele z nich wykazuje podobne wzorce ekspresji zarówno w grupie próbek z niepowodzeniem, jak i z przeżyciem, co wskazuje, że dwie grupy próbek znajdują się blisko siebie na osiach równoległych. Ponieważ każda oś przedstawia inny gen, wnioskujemy, że wiele genów na rys. 2 jest błędnie zidentyfikowanych jako geny markerowe (fałszywie dodatnie). Dla porównania, linie ciągłe i przerywane są od siebie oddalone na większości osi równoległych na rys. 3. Oznacza to, że średnie wartości ekspresji genów dla wybranych 54 genów znacznie różnią się między dwiema grupami próbek tkanek. Zatem ta wizualizacja pomaga w wyborze prawidłowego progu w procesie selekcji genów markerowych.

PRZYSZŁE TRENDY

W tym rozdziale szacujemy miary ekspresji genów specyficzne dla guza, wykorzystując model ANOVA. Parametry modelu określamy jako efekty stałe; jednak taka specyfikacja może nie zawsze być odpowiednia. Zamiast tego, traktowanie parametrów modelu jako efektów losowych może być bardziej odpowiednie dla zbioru danych mikromacierzy (Kerr i in., 2000). Zatem jednym z możliwych ulepszeń może być traktowanie wszystkich efektów w naszym modelu ANOVA jako losowych. Ponadto, określenie parametrów efektów losowych w ramach analizy bayesowskiej zapewnia formalny sposób wykorzystania wszelkiej wcześniejszej wiedzy na temat rozkładu parametrów, jeśli jest ona dostępna. Obecnie jesteśmy w trakcie wdrażania hierarchicznego podejścia bayesowskiego w naszej pracy, zgodnie z kilkoma nowszymi, istotnymi pracami.

WNIOSKI

Podjęliśmy próbę oszacowania specyficznych dla guza miar ekspresji genów za pomocą modelu ANOVA. Oszacowania te są następnie wykorzystywane do identyfikacji genów markerowych o zróżnicowanej ekspresji. W celu oceny identyfikacji genów markerowych zaproponowaliśmy nowatorskie podejście do wizualizacji średnich wartości ekspresji genów dla określonego typu tkanki. Proponowany wykres wizualizacji jest przydatny do jakościowej oceny skuteczności metod selekcji genów markerowych, a także do określenia odpowiednich punktów odcięcia w procesie selekcji. Badania opisane w tym rozdziale zostały częściowo sfinansowane z grantów badawczych udzielonych przez Fundację Whitakera, a głównym badaczem był Khan M. Iftekharuddin.

Prognozowanie nowotworów ośrodkowego układu nerwowego z wykorzystaniem danych o ekspresji genów - część II



WSTĘP

W tym rozdziale proponujemy nowatorski algorytm charakteryzowania różnych nowotworów ośrodkowego układu nerwowego. Proponowany algorytm zilustrowano analizą danych o ekspresji genów uzyskanych z próbek guzów ośrodkowego układu nerwowego za pomocą aplikacji Affymetrix. Jak omówiono w poprzednim rozdziale zatytułowanym: Prognozowanie nowotworów ośrodkowego układu nerwowego z wykorzystaniem danych o ekspresji genów, część I, wykorzystaliśmy model ANOVA do normalizacji pomiarów ekspresji genów na mikromacierzach. W tym rozdziale przedstawiamy systemowy sposób budowania prototypów guzów, aby ułatwić automatyczne prognozowanie nowotworów ośrodkowego układu nerwowego.

WSTĘP

Mikromacierze DNA, znane również jako genom lub chipy DNA, stały się ważnym narzędziem do przewidywania typów nowotworów ośrodkowego układu nerwowego. Kilku badaczy wykazało, że analiza klastrowa danych ekspresji genów uzyskanych z mikromacierzy DNA jest pomocna w znajdowaniu funkcjonalnie podobnych genów, a także w przewidywaniu różnych typów nowotworów. Eisen i inni (1998) zastosowali hierarchiczną klasteryzację sprzężeń średnich ze współczynnikiem korelacji jako miarę podobieństwa w porządkowaniu wartości ekspresji genów z danych z mikromacierzy. Wykazali, że funkcjonalnie podobne geny grupują się w ten sam klaster. Herwig i inni (1999) zaproponowali wariant algorytmu k-średnich do grupowania genów klonów cDNA. Tomayo i inni (1999) wykorzystali samoorganizujące się mapy cech (SOFM) do porządkowania genów w biologicznie istotne grupy. Stwierdzili, że modele SOFM ujawniają rzeczywistą strukturę klastrów w porównaniu ze sztywną strukturą hierarchicznego klasteryzacji i bezstrukturalnego podejścia K-średnich. Biorąc pod uwagę relacje wiele do wielu między genami a ich funkcjami, Dembele i inni (2003) zaproponowali rozmytą technikę klasteryzacji C-średnich. Głównym celem tych procedur klasteryzacji było grupowanie genów na podstawie ich funkcjonalności. Jednak żadna z tych prac nie oferuje systematycznego sposobu odkrywania lub przewidywania grup próbek tkanek, jak proponujemy w naszej obecnej pracy. Aby zidentyfikować grupy próbek tkanek, Alon i inni (1999) zaproponowali algorytm klasteryzacji, który wykorzystuje algorytm wyżarzania deterministycznego do organizacji danych w drzewie binarnym. Alizadeh i inni. (2000) zaprezentowali skuteczny schemat klasyfikacji molekularnej nowotworów na podstawie wzorców ekspresji genów, wykorzystując algorytm hierarchicznego klasteryzacji sprzężeń średnich z korelacją Pearsona jako miarą podobieństwa. Jednakże w pracach nie opisano formalnego sposobu przewidywania kategorii nowej próbki tkanki. Takie problemy z przewidywaniem klas zostały rozwiązane przez Goluba i innych (1999), którzy wykorzystali modele SOFM do skutecznego rozróżnienia dwóch typów ostrej białaczki u ludzi. Dettling i inni (2002) włączyli zmienne odpowiedzi do klasteryzacji genów i zlokalizowali grupy genów o zróżnicowanej ekspresji na podstawie wyników klasteryzacji. Te grupy genów zostały następnie wykorzystane do przewidywania kategorii nowych próbek. Jednakże żadna z wyżej wymienionych prac nie uwzględniała korelacji między genami w klasyfikacji i/lub przewidywaniu próbek tkanek. Co więcej, żadna z nich nie przedstawiła systematycznego sposobu postępowania z prawdopodobnymi podgrupami w obrębie znanych grup. W tym rozdziale rozważamy zarówno korelacje między genami, jak i prawdopodobne podgrupy w obrębie znanych grup, tworząc odpowiednie prototypy guzów. Co więcej, poważną wadą tych analiz jest niewystarczająca normalizacja. Chociaż większość tych metod normalizuje zbiór danych w celu usunięcia efektów macierzy, nie koncentrują się one na usuwaniu innych źródeł zmienności obecnych w danych z mikromacierzy. Naszym głównym celem w tym rozdziale jest opracowanie zautomatyzowanego schematu predykcji dla guzów ośrodkowego układu nerwowego, opartego na ekspresji genów z mikromacierzy DNA w próbkach tkanek. Proponujemy nowy algorytm do tworzenia prototypów dla różnych typów guzów ośrodkowego układu nerwowego, w oparciu o dane dotyczące ekspresji genów z mikromacierzy Affymetrix HuGeneFL pochodzące od Pomeroy i in. (2002). Klasyfikując próbki guzów OUN na podstawie ekspresji genów, bierzemy pod uwagę informacje molekularne, takie jak korelacje między ekspresją genów i prawdopodobnymi podgrupami w obrębie znanych typów histologicznych guzów. Pokazujemy, jak ten model można wykorzystać do przewidywania guzów OUN.

PROTOTYP GUZA OUN DO AUTOMATYCZNEGO WYKRYWANIA GUZÓW

Schemat budowy prototypów guzów przedstawiono na rysunku.



W pierwszym kroku uzyskujemy miary ekspresji genów specyficzne dla typu guza. Następnie identyfikujemy geny markerowe, których ekspresja jest istotnie zróżnicowana w zależności od typu tkanki. Następnie, za pomocą techniki wizualizacji, analizujemy trafność procesu selekcji genu markerowego. Organizujemy geny markerowe w grupy, tak aby geny silnie skorelowane były grupowane razem. W tym procesie klasteryzacji geny są grupowane na podstawie miar ekspresji genów specyficznych dla typu guza. Następnie uzyskujemy miary ekspresji genów własnych dla każdej indywidualnej grupy genów poprzez projekcję ekspresji genów na kilka pierwszych głównych składowych. Na koniec tego etapu zastępujemy pomiary ekspresji genów wartościami ekspresji genów własnych, które zachowują korelacje między silnie skorelowanymi genami. Następnie dzielimy próbki tkanek znanych typów guzów na podgrupy. Centroidy tych podgrup próbek tkanek z ekspresją genów własnych reprezentują prototyp odpowiadającego im typu guza. Ostatecznie, każda nowa próbka tkanki jest przewidywana jako typ guza najbliższego centroidu. Ten proponowany, nowatorski schemat predykcji uwzględnia zarówno korelację między silnie skorelowanymi genami, jak i prawdopodobną podgrupę fenotypową w obrębie znanych typów guzów. Kwestie te są często pomijane w literaturze w kontekście przewidywania kategorii guzów. Szczegółowe informacje na temat etapów poprzedzających identyfikację genów markerowych przedstawiono w poprzednim rozdziale zatytułowanym: "Przewidywanie guzów ośrodkowego układu nerwowego z wykorzystaniem danych o ekspresji genów, część I". W tej sekcji przedstawiamy szczegóły kolejnych etapów. Teraz omówimy tworzenie prototypów guzów, wykorzystując specyficzne dla guza wartości ekspresji naszych genów markerowych o znacząco zróżnicowanej ekspresji, zidentyfikowanych w poprzednim etapie. Wiele genów markerowych prawdopodobnie jest silnie skorelowanych. Takie korelacje genów wpływają na pomyślną klasyfikację guza. Jednak ta korelacja między genami może dostarczyć ważnych informacji biologicznych. W związku z tym uwzględnienie odpowiednich korelacji między genami w modelu guza może pomóc w uzyskaniu bardziej biologicznie znaczącej prognozy guza. Aby sprostać tej nietrywialnej potrzebie, najpierw grupujemy silnie skorelowane geny, stosując hierarchiczne podejście pełnego sprzężenia, w którym współczynnik korelacji jest traktowany jako miara podobieństwa par genów. Następnie, dla każdego z klastrów, obliczamy główne składowe (PC) i rzutujemy geny odpowiadającego klastra na pierwsze 3 PC, aby uzyskać ekspresje genów własnych. Należy zauważyć, że PC i ekspresje genów własnych są obliczane oddzielnie dla każdego klastra. Takie geny własne kodują informacje o korelacji między silnie skorelowanymi genami, które są zgrupowane razem. Ostatnio opisano molekularnie odrębne podgrupy w obrębie tego samego typu histologicznego guza (Taylor i in., 2005). Aby znaleźć podgrupowanie w obrębie tego samego typu histologicznego guza, ponownie wykorzystujemy mapy samoorganizujące (SOM) do grupowania próbek tkanek w obrębie każdej grupy guzów. To podgrupowanie w obrębie każdej grupy odzwierciedla możliwe zróżnicowanie genotypowe w obrębie tego samego typu histologicznego guza. Teraz prototyp dowolnego określonego typu histologicznego guza składa się z centroidu uzyskanego z odpowiedniej siatki SOM. Algorytm 1 przedstawia kroki budowy prototypu guza. Aby przewidzieć kategorię guza dowolnej nowej próbki, obliczamy odległości między nową próbką a każdą z prototypowych podgrup uzyskanych za pomocą Algorytmu 1. Kategoria próbki jest przewidywana jako kategoria najbliższej podgrupy. Odległość między nową próbką a x-tą podgrupą, dx, jest obliczana na podstawie odległości euklidesowej w następujący sposób:



gdzie jest wartością środkową k-tego genu własnego w x-tej podgrupie, gk jest miarą ekspresji k-tego genu własnego nowej próbki, a N jest całkowitą liczbą genów własnych. Ta miara odległości celowo ignoruje niereprezentatywne korelacje między ekspresjami genów własnych, ponieważ nie są one naturalne i dlatego trudne do interpretacji. Tabela 1 przedstawia skuteczność naszego modelu w klasyfikowaniu pięciu kategorii tkanek jednocześnie. Obserwujemy, że nasz schemat predykcji przewyższa inną metodę predykcji we wszystkich trzech przypadkach. Najbardziej zauważalna różnica występuje w grupie danych C, gdzie uzyskujemy 100% dokładność predykcji w porównaniu z 78% dokładnością.

PRZYSZŁE TRENDY

W niniejszej pracy oszacowaliśmy miarę ekspresji genów specyficzną dla guza, wykorzystując model ANOVA z parametrami jako efektami stałymi. Jak omówiono w sekcji dotyczącej przyszłych trendów w rozdziale zatytułowanym: "Prognozowanie guzów ośrodkowego układu nerwowego z wykorzystaniem danych o ekspresji genów, część I", możemy traktować wszystkie efekty w naszym modelu ANOVA jako losowe i określić parametry efektów losowych w ujęciu bayesowskim. Po uzyskaniu rozkładów miar ekspresji genów specyficznych dla guza z zadowalającą pewnością, możliwe będzie uzyskanie bardziej reprezentatywnych prototypów guzów i sformalizowanie dokładniejszego schematu prognozowania guza. Reprezentacja prototypów guzów za pomocą mieszaniny modeli Gaussa może zapewnić lepszą reprezentację. W takim przypadku określenie liczby składników w mieszaninie jest kolejnym zagadnieniem badawczym pozostawionym do dalszych prac.

WNIOSKI

W celu automatycznej predykcji guza zaproponowaliśmy nowy algorytm do budowy prototypów guzów ośrodkowego układu nerwowego w oparciu o wartości ekspresji genów z mikromacierzy Affymetrix. Wygenerowaliśmy prototypy dla różnych typów histologicznych guzów, uwzględniając ich heterogeniczność genotypową w obrębie grup. Geny własne kodują korelacje między ekspresjami genów w prototypach. Ponadto, miary ekspresji genów własnych pochodzą z oszacowanych miar ekspresji genów specyficznych dla guza, które są wolne od innych niepożądanych źródeł zmienności. Zaproponowaliśmy nowatorską, płynną procedurę, która integruje normalizację i predykcję guza, uwzględniając zarówno prawdopodobne podgrupowania w obrębie znanych typów guzów, jak i prawdopodobne korelacje między genami. Silna zgodność naszych wyników z aktualną klasyfikacją molekularną dostępnych typów guzów sugeruje, że nasz proponowany model i jego unikalne rozwiązanie mają istotną wartość praktyczną w automatycznym wykrywaniu guzów ośrodkowego układu nerwowego. Badania w tym rozdziale zostały częściowo sfinansowane z grantów badawczych [RG-01-0125, TG-04-0026] udzielonych przez Fundację Whitakera, a głównym badaczem był Khan M. Iftekharuddin.


Projektowanie termiczne kuchenki gazowej



WSTĘP

Ostatnie postępy w zastosowaniach sieci neuronowych (SN) zaowocowały sukcesami w analizie szeregów czasowych, eksploracji danych, inżynierii lądowej i wodnej, analizie finansowej, tworzeniu muzyki, przewidywaniu połowów, harmonogramowaniu produkcji, wykrywaniu intruzów itp., co czyni je ważnym narzędziem badań i rozwoju . Sieci neuronowe (SN) i techniki obliczeń ewolucyjnych (EC) zostały z powodzeniem zastosowane w rozwiązywaniu rzeczywistych problemów, w tym tych ze składową czasową . W innej pracy hybrydowa metoda oparta na połączeniu obliczeń ewolucyjnych i sieci neuronowych (NN) została wykorzystana do przewidywania szeregów czasowych. W świecie baz danych różne strategie oparte na ANN zostały wykorzystane do wyszukiwania i ekstrakcji wiedzy . Inteligentne systemy neuronowe zostały zbudowane z pomocą technik EC opartych na algorytmach genetycznych, a systemy te zostały zastosowane w diagnostyce raka piersi. Algorytmy genetyczne (GA) zostały zastosowane do opracowania ogólnej metody wyboru najbardziej odpowiedniego podzbioru zmiennych w dziedzinie chemii analitycznej w celu klasyfikacji napojów jabłkowych . Nowe metody ANN umożliwiają inżynierom budownictwa wykorzystanie obliczeń na różne sposoby. Oprócz narzędzia w miejskich systemach odwodnień burzowych , ANN i programowanie genetyczne (GP) zostały zaimplementowane do prognozowania i modelowania przepływu w typowej zlewni miejskiej . W tym drugim przypadku wykazano, że te dwie techniki można połączyć w celu zaprojektowania systemu alarmowego w czasie rzeczywistym dla powodzi lub ostrzegania o osiadaniu w różnych typach zlewni miejskich. Opracowano również modele ANN dla spójności, mierzonej opadem, w przypadku betonu konwencjonalnego . W prognozie szeregów czasowych kwartalnych wartości składnika medycznego wskaźnika cen konsumpcyjnych (CPI), wyniki uzyskane zarówno za pomocą sieci neuronowych, jak i funkcjonalnych okazały się dość podobne . Redukcja wymiarowości, redukcja zmiennych, sieci hybrydowe, normalna rozmyta i ANN zostały zastosowane do przewidywania ratingu wiązań . Niedawne badanie online w ISI Web of Knowledge z użyciem słów kluczowych takich jak "ANN" i "projektowanie termiczne" ujawniło jedynie dziesięć istotnych publikacji SCI. W obszarze przetwórstwa żywności ANN wykorzystano do przewidywania maksymalnej lub minimalnej temperatury osiąganej w próbce po sprężaniu oraz czasu potrzebnego do ponownego osiągnięcia równowagi termicznej. Dokładne określenie właściwości termofizycznych mleka jest bardzo ważne dla projektowania, symulacji, optymalizacji i kontroli procesów przetwórstwa żywności, takich jak parowanie, wymiana ciepła, suszenie rozpyłowe itd. Zasadniczo do przewidywania tych właściwości stosuje się metody wielomianowe w oparciu o korelację empiryczną z danymi eksperymentalnymi. Stwierdzono jednak, że ANN oferuje lepsze możliwości przewidywania ciepła właściwego, przewodności cieplnej i gęstości mleka niż modelowanie wielomianowe i została zasugerowana jako rozsądna alternatywa dla modelowania empirycznego właściwości termofizycznych żywności. Symulacja numeryczna reaktora wrzącej wody z naturalną cyrkulacją jest ważna dla badania jego wydajności dla różnych projektów i w różnych warunkach pozaprojektowych. Stwierdzono, że bardzo szybkie symulacje numeryczne, przydatne w rozległych badaniach parametrycznych i rozwiązywaniu problemów optymalizacji projektu, można uzyskać dzięki zastosowaniu modelu ANN systemu . Modele ANN i algorytmy genetyczne zastosowano do opracowania modeli predykcyjnych i optymalizacji obróbki cieplnej żywności w retorcie o stałej temperaturze . Technika ANN została wykorzystana jako nowe podejście do określania strat egzergii w transformatorze ciepła eżektorowo-absorpcyjnym (EAHT) . Wyniki pokazują, że podejście ANN ma zalety szybkości obliczeniowej, niskiego kosztu wykonalności, szybkiego obiegu uzwojenia, co jest szczególnie ważne podczas iteracyjnych faz projektowania, oraz łatwości projektowania przez operatorów z niewielkim doświadczeniem technicznym. Podejście obliczeniowej mechaniki płynów jest często stosowane do analizy wymiany ciepła w obudowie BGA (ang. Ball Grid Array), która jest szeroko stosowana we współczesnym przemyśle elektronicznym. Ze względu na złożoną konfigurację geometryczną obudowy BGA, ANN została wytrenowana w celu ustalenia zależności między wejściem geometrycznym a wyjściem rezystancji termicznej . Wyniki niniejszego badania dostarczają branży opakowań elektronicznych niezawodną i szybką metodę projektowania systemów odprowadzania ciepła w obudowach BGA. Natryskiwanie termiczne to wszechstronna technika wytwarzania powłok, wykorzystująca szeroką gamę materiałów i procesów. Opracowano sieć neuronową (SN) w celu powiązania parametrów przetwarzania z właściwościami powłok ceramicznych z tlenku glinu i tytanu . Przewidywane wyniki wykazują globalną zgodność z wartościami eksperymentalnymi. Widać, że zastosowania sieci neuronowych (SN) w projektowaniu termicznym są rzadkie, a niniejszy artykuł ma na celu zbadanie zastosowania sieci neuronowych (SN) w projektowaniu palników kuchenek gazowych.

TŁO

Cele projektowe płyt kuchennych


Gazy zatrzymujące ciepło w atmosferze są często nazywane gazami cieplarnianymi. Należą do nich dwutlenek węgla, podtlenek azotu, metan i ozon. Ludzie mogą emitować gazy cieplarniane bezpośrednio, spalając ropę naftową lub gaz do ogrzewania domów i gotowania, lub pośrednio, wykorzystując energię elektryczną wytwarzaną ze spalania paliw kopalnych. W ciągu ostatnich 200 lat ludzkość emitowała do atmosfery znaczne ilości gazów cieplarnianych. Te dodatkowe emisje zwiększają stężenie gazów cieplarnianych (GHG) w atmosferze, wzmacniającnaturalny efekt cieplarniany, który uważa się za przyczynę globalnego ocieplenia. Aby zwalczać problem globalnego ocieplenia, dostawcy gazu i producenci urządzeń kuchennych starają się znaleźć sposoby na poprawę efektywności energetycznej przy jednoczesnej redukcji emisji gazów cieplarnianych. Ze względu na liczbę kontrolowanych czynników i reakcji, które należy zbadać, w tego typu badaniach empirycznych często stosuje się metodę projektowania eksperymentów (DOE). Autorzy zaproponowali zatem połączenie techniki DOE z podejściem ANN w celu rozwiązania problemu projektowania układów MIMO (wiele wejść i wiele wyjść). Aby osiągnąć optymalną sprawność cieplną i emisję gazów cieplarnianych, do symulacji warunków pracy wykorzystano sztuczną sieć neuronową z propagacją wsteczną, a szczegóły implementacji zilustrowano na przykładzie rzeczywistego przypadku.

BADANIE EMPIRYCZNE

Zastosowano trójczynnikowy, trójpoziomowy, pełny model czynnikowy (z 3 powtórzeniami) do zbadania złożonych zależności między trzema parametrami projektowymi palnika płyty kuchennej, tj. liczbą Reynoldsa, współczynnikiem równoważności oraz wysokością obciążenia (odległością od dyszy do dolnej powierzchni naczynia kuchennego). Zakres rozpatrywanej liczby Reynoldsa (Re) waha się od 400 do 700. W eksperymencie wykorzystano palnik płyty kuchennej wykonany na zamówienie z pierścieniem o średnicy 128 mm i okrągłymi dyszami (średnica = 6 mm). W eksperymentach zastosowano płomienie bogate w paliwo (odpowiadające współczynnikom równoważności od 1,4 do 1,8), podobne do tych występujących w rzeczywistych warunkach gotowania. Wysokość ładunku waha się od 24 mm do 32 mm (co odpowiada stosunkowi H/d od 4 do 8). Aby umożliwić różne odstępy między grupami dysz, rozważono cztery konfiguracje palnika płyty kuchennej: 2-dyszową (6 sekcji), 3-dyszową (4 sekcje), 4-dyszową (3 sekcje) i 6-dyszową (2 sekcje). Konfiguracje te oznaczono odpowiednio numerami 1, 2, 3 i 4 .



Dla każdej konfiguracji przeprowadzono łącznie 108 eksperymentów. Wyniki eksperymentów wykazały, że konfiguracja 3-dyszowej sekcji 4-sekcyjnej, oparta na wstępnie określonych warunkach wejściowych: Re = 550, EqR = 1,6 i H/d = 8, zapewni najlepszą sprawność cieplną (62%) oraz akceptowalną emisję CO i NOx.

o Model sprawności palnika

Sprawność cieplna palnika jest definiowana jako procent ciepła przenoszonego do wody w zbiorniku załadowczym. Została ona określona poprzez pomiar czasu, jaki upłynął od podgrzania standardowego wsadu wody o masie 4 kg z 30?C do 80?C, oraz odpowiadającego mu zużycia LPG. Matematycznie sprawność cieplna jest obliczana jako:

η = (MCpΔT/QHv)*100% (1)

gdzie M(kg) to masa ładunku wody, Cp(kJ/kg°C) to ciepło właściwe wody, Q(m3) to zużycie LPG, ?T(°C) to wzrost temperatury, a Hv(kJ/m3) oznacza wartość opałową LPG. Analiza wariancji (ANOVA) zebranych danych wykazała, że model regresji kwadratowej przedstawiony w równaniu (2) może odpowiednio opisać sprawność cieplną (η). Do usunięcia nieistotnych składników zastosowano metodę krokową.

η = 0,49-0,05A-0,038B+0,17C-0,039CD+0,021B2-0,18C2 (2)

Gdzie -1 ≤ A, B, C ≤ 1 co odpowiada 400 ≤ Re ≤ 700; 1,4 ≤ Re ≤ 1,8; 4 ≤ H/d ≤ 8 Skorygowane współczynniki korelacji wielokrotnej i odpowiedniej precyzji wyniosły odpowiednio 0,95 i 29,63.

o Modele emisji z palników

Podobnie, w oparciu o wartości skorygowanej korelacji wielokrotnej i współczynników odpowiedniej precyzji wygenerowanych z wyników analizy wariancji (ANOVA), modele regresji przedstawione w równaniach (3) i (4) odpowiednio opisują emisje CO i NOx.

CO = 1790,22 + 745,27 A + 557,01 B - 1721,41 C + 280,57 AB - 251,97 AC - 39,19 BC + 31,54 A2 - 67,06 B2 + 481,87 C2 (3)

NOx = 51,10 - 6,99 A - 6,26 B + 23,90 C + 2,22 AB - 3,77 AC - 5,58 BC (4)

Z modeli sprawności i emisji wynika, że łączny wpływ niektórych czynników projektowych może mieć znaczny wpływ na odpowiedzi.

,b>OPTYMALIZACJA SIECI NEURONOWEJ PROJEKTU PŁYTY GRZEWCZEJ

W tym systemie MIMO architektura sieci neuronowej może mieć kilka warstw. Każda warstwa ma macierz wag W, wektor polaryzacji b i wektor wyjściowy a. Ogólnie rzecz biorąc, sieć dwuwarstwowa, gdzie pierwsza warstwa jest sigmoidalna, a druga liniowa, może być wykorzystana do dość dobrej aproksymacji dowolnej funkcji i taką strukturę przyjęto w tym przypadku. Dwie warstwy neuronów z nieliniowymi funkcjami przejścia pozwalają sieci uczyć się nieliniowych i liniowych zależności między wektorami wejściowymi i wyjściowymi. Wyjście i-tego neuronu w warstwie ukrytej wynosi:

a1i = f1(Σwlijpj + bli), i = 1,2; j = 1,2

Dla wyjścia k-tego neuronu w warstwie wyjściowej wynosi:

a2k = f2(Σw2kjali + b2k), k = 1,2; j = 1,2

Funkcja błędu jest zdefiniowana jako:

E(W, B) = (1/2)Σ(tk -a2k)2

Metoda gradientu została użyta do obliczenia zmienności wag i wstecznej propagacji błędu podczas trenowania sieci.

Wariacja wagowa modelu wyjściowego wynosi:

Δw2kj = -η(δE/δw2kj) = -η(δE/δa2k)(δa2k/δw2kj) Δb2kj = -η(δE/δb2kj) = -?η(δE/δa2k)(δa2k/δb2kj

) Wariacja wagowa warstwy ukrytej wynosi:

Δw1kj = -η(δE/δw1kj) = -η(δE/δa2k)(δa2k/δw2kj)(δa1i/δw1ij)

Δb1i = ηδij

Przed rozpoczęciem treningu należy przeskalować dane wejściowe i docelowe tak, aby zawsze mieściły się w określonym zakresie. W powyższym modelu sieci neuronowej stwierdzono, że jeśli pominięte zostaną procedury preprocesowania i postprocesowania, sieć z trudem osiągnie zamierzony cel. Wynika to z dużych różnic wielkości między parametrami wejściowymi i wyjściowymi, np.: wydajność mieści się w zakresie od 0,4 do 0,68, ale emisja CO (w ppm) mieści się w zakresie setek. Wszystkie dane wejściowe i wyjściowe zostały tak przeskalowane, aby mieściły się w zakresie [-1, 1]. Inicjalizacja wag i obciążenia dla każdej warstwy jest istotna przed rozpoczęciem treningu sieci ze sprzężeniem zwrotnym. W przypadku wybrania niewłaściwych wartości, czas uczenia byłby zbyt długi, a sieć nie mogłaby osiągnąć zbieżności. Ponieważ charakterystyka rzeczywistych warunków pracy jest nieznana, zastosowano losową inicjalizację. Dla każdej konfiguracji palnika płyty kuchennej, 90 zestawów wyników eksperymentów wykorzystano do trenowania sieci neuronowej, a pozostałe 18 do oceny, czy sieć może dobrze reprezentować model płyty kuchennej. Do testowania wydajności sieci wykorzystano średni błąd kwadratowy (MSE). Stwierdzono, że sieć neuronowa działała dość dobrze dla danych testowych. W warstwie ukrytej wykorzystano 32 neurony, a dla średniego czasu trenowania wynoszącego 200-300 epok, MSE mogło łatwo spaść do 10-5 (rys. 1). Ponieważ model NN działał dość dobrze po trenowaniu z wykorzystaniem rzeczywistych danych eksperymentalnych, został on wykorzystany do symulacji rzeczywistego środowiska eksperymentów. Po symulacji wszystkich rozsądnych kombinacji trzech czynników początkowych znaleziono maksymalną wartość sprawności cieplnej (odpowiadającą niskiej emisji CO i NOx). W symulacji zastosowano cztery konfiguracje dysz, takie same jak w eksperymencie. Dla każdej konfiguracji dyszy liczba symulacji wyniosła: [(700-400)/5]*[(1,8-1,4)/0,05]*[(8-4)/1] = 1920 Po symulacji, pierwszym krokiem było wybranie wyników, które spełniałyby chińską normę krajową dla urządzeń gazowych: sprawność cieplna ≥ 60%, emisja CO ≤ 300 (ppm), emisja NOx ≤ 100 (ppm). Drugim krokiem było znalezienie maksymalnej wartościsprawności cieplnej, z której wyznaczono odpowiednią kombinację czynników wejściowych i rodzaju konfiguracji płyty kuchennej. Wyniki symulacji pokazały, że podczas gdy konfiguracje 2- i 3-dyszowe spełniały normy krajowe, konfiguracja 3-dyszowa wykazuje nieco lepsze wyniki: sprawność cieplna sięga 62,8%, a emisja CO i NOx wynosi odpowiednio 257 i 91. Aby potwierdzić poprawność wyników sieci neuronowej (NN), przeprowadzono trzy dodatkowe eksperymenty oparte na wartościach optymalnych. Tabela przedstawia porównanie przewidywanych i obserwowanych odpowiedzi dla konfiguracji palnika 3-dyszowego w warunkach optymalnych. Widać, że przewidywane wartości sprawności i emisji NOx są zbliżone do wartości eksperymentalnych. Różnica między wartościami przewidywanymi a obserwowanymi wynosi około 15%.



TRENDY NA PRZYSZŁOŚĆ

Niniejsze badanie pokazuje, że sztuczne sieci neuronowe, podobnie jak w innych rzeczywistych zastosowaniach, oferują projektantom płyt kuchennych niezwykle wszechstronne narzędzie do projektowania termicznego palników gazowych. Skuteczne wykorzystanie tej procedury wymaga pełnej optymalizacji sieci neuronowej (SN). W niniejszym badaniu do optymalizacji wykorzystano propagację wsteczną (backpropagation), algorytm lokalnego wyszukiwania, i prawdopodobnie uzyskano lokalne optimum, a nie globalne. Można spróbować rozwiązać ten problem za pomocą procedur ad hoc, takich jak zatrzymanie optymalizacji w rozwiązaniach suboptymalnych (bez przetrenowania) lub dostosowanie architektury sieci neuronowej w celu ułatwienia optymalizacji. Jak pokazano w innych zastosowaniach inżynierskich [1], obiecującą alternatywą byłoby zastosowanie globalnego algorytmu optymalizacji, takiego jak algorytm genetyczny. Przewiduje się, że dzięki zastosowaniu globalnego algorytmu przeszukiwania, funkcja celu może zostać ustawiona tak, aby zrównoważyć kompromis między nadmierną parametryzacją modelu, która może nadmiernie dopasować dane, a oszczędną siecią neuronową (ANN), która może zapewnić bardziej niezawodne rozwiązanie.

WNIOSKI

Problemem stojącym przed społecznością zajmującą się projektowaniem palników kuchenek gazowych jest określenie parametrów projektowych, które doprowadzą do produktu o najbardziej pożądanej kombinacji wyników funkcjonalnych. Dzięki badaniom empirycznym nad jednoczesną optymalizacją sprawności cieplnej i emisji gazów cieplarnianych, metodologia ANN okazała się skutecznym narzędziem modelowania empirycznego. Zarówno korelacja wielokrotna (R2), jak i średni błąd kwadratowy (MSE) modeli ANN dla sprawności, emisji CO i NOx wskazały, że wyniki ANN były całkiem zadowalające. Dzięki modelowaniu regresji wielokrotnej można ocenić znaczenie głównego i łącznego wpływu różnych parametrów projektowych na sprawność i emisje palnika. Dzięki temu lepiej poznano związek między parametrami projektowymi palnika gazowego awydajnością. Aby zwiększyć możliwości optymalizacyjne proponowanej ANN, zamiast algorytmu propagacji wstecznej należy zastosować globalny algorytm wyszukiwania, taki jak algorytm genetyczny (GA). Uważa się, że ANN oparta na algorytmie genetycznym (GA) stanowiłaby praktyczne narzędzie dla środowiska zajmującego się projektowaniem w inżynierii mechanicznej.


Powrót


[ 363 ]