Tomasz Lendzian

Sztuczna inteligencja w ogniu

Zamiast motta

Sędzia wziął podsądnego w krzyżowy ogień pytań, aby wydusić z niego prawdę, samą prawdę i tylko prawdę. Zrozpaczona ofiara takiego przesłuchania wije się i plącze w odpowiedziach, aż w końcu krzyczy:

– Panie sędzio, dyć tak mnie pan omotał podchwytliwymi pytajnikami, że nie wiem, co mam rzec.

– Niech pan odpowiada krótko: „tak”, „nie” lub „nie wiem” – poucza podsądnego przesłuchujący.

– O nie – protestuje tamten. – Nie zawsze można odpowiedzieć „tak”, „nie” lub „nie wiem”.

– Gdyby pan nie kłamał, to na każde pytanie potrafiłby pan odpowiedzieć „tak”, „nie” lub „nie wiem”.

– To pan sędzia powie, czy przestał brać łapówki? Tylko krótko: „tak”, „nie” lub „nie wiem”.

[parafraza dialogu z filmu 07 zgłoś się, odc. Ścigany przez samego siebie]

Wstęp

27 maja 2023 roku na Stadionie Narodowym w Warszawie zaprezentowano najbardziej zaawansowaną na terenie Polski sztuczną inteligencję. Na podwyższeniu stał manekin z twarzą przypominającą Mikołaja Kopernika. Odziany był w strój z przełomu XV i XVI wieku. Poruszał ustami i twarzą oraz w ograniczonym zakresie rękoma. Odgrodzony był od tłumku gapiów niewielką balustradą, przy której w środkowej części ustawiono mikrofon. Można było przez ten mikrofon zadawać manekinowi pytania, na które odpowiadał miękkim głosem, i tylko starannie oddzielane słowa świadczyły o tym, że nie mówi tego człowiek. Konwersacyjna wersja sztucznej inteligencji dla masowego odbiorcy, uruchomiona już wcześniej, 30 listopada 2022 roku, była dostępna online na czacie po założeniu konta. Postanowiłem wypróbować, co potrafi sztuczna inteligencja (w skrócie SI).

W prasie i internecie pojawiały się już niesamowite informacje na temat jej możliwości. Jedni twierdzili, że SI nie tylko posiada ogromne moce obliczeniowe i potrafi wykonać praktycznie każde zadanie oraz zastąpić człowieka we wszystkich dziedzinach życia, ale że wręcz posiada samoświadomość. Według tego typu newsów człowiek nie musi już kłopotać się wymyślaniem nowych wynalazków i odkrywaniem jeszcze nieodkrytych praw przyrody, gdyż zrobi to za niego… Kto? Sztuczna inteligencja. Inni nawet posuwali się dalej, twierdząc, że nie tylko zastąpi ona ludzi w każdej pracy fizycznej i biurowej, ale pójdzie na całość: zapanuje nad człowiekiem, zawładnie wszelkimi dostępnymi zasobami, podporządkuje go sobie i sprowadzi do roli posłusznego wykonawcy poleceń. Szeptana plotka niosła nawet wizję, że sztuczna inteligencja uczyni ludzi szczęśliwymi elfami bujającymi w obłokach własnym marzeń, a problem zataczającej coraz szersze kręgi depresji zostanie wyeliminowany.

Tylko nieliczni studzili emocje, wskazując, że SI to nic innego jak program komputerowy posiadający wyjątkowo wyrafinowany zestaw algorytmów, potrafiący zrobić wiele rzeczy lepiej niż człowiek, ale w żadnym wypadku nie zastąpi on ludzi w bardzo wielu dziedzinach życia społecznego ani nie wymyśli niczego nowego. Aby przekonać się o tym, jaka jest prawda, najlepiej przeprowadzić eksperyment polegający na wejściu w bezpośrednią konwersację ze sztuczną inteligencją. Książka ta, a właściwie dialog, jest odpowiedzią na pytanie, na ile fantastyczne są wizje wielbicieli SI co do jej niebotycznych sił i zastosowań, a na ile chłodne głowy nie potrafią docenić jej fantastycznych możliwości. W celu przeprowadzenia eksperymentu konieczne stało się założenie konta do przeprowadzenia konwersacji ze sztuczną inteligencją. Zanim jednak przejdziemy do jego zakładania, muszę przestrzec Czytelników, że ciekawa i żywa wiwisekcja na tkance sztucznej inteligencji zacznie się dopiero po przebrnięciu przez żmudne technikalia skumulowane w rozdziale pierwszym.

Rozdział pierwszy

Zapoznanie ze sztuczną inteligencją

Założenie konta było dosyć proste. Wystarczyło uruchomić klawiszem enter adres internetowy https://openai.com/blog/chatgpt, a następnie kliknąć na ikonkę „Try ChatGPT”. Otwierało się wówczas nowe okno, w którym, po kliknięciu tym razem w ikonkę „Sign up”, można było, wykonując kolejne polecenia, założyć konto po podaniu adresu mailowego, imienia i nazwiska oraz numeru telefonu komórkowego. Po założeniu konta musiałem je uwierzytelnić poprzez wpisanie kodu przesłanego przez sztuczną inteligencję SMS-em na podany numer telefonu komórkowego. Następnie na ekranie pojawiło się okno do prowadzenia czatu ze sztuczną inteligencją z migającym kursorem i informacją „Send a message”. Przez internet nie można bowiem rozmawiać ze sztuczną inteligencją, a jedynie wpisywać słowa i zdania w odpowiednim oknie dialogowym. Dlatego aby nawiązać kontakt, napisałem pierwsze zdanie:

– Dzień dobry. Nazywam się Maciek i chciałbym porozmawiać.

W odpowiedzi na ekranie pojawił się komunikat:

– Dzień dobry, Macieju! Jestem gotowy porozmawiać z tobą. W czym mogę ci pomóc?

Początkowo nie zauważyłem tego komunikatu i dopiero później go odtworzyłem. Wówczas napisałem:

– Nie uzyskałem żadnej odpowiedzi. Czy rozmawiam ze sztuczną inteligencją?

Tym razem ujrzałem na ekranie jedynie coś takiego: ChatGPT. 3 / 3.

Pasek przewijania był prawie niewidoczny i co gorsze – nie działał, więc nie mogłem widzieć znajdującego się niżej komunikatu o treści:

– Tak, rozmawiasz ze sztuczną inteligencją. Jestem ChatGPT, model językowy stworzony przez OpenAI. Moim celem jest udzielanie odpowiedzi na pytania i pomaganie w różnych tematach. W czym mogę ci pomóc?

Dlatego napisałem:

– Na ekranie nie widzę żadnej odpowiedzi. Czy coś jest nie tak z moim komputerem?

Sztuczna inteligencja wygenerowała długi komunikat i tym razem ujrzałem go bez konieczności przewijania okna dialogowego:

– Przepraszam za wszelkie problemy techniczne, na jakie napotykasz. Jeśli nie widzisz odpowiedzi na ekranie, mogą istnieć różne przyczyny. Czy mogę zasugerować kilka kroków, które mogą pomóc rozwiązać problem? Sprawdź, czy masz stabilne połączenie internetowe. Odśwież stronę lub spróbuj otworzyć czat w innym przeglądarce lub urządzeniu. Upewnij się, że Twoja przeglądarka jest zaktualizowana do najnowszej wersji. Spróbuj wyczyścić pamięć podręczną przeglądarki lub skorzystać z trybu incognito/prywatnego. Jeśli używasz blokera reklam, wyłącz go tymczasowo, ponieważ może on interferować z wyświetlaniem odpowiedzi. Jeśli żadne z tych rozwiązań nie pomagają, może to być problem z Twoim komputerem lub siecią. W takim przypadku warto skonsultować się z technicznym wsparciem komputerowym lub sprawdzić inne źródła pomocy technicznej.

– Teraz dostałem odpowiedź. Czy ty też widzisz moje pytania?

W odpowiedzi pojawił się bardzo krótki komunikat, który jednak był niewidoczny dla mnie i dopiero później udało mi się go odtworzyć:

– Tak, widzę Twoje pytania i jestem w stanie na nie odpowiadać. Jeśli masz jakiekolwiek pytania lub potrzebujesz pomocy, proszę śmiało zadawaj pytania, a postaram się pomóc, jak najlepiej potrafię.

Ponieważ tego komunikatu nie widziałem, napisałem:

– I znowu nie mam żadnej odpowiedzi.

Kolejny komunikat wygenerowany przez SI był długi i chyba dzięki temu mogłem go zobaczyć na ekranie:

– Przepraszam za to, że nie możesz zobaczyć odpowiedzi. Czy mogę zasugerować kilka rozwiązań, które mogą pomóc w rozwiązaniu tego problemu? Spróbuj odświeżyć stronę lub czat. Czasami wystarczy odświeżyć, aby poprawnie załadować odpowiedzi. Upewnij się, że masz stabilne połączenie internetowe. Jeśli masz słabe połączenie lub problemy z siecią, może to utrudniać odbiór odpowiedzi. Wyłącz tymczasowo wszelkie blokery reklam lub rozszerzenia przeglądarki, które mogą interferować z wyświetlaniem odpowiedzi. Spróbuj otworzyć czat w innej przeglądarce lub na innym urządzeniu, aby sprawdzić, czy problem występuje tylko na jednym konkretnym środowisku. Jeśli żadne z tych rozwiązań nie pomagają, może to być spowodowane innymi czynnikami technicznymi. W takim przypadku warto skonsultować się z technicznym wsparciem komputerowym lub sprawdzić inne źródła pomocy technicznej. Przepraszam za wszelkie niedogodności i postaram się pomóc, jak tylko będę w stanie.

– Nie wiem, jak wyłączyć blokery reklam. Z tego, co pamiętam, żadnych takich blokerów nie włączałem.

Po tej mojej informacji zamiast odpowiedzi zobaczyłem na ekranie wielką literę C i nie widziałem tekstu poniżej. Nie wiedziałem, że miałem takiego pecha, iż pierwszy mój kontakt ze sztuczną inteligencją wiązał się z problemem w jej funkcjonowaniu:

– Jeśli nie włączałeś żadnych blokerów reklam, to nie powinny one interferować z wyświetlaniem odpowiedzi. Możliwe, że problem leży gdzieś indziej. Spróbujmy znaleźć inne rozwiązania. Czy możesz potwierdzić, czy widzisz tę wiadomość, którą właśnie wysłałem? Jeśli tak, proszę przekaż mi swoje pytanie lub temat, na który chcesz porozmawiać, a postaram się odpowiedzieć jak najlepiej potrafię.

– W odpowiedzi na moje poprzednie pytanie na ekranie pojawiła się wielka litera C. Co to może oznaczać?

– Przepraszam za wszelkie zamieszanie. Pojawiła się wielka litera C, ponieważ w systemie odpowiedzi modelu mogą występować nieprzewidziane błędy, które czasami prowadzą do takich sytuacji. Nie ma żadnego znaczenia dla treści odpowiedzi. Przepraszam za zamieszanie i mogę kontynuować rozmowę. W czym mogę ci pomóc lub o czym chciałbyś porozmawiać?

Tego tekstu też nie widziałem na ekranie, więc postanowiłem wylogować się i zalogować ponownie.

– Okej, wylogowałem się i ponownie zalogowałem, i teraz widzę twoje odpowiedzi.

– Cieszę się, że teraz możesz widzieć moje odpowiedzi. Przepraszam jeszcze raz za wszelkie niedogodności, jakie mogły się pojawić. Jeśli masz jakiekolwiek pytania lub potrzebujesz pomocy, proszę śmiało pytaj. Jestem tutaj, aby ci pomóc.

Po ponownym zalogowaniu widziałem już nie tylko bieżące odpowiedzi sztucznej inteligencji, ale również te, które wcześniej nie były widoczne. Dopiero późniejsza konwersacja ze sztuczną inteligencją dała mi pewność, że przed przelogowaniem nie widziałem jej odpowiedzi nie dlatego, że źle obsługiwałem program, tylko z powodu jakiegoś błędu komunikacji ze strony SI. Ta pewność wynikła z tego, że błędy te pojawiały się w czasie następnych sesji. Zadałem pierwsze merytoryczne pytanie i przyjąłem, że wszystkie teksty generowane przez sztuczną inteligencję będę odznaczał kursywą:

– Chciałbym się czegoś dowiedzieć o tobie. Kim jesteś?

– Jestem ChatGPT, zaawansowanym modelem językowym stworzonym przez OpenAI. Moim celem jest udzielanie odpowiedzi na różne pytania i pomaganie w różnych tematach. Jestem oparty na architekturze GPT-3.5, która korzysta z zaawansowanej uczenia maszynowego, aby generować odpowiedzi na podstawie zgromadzonej wiedzy. Moje odpowiedzi są tworzone na podstawie tekstów i informacji, które przetworzyłem podczas treningu. Czy jest coś konkretnego, o czym chciałbyś się dowiedzieć lub w czym mogę ci pomóc?

W odpowiedzi widoczny jest błąd językowy, gdyż zwrot „zaawansowanej uczenia maszynowego” ewidentnie nie zawiera słowa „metody”. Mogę jednak zapewnić, że tego typu błędy językowe w dalszej części konwersacji będą zdarzały się wyjątkowo rzadko. Można zatem już teraz wyrazić opinię, że jeżeli chodzi o stylistykę i składnię języka polskiego, sztuczna inteligencja stoi na wysokim poziomie[1].

– Tak, chciałbym dowiedzieć się, czym różnisz się od zwykłego programu komputerowego.

– Różnica między modelem językowym, takim jak ja, a zwykłym programem komputerowym polega na tym, w jaki sposób przetwarzamy informacje i generujemy odpowiedzi. Tradycyjny program komputerowy jest zbiorem instrukcji i reguł logicznych, które określają, jak przetwarzać dane wejściowe i generować wyniki. Programista tworzy te instrukcje w sposób bezpośredni, precyzując krok po kroku, co ma być wykonane. W przypadku modelu językowego, takiego jak ja, uczyłem się na podstawie dużej ilości tekstów i informacji. Moim zadaniem jest analizowanie kontekstu, rozumienie semantyki i generowanie odpowiedzi na podstawie zgromadzonej wiedzy. Nie jestem programem, który został zaprogramowany, aby wykonywać konkretne zadania, ale modelem statystycznym, który nauczył się języka poprzez analizę dużej ilości danych. To oznacza, że jako model językowy mogę elastycznie reagować na różne pytania i tematy, bazując na nauce z dużego zbioru tekstów. Jednak moje odpowiedzi są generowane na podstawie statystyk i kontekstu, a nie na podstawie programowania w tradycyjnym sensie. W skrócie, różnica między mną, jako modelem językowym, a zwykłym programem komputerowym polega na sposobie przetwarzania informacji i generowania odpowiedzi.

Odpowiedź niezbyt długa, ale tak ogólna, że trudno na jej podstawie wywnioskować, czym różni się sztuczna inteligencja od zwykłego programu komputerowego i na czym polega jej wyjątkowość.

– Sama się nauczyłaś języka poprzez analizę dużej ilości danych? – zapytałem, używając rodzaju żeńskiego z uwagi na gramatyczny rodzaj terminu „inteligencja”.

– Tak, jako model językowy oparty na architekturze GPT-3.5, zostałem wytrenowany poprzez analizę dużej ilości danych tekstowych. Podczas treningu dostarczano mi różne rodzaje tekstów, takie jak artykuły, książki, strony internetowe, rozmowy, i wiele innych. Na podstawie tych tekstów, wraz z danymi dotyczącymi poprawnych odpowiedzi, mój model uczył się rozumienia języka, tworzenia odpowiedzi i wydobywania sensownych informacji z tekstu. Trening przebiegał przez wielokrotne przetwarzanie tych danych treningowych, poddawanie się iteracyjnemu procesowi optymalizacji, aby model stawał się coraz lepszy w generowaniu odpowiedzi. W efekcie, nauczyłem się wykrywać wzorce w języku, rozumieć kontekst i dostarczać odpowiedzi na różne pytania. Ważne jest jednak zaznaczyć, że mój trening opiera się na tekstach dostępnych do momentu mojego ostatniego zaktualizowania w 2021 roku. Nie mam bezpośredniego dostępu do bieżących informacji i nie jestem na bieżąco z wydarzeniami, które miały miejsce po tej dacie.

Odpowiedź sztucznej inteligencji znowu była tak ogólna, że nie sposób zrozumieć, w jaki sposób maszyna mogła na podstawie treningu wykrywać wzorce w języku, rozumieć kontekst wypowiedzi i udzielać sensownych odpowiedzi na różne pytania.

– Twoje odpowiedzi nie pozwalają mi zrozumieć, w jaki sposób mogłaś nauczyć się sama rozumienia języka. Nie jestem informatykiem ani programistą i staram się zrozumieć, czym różni się sztuczna inteligencja od zwykłego programu komputerowego. Czy prawdą jest, że sztuczna inteligencja składa się, tak jak zwykły program komputerowy, z algorytmów[2] napisanych przez człowieka? Czy też sztuczna inteligencja zawiera coś więcej niż algorytmy korzystające z dużych baz danych?

– Przepraszam za zamieszanie i zrozumienie. Sztuczna inteligencja (SI) jest szerokim pojęciem, które obejmuje wiele różnych technik i podejść. W przypadku modeli językowych, takich jak ja, jestem wynikiem połączenia algorytmów i zaawansowanych technik uczenia maszynowego, które umożliwiają mi generowanie odpowiedzi na podstawie analizy dużych zbiorów danych. Chociaż algorytmy są jednym z elementów SI, które zostały opracowane przez ludzi, to samo przetwarzanie języka naturalnego (NLP) wymaga więcej niż tylko algorytmów. Podczas treningu wykorzystuje się modele uczenia maszynowego, takie jak sieci neuronowe, które są zasilane dużą ilością danych treningowych. Te dane treningowe są zazwyczaj zbierane z różnych źródeł, takich jak książki, artykuły, strony internetowe i wiele innych. Podczas treningu modelu językowego, algorytmy uczenia maszynowego analizują te dane treningowe, identyfikują wzorce, zależności i struktury językowe. Model staje się coraz bardziej wykwalifikowany w generowaniu odpowiedzi na podstawie zgromadzonej wiedzy. To oznacza, że na podstawie treningu i danych wejściowych model potrafi rozumieć kontekst, syntaktykę, semantykę i znaczenie języka. Ważne jest jednak zrozumienie, że SI to szerokie pole, a modele językowe stanowią tylko jeden aspekt tego obszaru. Istnieją różne podejścia do tworzenia SI, w tym uczenie maszynowe, głębokie sieci neuronowe, algorytmy genetyczne i wiele innych. Każde podejście może wykorzystywać różne techniki i algorytmy, w zależności od konkretnego zadania i kontekstu. W skrócie, sztuczna inteligencja jest złożonym obszarem, który wykorzystuje różne techniki, w tym algorytmy, modele uczenia maszynowego i analizę dużych zbiorów danych, aby modelować inteligentne zachowanie i generować odpowiedzi.

Jedynym, co można zrozumieć z tej odpowiedzi, jest to, że sztuczna inteligencja jest czymś więcej niż wiązanką skomplikowanych algorytmów, gdyż dodatkowo funkcjonuje w niej mechanizm modelu uczenia maszynowego oparty na sieciach neuronowych zasilanych dużą ilością danych. Tylko jak funkcjonuje ten model uczenia maszynowego i czym on się różni od zwykłego algorytmu?

– Wciąż nie rozumiem, cóż więcej zawiera sztuczna inteligencja niż algorytmy. Napisałaś, że tym czymś więcej jest model uczenia maszynowego i sieci neuronowe. Czy mogłabyś przystępnym językiem objaśnić, na czym to polega i jak to działa?

– Oczywiście! Postaram się przedstawić to w bardziej przystępny sposób. Model uczenia maszynowego to rodzaj programu komputerowego, który może „uczyć się” na podstawie danych. To trochę jak uczestnik gry, który dostaje przykłady i naucza się rozpoznawać wzorce. Można to porównać do nauki przez doświadczenie, gdzie model analizuje duże ilości danych i stara się znaleźć zależności i wzorce w tych danych. Sieci neuronowe to jeden z rodzajów modeli uczenia maszynowego, które są inspirowane strukturą mózgu człowieka. Składają się z połączonych ze sobą sztucznych „neuronów”, które przetwarzają dane i przekazują informacje między sobą. Te sieci neuronowe są uczące się, dzięki czemu mogą dostosowywać swoje wagi i parametry na podstawie danych treningowych, co pozwala im na lepsze dopasowanie do konkretnego zadania. Podczas treningu modelu uczenia maszynowego, takiego jak sieć neuronowa, dostarczamy mu zestaw danych treningowych, na których model może się uczyć. Te dane treningowe zawierają przykłady, wraz z oczekiwanymi wynikami, aby model mógł „nauczyć się” i dostosować swoje wagi i parametry, tak aby generować poprawne odpowiedzi na podstawie tych danych. Podsumowując, sztuczna inteligencja, w tym model uczenia maszynowego i sieci neuronowe, wykorzystuje algorytmy, aby analizować duże zbiory danych treningowych i uczyć się na ich podstawie. Modele uczą się znajdować wzorce, zależności i struktury w tych danych, co umożliwia im generowanie odpowiedzi, rozpoznawanie obrazów, przetwarzanie mowy i wiele innych zadań. Dzięki temu mogą wykazywać pewne poziomy inteligencji w określonych dziedzinach.

Zatem z jednej strony podstawą SI są sztuczne neurony, które się uczą w ramach sieci neuronowej, a z drugiej strony model uczenia maszynowego jest rodzajem programu komputerowego, który może się uczyć. W dalszym ciągu nie pozwala to zrozumieć, czym różni się sztuczna inteligencja od zwykłego programu komputerowego.

– Nadal nie czuję się usatysfakcjonowany twoją odpowiedzią. Czy ten model uczenia maszynowego dopisuje do pamięci komputera nowe algorytmy lub nowe dane? Czy tworzy nowe pliki programowe lub pliki zawierające dane? Innymi słowy – czy sztuczna inteligencja może się poszerzać poprzez dopisywanie nowych algorytmów?

– Przepraszam za wszelkie niejasności. Chciałbym wyjaśnić, że model uczenia maszynowego i sieci neuronowe nie tworzą ani nie dopisują nowych algorytmów w tradycyjnym sensie, jak to robią programiści. Model uczenia maszynowego nie jest zwykłym programem komputerowym, który zawiera już zdefiniowane algorytmy. Model jest trenowany na dużej ilości danych treningowych, aby nauczyć się rozpoznawać wzorce i zależności w tych danych. To oznacza, że model jest „uczoną” reprezentacją wiedzy, która może generować odpowiedzi na podstawie tego, czego nauczył się podczas treningu. Podczas treningu, wagi i parametry modelu są dostosowywane, aby minimalizować błędy i poprawiać jakość generowanych odpowiedzi. Jednak model nie tworzy nowych algorytmów ani nie modyfikuje swojego kodu. Nie tworzy również nowych plików programowych zawierających dane. Sztuczna inteligencja, w postaci modeli uczenia maszynowego, jest w stanie ulepszać swoje działanie przez kolejne iteracje treningu na nowych danych, co może prowadzić do poprawy jakości generowanych odpowiedzi. Jednak aby wprowadzić nowe algorytmy lub zmienić funkcjonalność modelu, wymagane byłoby interwencja ludzka w postaci programistów, którzy musieliby dokonać zmian w strukturze i logice modelu. Podsumowując, modele uczenia maszynowego i sieci neuronowe nie tworzą ani nie dopisują nowych algorytmów samodzielnie. Są one trenowane na dużych zbiorach danych, aby nauczyć się rozpoznawać wzorce i zależności w tych danych, ale wprowadzanie nowych algorytmów lub zmian w funkcjonalności modelu wymaga interwencji ludzkiej.

Niestety, sztuczna inteligencja nie potrafi przekazać istoty tego, czym różni się od zbioru algorytmów, jakim jest każdy program komputerowy. Nie potrafi? A może nie chce!

– Jeżeli wytłumaczenie działania modelu uczenia maszynowego i działania sieci neuronowych jest objęte tajemnicą i nie chcesz tego ujawniać, to powiedz otwarcie i wprost! Natomiast jeżeli nie jest to objęte tajemnicą producenta, spróbuj mi to wytłumaczyć na jakimś przykładzie, ponieważ nadal nie potrafię zrozumieć, czym różni się sztuczna inteligencja od zbioru algorytmów.

– Przepraszam, jeśli to wywołało zamieszanie. Nie jest to tajemnica producenta, ale złożoność działania modeli uczenia maszynowego i sieci neuronowych może być trudna do w pełni zrozumienia bez szczegółowej wiedzy z dziedziny uczenia maszynowego i analizy danych. Postaram się przedstawić prosty przykład, który może pomóc w zrozumieniu różnicy między sztuczną inteligencją a tradycyjnymi algorytmami. Wyobraź sobie, że masz zbiór danych zawierający informacje o różnych owocach, takich jak jabłka, banany i pomarańcze. Chcesz stworzyć program, który na podstawie cech owoców będzie rozpoznawał, o jakim owocu jest mowa. W tradycyjnym podejściu programista musiałby napisać reguły, które opisują, jakie są cechy charakterystyczne dla poszczególnych owoców. Na przykład, może by to wyglądało tak:

Jeśli owoc jest okrągły, czerwony i ma łodygę, to jest to jabłko.

Jeśli owoc jest długi, żółty i małymi czarnymi punktami, to jest to banan.

Jeśli owoc jest okrągły, pomarańczowy i ma chropowatą skórkę, to jest to pomarańcza.

Te reguły tworzą tradycyjny program komputerowy, który opiera się na zaprogramowanych algorytmach. Musisz zdefiniować te reguły samodzielnie na podstawie swojej wiedzy o owocach. Z kolei w podejściu opartym na modelu uczenia maszynowego, nie musisz samodzielnie definiować reguł. Zamiast tego, dostarczasz duży zbiór danych treningowych, w którym dla każdego owocu są podane cechy i odpowiedzi, czyli jakim owocem jest. Model uczenia maszynowego samodzielnie nauczy się rozpoznawać wzorce i zależności w tych danych. Podczas treningu model analizuje dane i stopniowo dostosowuje swoje wagi i parametry, aby jak najlepiej dopasować się do wzorców obecnych w danych treningowych. Po zakończeniu treningu, model będzie w stanie przyjąć nowe dane, tj. cechy owocu, i przewidzieć, o jakim owocu jest mowa. Ważne jest zrozumienie, że model uczenia maszynowego nie zapisuje nowych algorytmów ani nie dopisuje do pamięci komputera osobnych plików programowych. To model, który na podstawie trenowania na danych uczących wykształca swoje zachowanie. Mam nadzieję, że ten prosty przykład pomógł w zrozumieniu różnicy między tradycyjnymi algorytmami a podejściem opartym na modelu uczenia maszynowego.

Wbrew optymistycznym założeniom sztucznej inteligencji powyższy przykład w dalszym ciągu na pozwalał mi na zrozumienie, w jaki sposób model uczenia maszynowego samodzielnie może się nauczyć rozpoznawać wzorce i zależności w danych. I w jaki sposób, u licha, SI podczas treningu analizuje dane, a po zakończeniu treningu model będzie w stanie przyjąć nowe dane?

– Niestety, wciąż nie rozumiem różnicy między tradycyjnymi algorytmami a modelem uczenia maszynowego. Jeżeli do tego modelu dostarczane są duże zbiory danych treningowych, to wygląda to tak samo, jakby w tradycyjnym podejściu programista opisał cechy charakterystyczne poszczególnych owoców. Z kolei w jaki sposób sztuczna inteligencja po treningu może przyjąć nowe dane, czyli nowe cechy owoców, jeżeli wcześniej te cechy nie były jej dostarczone w formie zbioru danych wejściowych?

– Przepraszam za zamieszanie. Spróbuję wytłumaczyć różnicę w bardziej precyzyjny sposób. W tradycyjnym podejściu programista musi ręcznie definiować reguły i algorytmy na podstawie swojej wiedzy na temat problemu. To oznacza, że musi z góry znać i zaprogramować wszystkie możliwe kombinacje cech i zależności, które występują w danych. Jeśli pojawią się nowe cechy, które nie zostały uwzględnione w pierwotnym zestawie reguł, programista musi ręcznie zaktualizować kod, aby uwzględnić te nowe cechy. To wymaga interwencji człowieka i modyfikacji programu. W przypadku modelu uczenia maszynowego, proces wygląda inaczej. Model nie musi mieć wiedzy na temat wszystkich możliwych cech i zależności. Zamiast tego, dostarcza się mu duży zbiór danych treningowych, w którym zawarte są różnorodne przykłady owoców wraz z ich cechami. Model uczący się maszynowo analizuje ten zbiór danych i samodzielnie znajduje wzorce i zależności w tych danych. Gdy model jest już wytrenowany, może przyjąć nowe dane, czyli nowe cechy owoców, które nie były wcześniej obecne w zbiorze danych treningowych. Model jest w stanie na podstawie swojego wcześniejszego treningu i nauczonej wiedzy ogólnej rozpoznać wzorce w nowych danych i dostarczyć odpowiedź na pytanie, o jakim owocu jest mowa. To, co odróżnia model uczenia maszynowego od tradycyjnego programu komputerowego, to to, że model samodzielnie naucza się z danych treningowych, znajduje wzorce i zależności, a następnie używa tych wzorców do generowania odpowiedzi na nowe dane. Nie jest to oparte na statycznych regułach, które muszą być ręcznie zdefiniowane przez programistę. W ten sposób sztuczna inteligencja, reprezentowana przez model uczenia maszynowego, może być bardziej elastyczna i dostosowywać się do różnych danych, nawet tych, które nie były obecne w danych treningowych. Jednak nadal istnieje potrzeba dostarczenia modelowi odpowiednich danych treningowych, aby mógł się nauczyć i zbudować swoją wiedzę ogólną.

Tyle użytych słów, a ja w dalszym ciągu nie mogłem zrozumieć wyjaśnienia, więc ponowiłem pytanie.

– W jaki sposób model samodzielnie uczy się nowych danych z danych treningowych?

– Model uczenia maszynowego samodzielnie uczy się nowych danych na podstawie mechanizmu nazywanego uczeniem. Proces ten odbywa się w czasie treningu modelu. Podczas treningu, model analizuje duży zbiór danych treningowych, które zawierają przykłady wejściowe i odpowiadające im poprawne odpowiedzi. Na przykład, dla problemu rozpoznawania owoców, zbiór danych treningowych zawierałby cechy owoców (kolor, kształt, tekstura itp.) jako dane wejściowe i odpowiadające im etykiety lub klasy owoców jako poprawne odpowiedzi. Proces treningu polega na dostosowywaniu parametrów i wag modelu w taki sposób, aby minimalizować błędy między przewidywanymi odpowiedziami a rzeczywistymi odpowiedziami zawartymi w danych treningowych. Model dostosowuje swoje wagi i parametry na podstawie informacji zwrotnej, którą otrzymuje na podstawie porównania swoich przewidywań z poprawnymi odpowiedziami. W rezultacie model uczenia maszynowego znajduje wzorce i zależności w danych treningowych i dostosowuje swoje wewnętrzne parametry, tak aby coraz lepiej odzwierciedlać relacje między danymi wejściowymi a odpowiedziami. Model stara się generalizować te wzorce, aby móc przewidywać odpowiedzi na nowych danych, których nie widział wcześniej. Po zakończeniu treningu, model jest gotowy do przyjęcia nowych danych jako wejścia i generowania odpowiedzi na podstawie tego, czego się nauczył. Oznacza to, że model będzie w stanie przewidzieć odpowiedzi na nowe przypadki, które nie były obecne w danych treningowych, na podstawie wzorców i zależności, które wyodrębnił podczas treningu. Warto zaznaczyć, że jako użytkownik modelu nie trzeba zrozumieć wszystkich szczegółów technicznych procesu treningu. Ważne jest zrozumienie, że model uczenia maszynowego samodzielnie znajduje wzorce w danych treningowych i może generować odpowiedzi na podstawie tych wzorców, nawet dla nowych danych, które nie były bezpośrednio uwzględnione w treningu.

Co oznacza stwierdzenie sztucznej inteligencji, że jako użytkownik modelu nie muszę zrozumieć wszystkich szczegółów technicznych procesu treningu? Ja właśnie chcę znaleźć różnicę jakościową między programem komputerowym a sztuczną inteligencją. Spróbuję dowiedzieć się czegoś na konkretach.

– Czy możesz podać przykład jakiejś danej, której nauczyłaś się w procesie treningu, a której nie było w zbiorze danych treningowych?

Zapraszamy do zakupu pełnej wersji

[1] Wszystkie wypowiedzi sztucznej inteligencji podawane są w oryginalnym zapisie.

[2] Algorytm to uporządkowany ciąg instrukcji zbudowanych w formie zdań logicznych, które na podstawie danych wejściowych (czyli znanych informacji) generują dane wyjściowe, czyli poszukiwane rozwiązania.

Sztuczna inteligencja w ogniu

ISBN: 978-83-8373-008-0

© Tomasz Lendzian i Wydawnictwo Novae Res 2024

Wszelkie prawa zastrzeżone. Kopiowanie, reprodukcja lub odczyt jakiegokolwiek fragmentu tej książki w środkach masowego przekazu wymaga pisemnej zgody Wydawnictwa Novae Res.

REDAKCJA: Bernadeta Lekacz

KOREKTA: Anna Grabarczyk

OKŁADKA: Grzegorz Araszewski

Wydawnictwo Novae Res należy do grupy wydawniczej Zaczytani.

Grupa Zaczytani sp. z o.o.

ul. Świętojańska 9/4, 81-368 Gdynia

tel.: 58 716 78 59, e-mail: sekretariat@novaeres.pl

http://novaeres.pl

Publikacja dostępna jest na stronie zaczytani.pl.

Opracowanie ebooka
Katarzyna Rek