Capitolo 15: Sequenze con RNN e CNN
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quale impostazione deve essere utilizzata in tutti i livelli ricorrenti di un RNN profondo, eccetto l'ultimo?

  • return_sequences=False
  • return_sequences=Keep
  • return_sequences=Never
  • return_sequences=True (correct)

Qual è l'MSE del modello RNN quando prevede solo il valore successivo?

  • 0.003
  • 0.0188
  • 0.029 (correct)
  • 0.223

Come si può migliorare l'accuratezza nella previsione di più passi temporali?

  • Prevedere tutti i 10 valori consecutivamente alla fine.
  • Prevedere solo il valore immediatamente successivo.
  • Prevedere i 10 valori a ciascun passo temporale. (correct)
  • Usare un modello lineare per la previsione.

Qual è la funzione principale delle celle LSTM?

<p>Controllare se gli stati devono essere memorizzati o scartati (A)</p> Signup and view all the answers

Qual è il vantaggio principale dell'uso di un modello sequenza-a-sequenza rispetto a uno sequenza-a-vettore?

<p>Incorpora il pagamento del termine di output ad ogni passo. (A)</p> Signup and view all the answers

Cosa rappresenta h(t) in una cella LSTM?

<p>Lo stato a breve termine (D)</p> Signup and view all the answers

Quale gate controlla quali parti dello stato a lungo termine devono essere cancellate?

<p>Gate di dimenticanza (D)</p> Signup and view all the answers

Qual è l'MSE finale per il modello sequenza-a-sequenza?

<p>0.006 (C)</p> Signup and view all the answers

Cosa deve essere applicato a ogni passo temporale in un modello sequenza-a-sequenza?

<p>Strato Denso (B)</p> Signup and view all the answers

Quali matrici di pesi sono associate al gate di output in una cella LSTM?

<p>Whi e Who (B)</p> Signup and view all the answers

Qual è il range della funzione di attivazione logistica utilizzata nei gate delle celle LSTM?

<p>0 a 1 (C)</p> Signup and view all the answers

Qual è il problema principale quando si utilizza il metodo di previsione passo dopo passo?

<p>Gli errori possono accumularsi nel tempo. (D)</p> Signup and view all the answers

Quale livello Keras è consigliato per trasformare gli input per il modello sequenza-a-sequenza?

<p>TimeDistributed (A)</p> Signup and view all the answers

Cosa controlla il gate di input in una cella LSTM?

<p>La quantità di informazioni da aggiungere allo stato a lungo termine (D)</p> Signup and view all the answers

Quale operazione viene utilizzata per generare h(t) da c(t-1)?

<p>Passaggio attraverso la funzione tanh (A)</p> Signup and view all the answers

Qual è uno dei principali vantaggi di utilizzare celle LSTM?

<p>Gestione efficace delle dipendenze a lungo termine (A)</p> Signup and view all the answers

Qual è la funzione principale delle reti neurali ricorrenti (RNN)?

<p>Prevedere il futuro basandosi su dati temporali (D)</p> Signup and view all the answers

Cosa rappresenta h(t) in una rete neurale ricorrente?

<p>Lo stato nascosto al passo temporale t (A)</p> Signup and view all the answers

Quale di queste affermazioni è vera riguardo ai neuroni ricorrenti?

<p>Hanno pesi separati per input e output del passo precedente (C)</p> Signup and view all the answers

Qual è il ruolo di una cella di memoria in una rete neurale ricorrente?

<p>Preservare uno stato attraverso i passi temporali (B)</p> Signup and view all the answers

Qual è una limitazione delle reti neurali ricorrenti tradizionali?

<p>Hanno memoria a lungo termine limitata (D)</p> Signup and view all the answers

In che modo il modello WaveNet si differenzia dalle RNN tradizionali?

<p>Elabora i dati temporali in modo simile ma con una struttura diversa (C)</p> Signup and view all the answers

Qual è il problema principale affrontato durante l'addestramento delle RNN?

<p>Gradienti instabili (C)</p> Signup and view all the answers

Come si calcola l'output y(t) al passo temporale t in una RNN?

<p>Come funzione degli input attuali e dello stato precedente (B)</p> Signup and view all the answers

Quale funzione di attivazione si consiglia di utilizzare per le RNN per evitare problemi di instabilità?

<p>Tangente iperbolica (B)</p> Signup and view all the answers

Quando si osservano gradienti instabili durante l'addestramento, quale metodo dovrebbe essere utilizzato per affrontare questo problema?

<p>Clipping dei gradienti (B)</p> Signup and view all the answers

Qual è un vantaggio principale della Normalizzazione a livello di strato rispetto alla Normalizzazione del batch nelle RNN?

<p>Può calcolare le statistiche su richiesta per ogni istanza (B)</p> Signup and view all the answers

Quale metodo può essere utilizzato per monitorare la dimensione dei gradienti durante l'addestramento delle RNN?

<p>Con TensorBoard (D)</p> Signup and view all the answers

Quale affermazione è vera riguardo alla perdita di informazioni in una RNN?

<p>Le informazioni vengono perse costantemente ad ogni passo temporale. (A)</p> Signup and view all the answers

Quale tipo di rete è progettato per prevedere sequenze di dati come i prezzi delle azioni?

<p>Rete sequenza-a-sequenza (D)</p> Signup and view all the answers

Quale delle seguenti affermazioni è falsa riguardo alla Normalizzazione del batch nelle RNN?

<p>Funziona infallibilmente per ogni tipo di rete. (A)</p> Signup and view all the answers

Cos'è un'autoregresione in relazione all'imputazione dei valori mancanti?

<p>Prevedere valori futuri in base ai dati passati (A)</p> Signup and view all the answers

Che effetto può avere l'uso di attivazioni non saturanti nelle RNN durante l'addestramento?

<p>Può causare un'esplosione dei gradienti. (D)</p> Signup and view all the answers

Quale metodo è utilizzato per aggiornare i parametri del modello durante l'addestramento delle reti neurali ricorrenti?

<p>Retropropagazione attraverso il tempo (BPTT) (D)</p> Signup and view all the answers

Qual è il formato della serie temporale univariata?

<p>Una sequenza di dati contenente solo un valore per intervallo di tempo (C)</p> Signup and view all the answers

Quali hyperparametri possono essere utilizzati per aggiungere dropout nei livelli ricorrenti forniti da Keras?

<p>dropout e recurrent_dropout (C)</p> Signup and view all the answers

Come è rappresentato un insieme di input in una rete neurale per serie temporali?

<p>Array 3D (C)</p> Signup and view all the answers

Quale elemento viene utilizzato nella fase di valutazione dell'output nella retropropagazione attraverso il tempo?

<p>Funzione di costo (D)</p> Signup and view all the answers

Cosa caratterizza una rete vettore-a-sequenza?

<p>L'input è costituito da un'immagine e l'output è un testo (A)</p> Signup and view all the answers

Quali sono le dimensioni tipiche di un array per una serie temporale univariata?

<p>[batch size, time steps, 1] (D)</p> Signup and view all the answers

Qual è il valore medio dell'errore quadratico (MSE) per il metodo di previsione naive?

<p>0.020 (A)</p> Signup and view all the answers

Qual è la principale differenza tra un RNN semplice e un modello lineare semplice in termini di numero di parametri?

<p>Il modello lineare ha più parametri dell'RNN. (C)</p> Signup and view all the answers

Cosa accade se il parametro return_sequences è impostato su True in un layer RNN di Keras?

<p>Restituisce un output per ogni passaggio temporale. (B)</p> Signup and view all the answers

Qual è il valore dell'MSE raggiunto dal semplice RNN dopo l'addestramento?

<p>0.014 (C)</p> Signup and view all the answers

Perché potrebbe essere vantaggioso rimuovere trend e stagionalità prima di addestrare alcuni modelli di previsione?

<p>Per migliorare la capacità del modello di apprendere i dati. (B)</p> Signup and view all the answers

Qual è l'errore quadratico medio (MSE) stimato per il modello lineare semplice?

<p>0.004 (D)</p> Signup and view all the answers

Quale attivazione utilizza di default il layer SimpleRNN?

<p>Funzione tangente iperbolica. (C)</p> Signup and view all the answers

Perchè potrebbe essere non necessario rimuovere trend e stagionalità quando si utilizzano RNN?

<p>Perché gli RNN possono includere direttamente questi fattori nel loro modello. (A)</p> Signup and view all the answers

Flashcards

Rete Sequenza-a-Sequenza

Una rete neurale che accetta una sequenza di input e produce una sequenza di output.

Rete Sequenza-a-Vettore

Una rete neurale che accetta una sequenza di input e produce un singolo valore di output.

Rete Vettore-a-Sequenza

Una rete neurale che accetta un singolo valore di input e produce una sequenza di output.

Codificatore-Decodificatore

Una rete neurale costituita da un encoder e un decoder. L'encoder converte l'input in una rappresentazione vettoriale, mentre il decoder decodifica il vettore in output.

Signup and view all the flashcards

Backpropagation nel Tempo (BPTT)

Un algoritmo di apprendimento che aggiorna i parametri di una rete neurale ricorrente (RNN) durante il processo di apprendimento.

Signup and view all the flashcards

Serie Temporale

Una sequenza di dati che si misura nel tempo. Può avere un solo valore o più valori per ogni unità di tempo.

Signup and view all the flashcards

Previsione di una Serie Temporale

La previsione dei valori futuri di una serie temporale.

Signup and view all the flashcards

Imputazione di una Serie Temporale

La sostituzione dei valori mancanti in una serie temporale.

Signup and view all the flashcards

Previsione ingenua

Un metodo di previsione che utilizza l'ultimo valore di una serie temporale per prevedere il valore successivo.

Signup and view all the flashcards

Modello lineare

Un modello che utilizza una combinazione lineare dei valori della serie temporale per fare previsioni.

Signup and view all the flashcards

RNN semplice

Un tipo di rete neurale ricorrente che elabora le informazioni sequenzialmente, memorizzando le informazioni passate.

Signup and view all the flashcards

Tendenza

La tendenza di base o la direzione generale di una serie temporale.

Signup and view all the flashcards

Stazionalità

Un modello ciclico o ripetitivo che si verifica a intervalli regolari.

Signup and view all the flashcards

Decomposizione

Rimuovere la tendenza e la stazionalità dalla serie temporale prima di costruire un modello.

Signup and view all the flashcards

Ricostruzione

Un metodo per migliorare le previsioni RNN applicando un modello di tendenza e stazionalità dopo aver fatto le previsioni.

Signup and view all the flashcards

Modelli di previsione tradizionali

Algoritmi come il Weighted Moving Average e ARIMA, che richiedono di rimuovere la tendenza e la stagionalità dai dati prima della modellazione.

Signup and view all the flashcards

Cella LSTM (Long Short-Term Memory)

Un tipo di cella di memoria a lungo termine che utilizza un meccanismo di cancellazione e aggiornamento per conservare informazioni importanti.

Signup and view all the flashcards

h(t)

Un vettore che rappresenta lo stato a breve termine di una cella LSTM.

Signup and view all the flashcards

c(t)

Un vettore che rappresenta lo stato a lungo termine di una cella LSTM.

Signup and view all the flashcards

Porta di Input (i(t))

Un componente di una cella LSTM che controlla quali informazioni vengono aggiunte o eliminate dallo stato a lungo termine.

Signup and view all the flashcards

Porta di Forget (f(t))

Un componente di una cella LSTM che controlla quali informazioni dallo stato a lungo termine vengono dimenticate.

Signup and view all the flashcards

Porta di Output (o(t))

Un componente di una cella LSTM che controlla quali informazioni dallo stato a lungo termine vengono usate per l'output.

Signup and view all the flashcards

Livello principale di una cella LSTM

Un processo che combina l'input corrente e lo stato a breve termine della cella LSTM per generare un vettore g(t) che può essere aggiunto allo stato a lungo termine.

Signup and view all the flashcards

Funzione di attivazione logistica

Una funzione di attivazione che limita l'output di un gate LSTM tra 0 e 1.

Signup and view all the flashcards

Cosa sono le RNN?

Una rete neurale ricorrente (RNN) è un tipo di rete neurale che può prevedere il futuro. Può analizzare dati di serie temporali come i prezzi delle azioni.

Signup and view all the flashcards

Come funziona un neurone ricorrente?

Un neurone ricorrente riceve sia l'input corrente (x(t)) sia l'output del passo temporale precedente (y(t-1)).

Signup and view all the flashcards

Cosa sono i pesi in un neurone ricorrente?

Un neurone ricorrente ha un peso per l'input corrente (Wx) e un peso per l'output del passo temporale precedente (Wy).

Signup and view all the flashcards

Cos'è una cella di memoria nella RNN?

Una cella di memoria in una rete neurale è un componente che mantiene uno stato attraverso i passi temporali, consentendo alla rete di imparare modelli più complessi. Un esempio è un neurone ricorrente o un livello di neuroni ricorrenti.

Signup and view all the flashcards

Come viene calcolato lo stato di una cella di memoria?

Lo stato di una cella di memoria al passo temporale t, indicato come h(t), è una funzione dello stato precedente e dell'input corrente, rappresentata dalla formula: h(t) = f(h(t-1), x(t)).

Signup and view all the flashcards

Come viene determinato l'output di una cella di memoria?

L'output al passo temporale t, indicato come y(t), è una funzione dello stato precedente e dell'input attuale.

Signup and view all the flashcards

Cos'è la backpropagation nel tempo?

La backpropagation nel tempo (BPTT) è un algoritmo utilizzato per addestrare le RNN. Consente di propagare il gradiente di errore attraverso tutti i passi temporali.

Signup and view all the flashcards

Cos'è WaveNet?

WaveNet è un'architettura CNN progettata per l'elaborazione di dati di serie temporali. Offre prestazioni simili alle RNN.

Signup and view all the flashcards

Problema dei gradienti instabili

Un problema che si verifica nelle RNN quando i gradienti diventano troppo grandi o troppo piccoli durante l'addestramento, rendendo difficile per la rete apprendere.

Signup and view all the flashcards

Limitazione dei gradienti (Gradient Clipping)

Un metodo per evitare che i gradienti esplodano durante l'addestramento di una RNN. Limita l'ampiezza dei gradienti a un valore massimo.

Signup and view all the flashcards

Normalizzazione per layer

Un tipo di normalizzazione che viene applicata ai dati di input di un neurone all'interno di una rete neurale ricorrente. Viene utilizzata per stabilizzare l'addestramento della RNN.

Signup and view all the flashcards

LSTM (Long Short-Term Memory)

Un tipo di rete neurale ricorrente che ha una memoria a lungo termine, consentendo di ricordare informazioni da molto tempo fa nel passato. Utilizzata per risolvere il problema della perdita di informazioni nelle RNN.

Signup and view all the flashcards

Funzione di attivazione tangente iperbolica (tanh)

Una funzione di attivazione della rete neurale ricorrente che limita l'uscita tra -1 e 1. Aiuta a stabilizzare l'addestramento della RNN prevenendo l'esplosione dei gradienti.

Signup and view all the flashcards

RNN con celle di memoria

Un tipo di rete neurale ricorrente che utilizza celle di memoria interne per memorizzare informazioni a lungo termine. Queste celle di memoria consentono alla rete di apprendere sequenze di dati temporali in modo più efficiente.

Signup and view all the flashcards

Tecniche per stabilizzare le RNN

Tecniche di addestramento che aiutano a migliorare la stabilità delle reti neurali ricorrenti. Esempi includono l'inizializzazione dei parametri, l'uso di ottimizzatori efficienti, la dropout e la normalizzazione per layer.

Signup and view all the flashcards

Perdita di informazioni nelle RNN

In RNN, la perdita di informazioni a ogni passo temporale comporta la perdita di informazioni dai primi input, rendendo impossibile ricordare le informazioni a lungo termine.

Signup and view all the flashcards

Deep RNN: return_sequences=True

In una deep RNN con più layer, tutti i layer ricorrenti tranne l'ultimo devono avere return_sequences=True. Questo permette al modello di apprendere le dipendenze temporali su un periodo più lungo.

Signup and view all the flashcards

Prevedere più valori futuri

Una RNN può essere utilizzata per prevedere più valori futuri, come le temperature per i prossimi 10 giorni.

Signup and view all the flashcards

Predire più valori in un'unica volta

È possibile addestrare una RNN per prevedere tutti i valori futuri contemporaneamente. Per esempio, si può addestrare la RNN per prevedere i prossimi 10 valori di temperatura in una sola volta.

Signup and view all the flashcards

RNN sequence-to-sequence

Per prevedere più valori futuri, si può utilizzare una RNN che genera una sequenza come output. Questa tipologia di RNN è chiamata 'sequence-to-sequence'.

Signup and view all the flashcards

RNN sequence-to-sequence: return_sequences=True

In una RNN sequence-to-sequence, è impostata return_sequences=True in tutti i layer ricorrenti, tra cui l'ultimo. Questo permette alla RNN di generare una sequenza di valori come output.

Signup and view all the flashcards

TimeDistributed

Il layer TimeDistributed di Keras permette di applicare un layer denso a ogni passo temporale di una sequenza, rendendolo ideale per le RNN sequence-to-sequence.

Signup and view all the flashcards

Migliorare la previsione con sequence-to-sequence

Addestrare un modello sequence-to-sequence per predire più valori futuri a ogni passo temporale permette di migliorare la qualità della previsione rispetto a modelli che prevedono i valori futuri solo all'ultimo passo temporale.

Signup and view all the flashcards

MSE migliorato con sequence-to-sequence

Le RNN sequence-to-sequence migliorano il MSE rispetto ai modelli lineari e alle RNN sequence-to-vector.

Signup and view all the flashcards

Study Notes

Chapter 15: Processing Sequences Using RNNs and CNNs

  • The chapter focuses on processing sequences using Recurrent Neural Networks (RNNs) and Convolutional Neural Networks (CNNs).
  • RNNs are a class of networks capable of predicting the future; they analyze time series data, such as stock prices.
  • The chapter will cover fundamental RNN concepts, training methods (backpropagation through time), forecasting time series, and issues with short-term memory and unstable gradients.
  • A specific CNN architecture, WaveNet, is introduced as capable of processing time series data like RNNs.

Recurrent Neurons and Layers

  • Recurrent neural networks are similar to feedforward networks but include connections going backward.
  • A recurrent neuron, unrolled through time, receives inputs x(t) and its output from the previous time step Y(t-1).
  • At each time step (frame), the neuron receives input x(t) and output from the previous time step Y(t-1).
  • In the first time step, the input is 0.

A Layer of Recurrent Neurons

  • Every neuron at each time step t receives the input vector x(t) and the output vector from the previous time step y(t-1).
  • Each recurrent neuron has two weight sets: one for inputs x(t) (Wx) and one for outputs of the previous time step y(t-1) (Wy).
  • For a single instance, the output y(t) is wx x(t) + wy y(t-1) + b.
  • For a mini-batch, the output Y(t) = (x(t)Wx + Y(t-1)Wy + b).

Memory Cells

  • A recurrent neuron, and a layer of them, has memory because its output depends on all inputs from past time steps.
  • A memory cell (or simply a cell) preserves state across time steps.
  • A single recurrent neuron/layer can learn shorter patterns; more powerful cells are needed for longer patterns.
  • The cell's state (h(t)), at time step t, is a function of inputs at t and previous state h(t-1).
  • The output (y(t)) at time step t is also a function of previous state, h(t-1), and current inputs, x(t).

Input and Output Sequences

  • Sequence-to-sequence networks: For example, predicting time series data or translating a sentence from one language to another.
  • Sequence-to-vector networks: E.g., taking a sequence of words and generating a sentiment score.
  • Vector-to-sequence networks: E.g., creating a caption for an image.
  • Encoder-Decoder: A type of network where an "encoder" translates an input sequence into a vector, and a "decoder" translates that vector back into an output sequence.

Training RNNs

  • Backpropagation Through Time (BPTT): A method for training RNNs that involves a forward pass through the unrolled network, evaluating output sequences against a cost function, propagating gradients backward through the unrolled network, and updating model parameters.
  • The cost function in this algorithm can ignore some outputs.
  • Parameters are updated using gradients, computed during the BPTT and summed over all time steps.

Forecasting A Time Series

  • A time series is data sequenced over time.
  • A univariate time series has single value per time step, and multivariate time series has multiple values.
  • Forecasting is predicting future values in a series.
  • Imputation is predicting missing values from past data.

Generating Time Series for Experiments

  • Synthetic time series data is created for experiments instead of real-world stock price data.
  • The generated series is the sum of two sine waves and noise.
  • The series is a NumPy array of shape [batch size, time steps, 1]

Baseline Metrics

  • Baselines are used for performance comparison.
  • Naive Forecasting: Predicts the next value using the last value.
  • Linear Regression Model: A simple linear model as a baseline, using a fully connected network for comparison.

Implementing a Simple RNN

  • A very simple RNN model is built using Keras and compared to baseline methods.
  • It consists of a single layer with a single neuron.
  • The default activation function is hyperbolic tangent.
  • The initial state is set to 0, and the neuron computes a weighted sum, applies the activation function to compute the output.

Trend and Seasonality

  • Removing trend and seasonality might be needed in another forecasting models.
  • RNNs usually do not require this initial step, as the model has already learned some trends and patterns.

Deep RNNs

  • A deep RNN has multiple layers.
  • Setting return_sequences to True for all but the last recurrent layer is important.

Forecasting Several Time Steps Ahead

  • Methods to predict several values ahead, including predicting next value, and recursively adding that prediction into the input.
  • Predicting multiple values at once (sequence to sequence).

WaveNet

  • Uses only 1D convolutional layers instead of recurrent layers.
  • The dilation rate (spacing of input connections) doubles at each layer, allowing the network to learn long-term patterns efficiently.

Long Short-Term Memory (LSTM)

  • RNNs with limited short-term memory.
  • LSTM cells preserve their state across multiple steps.
  • Two ways to add LSTM layers to a model in Keras are using LSTM or LSTM cells.

The Architecture of LSTM Cells

  • LSTM cells have a state composed of a short-term state (h(t)) and a long-term state (c(t)).
  • Key components: forget gate, input gate, output gate, and cell state computation for the calculation of the next cell state.

Gates in LSTM Cells

  • Four different gates handle information flow (forget, input, output).
  • Gate controllers influence the long-term state based on input and the previous cell state.
  • The gate controller uses the logistic activation function to control the gate (0 or 1).
  • If the output of gate function is 0, it closes the gate; otherwise it opens the gate.

Equations for LSTM Cells

  • Equations for computing gate activations, the new cell state, and the output for each time step.

Peekhole Connections

  • Peephole Connections are an LSTM variant extending gate controller connections, adding information from previous states to further enhance memory.

Gated Recurrent Unit (GRU) Cell

  • GRU cell is a simpler version of the LSTM cell, with fewer gates and performing equally well as LSTM.
  • Single gate controller (z(t)) controls both forget and input gates for h(t).
  • No output gate, directly outputs values.

Equations for GRU Cells

  • The equations for calculating the update gate z(t), the reset gate r(t), the new hidden state g(t), and the final hidden state h(t) using a single gate controller.

Using 1D Convolutional Layers

  • 1D convolutional layers are used to process sequences, shortening the input sequences and helping the GRU layers detect longer patterns.

Unstable Gradients Problem

  • Unstable gradients are a problem in deep nets and can be solved using techniques like good initialization, better optimizers, dropout and not using nonsaturating activation functions.
  • Use of activation functions like the hyperbolic tangent is important.

Layer Normalization

  • Layer normalization is used instead of batch normalization.
  • It normalizes across the feature dimension, reducing the issue with gradient exploding related to the sequence length issue.
  • Layer normalization is beneficial because it computes statistics on the fly for each instance.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Questo capitolo approfondisce l'elaborazione delle sequenze attraverso Reti Neurali Ricorrenti (RNN) e Reti Neurali Convoluzionali (CNN). Verranno trattati concetti fondamentali delle RNN, metodi di addestramento e l'architettura WaveNet per la previsione di dati sequenziali. È ideale per chi desidera comprendere le dinamiche e le applicazioni delle reti neurali nel contesto delle serie temporali.

More Like This

Use Quizgecko on...
Browser
Browser