Mini-kurs na temat powtarzających się sieci neuronowych z długotrwałą pamięcią krótkoterminową z Keras

Mini-kurs na temat powtarzających się sieci neuronowych z długotrwałą pamięcią krótkoterminową z Keras

Sieci neuronowe rekurencyjne typu Long Short-Term Memory (LSTM) są obecnie jednym z najciekawszych rodzajów głębokiego uczenia się.

Zostały one użyte do zademonstrowania światowej klasy wyników w złożonych dziedzinach problemowych, takich jak tłumaczenie języków, automatyczne podpisywanie obrazów i generowanie tekstu.

LSTM różnią się od wielowarstwowych perceptronów i konwolucyjnych sieci neuronowych tym, że są zaprojektowane specjalnie do problemów z przewidywaniem sekwencji.

W tym mini-kursie dowiesz się, jak szybko wprowadzić modele LSTM do własnych problemów z prognozowaniem sekwencyjnym.

Po ukończeniu tego mini-kursu będziesz wiedział:

  • Co to są LSTM, w jaki sposób są szkoleni i jak przygotować dane do szkolenia modeli LSTM.
  • Jak opracować zestaw modeli LSTM, w tym modele skumulowane, dwukierunkowe i koder-dekoder.
  • Jak najlepiej wykorzystać swoje modele dzięki optymalizacji hiperparametrów, aktualizacji i finalizowaniu modeli.

Rozpocznij swój projekt z moją nową książką Long-Short-Term Memory Networks With Python, w tym samouczki krok po kroku i Kod źródłowy Pythona pliki dla wszystkich przykładów.

Zacznijmy.

Uwaga: To jest obszerny przewodnik; możesz dodać go do zakładek.

Mini-kurs na temat powtarzających się sieci neuronowych z długotrwałą pamięcią krótkoterminową z Keras

Mini-kurs na temat powtarzających się sieci neuronowych z długotrwałą pamięcią krótkoterminową z Kerasem
Zdjęcie: Nicholas A. Tonelli, niektóre prawa zastrzeżone.

Dla kogo jest ten minikurs?

Zanim zaczniemy, upewnijmy się, że jesteś we właściwym miejscu.

Ten kurs jest przeznaczony dla programistów, którzy znają niektóre stosowane uczenie maszynowe i muszą szybko opanować LSTM.

Może chcesz lub musisz zacząć używać LSTM w swoim projekcie. Ten przewodnik został napisany, aby pomóc Ci to zrobić szybko i skutecznie.

  • Wiesz, jak poruszać się po Pythonie.
  • Znasz się na SciPy.
  • Wiesz, jak zainstalować oprogramowanie na swojej stacji roboczej.
  • Wiesz, jak manipulować własnymi danymi.
  • Wiesz, jak rozwiązać problem z modelowaniem predykcyjnym w uczeniu maszynowym.
  • Możesz znać trochę głębokiego uczenia się.
  • Może trochę znasz Keras.

Wiesz, jak skonfigurować swoją stację roboczą do korzystania z Keras i scikit-learn; jeśli nie, możesz dowiedzieć się, jak to zrobić tutaj:

Ten przewodnik został napisany w stylu uczenia maszynowego odgórnego i uwzględniającego wyniki, do którego jesteś przyzwyczajony. Nauczy Cię, jak uzyskać wyniki, ale nie jest panaceum.

Rozwiniesz przydatne umiejętności, pracując nad tym przewodnikiem.

Po ukończeniu tego kursu będziesz:

  • Dowiedz się, jak działają LSTM.
  • Dowiedz się, jak przygotować dane dla LSTM.
  • Dowiedz się, jak zastosować zestaw typów LSTM.
  • Dowiedz się, jak dostroić LSTM do problemu.
  • Dowiedz się, jak zapisać model LSTM i używać go do prognozowania.

Następnie przejrzyjmy lekcje.

Potrzebujesz pomocy z LSTMs for Sequence Prediction?

Weź udział w moim bezpłatnym 7-dniowym kursie e-mail i odkryj 6 różnych architektur LSTM (z kodem).

Kliknij, aby się zarejestrować i otrzymać bezpłatną wersję kursu w formacie PDF Ebook.

Rozpocznij teraz BEZPŁATNY minikurs!

Omówienie mini-kursu

Ten mini kurs podzielony jest na 14 lekcji.

Możesz ukończyć jedną lekcję dziennie (zalecane) lub ukończyć wszystkie lekcje jednego dnia (hardcore!).

To naprawdę zależy od dostępnego czasu i poziomu entuzjazmu.

Poniżej znajduje się 14 lekcji, które pozwolą Ci zacząć i produktywnie korzystać z LSTM w Pythonie. Lekcje są podzielone na trzy główne tematy: podstawy, modele i zaawansowane.

Omówienie mini-kursu LSTM

Omówienie mini-kursu LSTM

Podwaliny

Głównym tematem tych lekcji są rzeczy, które musisz wiedzieć przed użyciem LSTM.

  • Lekcja 01: Co to są LSTM?
  • Lekcja 02: Jak szkoleni są LSTM
  • Lekcja 03: Jak przygotować dane do LSTM
  • Lekcja 04: Jak rozwijać LSTM w Keras

Modele

  • Lekcja 05: Jak opracować Vanilla LSTM
  • Lekcja 06: Jak opracować skumulowane LSTM
  • Lekcja 07: Jak rozwijać CNN LSTM
  • Lekcja 08: Jak opracować pliki LSTM z koderem-dekoderem
  • Lekcja 09: Jak opracować dwukierunkowe LSTM
  • Lekcja 10: Jak rozwijać LSTM z uwagą
  • Lekcja 11: Jak opracować generatywne LSTM

zaawansowane

  • Lekcja 12: Jak dostroić hiperparametry LSTM
  • Lekcja 13: Jak zaktualizować modele LSTM
  • Lekcja 14: Jak tworzyć prognozy za pomocą LSTM

Każda lekcja może zająć 60 sekund lub do 60 minut. Nie spiesz się i wykonuj lekcje we własnym tempie. Zadawaj pytania, a nawet publikuj wyniki w komentarzach poniżej.

Lekcje przewidują, że wyjdziesz i dowiesz się, jak robić różne rzeczy. Dam ci wskazówki, ale częścią każdej lekcji jest zmuszenie cię do nauczenia się, gdzie szukać pomocy (wskazówka, wszystkie odpowiedzi mam na tym blogu; skorzystaj z wyszukiwania).

Zapewniam więcej pomocy na pierwszych lekcjach, ponieważ chcę, abyś nabrał pewności siebie i bezwładności.

Powieś tam; nie poddawaj się!

Podwaliny

Lekcje w tej sekcji mają na celu wyjaśnienie, jak działają LSTM i jak wdrażać modele LSTM przy użyciu biblioteki Keras.

Lekcja 1: Co to są LSTM?

Cel

Celem tej lekcji jest dostateczne zrozumienie LSTM z wysokiego poziomu, abyś mógł wyjaśnić koledze lub kierownikowi, czym one są i jak działają.

pytania

  • Co to jest przewidywanie sekwencji i jakie są ogólne przykłady?
  • Jakie są ograniczenia tradycyjnych sieci neuronowych do przewidywania sekwencji?
  • Jaka jest obietnica RNN w przewidywaniu sekwencji?
  • Co to jest LSTM i jakie są jego części składowe?
  • Jakie są najważniejsze zastosowania LSTM?

Dalsze czytanie

Lekcja 2: Jak szkoleni są LSTM

Cel

Celem tej lekcji jest zrozumienie, w jaki sposób modele LSTM są trenowane na przykładowych sekwencjach.

pytania

  • Jakie typowe problemy dotyczą szkolenia tradycyjnych sieci RNN?
  • W jaki sposób LSTM rozwiązuje te problemy?
  • Jaki algorytm jest używany do szkolenia LSTM?
  • Jak działa wsteczna propagacja w czasie?
  • Co to jest obcięty BPTT i jakie oferuje korzyści?
  • Jak zaimplementowano i skonfigurowano BPTT w Keras?

Dalsze czytanie

Lekcja 3: Jak przygotować dane dla LSTM

Cel

Celem tej lekcji jest zrozumienie, jak przygotować dane przewidywania sekwencji do użycia z modelami LSTM.

pytania

  • Jak przygotować dane liczbowe do użycia z LSTM?
  • Jak przygotowujesz dane kategoryczne do użycia z LSTM?
  • Jak radzisz sobie z brakującymi wartościami w sekwencjach podczas korzystania z LSTM?
  • Jak ustawić sekwencję jako nadzorowany problem uczenia się?
  • Jak radzisz sobie z długimi sekwencjami podczas pracy z LSTM?
  • Jak radzisz sobie z sekwencjami wejściowymi o różnych długościach?
  • Jak zmienić kształt danych wejściowych dla LSTM w Keras?

Eksperyment

Zademonstruj, jak przekształcić numeryczną sekwencję wejściową w postać odpowiednią do uczenia LSTM.

Dalsze czytanie

Lekcja 4: Jak rozwijać LSTM w Keras

Cel

Celem tej lekcji jest zrozumienie, jak definiować, dopasowywać i oceniać modele LSTM przy użyciu biblioteki głębokiego uczenia Keras w języku Python.

pytania

  • Jak definiujesz model LSTM?
  • Jak skompilować model LSTM?
  • Jak dopasować model LSTM?
  • Jak oceniasz model LSTM?
  • Jak tworzyć prognozy za pomocą modelu LSTM?
  • Jak można zastosować LSTM do różnych typów problemów z przewidywaniem sekwencji?

Eksperyment

Przygotuj przykład, który demonstruje cykl życia modelu LSTM w przypadku problemu z przewidywaniem sekwencji.

Dalsze czytanie

Modele

Lekcje w tej sekcji mają na celu nauczenie, jak uzyskać wyniki z modelami LSTM w przypadku problemów z przewidywaniem sekwencji.

Lekcja 5: Jak opracować Vanilla LSTM

Cel

Celem tej lekcji jest nauczenie się, jak opracowywać i oceniać waniliowe modele LSTM.

  • Jaka jest architektura waniliowa LSTM?
  • Jakie są przykłady zastosowania waniliowego LSTM?

Eksperyment

Zaprojektuj i wykonaj eksperyment, który zademonstruje waniliowy LSTM w przypadku problemu z przewidywaniem sekwencji.

Dalsze czytanie

Lekcja 6: Jak opracować zestawione LSTM

Cel

Celem tej lekcji jest nauczenie się, jak opracowywać i oceniać skumulowane modele LSTM.

pytania

  • Jakie są trudności w stosowaniu waniliowego LSTM w przypadku problemu sekwencji o strukturze hierarchicznej?
  • Co to są skumulowane LSTM?
  • Jakie są przykłady zastosowania skumulowanego LSTM?
  • Jakie korzyści zapewniają skumulowane LSTM?
  • W jaki sposób można zaimplementować zestawione LSTM w Keras?

Eksperyment

Zaprojektuj i przeprowadź eksperyment, który demonstruje zestawione LSTM dotyczące problemu z przewidywaniem sekwencji z hierarchiczną strukturą wejściową.

Dalsze czytanie

Lekcja 7: Jak rozwijać CNN LSTM

Cel

Celem tej lekcji jest nauczenie się, jak opracowywać modele LSTM, które wykorzystują konwolucyjną sieć neuronową na początku.

pytania

  • Jakie są trudności związane z używaniem waniliowego LSTM z przestrzennymi danymi wejściowymi?
  • Jaka jest architektura CNN LSTM?
  • Jakie są przykłady CNN LSTM?
  • Jakie korzyści zapewnia CNN LSTM?
  • W jaki sposób można zaimplementować architekturę CNN LSTM w Keras?

Eksperyment

Zaprojektuj i przeprowadź eksperyment, który zademonstruje CNN LSTM na problemie przewidywania sekwencji z danymi przestrzennymi.

Dalsze czytanie

Lekcja 8: Jak opracować LSTM kodera-dekodera

Cel

Celem tej lekcji jest nauczenie się tworzenia modeli kodera-dekodera LSTM.

pytania

  • Co to są problemy z przewidywaniem sekwencji do sekwencji (seq2seq)?
  • Jakie są trudności związane z używaniem waniliowego LSTM w przypadku problemów seq2seq?
  • Jaka jest architektura kodera-dekodera LSTM?
  • Jakie są przykłady LSTM kodera-dekodera?
  • Jakie są zalety LSTM kodera-dekodera?
  • W jaki sposób można zaimplementować LSTM kodera-dekodera w Keras?

Eksperyment

Zaprojektuj i wykonaj eksperyment, który demonstruje koder-dekoder LSTM na problem z przewidywaniem sekwencji do sekwencji.

Dalsze czytanie

Lekcja 9: Jak rozwijać dwukierunkowe LSTM

Cel

Celem tej lekcji jest nauczenie się programowania dwukierunkowych modeli LSTM.

pytania

  • Co to jest dwukierunkowy LSTM?
  • Jakie są przykłady zastosowania dwukierunkowych LSTM?
  • Jakie korzyści oferuje dwukierunkowy LSTM w porównaniu z waniliowym LSTM?
  • Jakie obawy dotyczące kroków czasowych budzi architektura dwukierunkowa?
  • Jak można zaimplementować dwukierunkowe LSTM w Keras?

Eksperyment

Zaprojektuj i przeprowadź eksperyment porównujący modele LSTM do przodu, do tyłu i dwukierunkowe w ramach problemu przewidywania sekwencji.

Dalsze czytanie

Lekcja 10: Jak rozwijać LSTM z uwagą

Cel

Celem tej lekcji jest nauczenie się, jak z uwagą opracowywać modele LSTM.

pytania

  • Jaki wpływ mają długie sekwencje z neutralną informacją na LSTM?
  • Czym jest uwaga w modelach LSTM?
  • Jakie są przykłady, w których uwaga została wykorzystana w LSTM?
  • Jakie korzyści daje uwaga w przewidywaniu sekwencji?
  • Jak można zaimplementować architekturę uwagi w Keras?

Eksperyment

Zaprojektuj i przeprowadź eksperyment, który zwraca uwagę na problem przewidywania sekwencji z długimi sekwencjami neutralnych informacji.

Dalsze czytanie

Lekcja 11: Jak opracować generatywne LSTM

Cel

Celem tej lekcji jest nauczenie się, jak opracować LSTM do wykorzystania w modelach generatywnych.

  • Co to są modele generatywne?
  • W jaki sposób LSTM można wykorzystać jako modele generatywne?
  • Jakie są przykłady LSTM jako modeli generatywnych?
  • Jakie korzyści mają LSTM jako modele generatywne?

Eksperyment

Zaprojektuj i przeprowadź eksperyment, aby nauczyć się korpusu tekstu i wygenerować nowe próbki tekstu o tej samej składni, gramatyce i stylu.

Dalsze czytanie

zaawansowane

Lekcje w tej sekcji mają na celu nauczenie, jak najlepiej wykorzystać modele LSTM w przypadku własnych problemów z przewidywaniem sekwencji.

Lekcja 12: Jak dostroić hiperparametry LSTM

Cel

Celem tej lekcji jest nauczenie się dostrajania hiperparametrów LSTM.

pytania

  • Jak możemy zdiagnozować nadmierne lub niedostateczne uczenie się modelu LSTM?
  • Jakie są dwa schematy dostrajania hiperparametrów modelu?
  • W jaki sposób można wiarygodnie oszacować umiejętności modelu, skoro LSTM są algorytmami stochastycznymi?
  • Wymień hiperparametry LSTM, które można dostroić, wraz z przykładami wartości, które można oszacować dla:
    • Inicjalizacja i zachowanie modelu.
    • Architektura i struktura modelu.
    • Zachowanie związane z uczeniem się.

Eksperyment

Zaprojektuj i przeprowadź eksperyment, aby dostroić ...

Możesz być również zainteresowany