W ostatnim czasie temat sztucznej inteligencji stał się bardzo popularny. Rosnąca ilość danych oraz tania siła obliczeniowa sprawiły, że temat przestał być czysto akademicki i wiele firm postanowiło wykorzystać tę tematykę do rozwoju swojego biznesu. Wciąż jednak mamy sporo problemu z nazewnictwem i terminologią – zamiennie stosujemy sformułowania: sztuczna inteligencja, data science, uczenie maszynowe, big data, data mining, deep learning itp. Spróbuję po krótce przybliżyć te tematy, wyjaśnić różnicę i jednocześnie uporządkować wiedzę.

Sztuczna inteligencja

Termin niełatwy do zdefiniowania ze względu na różne interpretacje. Wynik wyszukiwania w google daje nam różne wyniki i mogą być one czasami dość sprzeczne ze sobą. Niemniej spróbuję wyjaśnić ten termin.

W informatyce jest to dziedzina wiedzy, która zajmuje się tworzeniem “inteligentnych agentów” – urządzeń będących w stanie odpowiednio interpretować otaczające je środowisko oraz podejmować decyzje maksymalizujące szansę realizacji swoich celów. Chodzi zatem o tworzenie inteligentnych bytów posiadających cechy kognitywne typowe dla ludzi – np. uczenie się, rozwiązywanie problemów. Sztuczna inteligencja opiera się na twierdzeniu, że ludzka inteligencja może być opisana tak precyzyjnie, że będzie możliwe stworzenie maszyny symulującej tę inteligencję. A zatem będzie możliwe stworzenie sztucznego człowieka. Jest to temat dość kontrowersyjny, niewątpliwie zahaczający o filozofię, etykę i inne nauki humanistyczne.

Termin ‘sztuczna inteligencja’ jest ostatnio dość nadużywany i generalnie służy do określania nim wszystkiego, co dotychczas jeszcze nie zostało stworzone. Na rok 2017 byłoby to np. rozpoznawanie ludzkiej mowy, autonomiczne samochody, inteligentne dostarczanie treści, wynajdywanie wzorców w danych, automatyczne tłumaczenie tekstu z jednego języka na drugi, wykrywanie raka mózgu na podstawie analizy materiału genetycznego, tworzenie planu leczenia pacjentów itp.

Przyjęto pewną klasyfikację poziomu zaawansowania sztucznej inteligencji. Wyróżniamy trzy poziomy:
* wąska sztuczna inteligencja (Artificial Narrow Intelligence, ANI) – inteligencja komputerów lub maszyn wyspecjalizowana w pewnej dziedzinie, np. rozpoznawanie kształtów, rozpoznawanie głosu, granie w szachy, przewidywanie pogody. Jest to jedyna sztuczna inteligencja, którą dotychczas udało się stworzyć. Ten typ inteligencji jest również określany jako “słaba sztuczna inteligencja” (Weak AI). Nazwa mogłaby wskazywać, że tego typu inteligencja jest nieefektywna i jest to błędne skojarzenie. Taka inteligencja potrafi bardzo dobrze się sprawdzać w wykonywaniu prac rutynowych, fizycznych lub kognitywnych, dzięki czemu skutecznie wyręcza człowieka.
* ogólna sztuczna inteligencja (General Artificial Intelligence, AGI) zwana także inteligencją na poziomie człowieka (human-level AI) lub też mocną sztuczną inteligencją (strong AI). Jest to ten typ inteligencji, który potrafi rozumieć i odpowiednio poprawnie interpretować otaczające środowisko, tak jak to robi człowiek. Wg ekspertów od sztucznej inteligencji, poziom ten może zostać osiągnięty około roku 2040.
* super sztuczna inteligencja (Artificial Superintelligence, ASI) – sztuczna inteligencja, która jest mądrzejsza od człowieka. Wg tych samych ekspertów poziom ten może zostać osiągnięty około roku 2060. Poziom ten jest dla wszystkich jedną wielką zagadką i budzi przerażenie, bowiem ASI będzie mądrzejsze od człowieka i teoretycznie będzie w stanie przyczynić się do uczynienia człowieka nieśmiertelnym, ale również może doprowadzić do zagłady ludzi.

Data Science

Data Science – ogólnie rzecz biorąc jest to nauka zajmująca się analizą danych, wyciąganiem z nich wniosków oraz prezentowaniem uzyskanych wyników innym.

Niektórzy mówią, że data science to po prostu inna, bardziej seksowna nazwa statystyki. Dla innych jest to coś więcej – połączenie matematyki, statystyki, programowania, wizualizacji danych, wiedzy dziedzinowej z obszaru analizowanych danych, zarządzania metodami pozyskiwania danych oraz ich gromadzenia. Specjaliści data science powinni charakteryzować się dociekliwością i być zaangażowani w zrozumienie biznesu. Pomoże im to poprawnie interpretować dane oraz dostrzec szeroki kontekst swoich analiz. Specjaliści data science powinni być nakierowani na wykrywanie i rozwiązywanie istotnych kwestii biznesowych. Powinni również mieć rozwinięte zdolności komunikacyjne, by móc w łatwy i skuteczny sposób wyjaśniać innym (w szczególności kadrze zarządzającej) wyniki wykonanych złożonych analiz.

Data science, w dużym uproszczeniu, jest określeniem roli idealnego pracownika nowoczesnej firmy, który jest w stanie wykorzystać głęboką wiedzę merytoryczną do przekształcania dostępnych dla firmy danych w realną korzyść.

Uczenie maszynowe

Uczenie maszynowe, czyli machine learning to dziedzina, której celem jest tworzenie systemów zdolnych do działania i doskonalenia się przy pomocy zgromadzonego doświadczenia (czyli danych) i nabywania na tej podstawie nowej wiedzy. Jest to poniekąd sposób na praktyczne wdrożenie idei sztucznej inteligencji.

Uczenie maszynowe wykorzystuje zasadniczo trzy typy algorytmów:
* Uczenie nadzorowowane – algorytm/komputer dostaje przykład danych wejściowych oraz wyjściowych i na ich podstawie powinien zdobyć wiedzę o zależnościach pomiędzy tymi danymi. Do tego celu wykorzystuje się niektóre algorytmy data mining.
* Uczenie nienadzorowowane – zadaniem algorytmu/komputera jest wykrycie nieznanych związków i zależności w dostarczonych danych.
* Uczenie przez wzmocnianie – metoda wyznaczania optymalnej polityki sterowania w nieznanym mu środowisku. Jeśli podejmowana decyzja jest poprawna, wówczas algorytm/komputer dostaje nagrodę. Decyzja błędna wiąże się z karą.

By obalić pewne mity należy podkreślić, że uczenie maszynowe:
* nie służy tworzeniu/programowaniu tylko i wyłącznie inteligentnych robotów, które mają podbić świat. W wielu przypadkach firmy wykorzystują machine learning do wspomagania podejmowania przez siebie decyzji biznesowych.
* nie jest bezpośrednio i wprost związane z big data (w końcu przecież można tworzyć modele na podstawie bardzo małych zbiorów danych).

Data Mining

To połączenie algorytmów oraz różnych technik wykorzystywanych do budowy modeli i systemów potrafiących dynamicznie uczyć się z dostarczonych danych oraz wyszukiwać w nich wzorce. Najczęściej wykorzystywane algorytmy można podzielić na:
* przydzielające dane do różnych grup (klasyfikacja)
* przewidujące nowe nieznane wartości (regresja)
* grupujące dane (klastrowanie)

Do poszukiwania wiedzy w danych możemy wykorzystać klasyczne algorytmy uczenia maszynowego. Coraz częściej jednak wykorzystuje się nowe metody głębokiego uczenia oparte o sieci neuronowe (deep learning).

Wydobyta z danych wiedza/wzorce/zależności/reguły powinny być optymalne, tj. powinny odzwierciedlać te dane i zależności w nich zachodzące, ale z pewną dozą niepewności. Raczej należy unikać się tworzenia modeli, które w 100% odzwierciedlają dostarczone dane. Wówczas stworzony model radziłby sobie świetnie z nowymi danymi, które są identyczne z danymi uczącymi. Jednak jakość jego wyników mogłaby się znacząco pogorszyć, gdyby miał on podjąć jakąś decyzję w oparciu o dane, których dotychczas nie widział.
Jest to problem znany jako przeuczenie (overfitting).

Big Data

Są to duże ilości danych, które nie mogą być efektywnie przetworzone w tradycyjnych aplikacjach. Proces Big Data zazwyczaj opiera się na przetwarzaniu danych surowych, nieprzetworzonych i niezagregowanych. Ilość tych danych jest tak duża, że praktycznie niemożliwe jest przechowanie ich na jednym komputerze (terabajty danych).

Do uruchomienia procesu data mining potrzebne są dane, dobre dane. Co ważne – nie musi ich być dużo, ważne by były jak najlepsze. Już nawet mały zestaw danych składający się z kilku-kilkunast rekordów może być wystarczającym do tego, by pozyskiwać z niego wiedzę. Przykładem niech będzie zestaw danych (ang. dataset) opisujących irysy. Ten bardzo znany zbiór zawiera tylko 150 rekordów, ale dane w nim zebrane są na tyle dobre jakościowo, że pozwalają na uruchomienie procesu uczenia maszynowego i zbudowanie modelu, który jest w stanie wskazać prawidłowy gatunek irysów w ponad 95% przypadków.