W świecie technologii sztuczna inteligencja (AI) stała się kluczowym elementem innowacji. Naszym celem jest głębsze zrozumienie jej potencjału w różnych sektorach. Tak, abyś jeszcze wyraźniej mógł/mogła zobaczyć możliwości, jakie niesie. Pokażemy Ci różnorodność zastosowań AI, prezentując konkretne use case'y z podziałem na metodyki.
W Poprzednim artykule: AI: Jak działa? Kiedy używać? Omówiliśmy czym jest AI i jak możemy z niej
korzystać. Zdefiniowaliśmy kluczowe elementy niezbędne do nauczenia modelu:
dane wejściowe w postaci cech/atrybutów (X) oraz wartości docelowe (Y). Określiliśmy również, że danymi wejściowymi może być każdy rodzaj danych,
przykładowo:
Dane wyjściowe czyli to, co otrzymujemy po zastosowaniu odpowiedniego modelu AI mogą być bardzo różne oraz mogą być wyrażane w różnych jednostkach. Istnieje wiele metodyk AI, możemy je wyróżnić właśnie na podstawie rodzaju danych wyjściowych, jakie otrzymujemy.
Jest jedną z najpopularniejszych metodyk, dzięki niej możemy na podstawie
danych wejściowych przewidzieć wartość ciągłą, a więc relację między zmiennymi. Może być to skala
procentowa 0-100, lub dowolna wartość jak cena, temperatura itd. Regresja
pomaga rozwiązać wiele problmów z życia codziennego jak na przykłd
przewidywanie pogody, szacowanie cen nieruchomości lub akcji. Przyjrzyjmy się
temu dokładniej:
Na podstawie danych wejściowych staramy się przewidzieć wcześniej zdefiniowaną
etykietę/label. Prościej mówiąc Klasyfikacja to proces, w którym model jest
trenowany tak, aby był w stanie klasyfikować dane. Możemy mieć do czynienia z
klasyfikacją binarną, więc do przewidzenia są tylko 2 warianty, lub
multiklasyfikacją - etykiet może być wiele.
Na podstawie danych wejściowych oraz historii zachowań użytkownika staramy się
dostarczyć mu treści czy produkty, które najbardziej go zainteresują.
To łączenie danych o podobnych cechach w grupy. Rezultatem są zdefiniowane
grupy danych.
W poniższych przykładach zauważysz, że typ danych wejściowych - X jest z góry
określony, jednak typ danych wyjściowych Y może być różny. Może to być
klasyfikacja, może to być regresja.
To nic innego jak zapis wydarzeń lub pomiarów, które miały miejsce w
konkretnym czasie. Dzięki temu można zobaczyć, jak wartość zmneiniała sie,
rozwijała lub zachowywała przez pewien okres. Często danymi wyjściowymi w Time
series jest Regresja, ale dla szeregu czasowego. Np. określamy ilość popytu na
każdy miesiąc patrząc 12 miesięcy do przodu
Inaczej Natural language processing. Danymi
wejściowymi, wartością X, jest tutaj długi tekst.
Istotne jest, aby wprowadzić rozróżnienie dla długiego tekstu, a np.
pojedynczego słowa czy 2 słów. Dotychczas w danych tabelarycznych mogliśmy
mieć wartości liczbowe np. wysokość cholesterolu – są to wartości których
komputer praktycznie nie musi przetwarzać (poza skalowaniem, normalizacją).
Możemy też mieć wartości słowne np. marka samochodu – toyota. Taką wartość
komputer zakoduje jako liczbę. Przykładowo Toyota - 1, BMW – 2, Mercedes – 3
itd.
W przypadku NLP mówimy o długich tekstach jak:
tweet, post, strona z bloga, książki, dokumentacji itd. Jednak tak długich
ciągów znaków algorytm nie może potraktować jako pojedyncza liczba. Odbywa się
tu seria przekształceń, które jako efekt końcowy pozwalają komputerowi na
rozumienie oraz generowanie tekstu jak np. Chat GPT.
Jeżeli jesteś zainteresowany jak dokładnie się to odbywa, nieco więcej
opisaliśmy w naszym case study - Rozpoznawanie tweetów
Przykłady użycia:
Danymi wejściowymi, wartościa X w computer vision jest obraz lub video. Komputer zamienia piksele na
wartości liczbowe w celu rozumienia obrazu. Dokładniej opisaliśmy to w naszym
case study: X-Ray
Jest to również computer vision, ale w tym wypadku, możemy rozpoznawać, zaznaczać elementy na obrazie. Jednak istotną różnicą jest to, że proces nauki trwa kilkanaście, kilkadziesiąt razy dłużej niż regularny computer vision oparty o obraz.
Zrealizowaliśmy podobny case study: Analiza Satelitarna
Załóżmy, że chcemy stworzyć rozwiązanie dla firmy monitorującej kraje pod względem bezpieczeństwa. Pracownik takiej firmy dostaje dziennie kilkadziesiąt powiadomień o zamachach, atakach, porwaniach, zamieszkach itd. Jego zadaniem jest aktualizowanie statusu dla poszczególnych krajów
Pracownicy otrzymują wiele zdarzeń i chcą mieć system filtracji oparty na
sztucznej inteligencji. Problem polega na tym, że jeśli w danym kraju
określone wypadki zdarzają się często, stają się one normą/punktem
odniesienia. Na przykład na Ukrainie codziennie dochodzi do wielu eksplozji.
Dlatego dla pracownika jest to rodzaj spamu, jeśli jest informowany 7 razy
dziennie o eksplozji. Jeśli jednak na Ukrainie miałoby miejsce uderzenie
nuklearne, pracownik chciałby otrzymać powiadomienie, ponieważ jest to
odstępstwo od normy. Co więcej, użytkownik chce być informowany, jeśli
odchylenie jest większe od normy, a nie mniejsze.
1. Za pomocą przetwarzania języka naturalnego (NLP) możemy wydobyć potrzebne
nam informacje takie jak: kraj, data, typ i skala zajścia.
2. Na podstawie notatki o wydarzeniu możemy na początku ręcznie określać
poziom zagrożenia. Następnie mając dane X - notatka oraz Y – poziom
zagrożenia, możemy użyć regresji w skali od 1 do 100 (należy zdefiniować, co
miałoby być 1, a co miałoby być 100) i nauczyć algorytm/model określać
wysokość zagrożenia na podstawie opisu wydarzenia.
3. Posiadając kraj, datę i poziom zagrożenia możemy zacząć tworzyć wykres time
series.
4. Skupiając się najbardziej na najnowszych wypadkach. Ponieważ najnowsze
wypadki oznaczają najnowszą normę. Możemy oznaczyć ramę czasową 1 poprzedni
miesiąc. Następnie możemy ustalić co jest normą, czyli określić górny oraz
dolny pułap wahań. Jeżeli pojawią się wydarzenia, które są powyżej górnego
pułapu możemy zaklasyfikować informację jako ważną i wysłać powiadomienie
użytkownikowi. Oczywiście pozostaję jeszcze kwestia jak aktualizować normę i
kiedy, ale tu już można opracować algorytm postępowania na bazie testów
Użyte metodologie Jak widzisz użyliśmy tu, aż 4 metodologie: NLP do
ekstrakcji danych, regresje i nlp do określenia poziomu zagrożenia, time
series do narysowania oraz analizy wykresu oraz stworzenie regularnego
algorytmu, wiec zwykłe programowanie proceduralne.
Metodyki możemy podzielić ze względu na to jaki typ danych przyjmują - X oraz
jaki rodzaj danych zwracają – Y, możemy je ze sobą łączyć w celu rozwiązywania
bardziej złożonych problemów AI.
Mam nadzieję, że opisując przykłady zastosowania, łatwiej będzie Ci określić
czy dany proces możesz zoptymalizować przy pomocy AI i jak powinieneś do tego
podejść.
Skontaktuj się i zacznij podejmować skuteczniejsze decyzje na podstawie analizy danych