10 najlepszych technik głębokiego uczenia się, o których powinieneś wiedzieć

Opublikowany: 2020-05-29

Spis treści

Wstęp

Uczenie maszynowe i sztuczna inteligencja zmieniły otaczający nas świat w ciągu ostatnich kilku lat dzięki przełomowym innowacjom. Co więcej, to różne techniki głębokiego uczenia się, które przenoszą uczenie maszynowe na zupełnie nowy poziom, gdzie maszyny mogą uczyć się rozróżniać zadania, inspirowane siecią neuronową ludzkiego mózgu. To jest powód, dla którego mamy sterowanie głosowe na naszych smartfonach i pilotach telewizyjnych.

Istnieją różne typy modeli głębokiego uczenia, które są zarówno dokładne, jak i skutecznie rozwiązują problemy, które są zbyt złożone dla ludzkiego mózgu. Oto jak:

10 najlepszych technik głębokiego uczenia się

1. Klasyczne sieci neuronowe

Znany również jako w pełni połączone sieci neuronowe, jest często identyfikowany przez jego wielowarstwowe perceptrony, w których neurony są połączone z warstwą ciągłą. Został zaprojektowany przez Frana Rosenblatta, amerykańskiego psychologa, w 1958 roku. Polega na adaptacji modelu do podstawowych danych binarnych wejściowych. W tym modelu występują trzy funkcje: są to:

  • Funkcja liniowa: słusznie nazywana, reprezentuje pojedynczą linię, która mnoży swoje dane wejściowe przez stały mnożnik.
  • Funkcja nieliniowa: jest dalej podzielona na trzy podzbiory:
  1. Krzywa sigmoidalna: Jest to funkcja interpretowana jako krzywa w kształcie litery S o zakresie od 0 do 1.
  2. Tangens hiperboliczny (tanh) odnosi się do krzywej w kształcie litery S o zakresie od -1 do 1.
  3. Rectified Linear Unit (ReLU): Jest to funkcja jednopunktowa, która daje 0, gdy wartość wejściowa jest mniejsza niż wartość zadana i daje wielokrotność liniową, jeśli podana wartość wejściowa jest wyższa niż wartość zadana.

Działa najlepiej w:

  1. Dowolny zestaw danych tabeli, który zawiera wiersze i kolumny sformatowane w formacie CSV
  2. Problemy z klasyfikacją i regresją z wprowadzaniem wartości rzeczywistych
  3. Dowolny model o najwyższej elastyczności, taki jak model ANNS

2. Konwolucyjne sieci neuronowe

CNN to zaawansowany i wysoce potencjalny typ klasycznego modelu sztucznej sieci neuronowej. Został stworzony z myślą o radzeniu sobie z większą złożonością, wstępnym przetwarzaniem i kompilacją danych. Odwołuje się do porządku ułożenia neuronów obecnych w korze wzrokowej mózgu zwierzęcia.

Sieci CNN można uznać za jeden z najbardziej wydajnych elastycznych modeli do specjalizacji w danych obrazowych i nieobrazowych. Mają cztery różne organizacje:

  • Składa się z pojedynczej warstwy wejściowej, która generalnie jest dwuwymiarowym układem neuronów do analizy pierwotnych danych obrazu, podobnym do pikseli fotograficznych.
  • Niektóre CNN składają się również z jednowymiarowej wyjściowej warstwy neuronów, która przetwarza obrazy na ich wejściach za pośrednictwem rozproszonych połączonych warstw splotowych.
  • Sieci CNN mają również obecność trzeciej warstwy zwanej warstwą próbkowania, która ogranicza liczbę neuronów zaangażowanych w odpowiednie warstwy sieci.
  • Ogólnie rzecz biorąc, CNN mają jedną lub wiele połączonych warstw, które łączą próbkowanie z warstwami wyjściowymi.

Ten model sieci może pomóc w uzyskaniu odpowiednich danych obrazu w postaci mniejszych jednostek lub fragmentów. Neurony obecne w warstwach splotu są odpowiedzialne za skupisko neuronów w warstwie poprzedniej.

Po zaimportowaniu danych wejściowych do modelu splotowego, budowanie CNN obejmuje cztery etapy:

  • Konwolucja: proces wyprowadza mapy cech z danych wejściowych, po których następuje funkcja zastosowana do tych map.
  • Max-Pooling: Pomaga CNN wykryć obraz na podstawie wprowadzonych modyfikacji.
  • Spłaszczanie: Na tym etapie wygenerowane dane są następnie spłaszczane do analizy przez CNN.
  • Pełne połączenie: jest często opisywane jako ukryta warstwa, która kompiluje funkcję straty dla modelu.

Sieci CNN są odpowiednie do zadań, w tym rozpoznawania obrazu, analizy obrazu, segmentacji obrazu, analizy wideo i przetwarzania języka naturalnego. Mogą jednak istnieć inne scenariusze, w których sieci CNN mogą okazać się przydatne, takie jak:

  • Zbiory danych obrazu zawierające analizę dokumentów OCR
  • Wszelkie dwuwymiarowe dane wejściowe, które można następnie przekształcić w jednowymiarowe w celu szybszej analizy
  • Model musi być zaangażowany w swoją architekturę, aby uzyskać wyniki.

Czytaj więcej: Konwulacyjna sieć neuronowa

3. Rekurencyjne sieci neuronowe (RNN)

RNN zostały po raz pierwszy zaprojektowane, aby pomóc przewidywać sekwencje, na przykład algorytm pamięci długoterminowej (LSTM) znany jest z wielu funkcji. Takie sieci działają całkowicie na sekwencjach danych o zmiennej długości wejściowej.

RNN umieszcza wiedzę uzyskaną z poprzedniego stanu jako wartość wejściową dla bieżącej prognozy. Dlatego może pomóc w uzyskaniu pamięci krótkotrwałej w sieci, prowadząc do efektywnego zarządzania zmianami cen akcji lub innych systemów danych opartych na czasie.

Jak wspomniano wcześniej, istnieją dwa ogólne typy projektów RNN, które pomagają w analizie problemów. Oni są:

  • LSTM: Przydatne w przewidywaniu danych w sekwencjach czasowych przy użyciu pamięci. Ma trzy bramy: wejście, wyjście i zapomnij.
  • Bramkowane RNN: Przydatne również w przewidywaniu danych sekwencji czasowych za pomocą pamięci. Ma dwie bramy — Aktualizuj i Resetuj.

Działa najlepiej w:

  • Jeden do jednego: pojedyncze wejście połączone z pojedynczym wyjściem, takie jak klasyfikacja obrazu.
  • Jeden do wielu: pojedyncze wejście połączone z sekwencjami wyjściowymi, takie jak Podpisy obrazów, które zawierają kilka słów z jednego obrazu.
  • Wiele do jednego: szereg danych wejściowych generujących pojedyncze dane wyjściowe, takie jak analiza nastrojów.
  • Wiele do wielu: Seria wejść dająca serie wyjść, jak klasyfikacja wideo.

Jest również szeroko stosowany w tłumaczeniach językowych, modelowaniu rozmów i nie tylko.

Uzyskaj najlepszy kurs uczenia maszynowego online z najlepszych uniwersytetów na świecie. Zdobywaj programy Masters, Executive PGP lub Advanced Certificate Programy, aby przyspieszyć swoją karierę.

4. Sieci generatywnych przeciwników

Jest to połączenie dwóch technik głębokiego uczenia sieci neuronowych – Generatora i Dyskryminatora. Podczas gdy sieć generatorów dostarcza sztuczne dane, dyskryminator pomaga odróżnić dane rzeczywiste od fałszywych.

Obie sieci są konkurencyjne, ponieważ Generator wytwarza sztuczne dane identyczne z danymi rzeczywistymi – a Dyskryminator stale wykrywa rzeczywiste i nierzeczywiste dane. W scenariuszu, w którym istnieje wymóg stworzenia biblioteki obrazów, sieć Generatora wygeneruje symulowane dane do autentycznych obrazów. Następnie generowałby dekonwolucyjną sieć neuronową.

Następnie miałaby nastąpić sieć Image Detector w celu rozróżnienia między prawdziwymi a fałszywymi obrazami. Zaczynając od 50% szansy na dokładność , detektor musi rozwinąć swoją jakość klasyfikacji, ponieważ generator będzie lepiej generował sztuczny obraz. Taka konkurencja ogólnie przyczyniłaby się do zwiększenia skuteczności i szybkości sieci.

Działa najlepiej w:

  • Generowanie obrazu i tekstu
  • Ulepszanie obrazu
  • Procesy odkrywania nowych leków

5. Samoorganizujące się mapy

SOM lub samoorganizujące się mapy działają z pomocą nienadzorowanych danych, które zmniejszają liczbę zmiennych losowych w modelu. W tego rodzaju technice uczenia głębokiego wymiar wyjściowy jest ustalony jako model dwuwymiarowy, ponieważ każda synapsa łączy się z węzłami wejściowymi i wyjściowymi.

Gdy każdy punkt danych konkuruje o swoją reprezentację modelu, SOM aktualizuje wagę najbliższych węzłów lub jednostek najlepszego dopasowania (BMU) . Na podstawie bliskości BMU zmienia się wartość odważników. Ponieważ wagi są uważane za cechę samą w sobie węzła, wartość reprezentuje lokalizację węzła w sieci.

Działa najlepiej w:

  • Gdy zbiory danych nie zawierają wartości na osi Y
  • Eksploracje projektowe do analizy struktury zbioru danych
  • Kreatywne projekty w muzyce, wideo i tekście z pomocą AI

6. Maszyny Boltzmanna

Ten model sieci nie ma żadnego predefiniowanego kierunku i dlatego jego węzły są połączone w układzie kołowym. Ze względu na tę wyjątkowość ta technika głębokiego uczenia jest wykorzystywana do tworzenia parametrów modelu.

W odróżnieniu od wszystkich poprzednich deterministycznych modeli sieci, model Boltzmanna Machines jest określany jako stochastyczny.

Działa najlepiej w:

  • Monitorowanie systemu
  • Konfiguracja platformy rekomendacji binarnych
  • Analizowanie określonych zbiorów danych

Przeczytaj: Metody krok po kroku do zbudowania własnego systemu AI już dziś

7. Głębokie uczenie się wzmacniania

Przed zrozumieniem techniki Deep Reinforcement Learning uczenie się przez wzmacnianie odnosi się do procesu, w którym agent wchodzi w interakcję ze środowiskiem, aby zmodyfikować jego stan. Agent może obserwować i podejmować odpowiednie działania, pomaga sieci osiągnąć swój cel poprzez interakcję z sytuacją.

Tutaj, w tym modelu sieci, istnieje warstwa wejściowa, warstwa wyjściowa i kilka ukrytych warstw wielokrotnych – gdzie stan środowiska jest samą warstwą wejściową. Model działa na ciągłych próbach przewidywania przyszłej nagrody za każde działanie podjęte w danym stanie sytuacji.

Działa najlepiej w:

  • Gry planszowe, takie jak szachy, poker
  • Samochody z napędem własnym
  • Robotyka
  • Zarządzanie zapasami
  • Zadania finansowe, takie jak wycena aktywów

8. Autokodery

Jeden z najczęściej używanych rodzajów technik głębokiego uczenia , ten model działa automatycznie na podstawie danych wejściowych, przed wykonaniem funkcji aktywacji i dekodowaniem końcowego wyjścia. Taka formacja wąskiego gardła prowadzi do uzyskania mniejszych kategorii danych i wykorzystania większości nieodłącznych struktur danych.

Rodzaje autokoderów to:

  • Rzadki — gdzie warstwy ukryte przewyższają liczebnie warstwę wejściową, aby zastosować podejście uogólniające w celu zmniejszenia nadmiernego dopasowania. Ogranicza funkcję strat i zapobiega nadużywaniu przez autoenkoder wszystkich jego węzłów.
  • Odszumianie – tutaj zmodyfikowana wersja danych wejściowych zostaje losowo przekształcona w 0.
  • Kontraktowy — dodanie współczynnika kary do funkcji straty w celu ograniczenia nadmiernego dopasowania i kopiowania danych w przypadku, gdy ukryta warstwa przewyższa liczbę warstw wejściowych.
  • Stacked – w przypadku autokodera po dodaniu kolejnej warstwy ukrytej prowadzi to do dwóch etapów kodowania w stosunku do jednej fazy dekodowania.

Działa najlepiej w:

  • Wykrywanie funkcji
  • Konfigurowanie atrakcyjnego modelu rekomendacji
  • Dodaj funkcje do dużych zbiorów danych

Przeczytaj: Regularyzacja w głębokim uczeniu

9. Propagacja wsteczna

W uczeniu głębokim technika propagacji wstecznej lub propagacji wstecznej jest określana jako centralny mechanizm dla sieci neuronowych, który umożliwia poznawanie wszelkich błędów w przewidywaniu danych. Z kolei propagacja dotyczy transmisji danych w określonym kierunku przez dedykowany kanał. Cały system może pracować zgodnie z propagacją sygnału w kierunku do przodu w momencie decyzji i odsyła wszelkie dane o usterkach w sieci w odwrotnej kolejności.

  • Najpierw sieć analizuje parametry i decyduje o danych
  • Po drugie, jest ważona funkcją straty
  • Po trzecie, zidentyfikowany błąd jest propagowany wstecz w celu samoregulacji wszelkich nieprawidłowych parametrów

Działa najlepiej w:

  • Debugowanie danych

10. Zejście gradientowe

W kontekście matematycznym gradient odnosi się do slopu, który ma mierzalny kąt i może być przedstawiony w relacji między zmiennymi. W tej technice głębokiego uczenia związek między błędem generowanym w sieci neuronowej a błędem parametrów danych można przedstawić jako „x” i „y”. Ponieważ zmienne są dynamiczne w sieci neuronowej, błąd może być zwiększany lub zmniejszany przy niewielkich zmianach.

Wielu profesjonalistów wyobraża sobie tę technikę jako ścieżkę rzeczną schodzącą ze zboczy górskich. Celem takiej metody jest — znalezienie optymalnego rozwiązania. Ponieważ w sieci neuronowej występuje kilka lokalnych rozwiązań minimum, w których dane mogą zostać uwięzione i prowadzić do wolniejszych, niepoprawnych kompilacji – istnieją sposoby na powstrzymanie się od takich zdarzeń.

Jako teren góry, w sieci neuronowej występują określone funkcje zwane funkcjami wypukłymi, które utrzymują przepływ danych w oczekiwanym tempie i osiągają maksimum. Mogą występować różnice w metodach przyjmowanych przez dane wprowadzane do miejsca docelowego ze względu na różnice w wartościach początkowych funkcji.

Działa najlepiej w:

  • Aktualizacja parametrów w danym modelu

Przeczytaj także: 15 ciekawych pomysłów na projekty uczenia maszynowego dla początkujących

Zawijanie

Istnieje wiele technik głębokiego uczenia, które wiążą się z jego funkcjonalnością i praktycznym podejściem. Po zidentyfikowaniu tych modeli i umieszczeniu ich w odpowiednich scenariuszach może to prowadzić do uzyskania zaawansowanych rozwiązań opartych na frameworku używanym przez programistów. Powodzenia!

Sprawdź Advanced Certification Program in Machine Learning & Cloud z IIT Madras, najlepszą szkołą inżynierską w kraju, aby stworzyć program, który nauczy Cię nie tylko uczenia maszynowego, ale także skutecznego jego wdrażania z wykorzystaniem infrastruktury chmury. Naszym celem w ramach tego programu jest otwarcie drzwi najbardziej selektywnego instytutu w kraju i zapewnienie uczniom dostępu do niesamowitych wydziałów i zasobów, aby opanować umiejętność, która jest na wysokim poziomie i rośnie

Czym są ogólne sieci przeciwników?

Jest to hybryda dwóch technik głębokiego uczenia sieci neuronowych: generatorów i dyskryminatorów. Podczas gdy sieć generatora generuje fikcyjne dane, dyskryminator pomaga w rozróżnieniu między danymi rzeczywistymi a fikcyjnymi. Ponieważ Generator nadal generuje fałszywe dane, które są identyczne z prawdziwymi danymi – a dyskryminator nadal rozpoznaje rzeczywiste i nierzeczywiste dane – obie sieci są konkurencyjne. Sieć Generatora wygeneruje wyniki symulacji do autentycznych zdjęć w przypadku, gdy wymagana jest biblioteka obrazów. Następnie stworzyłby dekonwolucyjną sieć neuronową.

Jaki jest pożytek z map samoorganizujących się?

SOM, czyli mapy samoorganizujące się, działają poprzez zmniejszenie liczby zmiennych losowych w modelu przy użyciu danych nienadzorowanych. Ponieważ każdy neuron łączy się ze swoimi węzłami wlotowymi i wylotowymi, wymiarowość wyniku jest ustawiana jako dwuwymiarowy model w tego rodzaju technice głębokiego uczenia. SOM dostosowuje wartość najbliższych węzłów lub jednostek najlepszego dopasowania, ponieważ każdy punkt danych licytuje swoją reprezentację modelu (BMU). Wartość odważników różni się w zależności od tego, jak blisko znajduje się BMU. Ponieważ wagi są uważane za cechy węzła same w sobie, wartość oznacza pozycję węzła w sieci.

Co to jest propagacja wsteczna?

Algorytm propagacji wstecznej lub podejście back-prop jest ważnym wymogiem dla sieci neuronowych, aby dowiedzieć się o wszelkich błędach w przewidywaniu danych w uczeniu głębokim. Z drugiej strony propagacja odnosi się do przesyłania danych w określonym kierunku przez określony kanał. W momencie wyboru cały system może pracować zgodnie z propagacją sygnału w kierunku do przodu, a wszelkie dane dotyczące usterek sieci odsyła w kierunku przeciwnym.