Pobierz
najnowszy numer

Newsletter

Zapisz się do naszego Newslettera, aby otrzymywać informacje o nowościach z branży!

Jesteś tutaj

AI dla każdego. Część 1

Printer Friendly and PDF

Branża zabezpieczeń od dawna czerpie pełnymi garściami z IT. Z każdym rokiem granica między rozwiązaniami z dziedziny IT i z dziedziny zabezpieczeń staje się coraz bardziej zatarta i nic w tym dziwnego, bo znaczna część urządzeń na rynku zabezpieczeń to w istocie mniej lub bardziej zminiaturyzowane komputery, a chyba trudno obecnie o bardziej fascynujące zastosowanie komputerów niż rozwój sztucznej inteligencji. Proponuję lekturę całego cyklu artykułów na ten temat. Czego będzie można się z nich dowiedzieć?

Między innymi tego, czym jest szeroko rozumiana sztuczna inteligencja, jak ewoluowały rozwiązania leżące u jej podstaw, jakie są przykładowe rodzaje konkretnych systemów wykorzystujących sztuczną inteligencję, co to jest deep learning, jak działają sieci neuronowe, jakie są i mogą być praktyczne zastosowania systemów wykorzystujących sztuczną inteligencję, a także jakie zagrożenia mogą one spowodować. Cykl artykułów będzie napisany językiem prostym, bez skomplikowanej nomenklatury matematycznej, bez odwoływania się do funkcji różniczkowalnych czy teorii zbiorów rozmytych. Trochę matematyki będzie, wszak to królowa nauk i bez niej sztuczna inteligencja by nie powstała. Obiecuję jednak, że wstawki matematyczne będą minimalne, a wszystko krok po kroku i bardzo dokładnie wyjaśnię. Nadrzędnym celem artykułów jest odczarowanie sztucznej inteligencji, konsolidacja wiedzy w tym zakresie i przekazanie jej w formie przystępnej dla każdego.

Nazwy i slogany

W świecie techniki, a szczególnie technik informacyjnych (IT), jest moda na slogany, podchwytywane natychmiast przez specjalistów od marketingu. A że moda, jak wiadomo, ulega ciągłym zmianom, również slogany się zmieniają.

W latach 80. na początku dynamicznego rozwoju mikroprocesorów mieliśmy modę na mikroprocesorowe centrale telefoniczne, regulatory temperatury, sterowniki czy prostowniki samochodowe. Gdy komputery upowszechniły się na dobre przyszła kolej na slogany komputerowe. Pojawiło się zatem komputerowe wspomaganie projektowania, badanie wzroku, badanie pojazdów czy projektowanie kuchni.

Najnowszy krzyk mody to „inteligentne” rzeczy. Mamy więc smartfony ze sztuczną inteligencją, inteligentne systemy zarządzania ruchem, inteligentne odkurzacze, oświetlenie, meble, domy, a w naszej branży np. kamery IP i rejestratory. W wielu przypadkach mamy do czynienia ze zwykłymi marketingowymi frazesami, jednak szeroko rozumiana sztuczna inteligencja jest jedną z dziedzin nauki i techniki, która faktycznie całkowicie zmieni świat, jaki znamy. Zmiany rozpoczęły się już dawno.

Zacznijmy od uporządkowania nazewnictwa i definicji. W artykułach niniejszego cyklu będę zamiennie używał nazwy sztuczna inteligencja i angielskiego skrótowca AI pochodzącego od terminu artificial intelligence. Czym jest sztuczna inteligencja? Zacznijmy może od inteligencji sensu stricto.

Fot. 1. Pomnik Alana Turinga w Bletchley Park (fot.: Jon Callas, San Jose, USA)

 

Naturalna inteligencja

Miało być łatwo i przyjemnie, a już na początku pojawia się pewien problem. Otóż nie ma jednej, uniwersalnej definicji inteligencji. Jest to pojęcie tak szerokie, iż nie można stworzyć nawet jednej, spójnej kategorii zjawisk i procesów, które można by przypisać do inteligencji. Mówi się o inteligencji emocjonalnej, kognitywnej (abstrakcyjnej), werbalnej, społecznej itd. Nawet standardowe testy psychometryczne na iloraz inteligencji (IQ) sami naukowcy uznają za kontrowersyjne, bo umożliwiają one ocenę zaledwie bardzo niewielkiej części spektrum inteligencji jako sprawności umysłowej.

Dokonam pewnego uproszczenia i połączę dwie definicje inteligencji zaproponowane przez psychologów – Williama Sterna i G. A. Fergusona. Pierwszy z nich zdefiniował inteligencję jako umiejętność przystosowania się do nowych warunków przez wykorzystanie dostępnych środków poznawczych1. Drugi postulował, że to zdolność do uczenia się2. Przyjmijmy więc, że inteligencja to zdolność do uczenia się z wykorzystaniem dostępnych źródeł wiedzy oraz zdolność do przystosowania się do różnych, nawet nieprzewidzianych wcześniej sytuacji. Zdolność adaptacyjna wynika tu wprost z nauki. Taka definicja bardzo dobrze nadaje się m.in. do opisania procesów uczenia maszynowego, o czym przekonamy się już niebawem.

Sztuczna inteligencja

Za ojca sztucznej inteligencji uważa się Alana Turinga – brytyjskiego kryptologa i matematyka. Jego praca On computable numbers (O liczbach obliczalnych)3 z 1936 r. była punktem odniesienia przy definiowaniu algorytmu komputerowego i kamieniem węgielnym informatyki.

W 1950 r. Turing postawił pytanie: „Czy maszyna jest zdolna do zachowań inteligentnych?”4. Aby znalezienie odpowiedzi było łatwiejsze, matematyk opracował prosty test – grę, w której bierze udział przynajmniej trzech graczy: człowiek-sędzia oraz dwaj rozmówcy – maszyna i drugi człowiek. Zadaniem sędziego (testera) jest ustalenie na podstawie dialogu, prowadzonego w języku naturalnym, który z rozmówców jest maszyną, a który człowiekiem. Brak możliwości wydania przez sędziego jednoznacznego werdyktu oznacza pozytywny wynik testu – maszyna jest uznawana za zdolną do inteligentnej komunikacji. Ta procedura to test Turinga5. Do jego przeprowadzenia wymaga się teraz obecności wielu sędziów. Maszyna przejdzie test pomyślnie, jeżeli uzna ją za człowieka przynajmniej 30% sędziów. Pozytywny wynik testu Turinga udało się maszynie uzyskać dopiero 7 czerwca 2014 roku, dokładnie 60 lat po śmierci słynnego matematyka6.

Pojęcie sztucznej inteligencji wprowadził w 1956 r. podczas konferencji w Dartmouth7 amerykański informatyk i matematyk John McCarthy8, późniejszy laureat Nagrody Turinga9 przyznawanej za wybitne osiągnięcia w dziedzinie informatyki.

Sztuczną inteligencję jest trudno zdefiniować, podobnie jak naturalną. Ma ona związek z wieloma dziedzinami, m.in. logiką rozmytą (teorią zbiorów rozmytych), obliczeniami ewolucyjnymi, sieciami neuronowymi, głębokim uczeniem (ang. deep learning), informatyką, robotyką. Tak jak w przypadku definicji inteligencji naturalnej, proponuję uproszczenie definicji AI. Działanie sztucznej inteligencji opiera się w głównej mierze na pracy komputerów i oprogramowania, a udział informatyki w tym procesie jest największy. Zdefiniujmy zatem sztuczną inteligencję jako dziedzinę informatyki zajmującą się tworzeniem rozwiązań technicznych naśladujących zachowania wynikające z inteligencji naturalnej.

Fot. 2. Asimo firmy Honda – pierwszy autonomiczny robot chodzący (fot.: Honda Motor Co., Ltd.)

 

Początki

Podstawy matematyczne sztucznej inteligencji zostały stworzone na długo przed pierwszymi praktycznymi realizacjami. Po pracach Alana Turinga pierwszy matematyczny model ludzkiego neuronu opracowali w 1947 r. neurofizjolog Warren McCulloch i matematyk Walter Pits. Model ten, od nazwisk uczonych, zwany jest modelem McCullocha-Pitsa10 i stał się on teoretycznym fundamentem sztucznych sieci neuronowych. Często określany jest też jako sztuczny neuron lub perceptron11.

Pierwsze próby utworzenia inteligentnych systemów miały miejsce dopiero dekadę po powstaniu modelu McCullocha-Pitsa. W 1966 r. Joseph Weizenbaum z Massachusetts Institute of Technology (MIT) stworzył program komputerowy ELIZA posługujący się językiem skryptowym i udający prawdziwego rozmówcę. Tego typu program jest nazywany czatbotem. Najbardziej znany skrypt ELIZY to DOCTOR, który wcielał się w rolę psychoterapeuty12. Była to jedna z pierwszych prób stworzenia procesora języka naturalnego. Algorytm programu był stosunkowo prosty i bazował na technice dopasowania do wzorców i generowaniu pytań na podstawie treści wprowadzanych przez użytkownika. Nie posiadał on żadnych zaawansowanych mechanizmów analizy kontekstu, jednak mimo tego radził sobie całkiem dobrze jak na swoje czasy. Fragment przykładowej konwersacji między czatbotem, a studentką:

ELIZA: Czy coś Cię trapi?

Człowiek: Mój chłopak mnie tu przyprowadził.

ELIZA: Czy to jest dla Ciebie ważne, że Twój chłopak Cię tu przyprowadził?

Człowiek: On mówi, że jestem przygnębiona przez większość czasu.

ELIZA: Przykro mi słyszeć, że jesteś przygnębiona.

Człowiek: To prawda, jestem nieszczęśliwa.

ELIZA: Czy myślisz, że przyjście tutaj pomoże Ci przestać być nieszczęśliwą?

ELIZA była bardzo zręcznym rozwiązaniem dającym iluzję inteligencji, jednak była pozbawiona najistotniejszego elementu AI – nie potrafiła się uczyć, a w celu zdemaskowania faktu, że jest programem komputerowym, wystarczyło zadać pojedyncze, nietypowe pytanie lub zmienić wątek podczas konwersacji.

Rozwój

Dynamiczny rozwój sztucznej inteligencji stał się możliwy dzięki coraz lepszym komputerom. Coraz szybsze procesory i coraz większa moc obliczeniowa umożliwiały realizację coraz bardziej złożonych zadań. Ostatnią dekadę XX w. i początek nowego tysiąclecia można uznać za okres przełomowy.

11 maja 1997 r. – wynikiem 3 1 do 2 1 – superkomputer IBM Deep Blue wygrywa mecz szachowy z mistrzem świata Garrim Kasparowem. Wprawdzie inżynierowie z firmy IBM modyfikowali oprogramowanie w trakcie meczu, w przerwach między partiami, i pojawiło się też kilka innych kontrowersji, jednak sam Kasparow mówił w późniejszych wywiadach o czynniku ludzkim, jaki momentami dostrzegał w grze komputera13.

31 października 2000 r., po 18 latach pracy, firma Honda zaprezentowała Asimo – humanoidalnego robota poruszającego się na wzór człowieka. Był to pierwszy i najbardziej zaawansowany technicznie autonomiczny robot chodzący, wykorzystujący m.in. algorytmy symulujące pracę elementów ludzkiego rdzenia kręgowego. Projekt Asimo rozwijany jest do dziś. Obecnie robot potrafi m.in. biegać, chodzić po nierównej powierzchni, skakać na jednej nodze, płynnie komunikować się głosowo z ludźmi, a nawet dyrygować orkiestrą14.

16 lutego 2011 r., po trzydniowej rozgrywce, superkomputer IBM Watson wygrał w amerykańskim teleturnieju Jeopardy! (polski odpowiednik to Va banque) z ówczesnymi mistrzami tej zabawy – Bradem Rutterem i Kenem Jenningsem15. Komputer wykorzystywał najnowsze algorytmy przetwarzania języka naturalnego i rozpoznawania mowy. W trakcie rozgrywki komunikowano się z nim dokładnie tak samo jak z pozostałymi uczestnikami. Wygrane przez Watsona pieniądze przekazano w całości na cele charytatywne.

7 czerwca 2014 r., w 60. rocznicę śmierci Alana Turinga, czatbot Eugene Goostman jako pierwszy w historii osiągnął pozytywny wynik testu Turinga, przekonawszy 30 sędziów, że jest 13-letnim chłopcem. Niektórzy kwestionują wynik testu, gdyż czatbot sprytnie maskował swoje słabe strony humorystycznymi odpowiedziami16.

15 marca 2016 r. program komputerowy AlphaGo do gry w go, uznawanej za najtrudniejszą grę świata, pokonał po pięciu rundach koreańskiego mistrza – Lee Sedola. AlphaGo wykorzystuje kombinację technik głębokiego uczenia i przechodzenia drzewa (więcej o tym w kolejnych artykułach)17.

Mam nadzieję, że podstawowe definicje, trochę historii i kilka ciekawostek ze świata sztucznej inteligencji zachęciło Czytelników do lektury kolejnych części cyklu, w których przedstawię konkretne systemy wykorzystujące sztuczną inteligencję – także te, które są od niedawna wykorzystywane w branży zabezpieczeń.

Piotr Rogalewski

 

Bibliografia

  1. J. T. Lamiell, William Stern (1871-1938): A Brief Introduction to His Life and Works, Pabst Science Publishers, Langerich 2010.
  2. G. A. Ferguson, On learning and human ability, (w:) „Canadian Journal of Psychology”,nr 8/1954.
  3. A. M. Turing, On Computable Numbers, with Application to the Entscheidungsproblem, (w:) Proceedings of the London Mathematical Society, seria 2, wol. 42, Londyn 1937.
  4. A. M. Turing, Computing Machinery and Intelligence, (w:) „Mind”, nr LIX (236)/1950.
  5. G. Oppy, D. Dowe, The Turing Test, (w:) Stanford Encyclopedia of Philosophy, Stanford 2003.
  6. J. Schofield, Computer chatbot 'Eugene Goostman' passes the Turing test, https://www.zdnet.com/article/computer-chatbot-eugene-goostman-passes-th..., data wyświetlenia: 27.12.2018.
  7. J. Moor, The Dartmouth College Artificial Intelligence Conference: The Next Fifty Years, (w:) „AI Magazine”, nr 4/2006.
  8. https://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist), data wyświetlenia: 27.12.2018.
  9. https://en.wikipedia.org/wiki/Turing_Award, data wyświetlenia: 27.12.2018.
  10. W. McCulloch, W. Pitts, A logical calculus of the ideas immanent in nervous activity, (w:) „Bulletin of Mathematical Biophysics”, nr 5/1943.
  11. https://en.wikipedia.org/wiki/Perceptron, data wyświetlenia: 28.12.2018.
  12. M. Baranovska, S. Höltgen, Hello, I’m Eliza. Fünfzig Jahre Gespräche mit Computern, Projekt Verlag, Bochum/Freiburg 2018.
  13. Garri Kasparov, Deep Thinking: Where Machine Intelligence Ends And Human Creativity Begins, Perseus Books, Nowy Jork 2017.
  14. http://asimo.honda.com, data wyświetlenia: 28.12.2018.
  15. https://money.cnn.com/2011/01/13/technology/ibm_jeopardy_watson, data wyświetlenia: 29.12.2018.
  16. https://en.wikipedia.org/wiki/Eugene_Goostman, data wyświetlenia: 27.12.2018, Turing test success marks milestone in computing history, http://www.reading.ac.uk/news-and-events/releases/PR583836.aspx, data wyświetlenia: 27.12.2018.
  17. https://deepmind.com/research/alphago, data wyświetlenia: 29.12.2018.

 

Zabezpieczenia 1/2019

Wszelkie prawa zastrzeżone. Kopiowanie tekstów bez zgody redakcji zabronione / Zasady użytkowania strony