Skip to main content

Sztuczna Inteligencja

Artificial Intelligence (AI)

Czy to się komuś podoba czy nie, zaczyna się nowa era, era sztucznej inteligencji. Jest to temat względnie nowy, także i dla mnie. Niech ten wpis posłuży jako dobry początek cyklu wpisów o sztucznej inteligencji, jak można ją wykorzystać do własnych celów.

Czym jest tzw. sztuczna inteligencja?

W moim rozumieniu, sama nazwa „sztuczna inteligencja” jest zarazem trafna jak i błędna. Trafna, ponieważ sztuczna sieć neuronowa, potrafi „analizować” dane wejściowe i na ich podstawie dobrać odpowiednią odpowiedź. Błędna, ponieważ bardziej powinniśmy, mówiąc o sztucznej inteligencji, rozumieć ją jako proces uczenia maszynowego.

Załóżmy, że chcemy, aby AI poprawnie podawało nazwy 8 podstawowych kolorów 🙂 (oczywiście, jest to przykład, który można zaprogramować bardzo prosto tradycyjnym algorytmem instrukcji warunkowych i będzie w 100% skuteczny)

Na tzw. „wejściu” AI będzie dostawać tylko te 8 kolorów, których AI ma „się nauczyć” . Standardowe prawdopodobieństwo podania poprawnej odpowiedzi w sytuacji, gdyby AI tylko losowało 1 z 8 możliwych odpowiedzi jest: 1/8 (12.5%).

Na wejściu sieć neuronowa dostaje kolor, na wyjściu mamy jakieś niezerowe prawdopodobieństwo udzielenia prawidłowej odpowiedzi. I tu wchodzimy z uczeniem maszynowym, gdzie sieć neuronowa, musi dostać informację zwrotną od użytkownika (trenera), czy odpowiedź jest prawidłowa czy nie.

  1. AI dostaje pytanie:
  2. AI zwraca odpowiedź: czerwony
  3. Użytkownik udziela feedbacku: źle
  4. Algorytm neuronu modyfikuje wagę odpowiedzi: dla pytania:
    , Odpowiedź „czerwony” ma wagę już nie 1/8, tylko np. 1/16 (to jak waga zostanie zmodyfikowana, na ten temat powstają doktoraty ;-)), a pozostałe odpowiedzi mają zwiększoną proporcjonalnie.
  5. I znowu, możemy wrócić do punktu 1. I przechodzić ten algorytm tak długo, aż prawdopodobieństwo prawidłowej odpowiedzi będzie dla nas wystarczająco wysokie
  6. Jeżeli zostanie udzielona odpowiedź prawidłowa, to algorytm zmodyfikuję wagę dla tej odpowiedzi, oraz wagi pozostałych odpowiedzi.

Opisana metoda jest baardzo uproszczona i tyczy raczej 1 neuronu z bardzo wyizolowanym zadaniem.

W chwili obecnej mamy do czynienia z o wiele bardziej zaawansowanymi algorytmami, zawierającymi wiele sztucznych neuronów, z bardziej zaawansowanymi technikami „odgadywania” odpowiedzi, ale mam nadzieję, że zawarłem to co jest najważniejsze.

Szerszy kontekst

Od czasu do czasu, zwłaszcza na popularnonaukowych kanałach, pojawia się temat wykorzystania AI do różnych zadań. Warto zauważyć, że sztuczna inteligencja doskonale odnajduje się w sytuacjach, gdy na podstawie zadanego wzorca (np. w astronomii, przegląd wyników pomiarów iluś gwiazd) potrafi bardzo skutecznie odnaleźć podobny (nie taki sam!) wzorzec w podanych danych.

ChatGPT

Dużą sensacją okazało się udostępnienie szerokiej publiczności Chata GPT. Sam przyznam, że możliwości jego darmowej wersji (wersja podajże 3.5, a wersja 4 podobno jest dużo bardziej zaawansowana) są imponujące. Naprawdę potrafi znakomicie przyśpieszyć pracę programisty.

Na próbę wykorzystałem Chata GPT do rozwiązania dość trywialnego problemu, który nie jest może skomplikowany, ale wymagałby zapoznania się z dokumentacją frameworka, w zakresie jego funkcji. I tu zamiast czytać, próbować, które rozwiązanie będzie najlepsze GPT po prostu podał mi bardzo dokładnie kompletne rozwiązanie, aż do poziomu, które klasy powinienem utworzyć, albo które pliki powinienem zmodyfikować i jaki dodać dokładnie kod. Oczywiście, sam też muszę mieć wiedzę aby móc ocenić, czy podane rozwiązanie w ogóle ma jakikolwiek sens. Ale mając taką wiedzę od razu oceniłem, że udzielona przez chata odpowiedź pasuje idealnie w punkt 🙂


AI może być bardzo pomocne. Zdecydowanie jest to najwyższa pora, aby nauczyć się ją wykorzystywać, aby nie zostać wkrótce w tyle. Ostrożność w wykorzystywaniu sztucznej inteligencji też jest konieczna, nie wierzyć ślepo w jej odpowiedzi (jak widzimy powyżej, opierają się one na odpowiednim wcześniejszym wytrenowaniu).