10 odsłon AI - sieci neuronowe - cz.1
Obecnie coraz więcej się mówi o sztucznej inteligencji. Mamy ją w sprzętach jakie codziennie obsługujemy, pojawia się nam w mediach społecznościowych, wywołuje dyskusje publiczne. Część osób jest zafascynowana i promuje, ją jako nowe złoto, dzięki któremu można się wzbogacić. Część osób unika jej, deklarując „nieufność” względem AI i strasząc, że wkrótce przejmie władanie nad człowiekiem. Dyskusja taka jest mieszanką niewiedzy, lęków, ulegania wpływowi populistów vs. Influencerów. Warto samemu zbudować sobie zdanie opierając się o rzetelną wiedzę.
Zapraszamy was do cyklu artykułów, które przybliżą nam czym w istocie jest sztuczna inteligencja, a czym nie. Dziś zaczynamy od sieci neuronowych.
Sieci neuronowe (Neural Networks)
Sieci neuronowe są podstawą wielu obszarów sztucznej inteligencji, szczególnie tych związanych z uczeniem maszynowym. Działają podobnie do ludzkiego mózgu, który ma miliardy neuronów. Neurony w ludzkim mózgu to struktury biologiczne, przechowują informacje, przesyłają i odbierają impulsy z informacjami. Są ze sobą połączone, a im mocniejsze połączenie tym szybciej przetwarzamy informacje w mózgu.
Sieć neuronowa w rozumieniu AI jest podobna. Twórcy inspirowali się ludzkim mózgiem. W sieciach neuronowych zamiast neuronów są jednostki (nazywane też węzłami), które łączą się ze sobą i wspólnie przetwarzają informacje. Jednostka w sieci neuronowej jest podstawowym elementem przetwarzającym informacje.
Jak działa sieć neuronowa? Załóżmy, że twoim celem jest nauczyć AI rozpoznawać, czy na obrazku jest kot czy pies czy może jakieś inne zwierzę. Przeanalizujmy to krok po kroku:
- Wejście (input): Sieć neuronowa potrzebuje danych, na których może się uczyć, bez nich lub z błędnymi, nic nie będzie wstanie zrobić. Przykładem danych mogą być setki tysięcy obrazów kotów i psów, które człowiek jakoś musi dostarczyć sieci neuronowej. Obrazy te są przekształcane w liczby (np. jasność pikseli).
- Przetwarzanie w warstwach: Sieć neuronowa ma wiele „warstw”. Każda warstwa analizuje dane pod innym kątem. Pierwsza warstwa może analizować podstawowe cechy obrazu, jak krawędzie. Kolejne warstwy mogą identyfikować bardziej skomplikowane wzory, np. kształty uszu, łap itp.
-> Wyobraź sobie: Warstwy są jak sztabu ludzi, którzy analizują dane. Pierwsza osoba widzi tylko ogólne kontury, a kolejna skupia się na szczegółach, np. kształcie nosa. Im głębsza warstwa, tym bardziej szczegółowo analizowane są dane. - Wynik (output): Po przeanalizowaniu tych danych - przetworzeniu danych, sieć neuronowa daje wynik. Na przykład, AI może stwierdzić, że obrazek to 84% kot i 14% pies a w 2% to leniwiec - na podstawie analizy wzorców.
- Ulepszanie poprzez uczenie (learning): Kiedy AI popełnia błąd (np. źle rozpozna, że na obrazku jest pies, a nie kot), dostaje „informację zwrotną”. Informacja zwrotna nie jest dostarczona przez człowieka, jest to część matematycznego procesu porównywania wyniku sieci z oczekiwaną odpowiedzią. Sieć neuronowa uczy się z tego błędu, dostosowując swoje połączenia, aby w przyszłości rozpoznawać poprawnie.
Przykład sieci neuronowej w życiu
Czas uruchomić wyobraźnię. Wyobraź sobie, że stoisz przed automatem do sprzedaży napojów np. Kawy, cola, woda, czekolada. Zadaniem sieci neuronowej jest przewidywanie, jakie napoje klienci będą kupować w danym momencie. Wszystko to po to, żebyś był w stanie zaplanować proces uzupełniania zapasów w automacie, ustalić optymalny czas konserwacji itd…
- Wejście (input): Automat zbiera dane, np. pogodę, porę dnia, liczbę ludzi obok automatu.
-> Ty wiesz intuicyjnie, że rano, gdy jest zimno, więcej osób wybiera kawę, a po południu, gdy jest ciepło, więcej osób wybiera zimne napoje. Ale potrzebujesz dokładnych liczb i godzin. - Warstwy (layers): Sieć analizuje, jak pogoda i pora dnia wpływają na wybór napojów. Początkowo sieć analizuje proste zależności, np. że przy ciepłej pogodzie częściej kupowane są zimne napoje.
- Wynik (output): Sieć przewiduje, że o godzinie 15:00, w upalny dzień, będzie większe zapotrzebowanie na napoje chłodzące.
- Ulepszanie (learning): Jeśli sieć przewidzi, że sprzedane zostanie 20 butelek wody, ale rzeczywiście sprzedano 30, sieć dostaje informację zwrotną i uczy się lepiej przewidywać w przyszłości. A ty dostajesz informację, którą możesz zarządzić, aby usprawnić pracę automatu.
Przykład sieci neuronowej w biznesie:
Rozpoznawanie twarzy w telefonie
Chcesz, aby system bezpieczeństwa w twojej firmie wpuszczał do określonego pomieszczenia tylko wybrane osoby oraz alarmował, gdy ktoś niepowołany chce do tego pomieszczenia wejść:
- Wejście (input): Kamera rejestruje twarz osoby próbującej wejść do pomieszczenia. Obraz ten jest przekształcany na liczby (np. jasność pikseli, kolory, kształty).
- Warstwy (layers): Sieć neuronowa po wstępnym przetworzeniu obrazu porównuje te liczby z wcześniejszymi zapisanymi danymi twarzy, które zebrała przy poprzednich próbach oraz wgranych w procesie rejestracji uprawnionych do wejścia pracowników.
- Wynik (output): Sieć neuronowa daje odpowiedź – jeśli twarz osoby próbującej wejść jest zgodna z wcześniejszymi danymi, drzwi do pomieszczenia się otwierają. Jeśli twarz jest niezgodna drzwi się nie otwierają i uruchamia się alarm.
Ulepszanie (learning): Gdy zmienisz wygląd (np. założysz okulary), sieć neuronowa uczy się nowych cech twarzy, co pomaga w przyszłości poprawić rozpoznawanie. Przykładem może być aktualizacja bazy przez administratora lub wprowadzenie dodatkowego zabezpieczenia np. jakiegoś klucza, kodu, który pracownik wprowadzi, a sieć może się nauczyć, że to jest właściwa osoba.
Sieci neuronowe to kluczowa technologia stojąca za sztuczną inteligencją, która imituje sposób, w jaki działa ludzki mózg. Poprzez analizę wzorców i wielokrotne poprawianie się na podstawie popełnianych błędów, AI staje się coraz lepsza w rozpoznawaniu obrazów, przewidywaniu trendów czy rozwiązywaniu skomplikowanych problemów.
Powyżej podaliśmy tylko dwa przykłady zastosowania sieci neuronowych do ulepszania procesów. Wyobraźnia ludzka jednak nie ma granic i obszarów wykorzystania w naszym życiu jest wiele.
Właśnie zapoznałeś się z pierwszą odsłoną sztucznej inteligencji - sieciami neuronowymi. W kolejnym artykule zaprosimy cię do drugiej odsłony - algorytmów genetycznych.