Systemy uczące się leżą u podstaw naszych kluczowych technologii, od aplikacji tłumaczeniowych po autonomiczne pojazdy. W tym kursie omawiamy podstawowe pojęcia związane z systemami uczącymi się.
Systemy uczące się zapewniają nowy sposób rozwiązywania problemów, odpowiadania na złożone pytania i tworzenia nowych treści. Systemy uczące się mogą przewidywać pogodę, oszacować czas podróży, polecać utwory, automatycznie uzupełniać zdania, podsumowywać artykuły i generować nigdy wcześniej niewidoczne obrazy.
Mówiąc ogólnie, systemy uczące się to proces trenowania oprogramowania (nazywanego model), który służy do generowania przydatnych prognoz lub generowania treści na podstawie danych.
Załóżmy na przykład, że chcemy stworzyć aplikację do prognozowania opadów deszczu. Możemy użyć tradycyjnego podejścia albo systemów uczących się. Tradycyjnie tworzyliśmy fizyczną prezentację atmosfery i powierzchni Ziemi, obliczając ogromne ilości równań związanych z dynamiką płynów. To niesamowicie trudne.
Korzystając z metody ML, 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 generują różne ilości opadów. Następnie przekazujemy modelowi aktualne dane pogodowe i prognozujemy ilość opadów.
Sprawdź, czy rozumiesz
Rodzaje systemów ML
Systemy ML należą do co najmniej jednej z tych kategorii w zależności od tego, jak uczą się prognozować lub generować treści:
- Nauczanie nadzorowane
- Nauka nienadzorowana
- Uczenie się przez wzmocnienie
- Generatywna AI
Nauczanie nadzorowane
Modele nadzorowanego uczenia się mogą generować prognozy po zdobyciu wielu danych z prawidłowymi odpowiedziami, a potem odkryciu powiązań między elementami w danych, które generują prawidłowe odpowiedzi. Przypomina to naukę nowych materiałów przez uczenie się starych egzaminów, które zawierają zarówno pytania, jak i odpowiedzi. Gdy uczeń nauczy się dostatecznie dużo starych egzaminów, będzie mógł zacząć przygotowywać się do nowego. Systemy te są „nadzorowane” w tym sensie, że człowiek przekazuje do nich dane ze znanymi poprawnymi wynikami.
Dwa najczęstsze przypadki użycia nadzorowanego uczenia się to regresja i klasyfikacja.
Regresja
Model regresji prognozuje wartość liczbową. Na przykład model pogodowy, który przewiduje ilość deszczu 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, wielkość działki, oprocentowanie kredytu hipotecznego, stawka podatku od nieruchomości, koszty budowy oraz liczba domów na sprzedaż na danym obszarze. | Cena domu. |
Przyszły czas przejazdów | historyczne dane o natężeniu ruchu (dane ze smartfonów, z czujników natężenia ruchu, danych o zajeździe samochodem i z innych aplikacji nawigacyjnych), odległości od miejsca docelowego i warunków pogodowych; | Czas dotarcia do miejsca docelowego (w minutach i sekundach). |
Klasyfikacja
Modele klasyfikacji prognozują prawdopodobieństwo, że dany element należy do kategorii. W odróżnieniu od 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: klasyfikacja binarna i klasyfikacja wieloklasowa. Binarne modele klasyfikacji generują wartość z klasy, która zawiera tylko 2 wartości, np. model, który zwraca wartość rain
lub no rain
. Modele klasyfikacji wieloklasowej zwracają wartość z klasy zawierającej więcej niż 2 wartości, np. z modelu, który może zwracać wartość rain
, hail
, snow
lub sleet
.
Sprawdź, czy rozumiesz
Nauka nienadzorowana
Modele nienadzorowanego uczenia się tworzą prognozy, ponieważ otrzymują dane, które nie zawierają żadnych poprawnych 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 nienadzorowany model uczenia się wykorzystuje technikę zwaną klasterem. Znajduje on punkty danych oddzielające naturalne grupowania.
Rysunek 1. Model ML grupujący podobne punkty danych.
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 powoduje podział na segmenty definiujące pory roku. Możesz spróbować nazwać te klastry zgodnie z Twoją wiedzą na temat zbioru danych.
Rysunek 3. Model ML grupujący podobne wzorce pogodowe.
Rysunek 4. Składy wzorców pogodowych oznaczone jako śnieg, deszcz ze śniegiem, deszcz i brak deszczu.
Sprawdź, czy rozumiesz
Uczenie się przez wzmocnienie
Modele uczenia się przez wzmocnienie tworzą prognozy, zdobywając nagrody lub kary na podstawie działań wykonywanych w środowisku. System uczenia się przez wzmocnienie generuje zasady, które określają najlepszą strategię uzyskiwania jak największej liczby nagród.
Uczenie się przez wzmocnienie służy do trenowania robotów, takich jak chodzenie po pokoju, a programy takie jak AlphaGo uruchamiają 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ć nowe obrazy, kompozycje muzyczne i dowcipy, podsumowywać artykuły, wyjaśniać, jak wykonać zadanie, czy też edytować zdjęcie.
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ż zbierać i tworzyć kombinacje tych danych. Model może np. przyjąć obraz i tekst jako dane wyjściowe, a jako dane wyjściowe utworzyć obraz i tekst, albo 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 zapisywanych jako „typ danych wejściowych” do „typu danych wyjściowych”. Oto częściowa lista niektórych danych wejściowych i wyjściowych 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łady możliwych danych wyjściowych:
Model | Dane wejściowe | Przykładowe dane wyjściowe |
---|---|---|
Tekst na tekst | Kto wymyślił wyścig Le Mans? |
Seria 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 o długości 13, 426 km (8345 km) położonym w pobliżu francuskiego miasta Le Mans.
Początkowo celem wyścigu był promowanie ACO i regionu Sarthe. Źródło: Bard |
Tekst na obraz | Kosmiczna ośmiornica przepływa przez portal i czyta gazetę. |
Ź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ś pływa pod wodą z kolorowymi rybami. Panda niedźwiedź pływająca 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 |
Taki odgłos wydaje flaming. Występują na Karaibach. Źródło: Google DeepMind |
Jak działa generatywna AI? Ogólnie modele generatywne uczą wzorców w danych, aby generować nowe, ale podobne dane. Modele generatywne są takie jak:
- Komicy, którzy uczą się naśladować innych, obserwując zachowania i styl mówienia innych osób
- Artyści, którzy uczą się malować w określonym stylu, studiując masę obrazów w tym stylu
- Zespoły coverowe, które uczą się brzmieć jak konkretna grupa muzyczna, słuchając ich muzyki
Aby uzyskać unikalne i kreatywne dane wyjściowe, modele generatywne są początkowo trenowane przy użyciu metody nienadzorowanej, w której model uczy się naśladować dane, na których jest trenowany. Czasami model jest dodatkowo trenowany z wykorzystaniem nadzorowanego lub przez wzmocnienie uczenia się na określonych danych związanych z działaniami, o które model został poproszony, np. podsumowaniem artykułu lub edytowaniem zdjęcia.
Generatywna AI to szybko ewoluująca technologia, a nowe przypadki użycia stale są odkrywane. Na przykład modele generatywne pomagają firmom doprecyzować zdjęcia produktów e-commerce, automatycznie usuwając rozpraszające tło lub poprawiając jakość obrazów w niskiej rozdzielczości.