Data Science Summit
W połowie czerwca w Warszawie miała miejsce ciekawa konferencja: Data Science Summit, jedno z największych branżowych wydarzeń poświęconych szeroko pojętej analizie danych, sztucznej inteligencji i uczeniu maszynowemu. Uczestnicy stawili się tłumnie. Co ciekawe, rozpiętość wiekowa była bardzo szeroka, od młodych, chłonnych umysłów komputerowych „geeków”, po doświadczonych programistów, którzy – sądząc po wieku – w niejednej stacji dysków dyskietkami żonglowali. Grupa prelegentów była imponująca, żeby wymienić tylko kilka firm: PKO, Santander, ING, Linux Polska, Microsoft, Samsung, Nvidia czy PwC. Jak widać, największe koncerny inwestują w uczenie maszynowe i Data Science, a to jednoznacznie świadczy o tym, że jest to inwestycja przyszłościowa i opłacalna.
Konferencja była podzielona na 10 zróżnicowanych bloków tematycznych. W ramach każdego z nich odbywało się równolegle od 5 do 11 prelekcji. Biorąc pod uwagę mnogość zagadnień i ciekawą tematykę, 30 minut każdej prelekcji mijało szybko – czasem zbyt szybko. Czasu było niewiele, więc prelegenci skupiali się na konkretach, przekazując skondensowaną wiedzę na temat zastosowań sztucznej inteligencji. Uczestnictwo w takim wydarzeniu potrafi „otworzyć oczy niedowiarkom” co do możliwości sztucznej inteligencji. Kilka przykładów ciekawych implementacji opiszę poniżej, najpierw jednak zacznijmy od wyjaśnienia czym właściwie są Data Science, uczenie maszynowe i sztuczna inteligencja. Wszystkie trzy pojęcia i stojące za nimi dyscypliny są ze sobą ściśle powiązane, ale nie są tym samym – i warto o tym pamiętać.
Data Science
Data Science to termin, dla którego trudno znaleźć odpowiednik w języku polskim. „Nauka o danych” nie do końca oddaje sedno angielskiego terminu. Podobnie jak data scientist, tłumaczone czasem jako „analityk danych”. W Wikipedii znajdziemy hasło „Mistrz danych” – brzmi trochę nietypowo, mówi nieco więcej, ale to też nie do końca to. Polski odpowiednik zawierałby w sobie wszystkie trzy terminy. W skrócie jest to nauka czy też dziedzina łącząca wiedzę z zakresu statystyki, matematyki, techniki analizy, obróbki i wizualizacji danych.
Machine learning
Machine learning to łatwiej przetłumaczalny termin: uczenie maszyn lub maszynowe – i tym właśnie jest. Tworząc modele oparte na sieciach neuronowych, jesteśmy w stanie je „uczyć”. Koncepcja taka powstała pod koniec lat 50, jednak ówczesny poziom technologii nie pozwalał na jej pełne wdrożenie i spopularyzowanie. Pomysł jest prosty – zamiast manualnie tworzyć nasz elektroniczny mózg poprzez mozolne wpisywanie kolejnych linii kodu, pozwólmy mu się uczyć samodzielnie na podstawie dostarczonych danych. Zupełnie tak, jak robimy to my, ludzie. Teoria sieci neuronowych, szybki postęp technologii, Internet, a także możliwość pozyskiwania i magazynowania dużej ilości danych spowodowały, że stało się to możliwe. W uproszczeniu – zasilamy sieć neuronową danymi, a następnie testujemy w sposób maszynowy. System wybiera odpowiedź i sprawdza jej poprawność dzięki dostępowi do zbioru poprawnych odpowiedzi. Następnie w razie potrzeby dokonuje odpowiednich modyfikacji w swoim działaniu.
Dzięki temu sieć wciąż się uczy, samoczynnie modyfikując swoje algorytmy, aby udzielać jak najtrafniejszej odpowiedzi i jak najlepiej wykonać powierzone zadanie. Machine Learning umożliwia stworzenie systemu do wykonywania zadań, których zaprogramowanie w sposób tradycyjny byłoby ekstremalnie trudne i kosztowne, a efekt nie zawsze zadowalający. Algorytmów uczenia powstało całe mnóstwo – tak jak ich modyfikacji, metod optymalizacji itp. Uczenie maszynowe to aktualnie bardzo nośny temat, rozwijany, implementowany, obserwowany i testowany zarówno przez pojedynczych entuzjastów, jak i największe i najbardziej wpływowe firmy i korporacje tego świata.
AI
Czym jest AI? Artificial Intelligence, czyli sztuczna inteligencja, to szerokie pojęcie. W prostych słowach oznacza system wykonujący powierzone zadania w sposób, który użytkownik uważa za inteligentny. Zadania, których realizację możemy wspomagać rozwiązaniami sztucznej inteligencji, trudno zliczyć… Sky is the limit! Ale skąd sztuczna inteligencja wie, czego oczekujemy i jak wykonać zadanie? Tu właśnie istotną rolę odgrywa Machine Learning.
W bardzo uproszczonym przykładzie: tworzymy naszą sztuczną inteligencję, ucząc ją – zasilając system danymi przygotowanymi przez „mistrza danych”. Teraz wspomniany „mistrz danych” może wykorzystać system wyuczony za pomocą uczenia maszynowego do przetwarzania kolejnej partii danych w „inteligentny” sposób.
Przykłady zastosowania sztucznej inteligencji
Prelekcje dostarczyły wielu ciekawych przykładów wykorzystania rozwiązań sztucznej inteligencji. Przedstawiono m.in. typowe implementacje i najbardziej znane zastosowania, takie jak autonomiczne samochody, drony, ciężarówki i wyzwania związane z ich użytkowaniem. Ale były też inne przykłady implementacji sztucznej inteligencji, z którymi albo już mamy styczność na co dzień, albo będziemy mieć wkrótce.
NLP
NLP to (od Natural Language Processing) to przetwarzanie języka naturalnego, czyli języka, którym posługują się ludzie (w odróżnieniu np. od języków programowania). Słowem – maszyna rozumie nasz komunikat. Zdążyliśmy już przywyknąć do rozmowy z automatem na infolinii – i nie są to już rozmowy typu „Wybierz numer 1, jeśli…”, ale: „Powiedz, w jakiej sprawie dzwonisz”. System wykorzystujący NLP rozpoznaje nie tylko pojedyncze słowa, ale i treść, kierując połączenie do odpowiedniego konsultanta. Podobnie działają coraz bardziej popularni cyfrowi asystenci w inteligentnych głośnikach czy telefonach. Analiza głosu, zrozumienie treści, wykonanie polecenia. Albo… głosowa odpowiedź. NLP to także analiza tekstu, co umożliwia rozpoznanie treści i kontekstu oraz skierowanie korespondencji do odpowiedniego działu.
AI w branży ubezpieczeniowej
Jeden z ciekawszych przykładów zaprezentowanych na konferencji dotyczył branży ubezpieczeń na rynku zachodnim. Właściciel chce ubezpieczyć nieruchomość. Zgłasza się do firmy, podając adres i kilka słów o budynku i okolicy – i to w sumie wszystko, co musi zrobić. Firma rozwija autorski system, na który składa się kilka mniejszych modułów bazujących na rozwiązaniach AI. Korzystając z geolokalizacji, zdjęć lotniczych i satelitarnych wspartych przez Street View, system rozpoznaje wielkość budynku, jego wysokość, użyty do budowy materiał, wielkość i liczbę okien oraz drzwi, uwzględnia obecność krat, a nawet obecność i odległość do drzew i słupów w okolicy. Klient potwierdza przedstawione informacje i otrzymuje ofertę ubezpieczenia przy pierwszym kontakcie – bez osobistej wizyty agenta celem weryfikacji nieruchomości. Osobiste wizyty stosowane są jedynie kontrolnie albo w przypadkach spornych lub trudnych – jak brak możliwości odnalezienia posesji za pomocą geolokalizacji.
AI w analizie danych medycznych
Na mnie osobiście bardzo duże wrażenie wywarł wykład o wykorzystaniu sztucznej inteligencji w analizie danych medycznych. Dobrze wytrenowana sztuczna inteligencja jest w stanie powiązać ze sobą wyniki z wielu złożonych badań, odnajdując zagrożenia, których w natłoku danych nie zauważy lekarz. Analizując np. wyniki tomografii, wsparte wcześniejszym badaniem USG i morfologią, jest w stanie na podstawie tysięcy analizowanych wcześniej badań zauważyć anomalie, które jeszcze nie zagrażają, ale wynik wskazuje na potencjalne zagrożenie. Takie wykorzystanie sztucznej inteligencji może uratować niezliczoną liczbę ludzkich istnień. Piękna rzecz!
Mroczna strona sztucznej inteligencji
Artificial Intelligence ma też swoje mroczne strony. Od razu trzeba zaznaczyć: sztuczna inteligencja to narzędzie, jak nóż czy kij. Można jej użyć zarówno w dobrych, jak i złych celach. Technologia nie ma sumienia ani moralności – tym muszą się cechować ludzie, w których rękach spoczywa. Ciekawą i świetnie przygotowaną prezentację przedstawił prelegent z firmy Nvidia. Na koniec interesującego wykładu stwierdził, że jeśli znudzą nas złożone problemy, zawsze możemy chociażby zagrać ze sztuczną inteligencją w Go – obrazując to zdjęciem planszy z grą po zakończonej partii. Uważny uczestnik mógł dostrzec, że czarne kamienie, którymi grała sztuczna inteligencja, układały się między białymi w napis „Die Human”. Dość kontrowersyjną technologią jest także Deep Learning, która umożliwia tworzenie tzw. Deepfake, czyli filmów, na których wizerunek znanych osób, wykorzystywany jest do propagowania nieprawdziwych informacji.
Prywatność i analiza danych
Jest wiele ciekawych zagadnień w temacie prywatności i analizy danych, które również były poruszane na wykładach: machine learning a psychologia behawioralna czy też dane offline jako źródło predykcji (czyli: kiedy Twoi klienci odwiedzą sklepy konkurencji). Analizę udostępnionych przez użytkowników danych szczególnie często wykorzystuje się obecnie w kampaniach kierowanych, co pokazano na prelekcji: „Optymalizacja marketingu w social mediach z wykorzystaniem sztucznej inteligencji, Big Data i uczenia maszynowego na przykładzie kampanii wykorzystującej personalizację treści”.
Prywatność w świecie uczenia maszynowego i Big Data to poważna kwestia. W epoce cyfrowej wszyscy generujemy ogromne ilości danych, które dokładnie nas opisują. Nie bardzo o to dbamy, sądząc, że są to nasze prywatne dane i nikt do nich nie ma dostępu albo uznając, że „przecież nic tam nie ma, więc niech robią z nimi, co chcą”. Tymczasem wiele firm handluje naszymi danymi, wiele zadaje sobie trud, żeby je w sposób zautomatyzowany analizować, opracowywać nasze profile zainteresowań, przekonań i dzięki temu kierować do nas spersonalizowany przekaz. Pół biedy, jeśli dane są wykorzystane do skierowania oferty zakupu jakiegoś produktu (choć w moim odczuciu to też nie do końca fair). Gorzej, jeśli w połączeniu z generowaniem tzw. fake newsów będą wpływać na zmianę naszych przekonań i decyzji.
Najnowsze technologie na co dzień
Artificial Intelligence, Machine Learning, Deep Learning czy Big Data, pomimo solidnych podstaw teoretycznych opracowanych w poprzednich dekadach, to temat stosunkowo świeży – ze względu na masowy dostęp do sprzętu umożliwiającego ich implementację. Również specjalistyczna wiedza w tym temacie, wcześniej zarezerwowana dla najbardziej ambitnych, staje się bardziej przystępna. Co więcej, przebijanie się przez ciężką matematykę i statystykę nie jest już nieodzownie konieczne, aczkolwiek moim zdaniem wciąż zalecane. Wielkie firmy stworzyły gotowe biblioteki czy też wtyczki i udostępniają je za darmo. Nie trzeba wiec tworzyć własnych rozwiązań od podstaw, poprzeczka dla rozpoczynających swoją przygodę z tą technologią jest obecnie zawieszona niżej.
Z drugiej strony może to prowadzić do zjawiska, które w Data Science nazywamy „overfitting”. Chodzi o nieuzasadnione użycie zbyt skomplikowanego rozwiązania z niewielkim zyskiem. Podobne zjawisko swego czasu obserwowaliśmy w wypadku pierwszych wersji mikrokontrolera Arduino czy mikrokomputera Raspbery Pi. Są one fantastycznymi wynalazkami, łatwo dostępnymi, w dobrej cenie, co zachęciło ludzi do opierania na tych platformach niewyobrażalnej liczby mniej lub bardziej rozsądnych projektów. Mam znajomego, u którego Arduino przejęło rolę termostatu w lodówce (mówi, że ma pierwszą na rynku lodówkę z portem USB!). To świadczy o niesamowitej elastyczności tych modułów, łatwości w użyciu i niewątpliwie przyczyniło się do ich sukcesu, zdobywając rzesze zwolenników. Uczenie maszynowe czy szerzej rozumiana sztuczna inteligencja idą tą samą ścieżką. I… w wypadku amatorskich implementacji nie ma w tym absolutnie nic złego!
Technologia, która wcześniej wymagała odpowiedniego sprzętu, inwestycji, wiedzy, nagle stała się powszechnie dostępna. Każdy może stworzyć system przewidujący, o której godzinie pójdziemy spać, żeby automatycznie wyłączył światło w pokoju, stworzyć sztuczną inteligencję do gry w Go czy też zaprojektować amatorskiego autonomicznego robota… A być może po jakimś czasie dołączyć do zespołu pracującego nad projektem ratującym życie.
Data Science – podsumowanie
Elastyczność i nieskończoność możliwych implementacji oraz coraz większa dostępność rozwiązań bazujących na sztucznej inteligencji to chyba najjaśniejsza strona tej technologii. Pomyśl o tym, robiąc swoim nowym smartfonem zdjęcia w trakcie najbliższego urlopu. Podziwiając piękne kolory danego ujęcia i łagodne rozmycia tła, pomyśl o sztucznej inteligencji zaszytej w Twoim telefonie, która stoi za tym efektem. Może ona kreować piękno, ratować ludzkie życie… i sprawić, że pomyślisz „wow”, gdy po raz pierwszy wyłączy Ci światło w pokoju dokładnie w chwili, gdy przyłożysz głowę do poduszki.