Czym są systemy uczące się?

Systemy uczące się leżą u podstaw niektórych z najważniejszych używanych przez nas technologii, od aplikacji tłumaczeniowych po pojazdy autonomiczne. W tym kursie omawiamy podstawowe pojęcia związane z systemami uczącymi się.

Systemy uczące się dają nowy sposób rozwiązywania problemów, odpowiadania na złożone pytania i tworzenia nowych treści. Systemy uczące się przewidują pogodę, szacują czas podróży, proponują piosenki, automatycznie uzupełniają zdania, podsumowują artykuły i generują często niewidoczne obrazy.

Ogólnie rzecz biorąc, systemy uczące się to proces trenowania oprogramowania (nazywanego model), który tworzy przydatne prognozy lub generuje treści na podstawie danych.

Załóżmy na przykład, że chcemy utworzyć aplikację do prognozowania opadów. Możemy użyć podejścia tradycyjnego lub ML. Korzystając z tradycyjnego podejścia, tworzyliśmy na podstawie fizyki obraz atmosfery i powierzchni Ziemi, obliczając ogromne ilości równań dynamiki płynów. To niesamowicie trudne.

Korzystając z systemów uczących się, przekażemy modelowi ML ogromne ilości danych o pogodzie, dopóki nie nauczy się matematycznego zależności między wzorcami pogodowymi, które powodują wytwarzanie różnych ilości opadów. Następnie przekazujemy modelowi bieżące dane pogodowe i prognozujemy ilość opadów.

Sprawdź swoją wiedzę

Czym jest „model” w systemach uczących się?
Model to relacja matematyczna pochodząca z danych, które system ML wykorzystuje do tworzenia prognoz
Model to element sprzętowy komputera
Model to mniejsza reprezentacja tego, czego się uczysz.

Rodzaje systemów ML

Systemy ML należą do co najmniej 1 z tych kategorii w zależności od tego, jak uczą się tworzyć prognozy lub generować treści:

  • Uczenie nadzorowane
  • Uczenie się nienadzorowane
  • Uczenie się przez wzmocnienie
  • Generatywna AI

Uczenie nadzorowane

Uczenie nadzorowane może generować prognozy po przejrzeniu wielu danych z prawidłowymi odpowiedziami i odkryciu powiązań między elementami danych, które generują prawidłowe odpowiedzi. Przypomina to uczenie się nowego materiału przez uczenie się starych egzaminów, które zawierają zarówno pytania, jak i odpowiedzi. Gdy uczeń zdobędzie odpowiednią liczbę wcześniejszych egzaminów, będzie mógł przystąpić do nowego. Systemy te są „nadzorowane” w tym sensie, że człowiek przekazuje im dane ze znanymi poprawnymi wynikami.

Dwa najczęstsze przypadki użycia uczenia nadzorowanego to regresja i klasyfikacja.

Regresja

Model regresji prognozuje wartość liczbową. Na przykład model pogodowy, który przewiduje ilość opadów w calach lub milimetrach, to model regresji.

W tabeli poniżej znajdziesz więcej przykładów modeli regresji:

Scenariusz Możliwe dane wejściowe Prognoza liczbowa
Przyszła cena domu Powierzchnia, kod pocztowy, liczba sypialni i łazienek, powierzchnia działek, oprocentowanie kredytów hipotecznych, stawka podatku od nieruchomości, koszty budowy oraz liczba domów na sprzedaż na danym obszarze. Cena domu.
Przyszły czas przejazdu Historyczne dane o natężeniu ruchu (otrzymywane ze smartfonów, z czujników natężenia ruchu, informacji o przejażdżkach i innych aplikacji nawigacyjnych), odległości od celu podróży i warunków pogodowych. Czas dotarcia na miejsce (w minutach i sekundach).

Klasyfikacja

Modele klasyfikacji prognozują prawdopodobieństwo przynależności danego elementu do kategorii. W przeciwieństwie do modeli regresji, których dane wyjściowe są liczbą, modele klasyfikacji zwracają wartość wskazującą, czy coś należy do konkretnej kategorii, czy nie. Modele klasyfikacji służą na przykład do przewidywania, czy e-mail jest spamem lub czy na zdjęciu widać kota.

Modele klasyfikacji dzielą się na 2 grupy: klasyfikację binarne i klasyfikację wieloklasową. Binarne modele klasyfikacji zwracają wartość z klasy, która zawiera tylko 2 wartości. Może to być np. model, który zwraca wynik rain lub no rain. Modele klasyfikacji wieloklasowej zwracają wartość z klasy, która zawiera więcej niż 2 wartości. Przykładem może być model, który może zwrócić wartość rain, hail, snow lub sleet.

Sprawdź swoją wiedzę

Jakiego modelu użyjesz, aby wykorzystać model ML do prognozowania zużycia energii w budynkach komercyjnych?
Regresja
Zużycie energii jest mierzone w kilowatogodzinach (kWh), więc warto użyć modelu regresji.
Klasyfikacja
Modele klasyfikacji przewidują, czy coś należy do kategorii, czy nie, a modele regresji prognozują liczbę. Zużycie energii jest mierzone w kilowatogodzinach (kWh), więc warto użyć modelu regresji.

Uczenie się nienadzorowane

Modele nienadzorowanego uczenia się generują prognozy, ponieważ otrzymują dane, które nie zawierają żadnych prawidłowych odpowiedzi. Celem modelu nienadzorowanego jest identyfikacja znaczących wzorców w danych. Inaczej mówiąc, model nie ma żadnych wskazówek dotyczących kategoryzacji poszczególnych danych, ale musi wywnioskować własne reguły.

Powszechnie stosowany model uczenia się nienadzorowanego wykorzystuje technikę zwaną klastrowaniem. Model znajduje punkty danych, które oddzielają naturalne grupy.

Obraz przedstawiający kolorowe kropki w klastrach.

Rysunek 1. Model ML grupujący podobne punkty danych.

Obraz przedstawiający kolorowe kropki w klastrach ujętych w okrągłymi krawędziami.

Rysunek 2. Grupy klastrów z naturalnymi rozgraniczeniami.

Grupowanie różni się od klasyfikacji, ponieważ kategorie nie są definiowane przez Ciebie. Na przykład model nienadzorowany może grupować zbiór danych o pogodzie na podstawie temperatury, co ujawnia podziały na segmenty definiujące pory roku. Możesz spróbować nazwać te klastry zgodnie ze swoją wiedzą na temat zbioru danych.

Obraz przedstawiający kolorowe kropki w klastrach oznaczonych jako śnieg, deszcz, grad i brak deszczu.

Rysunek 3. Model ML grupujący podobne wzorce pogodowe.

Obraz przedstawiający kolorowe kropki w klastrach oznaczonych jako śnieg, deszcz, grad, bez deszczu, zamkniętych w kształcie i obramowane.

Rysunek 4. Składy wzorców pogodowych oznaczonych jako śnieg, deszcz ze śniegiem, deszcz i brak deszczu.

Sprawdź swoją wiedzę

Co odróżnia podejście nadzorowane od metody nienadzorowanej?
Metoda nadzorowana otrzymuje dane, które zawierają poprawną odpowiedź.
Metoda nadzorowana otrzymuje dane, które zawierają poprawną odpowiedź. Zadaniem modelu jest znajdowanie w danych połączeń, które dają prawidłową odpowiedź. W przypadku danych nienadzorowanych stosowana jest metoda bez prawidłowej odpowiedzi. Jej zadaniem jest odnajdywanie grupowań w danych.
W ramach nadzorowanej metody zwykle stosuje się grupowanie.
W przypadku podejścia nienadzorowanego wykorzystuje się grupowanie.
Podejście nienadzorowane wie, jak oznaczać etykietami klastry danych.
Podejście nienadzorowane nie wie, co oznaczają klastry danych. To, jak rozumiesz te dane, zależy od Ciebie.

Uczenie się przez wzmocnienie

Modele uczenia się przez wzmacnianie formułują prognozy, otrzymując nagrody lub kary na podstawie działań wykonywanych w środowisku. System uczenia się przez wzmacnianie generuje zasady, które definiują najlepszą strategię zdobywania jak największej liczby nagród.

Uczenie się przez wzmacnianie polega na trenowaniu robotów, aby wykonały różne zadania, np. chodzenie po pokoju, oraz korzystanie z oprogramowania, np. AlphaGo, do grania w grę w Go.

Generatywna AI

Generatywna AI to klasa modeli, które tworzy treści na podstawie danych wejściowych użytkownika. Na przykład generatywna AI może tworzyć unikalne obrazy, kompozycje muzyczne, dowcipy, podsumowywać artykuły, wyjaśniać, jak wykonać zadanie, czy edytować zdjęcia.

Generatywna AI może pobierać różne dane wejściowe i tworzyć różne dane wyjściowe, takie jak tekst, obrazy, dźwięki i filmy. Może też wykonywać i odtwarzać ich kombinacje. Model może np. wykorzystać obraz i tekst jako dane wejściowe, a jako dane wyjściowe utworzyć obraz i tekst lub wykorzystać obraz i tekst jako dane wejściowe, a jako dane wyjściowe utworzyć film.

Modele generatywne możemy omawiać według ich danych wejściowych i wyjściowych, zwykle zapisywane jako „typ danych wejściowych” do „typu danych wyjściowych”. Oto przykładowa lista niektórych danych wejściowych i wyjściowych używanych w modelach generatywnych:

  • Tekst na tekst
  • Tekst na obraz
  • Tekst na film
  • Tekst na kod
  • Zamiana tekstu na mowę
  • Obraz i tekst na obraz

W tabeli poniżej znajdziesz przykłady modeli generatywnych, ich dane wejściowe i przykładowe dane wyjściowe:

Model Dane wejściowe Przykładowe dane wyjściowe
Tekst na tekst Kto wymyślił wyścig Le Mans? Inicjatywa 24 Hours of Le Mans została założona w 1906 roku przez Automobile Club de l'Ouest (ACO). Pierwszy wyścig odbył się 26 i 27 maja 1923 roku na torze Sarthe Circuit – torze drogowym o długości 13,426 km, położonym w pobliżu francuskiego miasta Le Mans. Wyścig powstał w celu promowania ACO i regionu Sarthe.
Źródło: Bard
Tekst na obraz Kosmiczna ośmiornica przepływa przez portal i czyta gazetę. Obraz przedstawiający kreskówkową ośmiornicę.
Źródło: Imagen
Tekst na film fotorealistyczny miś pływający w oceanie w San Francisco. Pluszowy miś zanurza się pod wodą. Pluszowy miś wciąż pływa pod wodą z kolorowymi rybami. Panda pływa pod wodą. Film przedstawiający pluszowego niedźwiedzia pływającego pod wodą.
Źródło: Phenaki
Tekst na kod Napisz pętlę Pythona, która zapętla listę liczb i drukuje liczby pierwsze.
for number in numbers:
  # Check if the number is prime.
  is_prime = True
  for i in range(2, number):
    if number % i == 0:
        is_prime = False
        break
  # If the number is prime, print it.
  if is_prime:
    print(number)

Źródło: Bard
Obraz na tekst Zdjęcie flaminga. Taki odgłos wydaje flaming. Występują na Karaibach.
Źródło: Google DeepMind

Jak działa generatywna AI? Ogólnie modele generatywne uczą się wzorców w danych, aby generować nowe, ale podobne dane. Modele generatywne są podobne do tych:

  • Komicy, którzy uczą się naśladować innych, obserwując zachowania i styl wypowiedzi innych osób
  • Artyści, którzy uczą się malować w określonym stylu, studiując mnóstwo obrazów w tym stylu
  • Zespoły w wykonaniu coverów, które uczą się brzmieć jak konkretna grupa muzyczna, słuchając wielu ich utworów

Aby uzyskać unikalne i kreatywne dane wyjściowe, modele generatywne są początkowo trenowane z wykorzystaniem metody nienadzorowanej, w której model uczy się naśladować dane, na których jest trenowany. Model jest czasem dalej trenowany z wykorzystaniem nadzorowanego lub przez wzmacnianie uczenia się na określonych danych związanych z zadaniami, o które model został poproszony, np. podsumowaniem artykułu lub edytowaniem zdjęcia.

Generatywna AI to szybko rozwijająca się technologia, która wciąż odkrywa nowe zastosowania. Na przykład modele generatywne pomagają firmom dopracowywać zdjęcia produktów e-commerce, automatycznie usuwając rozpraszające tło lub poprawiając jakość obrazów o niskiej rozdzielczości.