Gdzie jest to całe AI?

W poprzednim wpisie wyjaśniliśmy sobie głośne dzisiaj pojęcia sztucznej inteligencji (AI), uczenia maszynowego (ML) i data science (DS). Tym razem zastanowimy się nad tym gdzie właściwie stosuje się (a co najmniej przynajmniej próbuje stosować) te techniki.

Dziedziny sztucznej inteligencji

Przypomnijmy sobie, że sztuczną inteligencję zdefiniowaliśmy jako dział inżynierii zajmujący się tworzeniem maszyn, które wykonują zadania zwykle kojarzone z inteligentnym działaniem człowieka. Ponieważ ludzie wykorzystują swoją naturalną inteligencję do bardzo wielu różnych rzeczy, tak i sztuczna inteligencja dzieli się na kilka podgrup, z których każda znajduje zastosowanie w trochę innych miejscach.

Wśród różnych „specjalizacji” AI możemy wymienić np.:

  • przetwarzanie i rozpoznawanie obrazów (widzenie maszynowe),
  • przetwarzanie języka naturalnego (NLP – Natural Language Processing),
  • przetwarzanie dźwięku,
  • systemy rekomendacyjne,
  • detekcja wzorców i anomalii,
  • uczenie ze wzmacnianiem.

Przyjrzyjmy się teraz bliżej każdej z tych dziedzin.

 

Przetwarzanie i rozpoznawanie obrazów

Ten dział AI koncentruje się przede wszystkim na określaniu zawartości obrazów cyfrowych. Może to być np. klasyfikacja całego obrazu (czy przedstawia on zwierzę, człowieka, samochód czy jeszcze coś innego), ale też detekcja różnych klas obiektów na jednym obrazie. W tym drugim przypadku interesujący jest nie tylko fakt wystąpienia obiektu, ale również jego położenie.

Zastosowanie systemów detekcji i klasyfikacji obiektów są bardzo szerokie. W przemyśle służą one np. robotom do wykrywania przeszkód lub obiektów, które należy chwycić i przenieść w inne miejsce bądź do detekcji wadliwych wyrobów. Innym zastosowaniem jest np. automatyczne rozpoznawanie twarzy.

Oprócz detekcji i klasyfikacji zaawansowane modele uczenia maszynowego (przede wszystkim tzw. konwolucyjne sieci neuronowe) stosuje się do generacji obrazów. Pozwalają one np. na tworzenie bardzo realistycznych, sztucznie wygenerowanych fotografii albo przenoszenia stylu jednego zdjęcia na inne. Niepokojącym zastosowaniem są tzw. systemy „deep fake”, które mogą pozwolić na wytworzenie bardzo realistycznie wyglądającego zdjęcia lub nawet filmu osoby wykonującej określoną czynność (np. wygłaszającej mogące jej zaszkodzić poglądy). 

To nie jest prawdziwe zdjęcie, ale efekt działania nowoczesnych algorytmów sztucznej inteligencji. Implementację generującej tego typu obrazy sieci neuronowej można pobrać z serwisu GitHub: https://github.com/NVlabs/stylegan

Przetwarzanie języka naturalnego

O ile dziedzina widzenia maszynowego operuje na danych w postaci obrazów cyfrowych, to NLP (Natural Language Processing) służy do przetwarzania tekstu. Podobnie jak widzenie maszynowe, ta specjalizacji AI też ma wiele różnych zastosowań. Do najbardziej podstawowych należy np. klasyfikacja tekstu (czy jest to wiadomość prasowa, recenzja, post w mediach społecznościowych itd.) czy tzw. analiza sentymentu (np. czy dana recenzja jest pozytywna czy negatywna).

Bardziej zaawansowanymi zagadnieniami NLP jest automatyczne tłumaczenie (np. Google Translate) czy automatyczne uzupełnianie tekstu pisanego przez człowieka. W prostych przypadkach np. ogłoszeń prasowych udaje się nawet wygenerować dające się zrozumieć fragmenty tekstu na zadany temat.

Fascynującą dziedziną są tzw. chatboty, czyli programy mogące prowadzić rozmowy z prawdziwymi ludźmi. Używa się ich jako nowoczesne interfejsy np. w systemach obsługi klientów. Z chatbotami związany jest słynny test Turinga. Program zalicza test jeżeli człowiek rozmawiający z kilkoma rozmówcami, z których jeden jest programem komputerowym nie będzie w stanie tego programu wiarygodnie wskazać.

Przetwarzanie dźwięku

Interfejsy głosowe w jakie wyposażeni są „cyfrowi asystenci” w rodzaju Siri czy Alexy są znane chyba wszystkim. Sztucznej inteligencji używa się w nich m.in. do rozpoznawania słów na podstawie zarejestrowanego dźwięku.

Co ciekawe AI może również generować dźwięk. Tego typu techniki mogą posłużyć jako syntezatory mowy. Interesującym zastosowaniem jest wygenerowanie słów, które będą brzmieć tak jakby były wypowiadane przez konkretną osobę. Ze zrozumiałych powodów istnienie takiej technologii również wzbudza jednak pewien niepokój.

Systemy rekomendacyjne

Z systemami rekomendacyjnymi spotykamy się na codzień. Na podstawie dostępnych informacji np. o naszym zachowaniu na danej stronie internetowej potrafią one przewidzieć jaki film lub post może nam się spodobać albo jaka reklama skłoni nas do dokonania zakupu.

Jednym z potencjalnych zastosowań tego typu systemów może być również medycyna. Możemy wyobrazić sobie np. system podpowiadający lekarzowi możliwe diagnozy na podstawie symptomów i wyników badań pacjenta. Zastosowania AI w medycynie są jednak obecnie blokowane przez fakt, że ludzie nie są w stanie w pełni zrozumieć działania złożonych modeli uczenia maszynowego. Chociaż rozbudowane sieci neuronowe potrafią dawać naprawdę dobre wyniki to fakt, że nikt nie potrafi wyjaśnić na jakiej podstawie podejmują one decyzje uniemożliwia ich wiarygodne zastosowanie.

Na zautomatyzowaną diagnostykę medyczną przyjdzie nam pewnie poczekać dopóki dobrze nie zrozumiemy działania złożonych modeli sztucznej inteligencji.

Detekcja wzorców i anomalii

Zastosowania, które wymieniliśmy do tej pory bazują na tzw. uczeniu z nadzorem, czyli takim, w którym podczas fazy trenowania porównuje się wyjście z modelu uczenia maszynowego do znanych i oczekiwanych wartości. 

Innym typem uczenia jest tzw. uczenie bez nadzoru. Podczas treningu model nie stara się osiągnąć żadnej zadanej wartości ale raczej nauczyć wzorców występujących w dostępnych danych. Może próbować np. nauczyć się przewidywać przyszłe odczyty z sieci sensorów na podstawie pewnej ilości odczytów z przeszłości. 

Jednym z zastosowań tej techniki jest detekcja anomalii i tzw. predictive maintanence. Monitorują działanie pewnych maszyn i porównując obecne dane z nauczoną historią system sztucznej inteligencji może ostrzegać z wyprzedzeniem o możliwych awariach. Dzięki temu niezbędne naprawy można przeprowadzać wcześniej nie ryzykują np. przestojów na liniach produkcyjnych.

Podobne techniki można stosować również do wykrywania oszustw albo prób naruszenia bezpieczeństwa sieci komputerowych.

Uczenie ze wzmacnianiem

Robot, którego za pomocą uczenia ze wzmacnianiem nauczono układać kostkę Rubika. Źródło: OpenAI

Na pewno zdażyło Ci się słyszeć o programach komputerowych pokonujących mistrzów świata w takich grach jak szachy. W ostatnich latach głośno było np. o programie AlphaZero stworzonym przez firmę DeepMind (obecnie część Google). Program ten nauczył się gry w szachy lepiej niż ludzie przez 24 godziny rozgrywając różne partie sam ze sobą. Tego typu metody uczenia sztucznej inteligencji nazywa się „uczeniem ze wzmacnianiem” (reinforced learning). Pozwala ono nauczyć programy grać np. w gry komputerowe albo uczyć roboty wykonywania skomplikowanych czynności, których nie dałoby się łatwo zaprogramować.

Podsumowanie

Wymieniliśmy tutaj tylko niektóre ze współczesnych zastosowań sztucznej inteligencji. Chociaż niektóre z uzyskiwanych rezultatów są bardzo imponujące to w dziedzinie AI jest nadal wiele do zrobienia. Następnym razem przyjrzymy się granicą możliwości sztucznej inteligencji i tematom, nad którymi aktualnie pracują zajmujący się nią naukowcy.

Maciej Kraszewski

Maciej Kraszewski

Inżynier, menedżer R&D i nauczyciel akademicki. Uwielbiam zajmować się tworzeniem nowych technologii, zdobywaniem nowej wiedzy i dzieleniem się swoim doświadczeniem z innymi. Specjalizuję się w zagadnieniach przetwarzania obrazu i widzenia maszynowego.
Szukasz dobrych materiałów o projektowaniu elektroniki?

Załóż darmowe konto na naszej platformie i odbierz pakiet materiałów edukacyjnych.

Zakładając konto zgadzasz się na przesyłanie Ci treści marketingowych przez IT20 sp. z o.o. zgodnie z dostępną na stronie Polityką Prywatności. Możesz wycofać zgodę w każdej chwili.

Dodaj komentarz

Szukasz dobrych materiałów o projektowaniu elektroniki?

Załóż darmowe konto na naszej platformie i odbierz pakiet materiałów edukacyjnych.

Zakładając konto zgadzasz się na przesyłanie Ci treści marketingowych przez IT20 sp. z o.o. zgodnie z dostępną na stronie Polityką Prywatności. Możesz wycofać zgodę w każdej chwili.

Zaprojektuj PCB

Jak przejść od zera do projektowania profesjonalnych obwodów drukowanych?

Programowanie w języku C

Jak przejść od napisania pierwszego programu komputerowego do wykorzystania zaawansowanych metod programowania?

Projektowanie układów elektronicznych

Jak działają i jak projektować poprawnie działające układy elektroniczne?
Zapisz się na listę mailową i odbierz swoje bonusy!

Więcej treści na temat elektroniki i robotyki, darmowe e-booki i dostęp do minikursów on-line. Otrzymasz to wszystko zapisując się na naszą listę mailową.