Dla większości z nas, sztuczna inteligencja jest hasłem bardzo abstrakcyjnym, bez wyraźnych ram. Chcielibyśmy odczarować to hasło, nadać mu kształty poprzez podanie praktycznych przykładów oraz nieco uspokoić – AI nie przejmie kontroli nad naszym światem … jeszcze nie.
Oczywiście, zabranie nam pracy - Można by ten tekst zakończyć na tym zdaniu, lecz postaramy się je nieco rozwinąć.
Sztuczna inteligencja jest świetna w wykonywaniu prac szczegółowych, o wąskim zakresie specjalizacji. Często jest w stanie wykonywać poszczególne zadanie kilka - kilkanaście procent lepiej niż człowiek, jak w przypadku analizy zdjęć rentgenowskich.
Są jednak i takie zadania gdzie ilość danych jaką należałoby przetworzyć aby móc podjąć decyzję, przewidzieć jakieś zdarzenie bądz sklasyfikować jakiś element jest tak ogromna, że dla człowieka jest to wręcz niemożliwe a napewno niebotycznie czasochłonne i zwyczajnie nieopłacalne.
W zadaniach wspomnianych wyżej z pomocą przychodzą nam różnorakie programy, które każdy z nas już zna i od lat są one w powszechnym użyciu.
- Kalkulator - bardzo szybko policzy,
- Excel - niejedna firma Excelem stoi, przetwarzamy, porównujemy w nim wiele danych liczbowych
- Systemy CRM – poukłada nam zarządzanie: klientami, statusami, zadaniami
Jednak klasyczne programy mają jedną wspólną cechę. Są napisane w oparciu o algorytm, a algorytm nie leży daleko od słowa proces. Więc by napisać program musimy mieć wytyczne, krok po kroku co ma robić dany program.
Wiele jest dziedzin, w których mamy do czynienia z bardzo różnymi danymi, między którymi następuje ogrom zależności trudnych do wychwycenia. Klasyczne programy napisane są w oparciu o algorytmy, do których stworzenia potrzebne są konkretne wytyczne. Kluczowym wyróżnikiem sztucznej inteligencji jest umiejętność dostrzegania skomplikowanych zależności pomiędzy setkami tysięcy różnych danych, jest to coś co wykracza poza ludzkie zdolności. Co za tym idzie: w pewnych przypadkach nie jesteśmy w stanie stworzyć algorytmu performującego lepiej niż AI. Przyjrzyjmy się więc przykładowi, w którym zachodzi właśnie taka sytuacja.
Pewien urząd miasta w USA posiadał olbrzymie ilości danych dotyczących niektórych obiektów:
Danych Socjodemograficznych:
Danych dotyczących przestępczości:
Lokalizacje, typy zdarzeń, daty i godziny popełnienia przestępstw w danym obszarze.
Ilość zmiennych wynosi około 24. Mając 2-3 zmienne można by się pokusić o próbę stworzenia własnego algorytmu, który określałby zależności między szansą popełnienia przestępstwa a odległością od: komisariatów, lamp ulicznych (wiadomo - pod latarnią najciemniej), dróg wylotowych. Molibyśmy również spróbować nadać wagę poszczególnym zmiennym. Przykładowo, odległość miejsza niż 1000m od drogi wylotowej z miasta daje potencjanemu przestępcy możliwość szybkiej ucieczki - jest to więc parametr, który wydaje się, zwwiększa szansę popełnienia przstępstwa
Jednak, jeżeli mamy uwzględnić 24 zmienne, które dodatkowo nie są wyrażone w tej samej jednostce: Odległość, poziom edukacji, dochodów, bezrobocia, czas, oprócz tego, nadać im wagę to sprawa robi się, delikatnie mówiąc - skomplikowana. Nie dysponujemy żadnym gotowym algorytmem, więc listą kroków, które można by przełożyć na program.
Co w takiej sytuacji? Pewnie już się domyślasz – AI, sztuczna inteligencja, machine learning. Tych 3 haseł będziemy używać zamiennie.
Do końca nie wiemy.
Głębokie sieci neuronowe (deep learning), które są podkategorią machine learningu, są znane jako "czarne skrzynki", co oznacza, że choć możemy je skutecznie projektować, trenować i uzyskiwać od nich oczekiwane wyniki, trudno jest zrozumieć, jak dokładnie dochodzą do konkretnych decyzji wewnątrz sieci.
Nie wiemy więc wszystkiego, a wystarczająco dużo, abyśmy mogli z owej technologii korzystać.
Jak właściwie wygląda proces wdrażania AI?
Zauważ, że we wspomnianym przykładzie staraliśmy się określić szanse popełnienia przestępstwa w oparciu o posiadane dane. Prościej mówiąc staramy się przewidzieć wynik na podstawie danych.
Z podobnym problemem każdy z nas spotkał się już w szkole, na lekcjach matematyki, kiedy ucząc się funkcji obliczaliśmy wartość Y mając podaną wartość X. Jednak w naszym przypadku nie mamy do czynienia z jedną zmienną, a z ponad dwudziestoma - w tym między innymi: czasem oraz miejscem zdarzeń. Wartością Y jest szansa popełnienia przestępstwa w zakresie od 0-100%. W machine learningu dane X nazywamy zestawem cech/atrybutów, a Y wartością docelową lub etykietą.
Czyli chcemy móc wrzucić zestaw cech do naszej funkcji i jako wynik mieć informacje o szansie popełnienia przestępstwa. Jednak czegoś nam brakuje… Funkcji. Jeżeli kojarzysz zadania z matematyki ze szkoły być może pamiętasz, że należało wyliczyć wartość Y dla podanej wartości X. Jednak w tym przypadku miałeś wzór. Tutaj go nie mamy. Podobnie w przypadku pisania programu musimy mieć algorytm postępowania, więc właśnie funkcje. Funkcja opisuje co należy zrobić: dodać, pomnożyć, odjąć itd.
Więc co możemy zrobić mając tylko dane X i Y, a nie mając wzoru funkcji? Możemy spróbować znaleźć wzór na podstawie danych. Taką próbę podjął już nasz hipotetyczny programista, jednak ustaliliśmy, że danych jest zbyt wiele, aby człowiek mógł zrobić to dobrze.
Machine learning to nic innego jak próba odnalezienia wzoru funkcji na podstawie danych. Dane muszą zawierać 2 elementy:
1. Zestaw cech, atrybutów, a więc wartość X
2. Wyniki, a więc wartość docelowa, wartość, którą chcemy przewidywać w przyszłości – Y.
Próba odnalezienia zależności/wzoru nazywa się procesem nauki. Komputer mając olbrzymią moc obliczeniową jest w stanie korzystać z rozmaitych algorytmów i testować różne warianty, nadawać różne wagi poszczególnym zmiennym - X, aby ostatecznie znaleźć takie zależności między nimi, by być w stanie dobrze przewidywać wynik – Y.
No dobrze, ale wróćmy do naszej historii miasta Gotham. Batmana nie ma, ale jest Machine learning i są dane. Załóżmy, że przeprowadziliśmy nasz proces nauki i nasz algorytm jest gotowy.
Co dalej?
Odpytujemy nasz model wrzucając do niego dane X – między innymi lokalizacje, czas. Jeżeli wrzucimy mu lokalizację każdego adresu w mieście stworzy nam się mapa miasta określająca szanse wystąpienia przestępstwa w każdym punkcie. Jeżeli proces taki powtórzymy co 5 minut dostajemy mapę real time określająca ryzyko popełnienia przestępstwa. Z takimi danymi można wysyłać w obszary najbardziej narażone patrole policyjne w celu przeciwdziałania.
System ten nazywa się predictive policing i został użyty min. W Los Angeles. Ilość popełnionych przestępstw w niektórych dzielnicach spadła o 20%.
Nie.
Danymi wejściowymi może być wszystko:
Obecna technologia pozwala zamienić wszystkie powyższe dane na liczby. A komputer rozumie język liczb, więc gdy taka konwersja się uda, nie istotne jest czy działamy z liczba, tekstem czy obrazem. Wszystko na tym etapie jest już liczbą, a więc staje się naszym X, a Y może być wszystko co wskażemy.
Nie musisz znać wszystkich technicznych aspektów sztucznej inteligencji ani machine learningu, aby skorzystać z ich potencjału. Jednak warto posiadać podstawową wiedzę i zrozumienie tego, jak te technologie działają i jakie mają możliwości, aby efektywnie podejmować decyzje biznesowe. Kluczem jest umiejętność zadawania odpowiednich pytań i definiowania problemów, które AI może pomóc rozwiązać.
Skontaktuj się i zacznij podejmować skuteczniejsze decyzje na podstawie analizy danych