Kiedy słyszymy takie terminy jak „uczenie maszynowe” i „sztuczna inteligencja”, zakładamy, że jest to stosunkowo nowa technologia. Wielu uważa ją za przełomowe innowacje, które powstały w ciągu ostatniej dekady. Możesz jednak być zaskoczony, gdy dowiesz się, że historia uczenia maszynowego sięga lat 40. XX wieku.
Czym jest uczenie maszynowe, jak działa, jakie są metody uczenia maszynowego i gdzie jest aktywnie wykorzystywane — wszystko to zostało omówione w poniższym artykule.
Czym jest uczenie maszynowe
Uczenie maszynowe (ML) to dziedzina sztucznej inteligencji, która skupia się na tworzeniu algorytmów i modeli statystycznych, umożliwiających komputerom uczenie się na podstawie danych, prognozowanie oraz podejmowanie decyzji.
Prostym przykładem algorytmu uczenia maszynowego jest serwis streamingowy Spotify. Aby zdecydować, które nowe utwory lub jakich artystów polecić, algorytmy Spotify łączą Twoje preferencje z preferencjami innych słuchaczy o podobnym guście muzycznym. Metoda ta, często nazywana po prostu AI, jest wykorzystywana w wielu usługach oferujących zautomatyzowane rekomendacje.
Innym przykładem jest oprogramowanie do rozpoznawania mowy, które zamienia wiadomości głosowe na tekst, a także samochody autonomiczne i funkcje wspomagania kierowcy, takie jak wykrywanie martwego pola i automatyczne hamulce.
Historia uczenia maszynowego
Początki
W 1943 roku Walter Pitts i Warren McCulloch w swoim artykule „A Logical Calculus of the Ideas Immanent in Nervous Activity” przedstawili pierwszy matematyczny model sieci neuronowych.
W 1949 roku Donald Hebb opublikował książkę „The Organization of Behavior”, w której powiązał zachowanie z sieciami neuronowymi i aktywnością mózgu. To położyło fundamenty pod rozwój uczenia maszynowego.
W 1950 roku Alan Turing opracował test Turinga mający na celu sprawdzenie, czy komputer posiada prawdziwą inteligencję. Aby zdać test, maszyna musiała przekonać człowieka, że rozmawia z innym człowiekiem.
Gry i wyszukiwanie ścieżek
Pierwszy program wykorzystujący uczenie maszynowe został napisany przez Arthura Samuela w 1952 roku. Była to gra w warcaby. Program ten służył do trenowania komputera IBM — im więcej grał, tym lepiej uczył się ruchów, opracowując zwycięską strategię.
W 1957 roku Frank Rosenblatt stworzył perceptron, pierwszą komputerową sieć neuronową, która miała na celu symulowanie procesów myślowych ludzkiego mózgu.
Kolejny ważny przełom w dziedzinie uczenia maszynowego miał miejsce w 1967 roku, kiedy opracowano algorytm najbliższego sąsiada. Umożliwił on komputerom rozpoznawanie wzorców na obrazach. Algorytm ten wykorzystywano do planowania tras przedstawicieli handlowych.
Dwanaście lat później, w 1979 roku, Laboratorium Sztucznej Inteligencji Uniwersytetu Stanforda (SAIL), założone przez Johna McCarthy’ego, opracowało robota Stanford Cart, który potrafił omijać przeszkody w pomieszczeniu.
W 1981 roku Gerald De Jong wprowadził koncepcję uczenia opartego na wyjaśnieniach (ang. Explanation-Based Learning, EBL), w ramach której komputer analizuje dane treningowe, tworzy ogólną regułę do naśladowania, pomijając nieistotne informacje.
Wielki przełom
W latach 90. badania nad uczeniem maszynowym przeszły od podejścia opartego na wiedzy do podejścia opartego na danych. Naukowcy zaczęli tworzyć programy, które analizowały ogromne zbiory danych, uczyły się na ich podstawie i wyciągały wnioski. W 1997 roku komputer Deep Blue firmy IBM zaszokował świat, pokonując mistrza świata w szachach Garriego Kasparowa.
W 2011 roku powstał Google Brain, projekt badawczy oparty na głębokich sieciach neuronowych, który zasłynął z nauczenia się rozpoznawania kotów w filmach z YouTube bez wcześniejszych wskazówek. Rok później X Lab stworzył algorytm uczenia maszynowego, który samodzielnie oglądał filmy na YouTube i rozpoznawał na nich koty.
W 2014 roku Facebook opracował DeepFace — algorytm rozpoznawania twarzy, który potrafił identyfikować i weryfikować osoby na zdjęciach z dokładnością porównywalną z ludzką, osiągając wynik 97,25%.
W 2015 roku Microsoft stworzył Distributed Machine Learning Toolkit (DMTK) — narzędzie umożliwiające efektywne rozdzielanie zadań uczenia maszynowego między wieloma komputerami.
W tym samym roku ponad 3000 naukowców zajmujących się sztuczną inteligencją i robotyką, popartych przez Stephena Hawkinga, Elona Muska i Steve’a Wozniaka, podpisało otwarty list ostrzegający przed niebezpieczeństwami związanymi z autonomiczną bronią, która mogłaby samodzielnie wybierać i atakować cele bez interwencji człowieka.
W 2016 roku sztuczna inteligencja opracowana przez Google, AlphaGo, pokonała profesjonalnego gracza w chińską grę planszową Go, uznawaną za jedną z najtrudniejszych gier planszowych na świecie.
Obecnie
W 2020 roku, podczas pandemii COVID-19, firma OpenAI zaprezentowała rewolucyjny algorytm przetwarzania języka naturalnego GPT-3, który na podstawie promptów potrafi generować tekst przypominający tekst pisany przez człowieka.
Dziś na popularności zyskuje chmura dla uczenia maszynowego. Trenowanie precyzyjnych modeli uczenia maszynowego wymaga ogromnych ilości danych, mocy obliczeniowej i infrastruktury. Chmura obliczeniowa sprawia, że uczenie maszynowe staje się bardziej dostępne, elastyczne i wydajne, umożliwiając programistom szybsze tworzenie algorytmów. To właśnie chmura obliczeniowa przyspiesza i umożliwia zarządzanie całym cyklem życia projektu uczenia maszynowego.
Jak działa uczenie maszynowe
- Zbieranie danych. Informacje mogą być pozyskiwane z takich źródeł, jak bazy danych, czujniki czy internet.
- Wstępne przetwarzanie danych. Po zebraniu dane muszą zostać odpowiednio przetworzone, aby zweryfikować ich jakość i przydatność do analizy.
- Trenowanie modelu. Algorytm musi być trenowany, aby móc dokonywać prognoz lub podejmować decyzje na podstawie danych wejściowych.
- Inżynieria cech. Model uczenia maszynowego identyfikuje i wykorzystuje najbardziej istotne cechy z danych wejściowych, co znacząco wpływa na jego wydajność.
- Ewaluacja i optymalizacja modelu. Po trenowaniu model podlega ewaluacji, aby określić jego dokładność w odniesieniu do ustalonych kryteriów.
- Wdrożenie i monitorowanie. Po pomyślnym wytrenowaniu i ewaluacji, model jest wdrażany w rzeczywistych aplikacjach uczenia maszynowego.
Rodzaje metod uczenia maszynowego
Uczenie maszynowe nadzorowane
Model jest trenowany na etykietowanych danych z gotowymi odpowiedziami. Algorytm musi wybrać poprawną odpowiedź na postawioną hipotezę, a wyniki są monitorowane przez człowieka.
Uczenie maszynowe nienadzorowane
Model jest trenowany na danych, które nie mają etykiet. Algorytm identyfikuje wzorce i cechy różnicujące obiekty, co sprawia, że jest przydatny w prognozowaniu, automatycznym czyszczeniu zbiorów danych, rozpoznawaniu języków i analizie danych.
Uczenie maszynowe częściowo nadzorowane
Wykorzystuje zarówno etykietowane, jak i nieetykietowane dane, a algorytm samodzielnie dokonuje etykietowania pozostałych danych na podstawie ustalonych parametrów. Metoda ta jest szczególnie przydatna przy przetwarzaniu dużych plików.
Uczenie ze wzmocnieniem
Algorytm uczy się metodą prób i błędów, wykorzystując system punktowy, w którym nagradzane są prawidłowe działania. Można to porównać do gry, w której gracze otrzymują bonusy za podejmowanie właściwych decyzji.
Czym jest uczenie głębokie?
Uczenie głębokie (DL) to podtyp sztucznej inteligencji (AI) i uczenia maszynowego (ML), który wykorzystuje wielowarstwowe sztuczne sieci neuronowe do osiągania wysokiej dokładności w zadaniach takich jak wykrywanie obiektów, rozpoznawanie mowy, tłumaczenie języków i wiele innych.
Sztuczne sieci neuronowe nieustannie przetwarzają dane za pomocą algorytmów, co umożliwia bardziej efektywne uczenie się. Im więcej danych, tym lepszy proces uczenia się. Z czasem sieć neuronowa przetwarza dane przez kolejne warstwy, co zwiększa jej skuteczność.
W przeciwieństwie do uczenia maszynowego, uczenie głębokie wymaga wysokowydajnego sprzętu, potężnych procesorów graficznych i kart graficznych, które mogą być zapewnione przez układy GPU od NVIDIA.
Układy GPU pomagają badaczom i analitykom danych skrócić czas trenowania modeli z tygodni do godzin. Teraz możliwe jest przeprowadzenie tego procesu w chmurze, co pozwala uniknąć wysokich kosztów związanych z zakupem sprzętu.
Gdzie stosuje się uczenie maszynowe
- Media społecznościowe. Na przykład Facebook śledzi działania użytkowników, polubienia, komentarze i czas spędzony na konkretnych postach. Dzięki uczeniu maszynowemu to zachowanie jest analizowane i na jego podstawie są sugerowane znajomi oraz strony mogące zainteresować użytkownika.
- Handel detaliczny. Rekomendacje produktów to jedno z najpopularniejszych zastosowań uczenia maszynowego. Strony internetowe wykorzystują uczenie maszynowe i sztuczną inteligencję do śledzenia zachowań użytkowników na podstawie wcześniejszych zakupów, wyszukiwań i historii koszyka, a następnie polecają produkty.
- Opieka zdrowotna. Uczenie maszynowe analizuje dane z różnych czujników, aby wspierać lekarzy w diagnozowaniu i leczeniu w czasie rzeczywistym. Naukowcy opracowują rozwiązania oparte na uczeniu maszynowym, które wykrywają nowotwory i diagnozują choroby oczu.
- Usługi finansowe. Technologia uczenia maszynowego wspomaga inwestorów w identyfikowaniu nowych możliwości, analizując ruchy na giełdzie, oceniając fundusze hedgingowe lub dostosowując portfele finansowe. Pomaga również w identyfikacji klientów o wysokim ryzyku kredytowym oraz w rozpoznawaniu oznak oszustw i zapobieganiu im.
- Przemysł. Uczenie maszynowe pomaga firmom w podejmowaniu lepszych decyzji logistycznych, w tym w zarządzaniu aktywami, łańcuchami dostaw i kontrolą zapasów.
Przyszłość uczenia maszynowego
Przyszłość uczenia maszynowego wiąże się z kluczowymi zastosowaniami w obliczeniach kwantowych, które pozwolą na szybsze przetwarzanie danych oraz zwiększą zdolność algorytmów do analizowania i wyciągania wniosków z dużych zbiorów danych.
Aplikacje będą coraz bardziej interaktywne i inteligentne dzięki usługom kognitywnym opartym na uczeniu maszynowym, takim jak analiza obrazów, rozpoznawanie mowy czy przetwarzanie języka naturalnego.
Uczenie maszynowe będzie coraz bardziej integrowane z Internetem rzeczy (IoT) i inteligentnymi systemami, umożliwiając urządzeniom IoT analizowanie danych w czasie rzeczywistym, co uczyni inteligentne domy i miasta bardziej wydajnymi.
Przyszłość uczenia maszynowego wiąże się z rozwojem wysoce spersonalizowanych zastosowań sztucznej inteligencji. Od opieki zdrowotnej, która oferuje plany leczenia dopasowane do indywidualnych kodów genetycznych, po systemy edukacyjne personalizujące proces nauki zgodnie z potrzebami każdego ucznia, uczenie maszynowe osiągnie poziomy personalizacji dotąd nieosiągalne.
Systemy uczenia maszynowego będą oparte na solidniejszych ramach, w których informacje zwrotne od ludzi staną się integralnym elementem procesu uczenia się. Dzięki temu podejściu systemy te pozostaną zgodne z ludzkimi wartościami i będą zdolne do adaptacji w sytuacjach, gdzie ostateczne decyzje należą do człowieka.