1. Nauka
  2. /
  3. Kursy
  4. /
  5. Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Connected

ćwiczenie

Problem zanikających gradientów

Drugim możliwym problemem z gradientami jest ich zanikanie, czyli zbieganie do zera. To znacznie trudniejszy problem do rozwiązania, ponieważ nie jest łatwy do wykrycia. Jeśli funkcja straty nie poprawia się z każdym krokiem, czy to dlatego, że gradienty zanikły i nie zaktualizowały wag? A może model po prostu nie jest w stanie się uczyć?

Problem ten częściej występuje w modelach RNN, gdy wymagana jest długa pamięć (np. przy przetwarzaniu długich zdań).

W tym ćwiczeniu zaobserwujesz ten problem na danych IMDB, dla których wybrano dłuższe zdania. Dane są załadowane do zmiennych X i y, a także zaimportowane klasy Sequential, SimpleRNN, Dense oraz matplotlib.pyplot jako plt. Model został wstępnie wytrenowany przez 100 epok – jego wagi i historia są zapisane w pliku model_weights.h5 oraz zmiennej history.

Instrukcje

100 XP
  • Dodaj warstwę SimpleRNN do modelu.
  • Wczytaj wstępnie wytrenowane wagi do modelu, używając metody .load_weights().
  • Dodaj do wykresu dokładność na danych treningowych, dostępną pod atrybutem 'acc'.
  • Wyświetl wykres, używając metody .show().