Z poniższego tekstu dowiesz się o:
- Enigma i myślące komputery
- Czy komputery są zdolne do myślenia?
- Co to jest gra imitacyjna?
- Test Turinga
- Test Turinga w filmach
- Czy maszyna kiedykolwiek przejdzie Test Turinga?
Pamiętacie film “Imitation Game” z 2014 roku w reżyserii Mortena Tylduma i z udziałem Benedicta Cumberbatcha? Film opowiada tragiczną historię genialnego brytyjskiego matematyka Alana Turinga – jednego z głównych członków zespołu, który złamał niemiecką maszynę szyfrującą Enigma [1].
Spis treści
Enigma – maszyna szyfrująca
Co tytuł “Imitation Game” ma wspólnego z rozszyfrowaniem Enigmy i rolą Alana Turinga w tym procesie? Prace nad maszynami szyfrującymi i deszyfrującymi Enigma były objęte najwyższym stopniem bezpieczeństwa i absolutną tajemnicą wojskową. Proces odtajniania dokumentów i roli, jaką w tych pracach miał Alan Turing, rozpoczął się dopiero w 1982 roku. Alan Turing w świecie matematyki i informatyki jest jednak postacią niemal kultową – znany od ponad 70 lat – dzięki niemu mamy nowoczesny komputer, a sławę zawdzięcza “Grze naśladowania” – ale o tym za chwilę.
Komputery i pytanie o to, czy potrafią myśleć
Turing jako matematyk był już znany w latach trzydziestych. W 1936 roku, mając zaledwie 24 lata, napisał swoją najważniejszą pracę z dziedziny matematyki “On Computable Numbers with an Application to the Entscheidungsproblem”, w której zaproponował abstrakcyjną koncepcję maszyny obliczeniowej wyposażonej w program – ciąg instrukcji i pamięć – rolę pamięci miała pełnić taśma z zapisanymi instrukcjami i parametrami programu. Dziś znamy tę koncepcję jako tzw. uniwersalną maszynę Turinga i wszystkie współczesne komputery są zbudowane według niej (z wyjątkiem komputerów kwantowych). W czasach, gdy Turing pisał swój artykuł nie było technicznej możliwości zbudowania takiej maszyny obliczeniowej. Jednak wybuch II wojny światowej przyspieszył prace nad stworzeniem maszyn, które w pewnym sensie automatyzowały obliczenia i tzw. transformacje symboli (niezbędne do łamania kodów Enigmy). Urządzenia te oparte były na przekaźnikach elektromagnetycznych. Testowano również zastosowanie lamp próżniowych. Prace te doprowadziły ostatecznie do stworzenia pierwszych komputerów opartych na założeniach wskazanych przez Turinga w połowie lat 40. XX wieku.
Powstanie komputerów-maszyn, które znacznie przewyższyły możliwości człowieka w dziedzinie arytmetyki, doprowadziło do coraz częściej zadawanego pytania – “Czy maszyna może myśleć?”. Czy komputer kiedyś będzie myślał jak człowiek, rozwiązywał problemy, grał w szachy, czy stanie się kreatywny?
Gra w naśladowanie
W październiku 1950 roku Turing opublikował w czasopiśmie Mind chyba swój najsłynniejszy artykuł “Computing Machinery and Intelligence”. To właśnie dzięki niemu jest dziś tak dobrze znany. Turing postanowił raz na zawsze “rozwiązać” problem myślących maszyn.
Na początku artykułu Turing daje do zrozumienia, że postawione pytanie jest bezsensowne – komputery nigdy, zdaniem autora [2], nie będą myśleć w sposób znany człowiekowi, ponieważ działanie komputera opiera się na innych zasadach. Ale czy w ogóle będą myśleć? Jak się o tym przekonać? Jak sprawdzić, czy maszyna myśli? Matematyk doszedł do wniosku, że jedynym sposobem będzie obserwacja “zachowania” takiej maszyny – jeśli dojdziemy do wniosku, że nie będziemy w stanie odróżnić jej zachowania od zachowania człowieka, to taką maszynę będzie można uznać za myślącą [3]. Tu zbliżamy się do wyjaśnienia tytułu wspomnianego filmu – Turing wpadł na pomysł genialny w swojej prostocie. Przed II wojną światową w Wielkiej Brytanii grano w bardzo popularną grę towarzyską – “Imitation game (https://en.wikipedia.org/wiki/Computing_Machinery_and_Intelligence ). W grze brały udział trzy osoby: kobieta, mężczyzna i “sędzia”, którym mogła być każda inna osoba. Kobieta i mężczyzna byli zamknięci w osobnych pokojach w taki sposób, że sędzia nie wiedział, w którym pokoju jest kobieta, a w którym mężczyzna. Gra zakładała, że sędzia mógł zadawać każdej osobie dowolne pytania, które przekazywał w formie pisemnej na kartkach podawanych przy drzwiach. Mężczyzna i kobieta odpowiadali na te pytania, również w formie pisemnej. Zadaniem “sędziego” było odgadnięcie, kto jest kobietą, a kto mężczyzną.
Rys. Pierwotna koncepcja gry imitacyjnej źródło:: https://en.wikipedia.org/wiki/Turing_test
Turing wpadł na pomysł zastąpienia jednej osoby komputerem. Zadaniem sędziego byłoby rozpoznanie, kto jest człowiekiem, a co maszyną.
Rys. Gra imitacyjna z komputerem jako jedną z osób źródło: https://en.wikipedia.org/wiki/Turing_test
Turing zaproponował, aby komunikacja odbywała się za pomocą tzw. dalekopisu zamiast ręcznie pisanych pytań i odpowiedzi (nie było wtedy Internetu!). Zaproponował nawet uproszczenie “testu” poprzez wyeliminowanie człowieka jako drugiego gracza. W takim przypadku jedynym zadaniem sędziego byłoby ustalenie, czy komputer po drugiej stronie był tak przekonujący, że jego odpowiedzi (zachowania/reakcje) były nie do odróżnienia od odpowiedzi człowieka. Jeśli komputer stałby się nieodróżnialny od człowieka w osądzaniu innego człowieka, to moglibyśmy stwierdzić, że taki komputer na swój sposób myśli i może naśladować zachowania nieodróżnialne od ludzkich.
Test Turinga w filmie
Pisząc o Teście Turinga nie sposób nie odnieść się do jego wpływu na kulturę – zwłaszcza literaturę i kino. Wspomniany test często pojawia się na ekranach kin.
W klasycznym “Blade Runnerze” z 1982 roku w reżyserii Ridleya Scotta i z Harrisonem Fordem w roli głównej jest słynna scena, gdy łowca androidów policjant Rick Deckard (grany przez Forda) – przesłuchuje podejrzanego i próbuje ustalić, czy jest on człowiekiem, czy replikantem:
https://www.youtube.com/watch?v=ChJVaTqU2So
W “WestWorld” androidy są tak doskonałe i nieodróżnialne od ludzi, że tylko zdawkowo wspomina się, że już w odległej przeszłości przeszły Test Turinga:
https://www.youtube.com/watch?v=CjUZwGqHeHQ
Być może tytułem, który najbardziej dotyka tego tematu jest Ex Machina z 2015 roku, niemal w całości poświęcona testowi myślącej maszyny:
https://www.youtube.com/watch?v=mAtmopQxu0o
Czy maszyna kiedykolwiek przejdzie Test Turinga?
Turing uważał, że “za około pięćdziesiąt lat będzie możliwe zaprogramowanie komputerów o pojemności około 109, tak aby grały w grę imitacyjną tak dobrze, że przeciętny przesłuchujący nie będzie miał więcej niż 70 procent szans na dokonanie właściwej identyfikacji po pięciu minutach przesłuchania” [4].
Jakiś czas później, w wywiadzie dla BBC, Turing dodał, że komputer byłby również w stanie wygrać z człowiekiem w szachy na poziomie arcymistrzowskim przed końcem XX wieku. Patrząc z perspektywy Turinga – gra w szachy z komputerem i zabawa w naśladowanie mogły być synonimem “myślenia”. Choć przewidywania Turinga dotyczące zwycięstwa komputera w szachach okazały się trafne (jak wiemy w 1997 roku komputer Deep Blue firmy IBM pokonał w meczu ówczesnego mistrza świata Garry’ego Kasparowa), to do dziś żaden komputer nie przeszedł rzetelnie testu Turinga. Trzeba też przyznać, że działanie Deep Blue w dużej mierze opiera się na zasadzie tzw. “brute force” polegającej na wprowadzeniu do pamięci komputera odpowiednio dużej liczby tzw. “otwarć” i “końcówek” partii szachowej, a nie na ścisłym myśleniu. Chociaż złożoność gry w szachy sięga 10120 i przekracza liczbę atomów we Wszechświecie, to liczba otwarć i zakończeń gry jest znacznie mniejsza, nie mówiąc już o liczbie optymalnych posunięć. Stąd względna łatwość zbudowania programu komputerowego, który byłby w stanie pokonać mistrza szachowego. Problem w dużej mierze polegał na mocy obliczeniowej i pamięci (dziś smartfony mają podobną moc obliczeniową jak Deep Blue…).
Znacznie ciekawsze było jednak zwycięstwo komputera w innej grze logicznej, GO, której złożoność szacuje się na 10720 kombinacji (czyli o 600 rzędów wielkości więcej niż w przypadku szachów: 10 z sześciuset zerami!). W tym przypadku moc obliczeniowa i pamięć nie wydają się rozwiązywać problemu – ale z rozwiązaniem przyszły sztuczne sieci neuronowe i techniki tzw. uczenia maszynowego. W 2016 roku DeepMind zbudował program AlphaGo, który od 9 do 15 marca 2016 roku zmiażdżył ówczesnego mistrza świata Lee Sedola w pięciu pojedynkach. Sztuczna sieć neuronowa działa na tej samej zasadzie co neurony w mózgu, stąd można powiedzieć, że przybliża nas do zbudowania maszyny, która potrafi myśleć (https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol).
I tu wracamy do kwestii komputera przechodzącego Test Turinga – choć od 2014 roku co jakiś czas dowiadujemy się, że jakiś program “przeszedł” Test Turinga, to szybko okazuje się, że za tą informacją kryje się “haczyk”. Na dzień dzisiejszy możemy z całą pewnością stwierdzić, że jeszcze żaden program nie przeszedł Testu Turinga. Choć szacuje się, że współczesne superkomputery osiągnęły moc obliczeniową mózgu (a nawet więcej) czyli około 2x 1015 operacji na sekundę, a w trzeciej dekadzie XXI wieku taką moc osiągną komputery osobiste, to problem tkwi w oprogramowaniu. Złożoność języka (w przeciwieństwie do szachów czy GO) jest nieskończona. Aby przejść Test Turinga program będzie musiał nie tylko rozumieć język naturalny, ale także posiadać wiedzę o świecie i jego otoczeniu, zdrowy rozsądek, własne doświadczenia oraz rozumieć prawa rządzące jego zachowaniem. Kiedy to się stanie? Myślę, że wkrótce (przed końcem lat 2020), ale nawet Turing się mylił… A może spróbujesz zrobić test Turinga dla naszego chatbota. https://glivia.com/
[1] Kod Enigmy został faktycznie złamany przez polskich matematyków: Marian Rejewski, Henryk Zygalski i Jerzy Różycki już w 1932 roku (!). Oni też opracowali metodę i maszynę, dzięki której możliwe byłoby złamanie szyfru – tzw. “bombę”. Niestety, budżet Biura Szyfrów Wojska Polskiego nie pozwalał na rozwinięcie projektu i ostatecznie plany “bomby” i samej maszyny szyfrującej przekazano wywiadowi brytyjskiemu. W dniach 25-26 lipca 1939 roku w Pyrach pod Warszawą odbyła się konferencja kryptologów polskich, brytyjskich i francuskich, podczas której polscy matematycy wyjaśnili działanie Enigmy i maszyn deszyfrujących oraz zaprezentowali swoje umiejętności kryptograficzne. Informacje te zostały wykorzystane do stworzenia maszyny deszyfrującej zwanej “bombą Turinga” – to właśnie ta maszyna została zaprezentowana we wspomnianym filmie.
[2] Gdy Turing pisał artykuł, nie istniały jeszcze sztuczne sieci neuronowe, które przypominają działanie ludzkiego mózgu. Pierwszą sztuczną siecią neuronową był Perceptron opracowany przez Franka Rosenblatta w 1957 roku. Dziś niektóre zadania poznawcze wykonywane przez komputery, takie jak rozpoznawanie mowy, obrazów czy wzorców zachowań, oparte są na symulacji neuronów i tzw. uczeniu maszynowym. Wydaje się więc, że komputer, który przejdzie Test Turinga będzie zbudowany na bazie symulacji neuronów i sztucznych sieci neuronowych.
[3] Lata 50. to czas triumfów psychologii behawioralnej, która badała przede wszystkim zewnętrzne czynniki procesów psychicznych – czyli zachowania. Wydaje się, że ten nurt mocno wpłynął na poglądy Turinga i ostateczny pomysł na to, jak sprawdzić, czy maszyna może myśleć.
[4] https://www.csee.umbc.edu/courses/471/papers/turing.pdf