Słowem wstępu…
Jako ludzie uczymy się z własnych doświadczeń. Maszyny natomiast wykonują instrukcje w ściśle określony sposób będąc uprzednio zaprogramowanymi przez człowieka. Jednak co, gdyby… maszyny mogły zostać wytrenowane przez człowieka (lub nawet uczyć się same) i robić dokładnie to co robią ludzie, ale w sposób zdecydowanie szybszy (a coraz częściej także znacznie lepszy od ludzi)?

Prawdopodobieństwo (apriori), że czytasz ten post i jest to dla Ciebie po prostu pytanie retoryczne jest wysokie. Jednak jeżeli od tego artykułu rozpoczynasz dopiero swoją przygodę z uczeniem maszynowym, to twierdząca odpowiedź na nie bynajmniej nie wpada do gatunku science-fiction, ale z grubsza jest właśnie tym, czym zajmuje się dziedzina uczenia maszynowego (ang. machine learning).
Czym jest uczenie maszynowe?
Uczenie maszynowe to generalnie zbiór algorytmów i technik służących do budowania modeli matematycznych w celu dokonywania predykcji i podejmowania decyzji przez maszynę bez jej wcześniejszego (bezpośredniego) zaprogramowania do tego celu przez człowieka.
W praktyce wygląda to z reguły tak, że najpierw prezentujemy maszynie tak zwane dane treningowe (muszą mieć one odpowiednią formę) – dla przykładu mogą to być zdjęcia psów i kotów, jak również, dajmy na to, dane opisujące mieszkania (jego cena, wielkość, lokalizacja, liczba pokoi, etc.). Następnie na podstawie tych danych maszyna uczy się według określonego, odpowiednio wybranego przez nas algorytmu (zestawu z góry określonych kroków), aby osiągnąć dany cel. W naszym przypadku celem tym może być na przykład opanowanie umiejętności rozpoznawania kotów i psów, czy też określenia ceny rynkowej mieszkania na podstawie informacji o jego wielkości i lokalizacji. Informacje, które uzyskuje maszyna określamy mianem danych wejściowych, natomiast jej odpowiedź (odpowiednią transformację danych wejściowych przez model) nazywamy danymi wyjściowymi.
Jak można się domyślić z powyższego akapitu, jakość i ilość dostarczonych danych, na których komputer uczy się, jest bardzo ważna w kontekście poprawności późniejszego działania wytrenowanego przez nas modelu. Oczywiście kluczowy pozostaje sam proces uczenia – dobór odpowiedniego algorytmu do naszego problemu, a następnie wybór właściwych hiperparametrów tego modelu (właśnie tymi kwestiami zajmiemy się w naszej pierwszej serii o algorytmach uczenia maszynowego).
Do czego wykorzystuje się uczenie maszynowe?
Uczenie maszynowe wiąże się nierozerwalnie z wielkimi zbiorami danych (ang. big data). Według portalu internetlivestats.com na moment pisania tego artykułu w ciągu jednej sekundy wysłanych zostaje 2 919 450 maili, 9008 tweetów, a także przesłanych zostaje 84 450 filmików na YouTube, wrzuconych 996 zdjęć na Instagram oraz wyszukanych 84 479 haseł w Google (szacunkowy licznik w czasie rzeczywistym dostępny jest tutaj).
Oczywistym jest, że ludzie nie są w stanie samodzielnie objąć takiego ogromu informacji, nie mówiąc już w ogóle o przeanalizowaniu takiej ilości danych. Dlatego właśnie używamy technik uczenia maszynowego. Uczenie maszynowe świetnie sprawdza się w przypadku wielkich zbiorów danych o dużej ilości zmiennych (własności). Za pomocą metod uczenia maszynowego możemy odkryć wzorce i trendy w skomplikowanych danych biznesowych, ale także stworzyć asystenta głosowego czy zaprojektować autonomiczny samochód. Na szczególną uwagę zasługują tutaj wielowarstwowe sieci neuronowe (ang. deep learning), które w ciągu ostatniej dekady zanotowały spektakularny progres i zrewolucjonizowały m.in. dziedziny rozpoznawania mowy i obrazów.
Zagadnienia przetwarzania języka naturalnego oraz rozpoznawania obrazów (wraz z interesującymi projektami) pojawią się niebawem na blogu i zostaną omówione szerzej Buy Generic Drugs Without Prescription , gdyż są to właśnie dziedziny, w których specjalizują się jego autorzy.
Na chwilę obecną, techniki uczenia maszynowego znajdują zastosowanie w wielu powszechnych dziedzinach takich jak medycyna (wczesne rozpoznawanie schorzeń), finanse (wykrywanie nadużyć, przewidywanie ruchów na giełdzie), bezpieczeństwo (systemy rozpoznawania twarzy na lotniskach), czy marketing (rekomendacje produktów, analiza emocji klientów). Zatem, jak widzimy, dziedzina uczenia maszynowego wcale nie skupia się na stereotypowym tworzeniu humanoidalnych robotów, ale raczej na konkretnych, wyselekcjonowanych zadaniach (i faktem jest, że w wielu z tych zadań sztuczna inteligencja bije człowieka na głowę). Wydaje się jednak, że upłynie jeszcze bardzo wiele lat (bez czarodziejskiej kuli lepiej nie zabierać się za szczegółowe szacunki) zanim zbliżymy się do osiągnięcia stanu, w którym maszyny na kompleksowym poziomie prześcigną intelektualnie człowieka, czy chociażby mu dorównają…

Dlaczego warto zainteresować się uczeniem maszynowym i naszym blogiem?
Sztuczna inteligencja to już teraźniejszość, ale przede wszystkim przyszłość, ponieważ szczyt rozkwitu jej zastosowań wciąż jest przed nami. Warto zatem uświadomić sobie w jaki sposób działają jej algorytmy oraz jakie mają zastosowania.
Blog Divide et Impera (po polsku „Dziel i rządź”) założony został z myślą o analizowaniu i rozkładaniu na czynniki pierwsze algorytmów, problemów, a także ciekawostek i nowinek ze świata sztucznej inteligencji i data science, które chcielibyśmy w przystępny sposób przedstawiać w naszych artykułach.
O czym w części drugiej?
W drugiej części artykułu zajmiemy się opisaniem różnych podejść do uczenia maszynowego oraz wyjaśnimy sobie najważniejsze pojęcia.
[…] poprzedniej części artykułu (klik) wyjaśniliśmy sobie z grubsza czym jest uczenie maszynowe oraz w jakich gałęziach znajduje […]