Co to jest uczenie głębokie?
Uczenie głębokie to typ uczenia maszynowego, które używa sztucznych sieci neuronowych, aby umożliwić systemom cyfrowym uczenie się i podejmowanie decyzji na podstawie danych bez struktury i etykiet.
Ogólnie rzecz biorąc, uczenie maszynowe szkoli systemy AI do uczenia się na podstawie doświadczenia z danymi, rozpoznawania wzorców, wydawania rekomendacji i dostosowywania. W szczególności w przypadku uczenia głębokiego zamiast odpowiadać na zestawy reguł, systemy cyfrowe budują wiedzę na podstawie przykładów, a następnie wykorzystują tę wiedzę do reagowania, zachowywania się i działania jak ludzie.
Dlaczego uczenie głębokie jest ważne
Badacze danych i deweloperzy używają oprogramowania do uczenia głębokiego do trenowania komputerów pod kątem analizowania dużych i złożonych zestawów danych, wykonywania skomplikowanych i nieliniowych zadań oraz reagowania na tekst, głos lub obrazy, często szybciej i dokładniej niż ludzie. Te możliwości mają wiele praktycznych zastosowań i umożliwiły wprowadzenie wielu nowoczesnych innowacji. Na przykład to właśnie za pomocą uczenia głębokiego samochody bez kierowcy przetwarzają obrazy i odróżniają pieszych od innych obiektów na drodze czy inteligentne urządzenia domowe interpretują polecenia głosowe.
Uczenie głębokie jest ważne, ponieważ gdy ilość danych wzrasta, a możliwości obliczeniowe rosną i stają się bardziej przystępne cenowo, firmy z branż sprzedaży detalicznej, opieki zdrowotnej, transportu, produkcji przemysłowej, technologii i innych sektorów inwestują w uczenie głębokie, aby napędzać innowacje, otwierać nowe możliwości i utrzymywać pozycję na rynku.
Jak działa uczenie głębokie
Uczenie głębokie bazuje na architekturach sieci neuronowych w wielu warstwach, jednostkach przetwarzania grafiki o wysokiej wydajności wdrożonych w chmurze lub w klastrach oraz dużych ilościach danych z etykietami, aby osiągnąć bardzo wysoki poziom dokładności rozpoznawania tekstu, mowy i obrazu. Wszystko to może pomóc deweloperom w tworzeniu systemów cyfrowych z przejawami ludzkiej inteligencji i skrócić czas oczekiwania na uzyskiwanie korzyści dzięki przyspieszaniu trenowania modeli z tygodni do godzin.
Na przykład model samochodu bez kierowcy może do trenowania wymagać tysięcy godzin wideo i milionów obrazów. Bez uczenia głębokiego tego poziomu trenowania nie można wykonać na dużą skalę.
Co to jest platforma uczenia głębokiego?
Aby ułatwić implementowanie złożonych modeli uczenia maszynowego, deweloperzy skłaniają się ku platformom uczenia głębokiego, takim jak TensorFlow lub PyTorch. Te platformy pomagają usprawnić proces zbierania danych, których można następnie użyć do trenowania sieci neuronowych. Ponadto z tymi platformami można stosować akceleratory, takie jak środowisko uruchomieniowe ONNX, które przyspieszają trenowanie i wnioskowanie modeli.
Trenowanie modeli uczenia głębokiego
Istnieją różne strategie i metody trenowania modeli uczenia głębokiego. Przyjrzyjmy się bliżej kilku z nich.
Uczenie nadzorowane
W przypadku uczenia nadzorowanego algorytm jest trenowany na zestawach danych, które są oznaczone etykietami. Oznacza to, że gdy algorytm dokonuje ustalenia dotyczącego wycinka informacji, może użyć etykiet dołączonych do danych, aby sprawdzić, czy to ustalenie jest poprawne. W przypadku uczenia nadzorowanego dane, na których trenowane są modele, muszą być dostarczane przez ludzi, którzy etykietują dane przed użyciem ich do trenowania algorytmu.
Uczenie nienadzorowane
W przypadku uczenia nienadzorowanego algorytmy są trenowane na danych bez etykiet czy informacji, których algorytm może użyć do weryfikacji swoich ustaleń. Zamiast tego system sortuje i klasyfikuje dane na podstawie wzorców, które samodzielnie rozpoznaje.
Uczenie przez wzmacnianie
W przypadku uczenia przez wzmacnianie system rozwiązuje zadania metodą prób i błędów, aby podejmować szereg decyzji w sekwencji i osiągnąć zamierzony wynik nawet w środowisku, które nie jest oczywiste. W przypadku uczenia przez wzmacnianie algorytm nie używa zestawów danych do dokonywania ustaleń, ale korzysta z informacji zbieranych ze środowiska.
Uczenie głębokie przez wzmacnianie
Gdy techniki uczenia głębokiego i uczenia przez wzmacnianie są łączone, tworzą typ uczenia maszynowego nazywany uczeniem głębokim przez wzmacnianie. Uczenie głębokie przez wzmacnianie korzysta z tego samego procesu podejmowania decyzji metodą prób i błędów oraz osiągania złożonych celów co uczenie przez wzmacnianie, ale opiera się również na możliwościach uczenia głębokiego w celu przetwarzania i interpretowania dużych ilości danych bez struktury.
Do czego służy uczenie głębokie?
Uczenie głębokie jest używane w firmach z różnych branż i dla wielu różnych przypadków użycia. Poniżej przedstawiono kilka przykładów częstego korzystania z uczenia głębokiego:
Rozpoznawanie obrazów, mowy i emocji
Oprogramowanie do uczenia głębokiego służy do zwiększania dokładności rozpoznawania obrazów, mowy i emocji, umożliwia działanie funkcjom wyszukiwania zdjęć, osobistym asystentom cyfrowym i pojazdom bez kierowców, dba o bezpieczeństwo publiczne i cyfrowe oraz znajduje zastosowanie w innych inteligentnych technologiach.
Dostosowane środowisko
Usługi przesyłania strumieniowego, odsprzedawcy na platformach handlu elektronicznego i inne firmy używają modeli uczenia głębokiego do kierowania zautomatyzowanymi rekomendacjami dla produktów, filmów, muzyki lub innych usług oraz do dopracowywania środowiska klienta na podstawie historii zakupów, wcześniejszych zachowań i innych danych.
Czatboty
Nowoczesne firmy używają uczenia głębokiego do udostępniania głosowych lub tekstowych czatbotów online zajmujących się odpowiadaniem na często zadawane pytania, wykonywaniem rutynowych transakcji i, w szczególności, obsługą klienta. Zastępują one zespoły agentów ds. obsługi i eliminują kolejki oczekujących klientów dzięki zautomatyzowanym, kontekstowo odpowiednim i przydatnym odpowiedziom.
Osobiste asystenty cyfrowe
Aktywowane głosem osobiste asystenty cyfrowe używają uczenia głębokiego do rozumienia mowy, odpowiedniego reagowania na zapytania i polecenia w języku naturalnym, a nawet okazjonalnego wygłaszania sarkastycznych uwag.
Pojazdy bez kierowcy
Samoprowadzące się samochody, nieoficjalni reprezentanci sztucznej inteligencji i uczenia głębokiego, używają algorytmów uczenia głębokiego do przetwarzania wielu dynamicznych źródeł danych w ułamkach sekund, nigdy nie muszą pytać o wskazówki i reagują na nieoczekiwane zdarzenia szybciej niż żywy kierowca.
Wiele firm korzysta z oprogramowania do uczenia maszynowego typu open-source, aby wprowadzić u siebie rozwiązania uczenia głębokiego.
Co to są sieci neuronowe?
Sztuczna sieć neuronowa (ANN) to architektura cyfrowa, która naśladuje ludzkie procesy poznawcze w celu modelowania złożonych wzorców, opracowywania przewidywań i odpowiedniego reagowania na bodźce zewnętrzne. Dane ustrukturyzowane są wymagane dla wielu typów uczenia maszynowego. Sieci neuronowe natomiast potrafią interpretować zdarzenia z otaczającego świata jako dane, które mogą być przetwarzane.
Za każdym razem, gdy czytasz raport, oglądasz film, jedziesz samochodem lub wąchasz kwiat, miliardy neuronów w Twoim mózgu przetwarzają informacje za pośrednictwem niewielkich sygnałów elektrycznych. Każdy neuron przetwarza dane wejściowe, a wyniki są wyprowadzane do następnego neuronu w celu dalszego przetwarzania, finalnie i natychmiast skutkując powstaniem analizy biznesowej, śmiechem, nogą na hamulcu lub odrobiną przyjemności. W uczeniu maszynowym sieci neuronowe umożliwiają systemom cyfrowym interpretowanie sytuacji i reagowanie na nie mniej więcej w ten sam sposób.
Sieć ANN jest jak mózg pełny neuronów cyfrowych i chociaż większość sieci ANN to ograniczone imitacje prawdziwego mózgu, nadal mogą one przetwarzać duże ilości danych nieliniowych w celu rozwiązywania złożonych problemów, które w przeciwnym razie mogłyby wymagać interwencji człowieka. Na przykład analitycy bankowi mogą używać sieci ANN do przetwarzania wniosków kredytowych i przewidywania prawdopodobieństwa niewywiązania się z umowy wnioskodawcy.
Co można robić z sieciami neuronowymi
W przypadku uczenia maszynowego sieci neuronowe są używane do uczenia i modelowania złożonych, nietrwałych danych wejściowych i wyjściowych, wnioskowania niewidocznych relacji i przewidywania bez ograniczeń związanych z dystrybucją danych. Modele sieci neuronowych są podstawą dla wielu zastosowań uczenia głębokiego, takich jak przetwarzanie obrazów i języka naturalnego, które mogą pomóc w ochronie przed oszustwami, rozpoznawaniu twarzy lub działaniu pojazdów autonomicznych.
Większość firm korzysta z prognozowania, aby informować o decyzjach biznesowych, strategiach sprzedaży, zasadach finansowych i wykorzystaniu zasobów. Jednak ograniczenia tradycyjnego prognozowania często utrudniają przewidywanie złożonych, dynamicznych procesów z licznymi i często ukrytymi czynnikami bazowymi, takimi jak ceny giełdowe. Modele sieci neuronowych uczenia głębokiego ułatwiają uwidocznianie złożonych nieliniowych relacji i modelowanie niewidocznych czynników, dzięki czemu firmy mogą opracować dokładne prognozy dla większości działań biznesowych.
Typowe sieci neuronowe
Istnieje kilkadziesiąt różnych typów sieci neuronowych AI, a każda z nich nadaje się do różnych zastosowań uczenia głębokiego. Użyj sieci neuronowej AI, która jest odpowiednia dla Twoich wymagań biznesowych i technologicznych. Oto kilka przykładów typowych sieci neuronowych AI:
Konwolucyjna sieć neuronowa (CNN, Convolutional Neural Network)
Deweloperzy używają sieci CNN, aby wspomagać systemy sztucznej inteligencji przy konwertowaniu obrazów na macierze cyfrowe. Sieci CNN, używane głównie do klasyfikacji obrazów i rozpoznawania obiektów, są odpowiednie do rozpoznawania twarzy, wykrywania tematu i analizy tonacji.
Dekonwolucyjna sieć neuronowa (DNN, Deconvolutional Neural Network)
Jeśli złożone lub obszerne sygnały sieciowe są tracone lub splatane z innymi sygnałami, sieć DNN pomoże je znaleźć. Sieci DNN są przydatne do przetwarzania obrazów o wysokiej rozdzielczości i szacowania przepływu optycznego.
Generatywna sieć przeciwstawna (GAN, Generative Adversarial Network)
Inżynierowie używają sieci GAN w celu trenowania modeli do generowania nowych informacji lub materiałów, które naśladują konkretne właściwości danych treningowych. Sieci GAN pomagają modelom rozróżniać subtelne różnice między oryginałami i kopiami w celu tworzenia bardziej autentycznych kopii. Zastosowania sieci GAN obejmują generowanie obrazów i wideo o wysokiej jakości, zaawansowane rozpoznawanie twarzy i super rozdzielczość.
Rekurencyjna sieć neuronowa (RNN, Recurrent Neural Network)
Sieć RNN wprowadza dane do ukrytych warstw z konkretnym opóźnieniem. Obliczenia sieciowe odwołują się do informacji historycznych w bieżącym stanie, a wyższe dane wejściowe nie zmieniają rozmiaru modelu. Sieci RNN są dobrym wyborem w przypadku rozpoznawania mowy, zaawansowanego prognozowania, robotyki i innych złożonych obciążeń uczenia głębokiego.
Transformatory
Transformatory są przeznaczone do obsługi sekwencyjnych danych wejściowych. Nie są jednak ograniczone do przetwarzania tych danych w kolejności sekwencyjnej. Zamiast tego transformatory używają uwagi — techniki, która umożliwia modelom przypisywanie różnych poziomów wpływu do różnych fragmentów danych wejściowych i identyfikowanie kontekstu dla poszczególnych fragmentów danych w sekwencji wejściowej. Pozwala to na wyższy poziom przetwarzania równoległego, co może skrócić czas trenowania modelu.
Uczenie maszynowe a sieci neuronowe
Mimo że sieci neuronowe są traktowane jako podzestaw uczenia maszynowego, istnieją pewne znaczące różnice między sieciami neuronowymi i zwykłymi modelami uczenia maszynowego.
Po pierwsze sieci neuronowe są zwykle bardziej złożone i mogą działać bardziej niezależnie od zwykłych modeli uczenia maszynowego. Na przykład sieć neuronowa może samodzielnie określić, czy jej przewidywania i wyniki są dokładne, podczas gdy model uczenia maszynowego wymaga podania danych przez inżyniera, aby dokonać tego rozróżnienia.
Ponadto sieci neuronowe są ustrukturyzowane tak, aby sieć neuronowa nadal mogła się uczyć i podejmować inteligentne decyzje samodzielnie. Z drugiej strony modele uczenia maszynowego są ograniczone do podejmowania decyzji tylko na podstawie tego, na czym zostały wytrenowane.
Wprowadzenie do uczenia głębokiego na platformie Azure
Zacznij obsługiwać rozpoznawanie obrazów za pomocą sieci neuronowych lub zoptymalizuj przetwarzanie języka naturalnego za pomocą szybkich, łatwych i dokładnych modeli BERT NLP. Dowiedz się, jak tworzyć, trenować i wdrażać wszystkie typy modeli uczenia głębokiego za pomocą usługi Azure Machine Learning.
Zapoznaj się z uczeniem maszynowym dla analityków danych
Dowiedz się, jak tworzyć rozwiązania do uczenia maszynowego w skali chmury na platformie Azure, i poznaj narzędzia uczenia maszynowego dla badaczy danych oraz inżynierów uczenia maszynowego.