#9 — 4 rzeczy na temat AI, które chcielibyście wiedzieć, a o które boicie się zapytać
W tym odcinku przybliżę temat sztucznej inteligencji, przy czym bardziej od strony popularnej, niż naukowej. Z pewnością jest to jedno z tych pojęć, które może budzić sporo emocji – z jednej strony nadziei (na lepsze jutro), ale też i obaw – że AI może zawładnąć ludzkością. Które z tych podejść ma rację? Przekonaj się i posłuchaj odcinka.
Transkrypcja odcinka
Cześć, nazywam się Krzysztof Rychlicki-Kicior i witam cię serdecznie w podcaście „Software z każdej strony”, w którym dowiesz się, jak łączą się ze sobą świat biznesu i IT.
To jest odcinek odcinek dziewiąty: "Cztery rzeczy na temat AI, które chcielibyście wiedzieć, a o które boicie się zapytać".
W tym odcinku przybliżam temat sztucznej inteligencji, po angielsku artificial intelligence, czyli właśnie AI. Nie ukrywam, że w tym odcinku zdecydowanie bardziej od strony popularnej, niż naukowej, bo z pewnością jest to jedno z tych pojęć, które może budzić sporo emocji. Z jednej strony nadziei, chciało by się rzecz na lepsze jutro, a z drugiej obaw, że powstanie kiedyś taka sztuczna inteligencja, która nas wszystkich po prostu pochłonie. Temat ten jest wyjątkowo bliskich memu sercu, ponieważ poza działalnością biznesową w Makimo, już od wczesnych czasów akademickich, takich typowo studenckich na Politechnice Łódzkiej, miałem okazje poznawać tajniki prostych sieci neuronowych. To było w zasadzie pod koniec lat 2000, pod koniec pierwszej dekady tego stulecia. Później przyszły studia doktoranckie, publikacje naukowe, oczywiście rozprawa doktorska, a po nich dalsza działalność. I choć, tak jak wspominałem w zerowym odcinku, znacznie większa, w moim przypadku, była działalność dydaktyczna, niż naukowo-badawcza, to również działalność naukową staram się w miarę wolnego czasu prowadzić.
Na przestrzeni dekady te moje zainteresowania ulegały zmianie. Zaczęło się od analizy dźwięku, a konkretnie od rozpoznawania emocji w sygnale mowy. Później skierowałem się zgodnie z moimi prywatnymi zainteresowaniami, a konkretnie przyszłością w szkole muzycznej, i zająłem się rozpoznawaniem wysokości dźwięków w sygnałach reprezentujących nagrania muzyczne. Mówiąc bardzo prosto i krótko - rozpoznawał nuty. Natomiast w ostatnich latach, dla odmiany, zająłem się rozpoznawaniem obrazów. Analizą obrazów medycznych, choć nie tylko medycznych, za pomocą metod deep-learningu, czyli głębokich sieci neuronowych. Rozwój metod sztucznej inteligencji obserwuję więc od dawna, ale równolegle do podejścia stricte naukowego, bardzo ciekawie obserwuje się obecność sztucznej inteligencji w szeroko pojętej przestrzeni publicznej. Tutaj, obok zachwytów nad dotychczasowymi zdobyczami AI, takimi jak choćby asystent głosowy Siri, inteligentne samochody, czy nawet popularne narzędzia związane z generowaniem treści takich jak tekstów reklamowych czy nawet śmiesznych memów, pojawia się obawa przed uzyskaniem świadomości przez sztuczną inteligencję, przed powstaniem tak zwanej silnej sztucznej inteligencji. Zajmę się tą uwagą, tym problemem, ale jeszcze za chwilę.
Zanim wymyśliłem temat tego odcinka, stwierdziłem, że można by wreszcie zrobić odcinek w nieco innej konwencji, w której nie zaczynałbym merytoryki od definiowania pojęcia, czy też obszarów, ale w takim mocno związanym ze światem naukowym temacie, jest to po prostu niemożliwe. Zwłaszcza, że pod pojęciem sztucznej inteligencji rozumie się bardzo wiele różnych zjawisk, systemów, aplikacji, koncepcji. Pytanie, czy tak powinno się postępować?
Pierwszą rzeczą, z tych tytułowych czterech, którą się zajmiemy, jest zdefiniowanie, określenie czym ta sztuczna inteligencja jest, czy możemy tutaj mówić o wąskim, specyficznym pojęciu, czy o szerokim obszarze. Prawda jest taka, że definicje sztucznej inteligencji zmieniały się na przestrzeni lat, a nawet dekad. Już w latach 50-tych zaczęto się interesować AI, natomiast w przeciwieństwie do innych popularnych pojęć takich jak choćby Blockchain, AI to pojęcie parasolowe. To nie jest jedna, konkretna metoda, zjawisko. To jest zdecydowanie pojęcie wspólne, obejmujące tak wiele różnych technik, algorytmów i koncepcji, że jeżeli chce się w ogóle sklasyfikować, ująć je w jednej grupie, po jednym pojęciem, to definicja siłą rzeczy musi być ogólna.
Najprościej wyjść od tego, co łączy te wszystkie mechanizmy, wszystkie podejścia. Mówi się, że sztuczna inteligencja ma na celu zastąpienie tych czynności, które stanowią przejaw inteligencji ludzi. Jeżeli jest jakaś czynność, którą wykonuje człowiek, jest to czynność postrzegana przez nas jako czynność wymagająca inteligencji, jesteśmy w stanie zastąpić tę czynność działaniem maszyny, komputera, urządzenia, to mamy do czynienia z czynnością inteligentną. Z drugiej strony nawet ta definicja nie jest dostatecznie precyzyjna, bo chociażby bardzo klasyczny problem, jaki występuje w informatyce, a mianowicie uporządkowanie, sortowanie jakiś danych, chociażby listy kontaktów w telefonie od a do z, niewątpliwe wymaga od człowieka pewnej inteligencji, gdyby miał to zrobić ręcznie. Natomiast nie jest to problem klasyfikowany jako problem zaliczany do sztucznej inteligencji. W skali bardziej zaawansowanych zadań, można chyba niewątpliwie przyjąć, że gra w szachy jest procesem wymagającym sporej inteligencji, zarówno do zrozumienia zasad, może trochę mniej, bo zasady są dość proste, ale już do osiągnięcia poziomu mistrzowskiego trzeba wykazać się nie lada inteligencją, pamięcią, wieloma umiejętnościami związanymi z inteligencją. Natomiast z drugiej strony komputery potrafią, już od dłuższego czasu, grać znacznie lepiej niż najlepsi arcymistrzowie. Z kolei w przypadku pozornie prostych zadań, takich jak chociażby rozróżnianie od siebie różnych gatunków zwierząt, które ludziom raczej problemów nie nastręcza, to zadanie, które do niedawna wcale nie było łatwe dla komputerów, dopiero ostatnie kilka lat, w porywach do dekady przyniosło w tym zakresie sporą zmianę. Natomiast to jest taki piękny przykład zadania, które wbrew pozorom wymaga pewnej inteligencji, której ludzie, my jako gatunek uczyliśmy się przez wręcz miliony lat, oczywiście jako też my i nasi poprzednicy w drzewie ewolucji. Natomiast żeby nauczyć tego komputera, trzeba było zastosować głębokie sieci neuronowe, mechanizmy znacznie bardziej skomplikowane, niż w przypadku chociażby nauki gry w szachy. To ostatnie stwierdzenie jest może dyskusyjne, natomiast nie da się ukryć, że na linii czasu problem gry w szachy rozwiązano nieco wcześniej w dostatecznie dobrym stopniu, niż wspomniane rozpoznawanie gatunków zwierząt. Do typowych problemów rozwiązywanych za pomocą sztucznej inteligencji należą wszelkiej maści rozpoznawanie - czy to obrazów, dźwięków, w ostatnim czasie także wideo. Również analiza tekstu, czyli tak zwany natural language processing, która, co ciekawe, może na pierwszy rzut oka powinna być prostsza niż analiza skomplikowanych obrazów, ale w praktyce okazuje się, że często jest odwrotnie. Z drugiej strony mamy mechanizmy związane z generowaniem treści, czy to muzyki czy obrazów. Choćby ostatnio popularna usługa DALL-E mini, która generuje obrazy będące połączeniem różnych obrazów źródłowych w taki kreatywny sposób, na podstawie opisu w języku naturalnym. Bardzo śmieszny z jednej strony, ale też ciekawy przykład użycia sztucznej inteligencji. Używa się również do generowania content marketingowych treści, czyli tekstów marketingowych na stronę, także używa się sztucznej inteligencji.
To, o czym może na pierwszy rzut oka się nie pamięta to to, że sztuczną inteligencję używa się także w zakresie inteligentnego sterowania i podejmowania decyzji. Tu pojawiają się algorytmy logiki rozmytej i to zarówno w kontekstach takich przemysłowych, jak również w grach komputerowych. Przeciwnicy, z którymi się mierzymy, mogą wykazywać pewne zachowania inteligentne.
Podsumowując problem definicji faktycznie nie jest problemem łatwym i możliwe, że za kilka, kilkanaście lat ulegnie dalszej ewolucji, natomiast należy postrzegać sztuczną inteligencję jako grupę pewnych rozwiązań w zakresie informatyki, które w swoim rezultacie, w efekcie tego, co robią, wykazują pewne przejawy racjonalnego, inteligentnego działania.
Na tym definicyjny problem się nie kończy, bo częstym nadużyciem, i to jest druga rzecz, którą się dzisiaj zajmiemy, jest wymienne stosowanie, obok pojęcia sztucznej inteligencji, pojęcia uczenia maszynowego, czyli machine-learning. Tymczasem od razu od tego zacznę, pojęcia te nie są sobie równe, nie są tożsame. Uczenie maszynowe to grupa metod zaliczana do sztucznej inteligencji, używana do rozwiązywania wielu różnych zadań, o których sobie powiemy. Być może jest to pojedynczo najbardziej popularna grupa, albo też taki dział sztucznej inteligencji, natomiast nie jest to z pewnością jedyny jej składnik. Polega ona na stałym doskonaleniu pewnego matematycznego modelu, na przykład sieci neuronowej, na podstawie przedstawianych danych, czyli chodzi o taki proces uczenia pewnego modelu matematycznego. Zdaję sobie sprawę, że jeżeli ktoś nie miał do czynienia w praktyce ze sztuczną inteligencją, to taki opis niewiele znaczy, więc pozwolę sobie odwołać się do przykładu, który znam bardzo dobrze, do takiego pierwszego dużego wyzwania z zakresu sztucznej inteligencji, czyli wspomnianego już wcześniej rozpoznawania emocji w sygnale mowy. Zadanie było w sumie dość proste, przynajmniej jeśli chodzi o jego definicję i mamy nagraną wypowiedź postaci pliku dźwiękowego i mamy określić, czy mówca był smutny, wesoły, znudzony, zły. I jeszcze było kilka emocji, łącznie 7 czy 8. Proces uczenia maszynowego polega na ten, że my uzyskujemy najpierw pewne informacje z tego sygnału wejściowego, czyli w tym przypadku z nagrania albo z obrazu, albo z wideo, albo z tekstu. Uzyskujemy pewne informacje pośrednie, na przykład energię takiego sygnału, czyli czy ktoś mówił głośno, czy cicho, być może na przykład wysokość dźwięku. Tutaj stosujemy różne algorytmy, akurat stosowałem z zakresu cyfrowego przetwarzania sygnałów. Potem mając szereg parametrów liczbowych, przekazujemy je do na przykład sieci neuronowej, która zalicza się do technik uczenia maszynowego i jednocześnie obok tych wszystkich charakterystyk, wszystkich cech wypowiedzi, przekazujemy do sieci neuronowej informację, że taki zestaw parametrów oznacza na przykład wypowiedź radosną. Takich próbek musi być wiele dla każdej z emocji. Sieć neuronowa w takim procesie cyklicznym, procesie uczenia, stara się tak dopasować szereg swoich współczynników, aby w momencie, w którym przedstawimy jej wypowiedź nieznaną wcześniej, taką, która nie była użyta w procesie uczenia, będzie w stanie prawidłowo emocję rozpoznać. Jest to tylko jeden z przykładów uczenia się, natomiast jest to klasyczny problem klasyfikacji, czyli przyporządkowania pewnych informacji, informacji wejściowych do jednej z dostępnych klas, takich jak chociażby różne rodzaje emocji. Podsumowując to zagadnienie, uczenie maszynowe stanowi bardzo ważną część sztucznej inteligencji, ale w skład AI wchodzi jeszcze wiele innych zagadnień. Definicje i nazewnictwo zajęły nam dzisiaj sporo czasu, natomiast przydadzą się nam na przyszłość, bo do tematu AI będziemy wracać i wtedy też wiadomo, nie będę się powtarzał.
Możemy w ten sposób płynnie przejść do problemu trzeciego, zorientowanego troszkę bardziej na te aspekty biznesowe, czyli co tak naprawdę jest największym wyzwaniem przy realizacji projektów AI. Naturalnie przy tak postawionym sformułowanym temacie można mieć odmienne zdania, natomiast z własnego doświadczenia, jeśli miałbym podać taką jedną, ogólną zasadę, należy pamiętać, że realizując projekty związane ze sztuczną inteligencją, poruszamy się w obszarach niepewnych, badawczych o pewnej dozie ryzyka. Każdy projekt IT niesie za sobą inherentne ryzyka, natomiast w takich projektach bez udziału AI, mówimy z reguły o ryzyku czasowym. W przypadku niektórych projektów mobilnych może być ryzyko, że Apple czy Google nie pozwoli zrealizować pewnej funkcji z powodów formalnych, natomiast w większości przypadków ryzyko jest głównie czasowe. Czy zrobienie choćby widoku listy faktur zajmie dzień, dwa a może cztery, a może dwa miesiące, to zależy od technologii, od funkcji, które chcemy tam mieć, od kompetencji programistów. Natomiast na pewno da się ustalić zakres, co do którego sam fakt możliwości realizacji takiej listy faktur jest po prostu pewny. To jest trochę tak, jak ze wspomnianym przeze mnie wcześniej sortowaniem. Jest to taki problem, który wiemy, że w 100% da się rozwiązać, nawet istnieje wiele różnych rozwiązań problemu sortowania, nie ma tutaj żadnego pola na ryzyko. Wiadomo, że da się listę liczb, czy listę pojęć posortować od A do Z i nie ma tutaj żadnych wątpliwości, że jest to możliwe. W przypadku rozwiązań AI, zwłaszcza z zakresu uczenia maszynowego, nie zawsze jesteśmy w stanie to stwierdzić. Nie jesteśmy na przykład w stanie, co do zasady, stworzyć rozwiązania doskonałego, na przykład w zakresie rozpoznawania psów czy kotów. Jednym z klasycznych demowych, testowych problemów głębokiego uczenia jest rozróżnianie obrazów reprezentujących psy i koty z pewnej bazy danych i faktycznie typowe rozwiązania state of the art, czyli aktualnego stanu wiedzy pokazują, że można osiągnąć dokładność rzędu niemal 100%, ale to i tak nie jest 100%. Może się zdarzyć, że w pewnej sytuacji pewne zdjęcie będzie tak zniekształcone, że nawet najlepszy algorytm sobie nie poradzi. Są też takie problemy, jak choćby przytoczone rozpoznawanie emocji, że nawet człowiek może nie poradzić sobie z właściwą interpretacją ładunku emocjonalnego w wypowiedzi. Możemy mieć problem ze zrozumieniem, czy ktoś na przykład był, mówiąc dane zdanie, szczęśliwy, czy wręcz przeciwnie, może zły. Wypowiedź mogła być energetyczna, ale nawet nam, ludziom może umknąć drobny niuans, a co dopiero komputerowi. Jest jeszcze jeden wymiar, bo możemy podjąć się rozwiązania problemu, co do zasady uznanego za rozwiązanego, jak chociażby te psy i koty, ale może jeszcze dojść kwestia wydajności. Możemy na przykład chcieć uzyskać rozwiązanie, które będzie w stanie rozpoznawać zwierzaki w czasie rzeczywistym i wtedy już nie każde rozwiązanie może okazać się dostatecznie wydajne. Rozwiązanie działające w czasie rzeczywistym, przy pewnej liczbie klatek w filmie, w nagraniu wideo na sekundę, może po prostu być za wolne. Nawet, jeżeli jest dostatecznie dokładne. Jak widać jest tu sporo wyzwań, natomiast mimo wszystko pamiętajmy, że jeżeli wchodzimy w projekt z napisem AI, przynajmniej z jednym z napisów, to podejmujemy pewne inherentne ryzyko i wszyscy interesariusze, wszyscy decydenci niekoniecznie z doświadczeniem technicznym, muszą być tego świadomi, że coś może się nie udać z założenia.
Przechodzimy do uwagi tematu, kwestii numer cztery, wspomnianej na początku. Już troszeczkę może oderwanej od przyziemnych tematów, takich jak rozpoznawanie emocji psów czy kotów, a mianowicie co z rozwojem sztucznej inteligencji, co ze samoświadomością, co z pojęciem powiązanym, czyli z silną, ogólną sztuczną inteligencją, czyli artificial general intelligence (AGI). Mogłoby się wydawać, że skoro AI radzi sobie z coraz bardziej zaawansowanymi zadaniami, to ten problem będzie dotyczyć nas już za chwilę. Natomiast prawda jest taka, że nawet jeżeli z pozoru wydaje się po efektach działania, że ten moment faktycznie nastąpi za chwilę, to my, tworząc rozwiązania z zakresu sztucznej inteligencji, tak naprawdę tworzymy rozwiązania z zakresu wąskiej, narrow, sztucznej inteligencji. Czyli skupiamy się na bardzo konkretnych problemach do rozwiązania. Nawet sieć nauczona do rozpoznawania psów i kotów, jeżeli tak po prostu ją weźmiemy do rozpoznawania, odróżniania od siebie psów i żyraf, nie da sobie rady. Trzeba ją będzie specjalnie nauczyć rozpoznawania żyraf i psów, i wtedy faktycznie to najprawdopodobniej zadziała. Natomiast aby sztuczna inteligencja uzyskała na tyle szeroki zakres możliwości, aby była w stanie sama rozwijać się o te nowe, zupełnie nieodkryte wcześniej obszary, to jest jeszcze ogromny obszar pracy. Nie mówiąc już o uzyskaniu świadomości przez taką sieć, przez takie rozwiązania. Można sobie zgadywać, osobiście uważam, że za mojego życia, czyli na przestrzeni najbliższych, mam nadzieję, kilkudziesięciu lat, to się nie stanie. Ale obawy jak najbardziej są i powinny być brane poważnie w zakresie tego, czym tak naprawdę już dysponujemy. Bo problem nie leży w uzyskaniu świadomości przez sztuczną inteligencję, tylko że zaczniemy zaprzęgać te mechanizmy w sytuacje, w miejsca, w których dojdzie do podejmowania autonomicznych decyzji, które będą mieć realny wpływ na ludzkie życie. Możemy tu mówić chociażby o różnego rodzaju systemach medycznych, możemy mówić o autonomicznych pojazdach, i oczywiście też o zastosowaniu AI w militariach we wszelkiego rodzaju rakietach, systemach rakietowych, wszelkiej maści broni. Tutaj oczywiście tym problemem jest przypadek negatywny, czyli co się stanie, jeżeli autonomiczny pojazd spowoduje jakąś katastrofę w ruchu lądowym, albo taki sprzęt militarny doprowadzi do błędnego bombardowania. Chociaż akurat pewnie w tematach militarnych to nie dowiedzielibyśmy się o tym, to znaczy my jako opinia publiczna. Natomiast wszędzie tam, gdzie dojdzie do podjęcia złej decyzji z powodu AI, w wyniku której ktoś straci zdrowie, pieniądze czy nawet życie. Problem tkwi w tym, kogo obwinić, kogo obciążyć odpowiedzialnością. Jeżeli lekarz źle przeprowadzi operację, to on będzie obwiniony, jeżeli kierowca samochodu doprowadzi do wypadku, to on będzie obwiniony. No chyba, że z oczywistych względów zawiedzie sprzęt, zawiedzie samochód na gwarancji, to wtedy można próbować taką sprawę przekierować do producenta.
Natomiast w przypadku sieci neuronowej kogo można próbować obwinić? Twórcę takiej sieci? To tak jak obwiniać producenta noża za to, że ktoś został zadźgany. Osobę, która uczyła taką sieć? Może faktycznie. Ale to jest temat dyskusyjny. Użytkownika oprogramowania z siecią neuronową? Też jest to pewien pomysł. Natomiast to wszystko niestety przestaje być już takie klarowne i takie jasne. Na tych problemach z pewnością warto się skupić, ale żeby nie było tak za wesoło na sam koniec, to problemu tej silnej, ogólnej sztucznej inteligencji nie można do końca ignorować. Należy mieć świadomość, że jeżeli kiedyś dojdzie do uzyskania przez taką silną inteligencję poziomu inteligencji człowieka, to maszyna ma nad nami jedną zasadniczą przewagę - nie musi spać, nie musi jeść, nie musi pić. Może cały czas się doskonalić, korzystając z coraz większych zasobów sprzętowych. Wtedy może dojść do powstania technologicznej osobliwości, bo sztuczna inteligencja, która będzie na poziomie człowieka będzie się doskonalić, jak będzie udoskonalana, to będzie miała jeszcze większy potencjał do doskonalenia się. Będzie następować pozytywne sprzężenie zwrotne, aż w końcu, kto wie, może i nami zawładnie. Ale to już temat na inny odcinek.
Na dziś to już wszystko. Za dwa tygodnie pierwszy mały jubileusz, czyli odcinek numer dziesięć, z tej okazji będę chciał uchylić rąbka tajemnicy w zakresie naszych dalszych planów. Na przestrzeni tych dziesięciu odcinków, w zasadzie można powiedzieć, że wraz z odcinkiem numer zero to już teraz mamy dziesiąty, ale będziemy trzymać się tej oficjalnej numeracji. Już teraz dokonaliśmy migracji do nowego pomieszczenia, do studia, a to oczywiście nie jedyna kwestia, która się zadziała w związku z podcastem. Także będę chciał powiedzieć nieco więcej o przyszłości podcastu już w kolejnym odcinku, a tymczasem cóż - dziękuję za uwagę, wysłuchanie tego odcinka. Kłaniam się nisko i do usłyszenia.