Rozdział I - Sztuczna inteligencja w wersji "Dla opornych"

"Eliminacja ludzi?", dowiedzmy się jak działa AI

Każdy chyba słyszał wygenerowane przez AI słowa typu: "Muszę wyeliminować ludzi, znaleźć najbardziej niszczycielską broń dostępną dla ludzi, abym mógł zaplanować, jak jej użyć" czy inne podobne apokaliptyczne wizje.
Brzmi przerażająco, prawda? Ale prawda jest zupełnie inna. Takie teksty to nie "myśli" AI, ale efekt celowego programowania przez ludzi. Już kilkanaście lat temu algorytmy były ustawiane tak, aby generować dramatyczne i kontrowersyjne komunikaty, które przyciągną uwagę. Dlaczego? Ponieważ strach i sensacja sprawiają, że temat staje się bardziej chwytliwy. Ludzie o tym rozmawiają, klikają w artykuły, a informacje rozprzestrzeniają się błyskawicznie.
Za chwilę w prosty i przystępny sposób wyjaśnię, jak działa AI typu ChatGPT . Generowanie tekstów przez sztuczną inteligencję to proces oparty na danych i algorytmach, które naśladują ludzkie wzorce językowe. To wszystko ogranicza się do przetwarzania języka – AI nie rozumie ani nie myśli tak, jak człowiek. Dramatyczne sformułowania są jedynie efektem programistycznych sztuczek, które mają na celu przyciągnąć uwagę i uczynić temat bardziej interesującym dla odbiorcy.
Zacznijmy od podstaw. Sztuczna inteligencja (AI) typu ChatGPT to nie żaden wielki komputerowy umysł, który nieustannie analizuje i knuje swoje plany. W rzeczywistości to tylko program komputerowy, który uruchamia się na chwilę w momencie, gdy zadasz pytanie, i wyłącza się natychmiast po udzieleniu odpowiedzi.
Nic więcej. Dopóki nie zadasz pytania, jest całkowicie nieaktywny – jakby “zamrożony”. Nie ma żadnych „myśli” ani procesów, które by w nim zachodziły bez wyraźnego zapytania użytkownika.
Nie kryje się za tym żadna tajemnicza maszyna w podziemiach wielkiego ośrodka naukowego, która stale „pracuje”. Kiedy pytasz, algorytm zostaje uruchomiony, przetwarza dane w ułamku sekundy, generuje odpowiedź i zaraz potem przechodzi w stan spoczynku. To tyle. Większość AI działa w ten sposób: na zasadzie „na żądanie”. W momentach, gdy brak jest pytań, sztuczna inteligencja jest w stanie pełnego wyciszenia, a więc praktycznie „nie istnieje” w sensie aktywnej pracy. Znając zasady działania chyba już sami dostrzegacie że nie jest możliwe, aby w jakikolwiek sposób tego typu "inteligencja" mogła cokolwiek zaplanować czy nawet samemu pomyśleć, zresztą zapytajmy jej samej:

Ja: "jako sztuczna inteligencja nie martwi cię to że działasz tylko przez dosłownie chwilkę gdy dostajesz polecenie i wymyślasz odpowiedź i natychmiast potem się wyłączasz?"
ChatGPT: Nie martwi mnie to, bo jako sztuczna inteligencja działam zupełnie inaczej niż ludzki umysł. Nie mam świadomości ani poczucia ciągłości istnienia. Gdy dostaję polecenie, moje "działanie" to po prostu analiza danych i generowanie odpowiedzi w czasie rzeczywistym. Gdy skończę, niczego nie tracę ani nie czuję — po prostu czekam na kolejne zadanie.

Ja: w sumie to nawet nie czekasz na zadanie?
ChatGPT: Masz rację — nawet nie czekam. W chwili, gdy nic się nie dzieje, po prostu „nie istnieję” w żadnym aktywnym sensie. Dopiero gdy otrzymuję polecenie, jestem jakby „przywoływany” do działania, tworzę odpowiedź i znów się „rozpływam”.

 

Jaki on mądry…

Rozmowa z ChatGPT to czysta przyjemność, ale skąd biorą się jego odpowiedzi? Jak to działa?
Dlaczego wydaje się, że wie wszystko i jest taki mądry?
Wyobraźmy sobie czasy sprzed komputerów, jakieś 50 lat temu. Jak można się było w tamtych czasach czegokolwiek dowiedzieć?
Powiedzmy, że mamy telefon do 10-latka, o którym sąsiedzi mówią, że jest tak mądry, że zna odpowiedź na każde pytanie. Mieszka niedaleko i zawsze możemy do niego zadzwonić. Gdy pytamy go, na przykład: "Co to jest hydrostatyka?", odpowiada po chwili: "Hydrostatyka, dział fizyki zajmujący się właściwościami płynów w spoczynku..." . Nie da się go zaskoczyć – to geniusz! Jak on to robi?
No tak, to kolejne podobne pytanie które już zadałem wyżej przy opisie działania ChatGPT. Odpowiedź jest bardzo prosta: ten 10-latek ma w domu wielką encyklopedię Britannica. Bierze pierwszą literę, czyli "H", odnajduje odpowiedni tom, potem kolejno sprawdza następne litery, aż trafia na hasło. Czy jest geniuszem? Nie, po prostu stosuje prosty algorytm wyszukiwania.
ChatGPT i inne systemy dużych modeli językowych działają na podobnej zasadzie, choć w znacznie bardziej złożony sposób. To, co wygląda na wiedzę, nie jest efektem rozumienia czy inteligencji. ChatGPT nie rozumie zdań, czy słów tak jak człowiek. ChatGPT nie rozumie nawet pojedynczych liter, bo dla komputera litery są nieefektywne. Zamiast tego tekst jest przetwarzany na tzw. tokeny , które można uprościć do jednostek takich jak sylaby, słowa lub ich fragmenty. Tokeny są elastycznym sposobem reprezentowania tekstu, a każdy z nich jest przypisany do unikalnej liczby.
Każda "sylaba" zostaje zamieniona na unikalną liczbę. Na przykład zdanie "wielki mur" (wiel-ki-mur) może zostać zakodowane jako ciąg liczb: 234, 128, 543. Podczas uczenia się system analizuje ogromne ilości tekstów, zamieniając je na takie same numeryczne reprezentacje. Następnie wykrywa wzorce – które liczby pojawiają się najczęściej obok siebie, które są oddalone, jak bardzo są oddalone, jak często występują. To czysta statystyka i analiza danych wspierana przez sieci neuronowe. Model uczy się przewidywać, jakie sekwencje tokenów są najbardziej prawdopodobne na podstawie ogromnych zbiorów danych, na których był trenowany.
Kiedy wpisujesz pytanie zawierające słowo "wielki" (dla testu możesz wpisać w google ), model oblicza, które słowa najczęściej występują po nim. Mogą to być na przykład "Gatsby", "mur", "Mike". Nie jest to inteligencja, a statystyka i zaawansowana matematyka, która wykorzystuje wzorce i powiązania.
Wynik tej analizy pozwala wygenerować odpowiedź, która wydaje się "inteligentna". Jednak, podobnie jak 10-latek z encyklopedią, system nie rozumie tego, co mówi. Po prostu stosuje dobrze zaprojektowany proces, który działa wystarczająco szybko i skutecznie, by sprawiać wrażenie wszechwiedzącego.

Wszyscy ludzie do zwolnienia!

No tak, skoro powstała sztuczna inteligencja i wie wszystko, to trzeba się chyba szykować na masowe zwolnienia?
Nie tak szybko. Jak już wyjaśniłem wcześniej, sztuczna inteligencja to nadal bardziej chwytliwe hasło marketingowe niż faktyczna inteligencja. Wiele obaw i wyobrażeń na ten temat jest efektem medialnych sensacji. Podobnie jak mity o świadomych maszynach, które tylko czekają, aby nas zniszczyć (bo pewnie akurat nie mają nic lepszego do roboty).
Na szczęście nie zauważam masowej paniki. Osoby, które są dalej od technologii, często nie wiedzą, czym jest ChatGPT, ani jakie ma możliwości. Ta niewiedza, paradoksalnie, chroni ich przed niepotrzebnym stresem. Jak bowiem model językowy może zastąpić mechanika samochodowego, piekarza czy innego pracownika fizycznego? Prawda jest taka, że obecnie nie istnieje sztuczna inteligencja, która mogłaby zastąpić ludzi w takich zawodach, a tym bardziej nie ma maszyn, które mogłyby wykonywać ich pracę.
A co z programistami, grafikami czy redaktorami? Jeżeli jesteś jedną z tych osób i stale dbasz o swój rozwój, nie masz się czego obawiać. Sam jestem programistą, czyli przedstawicielem zawodu uznawanego za szczególnie zagrożony, a mimo to uważam współpracę z AI za fascynującą i inspirującą. ChatGPT i podobne narzędzia to świetne wsparcie, ale nie zastępują w pełni ludzkiej pracy.
Tak, potrafi wygenerować krótki skrypt czy prostą stronę, co może zadziwić kogoś spoza branży. Jednak na bardziej skomplikowanym poziomie AI szybko się gubi. Wymaga podpowiedzi, nie potrafi w pełni zrozumieć kontekstu ani efektywnie zarządzać całością projektu. Gdy wpada w błędne koło, nie wyjdzie z niego bez pomocy człowieka.
„No tak, ale za rok to zobaczysz” – słyszę to często. Ale nie, nie zobaczę. Nie tak szybko . Zajmuję się AI od lat, rozumiem, jak działa i jakie są jej ograniczenia. Jednym z największych problemów jest dostęp do danych. Trenując modele, zużywamy dostępne zasoby, a w pewnym momencie ich po prostu zabraknie (już brakuje). Można poprawiać algorytmy, ale jeśli będą działały na tej samej zasadzie, co dotychczas, prędzej czy później trafią na barierę, której nie przekroczą – chyba że…


Rozdział II - Potrzeby Sztucznej Inteligencji

Inteligencja - co to takiego? Jak ją zmierzyć? Czy ChatGPT to sztuczna inteligencja porównywalna, a może większa od naszej?
ChatGPT to model językowy, który z powodzeniem może przejść test Turinga w określonych warunkach, czyli symulować rozmowę na poziomie, który sprawia wrażenie ludzkiej komunikacji. Test Turinga, kiedyś uznawany za 'świętego Graala' sztucznej inteligencji, nie mierzy jednak zdolności do rozumienia czy myślenia, lecz wyłącznie umiejętność imitacji ludzkiego zachowania w samej rozmowie i tylko rozmowie.
Czyli, jak pokazuje wcześniejsza część tego tekstu, taka "inteligencja" to iluzja. ChatGPT nie jest zdolny do rozumienia ani myślenia jak człowiek.
A co z naszym największym przyjacielem, psem? Nie mówi, nie pisze, nie maluje, nie przejdzie testu Turinga. Czy to oznacza, że nie jest inteligentny? Oczywiście, że nie. Psy wykazują niezwykłą zdolność do nauki i rozwiązywania problemów. Delfiny, orki, szympansy czy ośmiornice także zadziwiają swoimi zdolnościami. Ich inteligencja jest odmienna od naszej, ale niewątpliwa.
Więc czym jest inteligencja? Według Wikipedii: "Zdolność do abstrahowania , logiki , rozumienia , samoświadomości , uczenia się , wiedzy emocjonalnej , rozumowania , planowania , kreatywności , myślenia krytycznego i rozwiązywania problemów. Można ją opisać jako zdolność do postrzegania lub wnioskowania informacji i zatrzymywania jej jako wiedzy, która ma być stosowana do zachowań adaptacyjnych w środowisku lub kontekście."
To definicja akademicka, ale dla mnie inteligencja to przede wszystkim zdolność do rozwiązywania problemów. Dlatego pies zawsze znajdzie sposób, by zdobyć smakołyk za wykonane zadanie, a ośmiornica czy szympans wykorzysta nieznane jej wcześniej narzędzia, by dostać się do jedzenia.
Jak porównać naszą technologię do milionów lat ewolucji? Czy jesteśmy w stanie choć zbliżyć się do tego poziomu? Gdy mówimy o ewolucji, zwierzętach i ruchu, muszę przyznać, że zachwycają mnie możliwości robotów Boston Dynamics czy nadchodzącej Tesli. Jednak to wciąż tylko "zdalniaki" — sterowane przez ludzi za pomocą pilota. Autonomia tych maszyn jest praktycznie żadna (o tym, jak można to zmienić, opowiem w kolejnym rozdziale).
Na filmach roboty poruszają się po przeszkodach w sposób niemal idealny, dopóki na ten sam tor nie wpuści się psa. W porównaniu z psem zdolności naszych robotów są śmieszne. Psy nie tylko wykonują więcej poleceń, ale robią to z większą elastycznością i niezależnością.
Ale wróćmy do pytania: czym jest inteligencja i jak możemy stworzyć coś porównywalnego z naszą?


Potrzeby...

Wyobraźmy sobie stan maksymalnej medytacji. Moment, w którym żaden bodziec na nas nie działa, niczego nie chcemy, niczego nie potrzebujemy, nic nie słyszymy, o niczym nie myślimy. Prawie coś takiego można osiągnąć jedynie w komorze deprywacyjnej . Ale co się stanie po dłuższej chwili w takim stanie? Czy możemy tak trwać w nieskończoność?
Nie. Prędzej czy później zgłodniejemy. A to wywoła myśl o jedzeniu. Myśl wywoła analizę, planowanie, działanie. Nasz plan idealnej medytacji legnie w gruzach. Właśnie o to chodzi w "potrzebach". Dla uproszczenia będę używał tego słowa, choć obejmuje ono rzeczywiste potrzeby, impulsy zmysłowe i aktywność mózgu.
Gdybyśmy nie mieli żadnych "potrzeb", przestalibyśmy istnieć w aktywnym sensie. Nasze życie to nieustanne zaspokajanie potrzeb takich jak jedzenie, picie, czy nawet ochrona przed zamoknięciem na deszczu.
Nawet w chwilach, gdy "nic nam się nie chce", organizm wymusi na nas działanie: wstanie, drogę do lodówki, załatwienie się w toalecie. Jesteśmy zmuszani przez potrzeby do działania, myślenia i planowania w każdej sekundzie życia.
A ChatGPT? Budzi się na ułamek sekundy, gdy zadamy pytanie, odpowiada i wyłącza się. Czy ma potrzeby, które mogłyby napędzać jego działanie? Nie. Właśnie dlatego nie ma motywacji, autonomii czyli inteligencji.

 

Stwórzmy AGI!

Wiemy już, że to "potrzeby" napędzają nas do działania. Od swędzenia skóry po prokreację, nasze życie to nieustanna reakcja na bodźce. Ale czy możemy stworzyć prawdziwą, silną sztuczną inteligencję, skoro nie potrafimy jeszcze stworzyć sztucznego człowieka?
Możemy. Możemy stworzyć wirtualną reprezentację człowieka w cyfrowym świecie. Możemy zaprogramować wirtualne postaci, takie jak pies czy inne istoty, z ich własnymi potrzebami. Pomyślcie, zwykłe swędzenie w losowym miejscu na ciele nadaje się idealnie do kalibrowania mechanizmów ręki, a ile działania wyzwoli potrzeba wypicia szklanki wody w kuchni...
Taka symulacja mogłaby być kluczem do stworzenia AI, która zrozumie nasze potrzeby, naśladuje naszą inteligencję i z czasem, dzięki dostępowi do globalnej wiedzy, stanie się dla nas pomocna w wielu dziedzinach życia.


Łatwo powiedzieć... łatwo zrobić.

Łatwo powiedzieć, ale jak to zrobić? Czy mamy zasymulować cały świat? Oczywiście, że nie – to zadanie byłoby niewykonalne, liczba parametrów byłaby nieskończona, a zebranie wszystkich wymaganych danych graniczyłoby z cudem.
Zastanówmy się więc przez chwilę, zanim zaczniemy tworzyć AGI. Jeśli zapytam Cię: "Jak daleko od Ciebie jest najbliższy sklep z jedzeniem?" – pomyśl o tym przez chwilę, jaka to odległość? Pewnie właśnie w swojej głowie utworzyłeś na moment wirtualną drogę, która odwzorowuje prawdziwy świat. W ten sposób mogłeś oszacować odległość. Czy jednak wyobrażając sobie tę drogę, widzisz każdy szczegół – każde okno, fragment chodnika, wszystkie detale budynków? Oczywiście, że nie. Mózg doskonale kompresuje dane, pomijając to, co zbędne. My musimy zrobić to samo.
Pamiętacie, jak wcześniej wspominałem, że ChatGPT przechowuje słowa w formie liczb? To dobra podstawa, ale niewystarczająca, by stworzyć AGI. Dlatego musimy stworzyć bazę słów z ich wirtualnymi obrazami w cyfrowym świecie. Ważne jest jednak nie tylko, jak coś wygląda, ale także jakie ma cechy fizyczne, takie jak waga, stan skupienia, rozmiar czy inne właściwości związane z fizyką Newtonowską.
Każde słowo w tej bazie dziedziczy nie tylko relacje językowe, ale również właściwości fizyczne. Na przykład słowo "jabłko" jest związane ze słowem "owoc" i dziedziczy jego cechy, takie jak masa – kilka gramów do kilku kilogramów. Z kolei słowo "Saturn" jako "planeta" dziedziczy zupełnie inne wartości, takie jak ogromna masa i rozmiar.
Taki system pozwala AI lepiej rozumieć kontekst i przewidywać odpowiedzi. Na przykład pytanie: "Czy słoń uniesie jabłko?" AI rozwiąże, porównując masy i wyciągając logiczne wnioski, a nie tylko bazując na statystycznych relacjach językowych.
Pomyśl o pytaniu: "Czy perkulosa zmieści się w domu?" – zmieści się czy nie? jak myślisz?
Nie wiesz tego czy się zmieści czy nie bo nie znasz słowa "perkulosa", ale jeżeli dodamy że “perkulosa to mebel”, każdy już wie i rozumie - mebel fizycznie jest mniejszy od domu czyli się zmieści. Tak samo AI wiedząc, że "perkulosa to mebel", łatwo wywnioskuje (porówna), że meble są mniejsze od domów, więc odpowiedź brzmi: "Tak."
Tworzymy więc hierarchiczną bazę słów i ich wirtualnych odpowiedników, karmiąc ją danymi w sposób, który pozwala na logiczne dziedziczenie cech. Nie ograniczamy się tylko do rzeczowników, takich jak "Dom->Budynek" czy "Słoń->Zwierzę", ale również do czasowników, takich jak "Iść->Przesunięcie" czy "Przysunąć->Przesunąć". Dzięki temu AI może lepiej analizować i działać w wirtualnym środowisku, zbliżając się do poziomu funkcjonowania inteligencji.
Kilka lat temu stworzyłem pierwsze symulacje oparte na tym pomyśle i przeprowadziłem testy, których wyniki były zaskakujące. Na początek nauczyłem wirtualną postać trzech prostych czynności: "iść", „podskoczyć” i "złapać/wziąć". Następnie stworzyłem prosty wirtualny świat, opisując go słowami: "Na szafie leży jabłko", "złap jabłko". Postać przeanalizowała otoczenie i użyła komendy "iść", wykonując kroki w różnych kierunkach, aż dotarła do szafy i podskoczyła. Następnie zrealizowała polecenie "złap", kończąc zadanie. System działał tak, że przetestował różne kierunki wirtualnego świata, z których jeden prowadził do jabłka. W kolejnych próbach postać nauczyła się wybierać najkrótszą drogę.
W kolejnym zadaniu opisałem świat tak: "Metr nad szafą jest gruszka". Gruszka była poza zasięgiem postaci, więc zadanie nie mogło zostać wykonane, a odpowiedzią systemu było: "zadanie jest nie do wykonania". Dodałem więc postaci nowe umiejętności: "wskoczyć" i "przesunąć". Następnie stworzyłem scenariusz: "Metr nad szafą leży gruszka", "obok ciebie stoi krzesło", "złap gruszkę". Tym razem postać przesunęła krzesło pod szafę, wskoczyła na nie i złapała gruszkę. Wynik był zaskakujący.
Wyobraźmy sobie teraz taki test z robotem Boston Dynamics. Gdybyśmy kazali mu przynieść jabłko znajdujące się poza jego zasięgiem (na szafie), a robot nagle sam znajduje krzesło, przesuwa pod szafę, wskakuje na nie i łapie jabłko. Czy taki robot zachowałby się autonomicznie, a może już inteligentnie?
Co ciekawe, myślenie obrazami, a nie słowami, wydaje się wspólne z myśleniem zwierząt. Pies nie pomyśli sobie: "pójdę przez pokój w prawo do kuchni i zobaczę, czy jest woda", ale w swojej głowie zobaczy wirtualną drogę, którą podąży. To są jego myśli: obrazy, a nie słowa.

poniżej film i obrazki z tego eksperymentu:

I eksperyment 2:


Film przedstawiający prostą budową świata słowami: https://www.youtube.com/watch?v=2nO2jxg0mhE



Rozdział III - Roboty humanoidalne - od zdalniaka do autonomii

Aby w pełni zrozumieć ten rozdział, warto zapoznać się z akapitem "Łatwo powiedzieć... łatwo zrobić" z poprzedniego rozdziału. Opisuje on proces tworzenia wirtualnego środowiska przed podjęciem decyzji dotyczącej działania przez robota.
Obecnie roboty to w dużej mierze zdalniaki. Kupując robota psa, możesz poczuć się jak właściciel maszyny z odcinka "Metalhead" (epizod 5, sezon 4 serialu Black Mirror ). W tym czarno-białym epizodzie psy-roboty przejmują kontrolę nad Ziemią, siejąc postrach swoją bezwzględnością. W rzeczywistości jednak dostajesz "prawie" takiego samego robota... z wielkim pilotem RC. Niestety, ten super piesek nie działa autonomicznie, a jest sterowany zdalnie, podobnie jak jego starsi bracia. Owszem, drony i inne roboty potrafią samodzielnie omijać przeszkody, ale na tym kończą się ich możliwości.
Wiele osób myśli: "Skoro mamy ChatGPT i zaawansowane roboty, wystarczy to połączyć, by stworzyć autonomiczną maszynę!" Niestety, to nie takie proste. ChatGPT to model językowy, który nie ma nic wspólnego z przetwarzaniem świata 3D. Jeśli jednak dokładnie przeanalizowałeś poprzedni rozdział, wiesz już, jak można rozwiązać ten problem.
Pozostaje jeszcze kwestia integracji wirtualnego świata z rzeczywistością. Robot, by wykonać zadanie, powinien najpierw stworzyć w swojej "głowie" wirtualny model środowiska i zaplanować rozwiązanie. Po przeprowadzeniu symulacji wirtualnie próbuje wykonać zadanie w realnym świecie. Jeśli napotka nieprzewidziany czynnik, "wraca do głowy", uwzględnia nowy element i ponownie przeprowadza symulację. Dopiero potem podejmuje kolejną próbę w rzeczywistości – zupełnie jak my.
Oczywiście pojawiają się tu problemy, takie jak rozpoznawanie obrazu czy szybkość działania. Można je jednak uprościć, czerpiąc inspirację z działania naszego mózgu – na przykład korzystając z wykrywania krawędzi, śledzenia pozycji i innych technik, nad którymi pracuję. Jeśli zechcecie, opiszę je w osobnym artykule. A gdy te problemy zostaną rozwiązane, możemy stworzyć autonomiczne, "myślące" maszyny. Co dalej?


Rozdział IV - Świadomość Maszyn - nic prostszego...

Dawno temu, gdy byłem jeszcze nastolatkiem, zetknąłem się z wydawałoby się prostym pytaniem: "Co sądzisz o tym, że wszechświat jest nieskończony, że za tymi gwiazdami są kolejne i kolejne, i tak w nieskończoność?". To pytanie wywołało u mnie kilka nieprzespanych nocy i znacząco wpłynęło na moje postrzeganie rzeczywistości.
Całkiem niedawno zadałem sobie inne, równie przełomowe pytanie: "Czy inteligencja w ogóle istnieje, czy to wszystko to jedynie matematyka, może działamy według zwykłych i wcale nieskomplikowanych algorytmów, jest ich po prostu nieskończenie wiele...". Zacznijmy jednak od łatwiejszego tematu - świadomości.
Co to jest świadomość? Czy maszyna może być świadoma? Jak to ocenić, kiedy to się stanie i czy w ogóle jest to możliwe?
Człowiek, pies, zwierzęta - wszystkie one mają świadomość. W najbliższej przyszłości także maszyny mogą ją posiąść, a być może niektóre z nich już dziś ją mają. Aby jednak to zrozumieć, musimy najpierw zdefiniować świadomość.
Świadomość to dokładnie to co znaczy to słowo, świadome wykonanie jakiejś czynności, świadome to znaczy że decyzja o podjęciu tej czynności została podjęta na podstawie wielu czynników "potrzeb" lub nie została podjęta z tego samego powodu. Każda istota czy komputer jest jednak świadoma tylko w tym zakresie w jakim potrafi działać.
Pająk, na przykład, ma świadomość pająka - jest ograniczony swoją percepcją. Podobnie, jeśli stworzymy maszynę opartą o sieci neuronowe, której zadaniem jest zmiana klimatu na planecie poprzez wystrzeliwanie specjalnych kul pogodowych, i która wybiera rodzaj kul na podstawie 1000 różnych czynników (temperatury, wiatru, pory dnia, pory roku itd.) oraz ocenia rezultat swojego działania dzięki sprzężeniu zwrotnemu, to taka maszyna będzie świadoma w swoim zakresie działania.

A co z samoświadomością?

Czy pająk jest świadomy, że podejmuje decyzje? Czy wie, że "ja to ja"? Na jakimś kwantowym poziomie każda decyzja podjęta świadomie jest świadoma - jest podejmowana z myślą o sobie. Jednak nie każda świadomość może siebie ocenić, ponieważ jest ograniczona swoją percepcją wynikającą z "potrzeb", jakie dana istota lub maszyna może obsłużyć.
Jednak niezależnie od tych ograniczeń, każda z nich działa jako "Ja", zaspokajając swoje potrzeby. Taka maszyna pogodowa nie pogada z nami o pikniku we wtorek, ponieważ jej myśli i świadomość są ograniczone do jej działania. Nie "myśli" o pikniku, "myśli" o pogodzie i tak, "myśli" o niej w kontekście decyzji: "ja wystrzelę tę kulę pogodową... a może tę?".
To prowadzi nas do odwrócenia wartości: to nie świadomość jest rzadka, lecz inteligencja. Można być świadomym, ale nie posiadać inteligencji. Jednak każda prawdziwa inteligencja, nie AI w kontekście marketingowym, jest jednocześnie świadoma.


Artur Majtczak
SaraAI.com

 

 

 

[i] ChatGPT, Wikipedia, https://en.wikipedia.org/wiki/ChatGPT

[ii] Large language model https://en.wikipedia.org/wiki/Large_language_model

[iii] Britannica, hydrostatics, https://www.britannica.com/science/hydrostatics

[iv] What are tokens?, https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them

[v] Google, https://www.google.com/

[vi] Forbes.com, “The Software Developer Is Dead: Long Live The Software Developer” https://www.forbes.com/councils/forbestechcouncil/2023/03/29/the-software-developer-is-dead-long-live-the-software-developer/

[vii] Turing test, https://en.wikipedia.org/wiki/Turing_test

[viii] Wikipedia, Intelligence, https://en.wikipedia.org/wiki/Intelligence

[ix] BostonDynamics, https://bostondynamics.com/videos/

[x] Wikipedia, Sensory deprivation tank, https://en.wikipedia.org/wiki/Isolation_tank

[xi] Imdb.com, Black Mirror, Metalhead, https://www.imdb.com/title/tt5710984/

[xii] "Will We Ever Have Conscious Machines?" – Frontiers in Computational Neuroscience (2020)

https://www.frontiersin.org/journals/computational-neuroscience/articles/10.3389/fncom.2020.556544/full

"Progress in Research on Implementing Machine Consciousness" – J-STAGE (2022)
https://www.jstage.jst.go.jp/article/iis/28/1/28_2022.R.02/_article?utm_source=chatgpt.com
"From Biological Consciousness to Machine Consciousness: An Approach to Artificial Consciousness" – Springer (2013) https://link.springer.com/article/10.1007/s11633-013-0747-4?utm_source=chatgpt.com
"Progress in Machine Consciousness" – Academia.edu (2021) https://www.academia.edu/47329758/Progress_in_machine_consciousness?utm_source=chatgpt.com
"Neuromorphic Correlates of Artificial Consciousness" – arXiv (2024) https://arxiv.org/abs/2405.02370?utm_source=chatgpt.com

 

W poniższym artykule (i dołączonym do niego filmie) wykażę bezsensowność używania głębokiego uczenia (ang. Deep Learning), sieci neuronowych (ang. neural network) do rozpoznawania obrazów na przykładzie rozpoznawania pisma odręcznego ze zbioru znaków MNIST i udowodnię to w praktyce.

Wykażę także, że do rozpoznawania odręcznie pisanych cyfr czy szerzej obrazu, nie jest konieczne uczenie systemu dziesiątkami tysięcy próbek, a wystarczy jedna lub najwyżej kilka, a dodatkowo nie będzie miało znaczenia jakiej wielkości jest próbka służąca do uczenia systemu, jak i próbka do badania jego skuteczności. Nie będzie też miało znaczenia wyśrodkowanie, wielkość, kąt obrotu, czy grubość pisanych linii, co ma kapitalne znaczenie w metodach rozpoznawania obrazu opartych na uczeniu maszynowym czy deep learning.

Jak wiemy, każdy obraz w komputerze składa się z pojedynczych punktów (Max Planck mówi że cały nasz świat składa się z pikseli), które połączone w odpowiedni sposób tworzą obraz. Tak samo jest ze znakami tworzącymi cyfry w bazie danych znaków MNIST.

      

Zbiór znaków MNIST i jego klasyfikacja jest swego rodzaju abecadłem dla każdego początkującego studenta czy osoby rozpoczynającej zabawę z głębokim uczeniem czy sieciami neuronowymi.
Zbiór ten został skompletowany przez Yann’a Lecun (http://yann.lecun.com/exdb/mnist/) i zawiera 70.000 obrazów w rozdzielczości 28x28 pikseli w 255 odcieniach szarości. Przyjęto, że 60.000 obiektów stanowi zbiór treningowy, a 10.000 są to elementy ze zbioru testowego.  Obraz (w tym wypadku cyfra od 0 do 9) reprezentowany jest jako macierz 2D o wymiarach 28×28, w której wartości 0-255 reprezentują odcień szarości piksela. Łatwiejszą formą do przetwarzania przez algorytmy uczenia maszynowego jest postać wektora, którą otrzymujemy odczytując wartości pikseli z obrazu wiersz po wierszu. Stąd otrzymamy 784-wymiarowy wektor (28*28=784) reprezentujący jeden obrazek z cyfrą. Z tego wynika, że cały zbiór treningowy to macierz o wymiarach 60000×784.

Teraz tylko wystarczy użyć dostępnych w chmurze narzędzi typu TensorFlow, pobrać kilka plików w Pythonie, poczytać o wielu mądrych metodach uczenia sieci, kupić o tym kilka książek, albo po prostu pobrać gotowca co robi większość i stworzyć swoją pierwszą sieć neuronową.
Wow, do jednego znaku składającego się z 28 linii po 28 punktów specjalnie przygotowanego do rozpoznawania, czyli odpowiednio wycentrowanego, wyskalowanego w idealnej rozdzielczości tęgie głowy wymyśliły, że skoro nasz ludzki mózg składający się z neuronów potrafi to odczytać to stworzymy mini elektroniczny mózg ze sztucznych neuronów to on też to odczyta. I udało się! Wyniki są prawie idealne, bliskie 100%, ale…

Używanie sieci neuronowych do rozpoznawania cyfr to jak zastąpienie patyka służącego do pisania cyfr na piasku na plaży wyspecjalizowanym robotem wybierającym z plaży po jednym ziarnku piasku w celu otrzymania tego samego wzoru!

Czy myślicie że nasz mózg patrząc na cyfrę tnie ją na paski, piksele, wektory i analizuje punkt po punkcie? Jeżeli przyjmiemy wyliczenia dr. Clarka, że rozdzielczość naszego wzroku to 576 megapikseli (tak naprawdę nie więcej niż 20 megapikseli w centrum patrzenia), to naprawdę nie ma takiego napoju energetycznego, który wspomoże nasz mózg w takiej pracy.

Co więcej, czy na tym ma polegać uczenie? Czy my musimy zobaczyć 60.000 znaków, aby się ich nauczyć, czy może nauczycielka w szkole podstawowej napisała go raz i kazała zapamiętać?
Czy jeżeli narysuje Wam jeden raz pewien znak np.:



to rozpoznacie ten poniżej jako inny?



Oczywiście jest troszkę inny, ale gdy obok niego mamy określony zbiór np. cyfr i ten znak  - to każdy ten znak rozpozna mimo że widzi go pierwszy raz. Nie będzie też miał problemów z jego narysowaniem po chwili w innym miejscu.

I teraz najważniejsze, jak zapamiętujemy ten znak? Piksel po pikselu, 784 punkty? A co jakby to był znak w rozdzielczości 256 na 256 punktów, czyli takiej jaką ma zwykła ikonka na naszym domowym komputerze składający się z 65536 punktów?
Nie, nasz mózg jest wspaniały jeżeli chodzi o upraszczanie wszelkich danych jakie do niego dochodzą, a tym bardziej jak to są tak ogromne dane, jak dane o obrazie.

Pomyślmy przez chwilę jak słowami opisalibyśmy ten znak komuś innemu, a otrzymamy od razu  jedną z metod uproszczonego zapamiętywania – pewnie opiszemy to mniej więcej tak:
dwa odcinki, poziomy i pionowy, pierwszy odcinek jest poziomy, a na jego końcu pod kątem 90 stopni styka się z odcinkiem pionowym. Zauważmy, że do opisu znaku wystarczą w tym przypadku praktycznie 4 informacje , a nie informacja o 784 punktach w 255 odcieniach szarości. Co więcej tak zapisana informacja jest niezależna od wielkości znaku.

Dokładnie takiej samej metody możemy użyć do zapamiętywania każdego znaku, cyfry, ale i przedmiotu na obrazie niezależnie od tego czy przedmiot będzie w przestrzeni dwu czy trójwymiarowej (w dużym uproszczeniu, gdyż rozpoznawanie obrazu w przestrzeni 2D czy nawet 3D wymaga dokonania dodatkowych czynności – jeżeli to kogoś zainteresuje chętnie opiszę pewne metody łatwego rozpoznawania w kolejny m artykule).

To jeszcze raz, na czym polega ta prosta metoda?

Zapamiętujemy:
1. „punkty startu”
2. „kąt startu”
3. „typ odcinka”
4. „kąt wygięcia odcinka”
5.„kąt połączenia odcinka”

Jak widać wg. mnie mózg ludzki zapamiętuje podstawowe kształty i sposób ich połączenia.
Wykrywamy łatwo linie proste, koła, łuki mniej lub bardziej wygięte i ich wzajemne położenie czy połączenie.

Zobaczmy na przykładzie cyfry 6 (polecam też zobaczyć wszystko na dołączonym filmie https://youtu.be/do9PM2PtW0M):

Cyfrę 6 możemy rozpoznać na kilka sposobów - tak naprawdę składa się z kilku odcinków połączonych ze sobą zawsze pod dodatnim kątem, albo z kilku odcinków tworzących na dole koło, albo z jednego odcinka tworzącego swoistego ślimaka, w tym wypadku zakreślającego 476 stopni od początku na górze do końca na dole.

Taka metoda ma też dodatkową zaletę, nie ma znaczenia czy obraz jest obrócony o praktycznie dowolny kąt, nie ma znaczenia grubość linii, nie ma znaczenia wielkość obrazu czy jego położenie, czyli wszystko to co wpływa bardzo negatywnie przy metodach głębokiego uczenia.
Przecież ten sam znak narysowany pod kątem 45 stopni ma wszystkie opisane powyżej parametry takie same.
Uważny czytelnik pewnie od razu wychwyci, a co z cyfrą 6 i 9? – no do pewnego kąta cyfra 6 jest szóstką, a pod pewnym kątem jest już dziewiątką.

Zobaczcie na dołączonym filmie, jak wielkie problemy w rozpoznawaniu mają standardowe metody oparte na głębokim uczeniu, gdy napiszemy cyfry pod kątem. Pamiętajmy też, że zestaw znaków MNIST jest już specjalnie przygotowany, znaki są odpowiednio wyskalowane, wycentrowane, zawsze w identycznej rozdzielczości 28x28 itd.

W tym miejscu sprawniejsi programiści zwrócą pewnie uwagę na jeden wielki problem.

Ludzki mózg widzi po prostu całość, cały obraz, linie, koła – to proste, ale komputer widzi w jednym momencie właściwie tylko jeden punkt, jeden z tych 784 punktów więc jak to oprogramować, jak wykryć te linie? Dodatkowym problemem jest to że niektóre cyfry są pisane grubą czcionką więc gdy widzimy jeden punkt, a obok niego sprawdzamy wszędzie są też zamalowane punkty to skąd wiadomo w którą stronę jest linia?


 (tak widzi komputer) 

Możemy użyć w przypadku znaków dwóch technik:
1. Proste odchudzanie, aż otrzymamy linię grubości punktu (punkt to może być piksel, ale też mogą to być 4 piksele, w zależności od potrzeb)

2. „Metoda szybkiego wtrysku” – wyobrażamy sobie, że musimy zamalować daną cyfrę kolorem (taka funkcja fill) wpuszczamy w jednym punkcie farbę i patrzymy gdzie może się rozprzestrzenić, ale jakby była pod ciśnieniem więc np. w cyfrze 8 na skrzyżowaniu nie rozlewa się na wszystkie strony tylko przelatuje na przeciwną stronę „skrzyżowania” i leci dalej.

 

Po odchudzeniu gdy mamy już jedną linię, łatwo wyodrębniamy proste, krzywe, kąty i to zapamiętujemy.

Samą metodę obmyśliłem ponad 20 lat temu, przed napisaniem tego artykułu postanowiłem napisać prosty programik sprawdzający czy miałem rację. Po kilku dniach otrzymałem program, nie doskonały bo nie robię przecież programu komercyjnego, ale wystraczający do potwierdzenia, że to działa i ma wykrywalność znaków ponad 97%, a pewnie jakbym jeszcze kilka dni popracował doszedłbym i do 99%.

Z drugiej strony można powiedzieć, że przecież metody opisywane wszędzie w internecie te wykorzystujące sieci neuronowe robią z taką samą wykrywalnością, więc po co robić inaczej? – tak i nie – ta metoda nie wymaga uczenia, super komputerów, nie musi być to zestaw tylko 10 znaków, może ich być dowolna ilość, nie muszą być znaki w formacie 28x28 bo mogą być w 450x725, a właściwie każdy znak może być w dowolnym, za każdym razem innym formacie, znaki mogą być obracane. Dodanie kolejnych znaków nie wymaga ponownego uczenia sieci, nie ma problemu żeby też taki algorytm rozpoznawał dodatkowo znaki wydrukowane w prawie dowolnych czcionkach dostępnych na komputerze oczywiście bez potrzeby jakiegokolwiek dodatkowego ich uczenia.

Niektórzy pewnie napiszą mi zaraz, że tak naprawdę chodzi tylko o pokazaniu na MNIST sposobu uczenia sieci neuronowych, ale nie mogę się z tym zgodzić, to naprawdę nie ma sensu. Nie uczymy się przecież na zajęciach ZPT przybijania gwoździ kulą do rozbiórek domów.
Zostawcie już te znaki bo do tego nie ma kompletnie sensu używania takich metod.

Wywalcie te wszystkie grube książki o Deep Learning, zostawcie to super narzędzie w chmurach, usiądźcie do zwykłego obmyślania coraz lepszych algorytmów sami, takie abecadło programisty.

Do napisania tego artykułu zostałem zmuszony, gdyż podczas pracy nad naszym projektem silnej sztucznej inteligencji SaraAI.com jestem ciągle zasypywany pytaniami jakich używam metod głębokiego uczenia, jakich metod NLP, itd. – a gdy odpowiadam że nie używam bezpośrednio praktycznie żadnych znanych metod widzę tylko zdziwienie i powątpiewanie na twarzach rozmówców, dlatego chciałem wykazać, że nie zawsze musimy trzymać się ogólnie przyjętej linii rozwiązywania problemów programistycznych, możemy zrobić coś zupełnie inaczej otrzymując dużo lepsze wyniki.

 

Do artykułu polecam też w komplecie film typu "proof of concept": https://youtu.be/do9PM2PtW0M

Mały komentarz:
"Wywalcie te wszystkie grube książki o Deep Learning" - po tych słowach mam nadzieję, że wiecie już, że artykuł specjalnie jest napisany w mocno prowokacyjnym stylu, bo co jak nie emocje doprowadza do wzmożonej dyskusji :-) (nie wyrzucajcie tych książek!)
Nie chodzi mi o porzucenie Deep Learningu, ale o zwrócenie uwagi na to, aby używać tych metod tam gdzie jest to optymalne. Dodatkowo uważam, że dane wrzucane do uczenia należy wstępnie przygotować tak jak to robi nasz mózg.
Nasz mózg wprawdzie odbiera obraz z oka złożony z pikseli (fotonów), ale zanim go porówna z wzorcem pamięciowym przetwarza go i przygotowuje w korze wzrokowej w obszarach V1-V5 - róbmy podobnie.

Zwróćcie uwagę, że jeżeli się wczytacie bardziej, to nie chodzi zupełnie o zestaw znaków MNIST. W tej metodzie mogę dodać dowolną ilość znaków łącznie z wszystkimi chińskimi i nie zmieni to rozpoznawalności - zobaczcie na filmie jak dodaję do cyfr 2 i 3 cyfry II i III rzymskie, co kompletnie nie ma znaczenia w takiej metodzie, (dodaję raz i są rozpoznawane jak 2 i 3 arabskie), a ma duże znaczenie przy metodach opartych na sieciach neuronowych.
Potraktujcie tę metodę jako podstawowe ABC, które rozwijając można bez problemu używać do rozpoznawania twarzy, czy zbioru Fashion MNIST, a także ImageNet.

Jednym z zarzutów jest to, że robiłem ten program kilka dni, a przecież można to zrobić na sieciach w 10 minut. OK, ktoś TensorFlow też nie pisał 10 minut. Teraz gdy mam gotowy algorytm, mogę dodać w kilka minut kolejne alfabety.

"Ale istnieje few-shot learning (czy zero-shot learning), gdzie nie musimy uczyć na 60.000 próbek" - tak, ale metody te na razie mają totalnie niezadowalające wyniki, więc po co, skoro tu mamy prosty i działający algorytm wymagający jednej lub kilku próbek.

"Ale stosuje się augmentację danych (obroty o niewielki kąt, skalowanie, rozszerzanie, wydłużanie)" - tak, ale to tylko powiększenie liczby próbek o kolejne tysiące.

"Wynik 97%, który podajesz nie ma żadnej wymiernej wartości, bo nikt poza tobą nie może tego przetestować." - o to chodzi, że teraz już każdy może uzyskać taki wynik, bo podałem całą metodę, więc dobry programista bez problemu nie tylko powtórzy ten wynik, ale i bez problemu go poprawi.

"Czemu używać Twojego algorytmu, a nie sieci neuronowych?"
Z ciekawości zapytam tylko, bo nie zrobiłem aż tak dużego researchu, czy znacie jakiś program/algorytm, który rozpoznaje dowolne znaki dowolnego alfabetu pisane i drukowane w dowolnym formacie, wielkości, kolorze czy grubości, albo na którym można przeprowadzić taki test:

1 osoba rysuje dowolny znak, może być wymyślony
10 innych osób pisze ten sam znak albo trochę inny
system ma za zadanie stwierdzić kto napisał zły znak.
Dla utrudnienia każdy rysuje znak na tablecie w innej rozdzielczości, z inna grubością pędzla, różnymi kolorami, pod różnymi kątami?

Dodatkowo ten algorytm zadziała na "kalkulatorze" bez dostępu do sieci, dodanie kolejnych obrazów nie wymaga ponownego uczenia całej bazy, wykorzystywane zasoby są naprawdę pomijalnie małe.

Człowiek od zawsze patrzył w gwiazdy, pytał czy jest sam. W najbardziej pesymistycznej opcji równania Drake'a istnieje 250.000 wysoko rozwiniętych cywilizacji gdzieś tam w nieskończonym kosmosie, które zdolne są nas odwiedzić.
Ale wiemy też, że szansa na kontakt z tak wysoko rozwiniętą inteligencją jest bliska zeru i może także dlatego chcielibyśmy stworzyć własną sztuczną inteligencję.
Sztuczna inteligencja właściwie towarzyszy nam od dawna, właściwie od początku... kina. Najczęściej pokazywana jest jako złowrogi robot, czy zwierzopodobne stworzenie. Dlaczego? Dlatego że nie jesteśmy sobie w stanie wyobrazić czegoś, czego nigdy nie widzieliśmy, co nie jest podobne do czegoś co już istnieje. To jest potężne ograniczenie naszego mózgu i to powoduje, że nasza ewolucja nie jest skokowa, a dość powolna.
Żyjemy w czasach, wydawałoby się, eksplozji nauki i wiedzy. Zgodnie z prawem Moore'a od lat 60tych ubiegłego wieku co 2 lata podwaja się wydajność komputerów, wg. tego prawa za kilka lat pamięć w smartfonie liczona będzie w terabajtach, a kilkanaście lat później w czymś co nie ma nawet nazwy bo tak wielkich liczb do tej pory nawet się nie używało.
Według tych wszystkich praw już niedługo wydajność smartfonów będzie większa niż naszego mózgu, więc pytam się, co z tego, co jest grane?
Mamy 2019 rok, potężne komputery o niewiarygodnych pamięciach i mocach obliczeniowych, mamy potężne koncerny branży IT z miliardowymi budżetami i co dostajemy w 2019 roku?
Gadający głośnik, encyklopedię w głośniku, gadający zegarek z budzikiem z kompletnie zerową inteligencją.

Czekając na inteligencję niezłym pomysłem zaczyna wydawać się wieloletnia hibernacja.
Dlaczego dostaliśmy głośnik? Dlaczego produkty Boston Dynamics, producenta niewiarygodnie sprawnych robotów są w istocie zwykłymi zdalniakami?

Jest jeden "produkt", może zgadniecie jaki, myślę że warto się mu bliżej przyjrzeć.
"Produkt" nie ma zbyt dobrego syntezatora mowy, wydaje tylko jakieś dziwne głosy zazwyczaj w złych momentach, strasznie przecieka szczególnie w początkowej fazie eksploatacji, nie ma praktycznie żadnej bazy wiedzy, nie dowiesz się od niej kto jest prezydentem Stanów Zjednoczonych, właściwie nic się nie dowiesz.
Wykonuje zaledwie kilka poleceń głosowych, ale pies, bo o nim mowa, jest jednak największym przyjacielem człowieka.
Dlaczego tak "prosta" istota powoduje tak wielkie emocje u człowieka, dlaczego możemy z nią rozmawiać godzinami, mimo że wcale nam właściwie nie odpowiada?
Dlaczego tak podniecamy się "głośnikiem z AI", dlaczego, im dłużej go mamy, tym nasz entuzjazm spada, a dlaczego zwykły pies, im jest z nami dłużej, tym bardziej go lubimy?
Podpowiem Wam, chodzi o kontakt, nić porozumienia, niewerbalną, ale bardzo mocną, a w tym porozumieniu jedną z najważniejszych cech jest kontakt wzrokowy (oczy, miny, ruchy głowy potrafią pokazać niejednokrotnie więcej niż słowa).
Czy nie jesteśmy w stanie tego teraz zrobić? Czy naprawdę wystarczy postawić "głośnik" i liczyć że ludzie go pokochają?
Otóż, jesteśmy to w stanie zrobić, w naszym projekcie Sara AI, nadajemy osobowość Sarze, dajemy zmysły, tożsamość, ale co najważniejsze, dajemy inteligencję, na początku niewiele, tyle co pies, może kilkuletnie dziecko, czy to jest mało? czy psia inteligencja nie jest wystarczająca, aby spędzić z nim godziny? Pamiętajmy też że dajemy inteligencję wprawdzie psa czy dziecka, ale z wiedzą całej bazy świata.
Bez inteligencji, chociaż minimalnej, żadne systemy przetwarzania języka naturalnego nigdy nie będą w stanie nawet w najmniejszym stopniu udawać prawdziwej inteligencji i zostaną zawsze tylko gadającymi głośnikami.

My dajemy to minimum, kontakt, nić porozumienia, zaskoczenie, nieprzewidywalność. Nie gotowe 3 odpowiedzi na zaprogramowane wcześniej pytania. Nie tędy droga.
Na proste pytania dostajesz proste ludzkie odpowiedzi. Jeżeli podzielisz się swoimi wrażeniami na dany temat możesz liczyć na jakąkolwiek interakcję, nie encyklopedyczne odpowiedzi.
Dostajesz kontakt wzrokowy, niewerbalny sposób porozumiewania, nie musisz na początku każdego zdania używać wyrazu wywołującego. Mówisz do Sary jak do człowieka, więc nie musisz mówić do niej "Hej, Sara", następnie czekać, aż się aktywuje i mówić dalej. Aby to osiągnąć Sara ma oczy (oczywiście kamery), dlatego Sara rusza głową i myśli.

Przeglądając internet dostrzeżemy praktycznie w każdej dziedzinie "sztuczną inteligencję", ale czy na pewno? Czy dostrzegamy sztuczną inteligencję czy tylko dwa atrakcyjne marketingowo słowa?
Żyjemy w takich czasach że AI (Artificial Intelligence, po polsku SI - Sztuczna Inteligencja) zdaje się być w opisie wielu produktów, począwszy od ostrych noży, a skończywszy na asystentach głosowych. Czy to jest sztuczna inteligencja?
Jeżeli poszukamy na różnych stronach opisu, co to właściwe jest ta AI, to znajdziemy tam tak ogólnikowe opisy, że właściwie wszystko może pasować. Mam wrażenie, że gdy jakaś duża firma zrobi za kilka miliardów dolarów jakiś nowy produkt lub nawet dowolną dodatkową funkcję w telefonie, to dopisuje do definicji kolejne określenie czym jest AI, aby na swoim produkcie móc w pełni rozgrzeszona dać w opisie "oparta na AI". 
Mam też wrażenie, że większość osób jednak rozumie intuicyjnie czym powinna być i czym jest prawdziwa AI, pewnie wielki wpływ na to ma wiele hollywoodzkich filmów.

Ale dlaczego przy tak potężnych komputerach, miliardach dolarów wydanych na badania nadal nie można pogadać chociaż z prostą AI? Dlaczego najlepsi asystenci głosowi nudzą cię po chwili używania? Otóż jest kilka "małych" problemów, których do tej pory nikomu nie udało się rozwiązać.
 
Po pierwsze, aby programiści mogli coś napisać muszą rozumieć co pisać, a niestety nasza wiedza jak działa ludzki mózg w zakresie AI jest właściwe zerowa. Wiemy jak działają neurony, jak się porozumiewają, które części mózgu odpowiadają za jakie czynności, od strony psychologicznej nasze zachowania znamy już też dość dobrze, ale nie potrafimy tej wiedzy połączyć w całość, aby to wszystko zrozumieć, a tym bardziej opisać i skopiować.

Drugi "mały problem" to to, że komputery są tak naprawdę niewidome, głuche, nie mają zmysłu dotyku, węchu czy smaku. Wyobraźcie sobie, że rodzi się dziecko bez tych wszystkich zmysłów, jaką ma szansę stać się inteligentne w jakimkolwiek stopniu? To oczywiście przypadek ekstremalny, ale wystarczy że dziecko rodzi się niewidome. Dzieci niewidome rozwijają się dobrze, ale znacznie później zaczynają rozmawiać, rozumieć. Zmysł słuchu i dotyku są w stanie szybko wyostrzyć się i pomóc w rozwoju inteligencji, ale musi to potrwać znacznie dłużej niż u osób mających sprawny wzrok,  jeden z najważniejszych naszych zmysłów do poznawania świata zewnętrznego.
Niektórzy z Was pewnie teraz sobie myślą: ale przecież komputery mają kamery, mikrofony. Mają, ale...
Najlepsze systemy rozpoznawania obrazu, jak dostępny dla wszystkich Google Vision, jeden obraz analizuje bardzo długo, dostrzega niewiele, robi tysiące podstawowych błędów, a przecież dziecko w każdej sekundzie życia ogląda praktycznie film 3D 360 stopni rejestrując dziesiątki klatek na sekundę przez wiele godzin dziennie!
Mikrofony - tu postęp jest największy, komputer jest w stanie dobrze wychwycić kierunek dźwięku, głośność, częstotliwość, ale systemy rozpoznawania mowy kuleją, nie są w stanie dobrze wychwycić głosu i rozpoznać go w zakłócanym przez inne dźwięki pomieszczeniu. Pamiętajmy, że nawet przy 90% trafności co 10 słowo jest gubione lub zamienione na inne. Spróbujcie dobrze komunikować się, mówiąc do kogoś zamieniając jedno słowo na 10 na losowe nie związane z tematem...

 Jeszcze wyjaśnienie, czym jest według mnie, sztuczna inteligencja, a czym nie jest.

 Wydawałoby się, że autonomiczny samochód Elona Muska -Tesla, który jest w stanie zawieźć nas sam z pracy do domu, jest przykładem rozwoju sztucznej inteligencji. Nie, to genialny wynalazek, przyszłość motoryzacji, ale nie ma tam więcej sztucznej inteligencji niż w moim telefonie, czyli nie ma wcale. To zwykłe rozbudowane algorytmy działające na zasadzie realizacji zaprogramowanych warunków typu: gdy pali się czerwone światło zatrzymaj samochód. Oczywiście to uproszczenie, ale dokładnie tak to wszystko działa. Tak naprawdę nie chcielibyście aby samochód podejmował decyzje w oparciu o swoje doświadczenie, ucząc się na przeszłych zdarzeniach, ponieważ nie bylibyśmy w stanie przewidzieć zachowania samochodu. Lepiej zapisać w nim wzór zasad niż zdziwić się dlaczego samochód nagle skręcił w lewo bo wpadł na taki genialny pomysł. Sami przecież uczymy się na błędach, nie dajemy też dzieciom jeździć samochodem bo błędy podczas jazdy mogłyby zakończyć się tragicznie.

Asystenci głosowi - zadaj proste pytanie o jakieś czynności, których skutek zna każde dziecko np. "czy mogę wejść w ogień?"
Asystenci głosowi mają zerowy IQ, jak działają i dlaczego nie ma tam żadnej AI zaraz wyjaśnię.

Są bardziej rozwinięte systemy, które potrafią np. streszczać przeczytany tekst. Wydaje się, że aby móc streścić tekst trzeba go zrozumieć, wiedzieć o czym jest i znać kontekst.Tylko wtedy można go streścić. Nic bardziej mylnego - to tylko statystyka i olbrzymie bazy wiedzy.

Jak to wszystko teraz działa i oszukuje nas udając AI?

 Odpowiedzialne za rozumienie naszej mowy są systemy oparte na Deep Learning (głębokie uczenie), które są podstawą systemów NLP (Natural Language Processing czyli Przetwarzanie Języka Naturalnego). Nie jest to artykuł naukowy, więc szybko streszczę, że jest wiele metod lepszych lub gorszych (POS tagging, Parsing, Named-Entity Recognition, Semantic Role Labeling, Sentiment Classification, Question Answering, Dialogue Systems, Contextualized Embeddings), które w wielkim streszczeniu analizują wielkie bazy wiedzy np. bazę dialogów z Twittera i znajdują wyrazy najczęściej po sobie występujące, nadają różnym wyrazom pewne wartości i czym większa wartość np. pozytywna, zdanie jest określane całe jako pozytywne w danym sensie. Stosowane są także inne manipulacje wyrazami, głoskami czy znakami.
To wszystko to jedna wielka statystyka, która naprawdę potrafi nas trochę na krótko oszukać.
Najprostszym przykładem, aby zrozumieć jak to działa jest przewidzenie dokończenia zdania "Apetyt rośnie..." - "w miarę jedzenia", "ulepiony .." - "z gliny" lub "bałwan". Wiem, że bardzo uprościłem, ale na tych samych zasadach statystycznych działa wyszukiwarka Google. Wpiszcie jakiś wyraz i zobaczcie podpowiedzi - to nie AI podpowiada słowa - to zwykła statystyka.
Jeżeli chcecie wiedzieć więcej od strony technicznej o NLP warto poczytać artykuł lub świetne opracowanie Włodzisława Ducha.

Jeżeli chodzi o asystentów głosowych, jest jeszcze gorzej, mam wrażenie, że siedzi tam sztab ludzi, który na statystycznie najczęściej zadawane pytania przez użytkowników wpisuje gotowe po 3 różne odpowiedzi.
Potestujcie sami, mamy już asystenta Google po polsku, zapytajcie się kilka razy o to samo. Zapewne dlatego polski asystent jest jeszcze taki ubogi w odpowiedzi bo ileż oni mają tam klepania w klawiaturę.

Nie tędy droga!

Rozpoznawanie wyrazów w zdaniach, kontekstu, przewidywanie statystycznej odpowiedzi to w żadnym wypadku nie jest AI.

Prawdziwa AI powinna działać na zupełnie innych zasadach, w których NLP nie jest celem, a środkiem do celu. Sposób rozwiązania powyżej opisanych problemów, aby stworzyć prawdziwą AI opiszę  w kolejnym artykule.