Uczenie maszynowe vs. sztuczna inteligencja
Bardzo często, gdy w rozmowie dochodzi do pytania: “Czym zajmujesz się zawodowo?” mam ogromny problem. Uczenie maszynowe jest na tyle młodą dziedziną, że niejednokrotnie odpowiedź: “Zajmuję się uczeniem maszynowym” powoduje zmieszanie na twarzy rozmówcy i jeszcze większe zmieszanie na mojej twarzy – bo to oznacza, że teraz muszę jakoś to wytłumaczyć, co czasami jest nie lada wyzwaniem 😅
Jak zdefiniować sztuczną inteligencję a jak uczenie maszynowe? Czy da się wskazać wyraźną granicę, gdzie kończy się jedno a zaczyna drugie? Dlaczego bardzo często mylimy te pojęcia? Na te i inne pytania spróbujemy odpowiedzieć w tym artykule.
Sztuczna inteligencja
Sztuczna inteligencja obejmuje tak wiele pojęć, że aż trudno ją zdefiniować w łatwy sposób😂
Wpisując to zagadnienie w wyszukiwarkę najczęściej spotkamy się ze stwierdzeniem, że sztuczną inteligencją nazwiemy systemy (technologie), które mogą symulować ludzką inteligencję, wykonywać zadania, które do niedawna zarezerwowane były tylko dla ludzi. Drugie, równie popularne stwierdzenie głosi, że sztuczna inteligencja dąży do stworzenia systemu, który będzie potrafił rozwiązywać (podobnie jak ludzie) skomplikowane problemy i zastąpi człowieka w niemal każdym zadaniu.
UWAGA!! Spoiler:
Szanse na scenariusz rodem z Science-Fiction, gdzie w niemal każdej czynności zastąpią nas maszyny lub nawet lepiej – spróbują zawładnąć planetą są tak małe, że nie powinniśmy sobie zaprzątać tym głowy. Dlaczego? Wyjaśnienie zostawię może na osobny wpis. A teraz na poważnie…
Jak ja bym zdefiniowała sztuczną inteligencję?
Są to systemy (komputerowe), które nie są (nie muszą być) wprost zaprogramowane do zadania, które wykonują. Wykorzystują dostarczone im dane, aby wytworzyć własną “inteligencję”. Dzięki temu są w stanie samodzielnie podejmować pewne decyzje.
Warto pamiętać, że te systemy mogą działać bez posiadania skomplikowanych algorytmów uczenia maszynowego pod spodem. Algorytmy sztucznej inteligencji, które nie są algorytmami uczenia maszynowego są zazwyczaj dosyć proste i nie wymagają dużej ilości danych, aby się nauczyć. Np. porównując podobieństwo dwóch zdań, komputer mógłby policzyć liczbę takich samych słów i podzielić przez długość zdania. Nie ma tu nic skomplikowanego, ale taki algorytm zwróci nam podobieństwo tych zdań i jest to sztuczna inteligencja – realizuje zadanie, które wymaga ludzkiej inteligencji (pomińmy na razie trafność takiego podobieństwa).
Gdy do gry wchodzą algorytmy uczenia maszynowego czy sieci neuronowe, to oczywiście nadal mówimy o sztucznej inteligencji, ale wówczas jesteśmy w nieco węższej dziedzinie jaką jest uczenie maszynowe czy uczenie głębokie. Zależność pomiędzy sztuczną inteligencją, a uczeniem maszynowym i głębokim przedstawia obrazek:
Przykład sztucznej inteligencji, która nie jest uczeniem maszynowym
Umiejętność nawigacji do wskazania nam najbardziej optymalnej drogi jest doskonałym przykładem. W systemach nawigacji częściowo wykorzystuje się uczenie maszynowe, ale sam wybór optymalnej drogi jest bardziej problemem matematycznym (matematyka dyskretna) niż problemem uczenia maszynowego i można go zaliczyć do czegoś co jest sztuczną inteligencją, ale nie jest uczeniem maszynowym.
Na problem znalezienia optymalnej drogi możemy popatrzeć jak na graf, gdzie każda krawędź (odcinek widoczny na rysunku poniżej) reprezentuje prosty odcinek drogi. Chcąc dojechać z punktu A do B najkrótszą drogą, sztuczna inteligencja zaimplementowana w nawigacji “przeszuka” graf i wybierze “najtańszą” drogę, gdzie długość każdego odcinka możemy traktować jako jego koszt.
Optymalizacja drogi – zadanie teoretycznie zarezerwowane dla człowieka, wykonywane przez maszynę. Przykład idealnie pokrywa się z internetową definicją 😄 Czy się pokrywa z moją definicją? Trudno mi na to odpowiedzieć, bo nie wiem co dokładnie dzieje się w systemach nawigacji przy wyznaczaniu optymalnej drogi.
Przykład jak taki algorytm wyszukuje optymalną drogę z Waszyngtonu do Los Angeles za pomocą algorytmu A*
Kolejnym doskonałym przykładem są chatboty. Póki co większość chatbotów jest bardzo słabo rozwinięta i zazwyczaj rozumienie co do nich piszemy opierają na wyłapywaniu słów kluczowych, co jest kolejnym przykładem sztucznej inteligencji, która nie angażuje uczenia maszynowego.
Ale… jeśli pracujemy w korpo to pod słowami “sztuczna inteligencja” może się kryć dosłownie wszystko. Sytuacja z życia wzięta odzwierciedlona na memie:
Uczenie maszynowe
Gdy do gry wchodzi uczenie maszynowe lub głębokie, nadal mówimy o algorytmach, ale w tym przypadku nie tylko uczą się w oparciu o dostarczone dane, ale również muszą mieć dostarczoną odpowiednią ilość danych, aby móc się czegoś nauczyć. Nie definiujemy reguł dla algorytmów uczenia maszynowego. Dostarczamy im dane, na podstawie których powinny się uczyć, oraz odpowiedzi (wyniki jakie mają osiągnąć). Następnie na podstawie dostarczonych im informacji powinny same wyznaczyć reguły.
Sztuczna inteligencja vs. uczenie maszynowe
Podsumujmy nieco wszystko, co zostało powiedziane i odpowiedzmy na pytania postawione na początku. Szeroko pojętą sztuczną inteligencją nazwiemy wszystkie czynności zarezerwowane dla ludzi, które jednak potrafią robić komputery.
Gdzie postawić granicę między sztuczną inteligencją a uczeniem maszynowym?
Moim zdaniem najlepiej tak – jeżeli system (model) sam się uczy reguł bazując na otrzymanych danych, to już jest uczenie maszynowe. Wszystko przed, to jeszcze sztuczna inteligencja nieangażująca uczenia maszynowego. Chatbot bazujący na słowach kluczach dostaje od nas pewne podpowiedzi, np. że widząc “urlop” w treści pytania, zwiększa się prawdopodobieństwo, że osoba pyta o urlop. My jednak nie możemy zdefiniować wprost reguły dla chatbota – jeśli “urlop”, to pytanie dotyczy urlopu. Dużo zależy od pozostałej treści pytania i taki chatbot musi sam określić prawdopodobieństwo, że pytanie dotyczy danej dziedziny. Chatbot oparty na uczeniu maszynowym dostałby zbiór pytań z informacją, czego dotyczy każde pytanie i sam musiałby znaleźć wszystkie zależności.
Dlaczego mylimy sztuczną inteligencję z uczeniem maszynowym?
Odpowiedź na to pytanie wcale nie jest oczywista… Prawdopodobnie wynika to z trudności związanych ze zdefiniowaniem tych pojęć (w szczególności sztucznej inteligencji!). Trudno jest też wskazać wyraźną granicę pomiędzy jednym a drugim. Dodatkowo bardzo trudno znaleźć konkrety w internecie, co tylko pogłębia panującą dezinformację.
Mam nadzieję, że przedstawione opisy i przykłady pomogą Ci w zrozumieniu czym w ogóle jest sztuczna inteligencja, uczenie maszynowe oraz czym one zasadniczo się różnią.
Bardzo Ci dziękuję za lekturę 💗