Czy możemy stworzyć uczące się komputery?

Czy możemy stworzyć uczące się komputery?

To, że mózg może liczyć, nie oznacza, że jest on komputerem. Pomimo pewnych powierzchownych podobieństw występują kolosalne różnice między wilgotną zawartością wnętrza ludzkiej czaszki a sprzętem znajdującym się wewnątrz kompuetra. Podstawowym elementem komputera jest tranzystor, który zwykle otrzymuje sygnał elektryczny i na podstawie tego sygnału przechodzi albo do stanu „włączonego”, albo „wyłączonego”. Podstawowym elementem mózgu jest neuron – przyjmuje on sygnały od tysięcy innych neuronów i podczas skomplikowanego procesu, którego do tej pory nie rozumiemy, integruje te sygnały i albo „wyładowuje się” (wysyła sygnały nerwowe do wielu innych neuronów), albo nie.

Inną różnicą jest to, że gdy konwencjonalny komputer już zostanie włączony i poda mu się instrukcje, robi dokładnie to, co mu się poleciło – faktycznie, zdolność do ciągłego powtarzania skomplikowanych zadań jest jedną z najmocniejszych stron maszyny. Z drugiej strony, mózg podczas funkcjonowania zmienia się i ewoluuje, ucząc się podczas tego procesu wykonywania nowych zadań. Czyni to, po części, przez zmianę mocy połączeń pomiędzy neuronami.

Informatycy poczynili duże postępy w projektowaniu maszyn działających podobnie jak mózg. Najważniejsze osiągnięcie w badaniach tego rodzaju stanowi „sieć neuro-podobna”. Ten rodzaj sieci składa się z trzech części: przyjmującego informację układu wejściowego, układu przetwarzającego informację, który może ulegać modyfikacjom, oraz układu wyjściowego podającego wyniki obliczeń. Dzięki procesowi, który za chwilę omówię, sieć neuropodobna może rzeczywiście uczyć się przeprowadzania operacji, które nie były w niej zaprogramowane od początku.

Weźmy prosty przykład zadania do nauczenia – rozróżnianie wzorów. Sekcję wejściową sieci neuropodobnej mógłby stanowić zestaw lamp fotoelektronowych, skupiony na ekranie czarno-białego telewizora. W tym przypadku obraz zostanie podzielony na małe kwadraciki (zwane pikselami), po jednym pikselu na lampę, a mierzona byłaby ilość światła dochodzącego od każdego z kwadracików. Tak więc sygnałem wejściowym do systemu jest szereg impulsów elektrycznych, a natężenie każdego z nich odpowiada poziomowi jasności określonego piksela. (Obraz w standardowym amerykańskim odbiorniku telewizyjnym jest rozdzielony na piksele przez rozbicie każdego boku na 525 części. Tak więc składa się z 525×525 = 275 625 pikseli). Możemy porównać sekcję wejściową sieci neuropodobnej do komórek siatkówki u człowieka, które pierwsze przekształcają światło w impulsy nerwowe.

Sygnały biegną następnie do jednostki przetwarzającej i jest to miejsce, w którym sieć neuropodobna zaczyna różnić się od zwykłego komputera. Załóżmy, że zadanie polega na odczytywaniu cyfr na ekranie. Gdy informacja z wejścia zaczyna torować sobie drogę poprzez układ przetwarzający, następuje to zgodnie z wieloma regułami określającymi, jaką wagę przypisać każdemu sygnałowi. Na przykład piksele na brzegach obrazu mogą być mniej ważne od tych znajdujących się w centrum. Można zatem kazać jednostkom przetwarzającym nadawać pikselom z centrum dwukrotnie większą wagę niż pikselom z brzegu. Idąc dalej, można podać podobne reguły dla brzegów („sygnałom, w których wszystko po prawej jest ciemne, a po lewej jasne, nadaj trzykrotnie większą wagę niż takim, gdzie jasne i ciemne plamki są ze sobą wymieszane”) i innych cech istotnych dla rozpoznawania cyfr. Na końcu sygnał dojdzie do wyjścia, gdzie zapali się jeden z dziesięciu elementów odpowiadających odczytanej cyfrze.

W tym miejscu zaczyna się nauka. Załóżmy, że wprowadziliśmy cyfrę 2, natomiast sieć oznajmia, że to cyfra 7. Mówimy wtedy komputerowi, że się pomylił, a on jest tak zaprogramowany, że wraca do początku i przestawia wagi poszczególnych punktów w jednostce przetwarzającej – na przykład mógłby zdecydować, by pikselom w centrum przyporządkować wagę czterokrotnie zamiast dwukrotnie większą niż tym na brzegu. System uruchamiany jest na nowo, wyniki sprawdzane, wagi dostrajane, znów jest uruchamiany i tak dalej. W końcu sieć nauczy się odczytywać cyfry z ekranu.

Odczytywanie pojedynczej cyfry jest stosunkowo prostym zadaniem, lecz tego typu układy potrafią wykonywać zadania o wiele bardziej złożone. Mogą na przykład być szkolone do rozpoznawania akceptowanych wzorów materiałów przesuwających się po linii produkcyjnej i w ten sposób brać udział w przemysłowej kontroli jakości. Mogą być trenowane do rozpoznawania pojedynczych twarzy i głosów w systemach bezpieczeństwa. Na końcowych etapach testowania są nawet układy, które mogą być przyuczane do odczytywania ręcznie pisanych kodów pocztowych na listach i przyspieszać w ten sposób sortowanie przesyłek (przy takim charakterze pisma, jak mój, nie jest to łatwe zadanie).

Na wyższym poziomie komplikacji wyrafinowane wersje tych sieci neuropodobnych mogą analizować duże ilości danych i wyławiać prawidłowości zbyt skomplikowane, by człowiek mógł je dostrzec. Maszyny takie mogą być bardzo użyteczne, gdy chodzi o zrozumienie układów mających dużą liczbę niezależnych zmiennych, takich jak ekosystemy rolnicze czy wielkie cząsteczki.

Powiedziawszy to, muszę jednakże poczynić ważne rozróżnienie pomiędzy dwoma zagadnieniami: czy sieci neuropodobne są użyteczne (na pewno są) i czy stanowią one model działania ludzkiego mózgu (co pozostaje nadal kwestią daleką od rozstrzygnięcia). Przypuszczam, że odpowiedź na to drugie pytanie okaże się negatywna.