Rozdział 1: Wprowadzenie
Immunologia[1] to nauka z pogranicza medycyny i biologii. Przedmiotem jej dociekań jest badanie odporności organizmów na zarazki, toksyny i niektóre substancje chemiczne, głównie białkowe. Za ojców immunologii powszechnie uważa się Ludwika Pasteura (1822-1825) i Roberta Kocha (1843-1910), którzy odkrywając złożony świat chorobotwórczych mikroorganizmów proponowali jednocześnie środki zaradcze wspomagające zdolności obronne organizmu.
Ale immunologia to nie tylko przedmiot zainteresowań lekarzy czy biologów. Chęć zrozumienia makroskopowych własności układu odpornościowego stymuluje badania w zakresie immunologii matematycznej. Znakomity przegląd stosowanych tu metod i kierunków zawiera praca [154]. Chociaż immunologia liczy sobie blisko 100 lat, nasze rozumienie interakcji zachodzących między elementami tworzącymi układ odpornościowy jest dalekie od zadowalającego. Z tego jednak co wiemy, lub lepiej – przypuszczamy, że wiemy – wyłania się niezwykle atrakcyjny dla informatyków obraz układu odpornościowego jako efektywnego rozproszonego systemu przetwarzania informacji posiadającego zdolność uczenia się i adaptacji do zmiennego otoczenia. Charakterystyczne jego cechy to:
Rozproszona detekcja: detektory[2] stosowane przez układ odpornościowy monitorują nieustannie stan komórek organizmu krążąc wewnątrz naczyń krwionośnych, limfatycznych oraz przemierzając tkankowe przestrzenie międzykomórkowe. Interesujące jest to, że proces detekcji nie podlega scentralizowanemu sterowaniu. Każdy element układu „wie” co, i w jakich sytuacjach, ma robić. Z tego powodu układ odpornościowy przypomina systemy z mobilnymi agentami.
Progowa detekcja: proces wiązania antygenu przez przeciwciało[3] opiera się jedynie na częściowym podobieństwie obu elementów. Przypomina to w pewnym stopniu progową aktywację pojedynczego neuronu. Mechanizm ten zwiększa zdolności detekcyjne układu. O ile bowiem liczba struktur, które prezentują komórki własne organizmu jest rzędu 106, o tyle liczbę potencjalnych struktur patogennych (zagrażających organizmowi i wywołujących reakcje obronne) szacuje się na 1016.
Detekcja anomalii: układ prawidłowo identyfikuje patogeny, z którymi nigdy wcześniej nie zetknął się.
Adaptacyjność: układ odpornościowy potrafi „nauczyć się” i „zapamiętać” patogenne struktury. Stykając się z nimi po raz kolejny, szybko przywołuje właściwy sposób obrony. Pamięć immunologiczna (mechanizm jej powstawania nie jest dotychczas całkowicie znany) jest zorganizowana bardzo efektywnie. W szczególności, rzadko używane informacje są z niej usuwane. Jednocześnie, pamiętając określone struktury patogenów, układ potrafi rozpocząć szybką akcję obronną, nawet w sytuacjach, gdy nowy patogen jedynie przypomina do pewnego stopnia patogen wcześniej zapamiętany. Dlatego pamięć immunologiczną można określić jako kros-reaktywną pamięć adresowaną zawartością.
Samoorganizacja: pamięć immunologiczna tworzy sieciową strukturę, tzw. sieć idiotypową [4], która podlega modyfikacjom w miarę jak pojawiają się kolejne typy patogenów. Modyfikacje te uzależnione są w dużej mierze od częstotliwości, z jaką patogenny danego typu atakują organizm. Sieciowa struktura pamięci przypomina w pewnym sensie samoorganizujące się sieci Kohonena (por. [124]).
Brak konieczności tworzenia zbioru negatywnych przykładów: układ odpornościowy działa w myśl zasady „toleruj swoje, zwalczaj obce”. Zatem do podjęcia akcji obronnej wystarcza znajomość struktur charakteryzujących własne komórki. Przykłady patogenów (tzw. negatywne przykłady) nie są potrzebne. Dla kontrastu, sztuczne systemy uczenia maszynowego wymagają w większości starannego i czasochłonnego przygotowania przykładów zarówno pozytywnych, jak i negatywnych.
Prostota reprezentacji: Wiedza gromadzona przez układ odpornościowy reprezentowana jest w bezpośredni sposób przez struktury detektorów uczestniczących w rozpoznawaniu patogenów. Owe struktury stanowią „wewnętrzny obraz” patogenów, z którymi kiedykolwiek zetknął się organizm.
Unikalność: układ odpornościowy każdego osobnika jest inny, a osobniki różnią się odpornością na zewnętrzne zagrożenia.
Funkcjonowanie układu odpornościowego przedstawiono schematycznie na rysunku 1.1. Kwadrat A reprezentuje zbiór potencjalnych struktur, z którymi układ może się zetknąć. Z tego zbioru należy usunąć struktury odpowiadające komórkom własnym. Zaznaczono je na czarno w lewym kwadracie części B. Struktury, które musi rozpoznawać układ odpornościowy, przedstawiono w lewym kwadracie części B. Jeżeli organizm został zaatakowany przez konkretne patogeny, wskazane w lewym kwadracie części C, ich struktury zostają zapamiętane, co wskazuje prawy kwadrat części C.
Rysunek 1.1. Doskonalenie zdolności detekcyjnych układu odpornościowego (opis w tekście)
W pewnym (bardzo uproszczonym) sensie, układ odpornościowy to binarny klasyfikator. Musi on umieć zaklasyfikować dowolną strukturę do jednej z dwóch klas: „własny” lub „obcy”. Klasyfikacja do drugiej z tych klas wywołuje ciąg reakcji mających na celu usunięcie zagrożenia. Traktując obcą strukturę jako problem, który należy rozwiązać, a uruchomienie akcji obronnej jako rozwiązanie tego problemu otrzymujemy interesującą „immunologiczną” metaforę rozwiązywania szeroko rozumianych problemów. Jeżeli mamy na przykład do czynienia z zadaniem optymalizacji, to traktując je jako patogen poszukujemy wiążących go przeciwciał – w tym wypadku zbioru rozwiązań tego zadania. Jeżeli zaś mamy do czynienia z analizą danych, to zbiór konkretnych danych można utożsamić ze zbiorem patogenów. Ich rozpoznanie i zapamiętanie jest równoważne utworzeniu „wewnętrznego obrazu” patogenów. Odwołując się do pojęcia sieci idiotypowej otrzymamy grafową strukturę reprezentującą istotne relacje między poszczególnymi danymi. To tylko dwa przykłady ilustrujące, w jaki sposób można wykorzystać metaforę immunologiczną do rozwiązywania różnorodnych zadań.
Obiektami układu odpornościowego, którymi będziemy zajmować się na przestrzeni całej książki są tzw. limfocyty. Będą nas interesować dwie – o zasadniczym znaczeniu – ich grupy: limfocyty typu T i limfocyty typu B. Limfocyty typu T (tzw. limfocyty wspomagające) dają sygnał do podjęcia akcji obronnej, a limfocyty typu B[5] przystępują do niszczenia patogenów. W [41] przyrównano B limfocyty do strzelców posługujących się karabinami, a wspomagające limfocyty typu T do dowódców wydających rozkaz strzelania. Oczywiście mechanizmy rządzące zachowaniem obu tych grup są różne. Tworząc systemy detekcji anomalii będziemy wykorzystywać mechanizmy sterujące działaniem limfocytów typu T, a tworząc systemy analizy danych – mechanizmy rządzące zachowaniem B limfocytów.
B limfocyty oprócz „strzelania” uczestniczą w procesie tworzenia pamięci immunologicznej. Kontynuując militarne skojarzenia możemy wyobrazić sobie ten proces jako selekcję najbardziej skutecznych strzelców. Jeżeli dodatkowo założymy, że każdy z nich wyposażony jest w inny rodzaj broni, a każdy rodzaj wymaga specyficznych umiejętności posługiwania się nią, analogia z pamięcią immunologiczną będzie bardziej pełna. Posiadanie takiej doborowej jednostki strzelców, z których każdy wie w jakiej sytuacji i jak ma odpowiadać ogniem, pozwala szybko i skuteczne reagować na zewnętrzne zagrożenia. Oczywiście strzelcy obsługujący zbliżone rodzaje broni powinni być ulokowani blisko siebie, tak aby w razie alarmu móc łatwo angażować odpowiednie siły. Właśnie takie występowanie skupień komórek o zbliżonych charakterystykach jest istotną własnością sieci idiotypowej.
Proces wyszukiwania doborowych strzelców odpowiada tzw. pierwotnej odpowiedzi immunologicznej. Z oczywistych względów jest on długotrwały. Natomiast angażowanie strzelców do zadań, w których mieli sposobność wykazać swą skuteczność, to wtórna odpowiedź immunologiczna. Dużo szybsza i bardziej skuteczna.
Jest oczywiste, że aby skutecznie zarządzać jednostkami doborowych żołnierzy, ich liczba nie może rosnąć w nieskończoność. Wprowadzając mechanizm konkurencji uzyskujemy samoregulujacą się strukturę, która determinuje zarówno swój rozmiar, jak również odpowiada za to, czy dany osobnik ma w niej pozostać, czy też nie. Właśnie te cechy charakteryzują samoorganizację pamięci immunologicznej. Zauważmy na marginesie, że analizując strukturę tworzonych w ten sposób elitarnych jednostek możemy wiele dowiedzieć się o wrogach. Każdy element struktury reprezentuje w pewnym sensie wynik odpowiedzi na określony atak. Właśnie ta cecha wykorzystywana jest w immunologicznych systemach analizy danych.
Na ogół organizacje nie przepadają za outsiderami. Podobnie dzieje się z pamięcią immunologiczną. Zgodnie z teorią sieci idiotypowych, jeżeli coś zostało „nauczone”, może być zapomniane chyba, że jest wzmocnione przez inne komórki sieci („epizody nas nie interesują”).
Jest jeszcze jedna ważna cecha układu odpornościowego. Tak jak niesubordynowani żołnierze, czy żołnierze odmawiający udziału w walkach są usuwani z placu boju, a ich miejsce zajmują nowi rekruci wyposażeni często w nowe rodzaje broni i nowe techniki walki, tak i limfocyty o niewielkiej skuteczności usuwane są z organizmu, a ich miejsce zajmują nowe – prawdopodobnie bardziej skuteczne – limfocyty. Ta ostatnia własność to tzw. metadynamika układu odpornościowego. Jest oczywiste, że nowi rekruci mogą być dostarczani tylko w określonych terminach, a odstępy czasu między kolejnymi transportami są dużo rzadsze w porównaniu z częstymi zmianami liczebności żołnierzy wskutek utarczek z wrogiem, czy wewnętrznych konfliktów[6]. Owa powolność zmian rodzajów limfocytów jest charakterystyczną cechą metadynamiki.
Skoro nasi strzelcy używają broni, to musi ona miotać pociski. Ich odpowiednikiem w układzie odpornościowym są tzw. przeciwciała uwalniane do płynów wewnątrzustrojowych. Charakterystyczną cechą owych naboi jest ich wysoka selektywność. Bezbłędnie trafiają wroga (wyłącznie określony typ patogenu) nie czyniąc szkody innym, napotykanym po drodze, obiektom. Nowe generacje przeciwciał powstają drogą rekombinacji genów składających się na genom danego osobnika. Zatem układ odpornościowy można również traktować jako przykład układu ewolucyjnego.
Struktura, dynamika i metadynamika to podstawowe pojęcia charakteryzujące tzw. model drugiej generacji (sieć idiotypowa to, w tym kontekście, model pierwszej generacji) wprowadzony przez Verelę i Coutinho, [187]. Struktura charakteryzuje typy interakcji między komórkowymi i molekularnymi składnikami systemu reprezentowanego w postaci macierzy powiązań (incydencji). Dynamika reprezentuje zmiany koncentracji komórek i molekuł tworzących system, a metadynamika odpowiedzialna jest za podtrzymywanie właściwej różnorodności przeciwciał, a więc za wprowadzanie nowych ich typów i usuwanie typów nieefektywnych. Istotną cechą sieciowych modeli symulujących własności układu odpornościowego jest definicja molekularnej tożsamości („wewnętrznych obrazów”) elementów tworzących daną sieć. Jest to emergentna cecha organizacji sieci, powstającej w trakcie rozpoznawania molekularnych charakterystyk otoczenia, w którym funkcjonuje system.
Modele sieciowe układu odpornościowego odgrywają istotną rolę w konstrukcji sztucznych systemów immunologicznych nadając precyzyjny sens takim pojęciom, jak uczenie, pamięć czy tolerancja immunologiczna. Podstawowym mechanizmem sterującym powstawaniem i ewolucją struktury sieciowej jest metadynamika oraz zmiany koncentracji poszczególnych rodzajów klonów zachodzące zgodnie z ogólnym równaniem
stopień różnorodności populacji |
= |
dopływ nowych komórek |
– |
śmierć nieefektywnych komórek |
+ |
reprodukcja pobudzonych komórek |
Ostatni składnik tego równania opisuje wzrost koncentracji limfocytów pod wpływem efektywnych interakcji z patogenami i innymi limfocytami.
Efektem zainteresowania informatyków własnościami układu odpornościowego są tzw. sztuczne systemy immunologiczne. Na przestrzeni całej książki termin „układ odpornościowy” oznaczać będzie system obronny żywego organizmu, zaś „(sztuczny) system immunologiczny” – program komputerowy, którego działanie opiera się na regułach rządzących populacjami limfocytów. Podkreślmy to wyraźnie: tak jak (sztuczne) sieci neuronowe nie stanowią wiernego modelu układu nerwowego, tak systemy immunologiczne nie są odwzorowaniem układu odpornościowego. Ich działaniem sterują najbardziej fundamentalne reguły rządzące zachowaniem układu odpornościowego. Pisząc „najbardziej fundamentalne” mamy na myśli ich skrajnie uproszczoną wersję nie uwzględniającą całego bogactwa interakcji między różnorodnymi składnikami systemu obronnego żywego organizmu.
Bodaj jedną z pierwszych prac wykorzystujących własności układu odpornościowego do konstrukcji algorytmu rozpoznawania wzorców jest artykuł Irene Stadnyk z 1986 roku. Szersze zainteresowanie systemami immunologicznymi przypada na początek lat 90-tych (już) ubiegłego stulecia. Chociaż sztuczne systemy immunologiczne to dziedzina licząca sobie niewiele ponad 10 lat, może ona poszczycić się pierwszymi komercyjnymi sukcesami. Wszyscy dobrze wiemy, jaką zmorą są wirusy komputerowe. Szacuje się, że dziennie pojawia się około 8-10 nowych wirusów. Dostępne na rynku programy anty-wirusowe rozpoznają w zasadzie tylko te wirusy, które już znają, co wiąże się z kosztownym procesem ich nieustannej aktualizacji. Firma Symantec, wykorzystując „immunologiczną” technologię identyfikacji wirusów – opracowaną w IBM Thomas J. Watson Research Center, [120], [194] – we współpracy z INTELem przygotowała prototyp systemu umożliwiającego administratorowi systemu natychmiastowe reagowanie na pojawienie się wszelkich anomalnych plików [178]. Innym komercyjnym systemem jest opracowany przez firmę STARLAB, Artificial Immune System Shell przeznaczony do rozwiązywania złożonych zadań uczenia maszynowego i wnioskowania w czasie rzeczywistym, [109]. Jego autorzy prowadzili m.in. eksperymenty polegające na wykorzystaniu systemu do zabezpieczania pomieszczeń biurowych. W tym przypadku system analizuje obraz otrzymywany z kamer zainstalowanych w monitorowanych pomieszczeniach sygnalizując nietypowe zdarzenia. System uwzględnia przy tym różnorakie sytuacje wyjątkowe, jak na przykład obecność kota w pomieszczeniu, obecność pracowników nocnej zmiany w biurze, czy też pewne aspekty geograficzne związane ze specyficznym wykorzystaniem pomieszczeń ulokowanych w różnych częściach budynku. Inne eksperymenty dotyczyły bieżącej analizy dokumentów przesyłanych przez lekarzy i placówki zdrowia w celu wykrywania relacji przyczynowo-skutkowych między symptomami a chorobami. Zastosowane tu metody mogą być wykorzystane np. w ciągłej analizie sygnałów otrzymywanych z samolotów pasażerskich, co pozwoliłoby na wykrywanie wczesnych symptomów potencjalnych awarii. Wreszcie, Jonathan Timmis z University of Kent, we współpracy z Sun Microsystems prowadzi prace nad wykorzystaniem sztucznych systemów immunologicznych do drążenia danych, a w szczególności do klasyfikowania dokumentów i inteligentnej nawigacji.
Sztuczne systemy immunologiczne wpisują się w tzw. „nową inżynierię”, która – zdaniem Wolframa, [210] – powinna wykorzystywać metafory dostarczane przez systemy biologiczne, jak na przykład kolonie mrówek, układ nerwowy, czy ewoluujące populacje gatunków. O ile bowiem tradycyjne inżynierskie podejście do rozwiązywania problemów polega na analizie konkretnego problemu, sformułowaniu rygorystycznych założeń, a następnie sukcesywnym ich realizowaniu, o tyle charakterystyczną cechą nowego podejścia jest jego elastyczność i wysoka odporność na niewielkie zaburzenia występujące w realizacji bądź własnościach różnych komponentów konstruowanego systemu. Z zapewnieniem elastyczności rozwiązań nierozerwalnie łączy się rozproszoność rozumiana w tym sensie, że z jednej strony funkcjonowanie pojedynczych komponentów nie jest krytyczne dla zachowania spójnej funkcjonalności, z drugiej natomiast – suma takich komponentów tworzy całość o skomplikowanych własnościach. Koresponduje to w pewnym sensie z ideą systemów wieloagentowych.
Tradycyjne techniki projektowania wymagają szczegółowej specyfikacji własności pojedynczych komponentów systemu. W nowej, „immunologicznej” inżynierii, nacisk kładziony jest na (jedynie ogólny) zarys funkcjonowania systemu i określenie wyłącznie pewnych szczegółowych jego aspektów, typu miara jakości czy funkcja dostosowania. Analogicznie jak w wolframowskim postulacie, konstruowane systemy powinny być zdolne do ewolucji, adaptacji i samonaprawiania się. Przedstawiony w rozdziale 6 system jest krokiem w tym właśnie kierunku. Cechą bowiem układu odpornościowego jest jego stabilność, zdolność podtrzymywania efektywnych struktur przy jednoczesnym zachowaniu zdolności adaptacyjnych i ewolucyjnych. Podobne własności wykazuje na przykład omawiane w rozdziale 9 podejście do harmonogramowania zadań.
Istotą „immunologicznej” inżynierii jest wykorzystanie informacji zawartej w stawianym problemie w celu rozwiązania go. Tak też funkcjonuje system przedstawiony w rozdziale 7: generując przeciwciała dopasowane do antygenów będących w istocie zbiorem danych uczących, system jest w stanie wypracować efektywną technikę kompresji tychże danych, przy czym zredukowana ich forma zachowuje wszystkie istotne charakterystyki zbioru uczącego, tak jak pamięć immunologiczna przechowuje najistotniejsze charakterystyki patogenów atakujących organizm. Podsumowując, do głównych cech „immunologicznej inżynierii” należą:
hybrydowe struktury i algorytmy oparte na immunopodobnych zasadach,
algorytmy obliczeniowe wykorzystujące omówione wcześniej cechy układu odpornościowego, a więc rozproszone przetwarzanie, selekcję klonalną i teorię sieci idiotypowych Jerne’a,
oparte na immunologicznych zasadach algorytmy optymalizacji (por. rozdziały 8 i 9), uczenia i wykrywania anomalii, a wreszcie
sztuczne systemy immunologiczne, których rolą jest głębsze zrozumienie mechanizmów rządzących funkcjonowaniem układu odpornościowego.
[1]
Termin immunologia powstał z połączenia dwóch
słów: immunis, które po łacinie
znaczy „wolny od obciążeń” oraz logos,
które po grecku znaczy „nauka”, „słowo”.
[2] „Detektor” to raczej abstrakcyjne słowo. Jego znaczenie precyzujemy w rozdziale 2.
[3] Znaczenie tych terminów
objaśniono w rozdziale 2.
[4]
Jest to tzw. hipoteza
Jerne’a. Została ona sformułowana w 1974 r. w pracy [114] i do dnia
dzisiejszego nie jest potwierdzona przez immunologów. Z hipotezy tej wynika
m.in. interesujący model powstawania pamięci immunologicznej. Hipoteza ta
cieszy się dużym uznaniem wśród matematyków i informatyków.
[5]
Współpracują one w
„dziele zniszczenia” z innym rodzajem limfocytów T, tzw. limfocytami
supresyjnymi.
[6]
Efektywne limfocyty
typu B podlegają procesowi klonowania. Dlatego koncentracja określonej grupy limfocytów
może równie dobrze zmaleć, jak i wzrosnąć. Przyczyną malenia koncentracji
limfocytów jest ich eliminacja przez obce patogeny, jak również eliminacja
przez inne typy limfocytów. Ten ostatni proces można przyrównać np. do bójki
między grupami „kibiców” różnych klubów. Chwilowo żołnierze nie posiadają
zdolności klonowania się, a wiec liczebność danego oddziału może jedynie maleć.