• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
AI, machine-learning

Deep Sequence Modeling: perché RNNs | Deep Neural Network

Deep Sequence Modeling: perché RNNs | Deep Neural Network

Attraverso l’espressione di Deep Sequence Modeling facciamo riferimento all’impiego di reti neurali artificiali per processare dati sequenziali (Sequence Data).

L’obiettivo di questo post è quello di capire quali insidie si celino dietro il sequence modeling e sviluppare un’intuizione sul funzionamento delle reti neurali ricorsive o recursive neural network.

Fermi tutti.

Cosa sono i dati sequenziali?

Cerchiamo di capirlo con un semplice, seppur funzionale, esempio.

La palla

Prendi una palla su uno schermo.

In quale direzione si muoverà?

Date le ridotte premesse, ogni possibile risposta non sarebbe che una mera infondata ipotesi.

Avremmo bisogno di alcune indicazioni sul comportamento passato della palla per determinare con più precisione un’eventuale direzione futura.

Hai ragione.

La palla è un esempio banale, anche se i dati sequenziali sono ovunque.

Un file audio e un paragrafo testuale sono due esempi di dati sequenziali: il primo è una sequenza ordinata di suoni, il secondo di parole e a un livello più profondo di lettere.

Per noi esseri umani è incredibilmente facile distinguere ed elaborare questo tipo di dati, eseguire cioè il sequence modeling.

Per un computer?

Non tanto.

Vediamo perché.

Processing and Handling Sequence Data

Devi sapere intanto che il sequence modeling nasconde diverse insidie.

Fingiamo di voler prevedere la parola successiva in una frase.

Questa può contenere 20 caratteri, 30, o 40.

Generalizziamo dicendo che il contenuto in input può essere variabile.

Dalla nostra precedente lezione introduttiva alle reti neurali artificiali sappiamo però che è necessario fissare in modo definito e costante un input.

Come combiniamo dunque una struttura fissa con un input variabile?

La risposta?

Windowing

Una soluzione consiste nell’impiegare una finestra a scorrimento di lettura.

In questo modo forziamo il vettore d’input a una dimensione costante (per esempio, due parole) consentendoci comunque di scansionare e gestire una qualsiasi frase.

Quindi possiamo allocare spazio in un vettore di dimensioni costanti e definite per rappresentare numericamente le due parole precedenti a quella che intendiamo prevedere.

Ora, una seconda considerazione.

Stiamo risolvendo un problema di sequence modeling: abbiamo bisogno di uno storico per una previsione accurata.

Ricorda la palla.

Tante più informazioni abbiamo sul tracciato percorso, quanto migliore sarà la nostra previsione.

Traslando il problema, ci servono altre parole altrimenti non saremmo in grado di gestire dipendenze di più vasta estensione.

Sono cresciuto in Francia, ma adesso vivo in Spagna. Parlo fluentemente ****.

Il senso comune ci spinge a pensare che la parola sia ‘francese’ ma se il nostro sistema considerasse solo le ultime 3-4 parole, allora produrrebbe come risultato ‘spagnolo’.

Abbiamo quindi bisogno d’informazioni distanti per prevedere accuratamente la parola successiva.

All data: bag of words

Un secondo approccio consiste nel considerare l’intera frase e conteggiare le occorrenze.

In questo caso rappresentiamo un vettore come conteggio delle parole presenti generando un bag of words.

Hey hey.

Non riusciamo però a codificare efficacemente l’informazione contenuta nell’ordine delle parole:

The food was good, not bad at all.
The food was bad, not good at all.

Come puoi vedere, il numero delle occorrenze è identico ma l’ordine cambia e così anche il significato.

Contare le parole di una frase non basta.

Sequence Modeling Design Criteria

Ripassiamo i punti chiave.

Per realizzare un modello sequenziale dobbiamo quindi prendere in considerazione alcuni criteri:

  • gestire sequenze di lunghezza variabile
  • tracciare dipendenze di lungo termine
  • preservare l’informazione dell’ordine
  • condividere parametri nell’intera sequenza

Queste complicazioni hanno portato all sviluppo di una particolare struttura di reti neurali artificiali chiamata Recurrent Neural Network (RNN).

Recurrent Neural Network (RNN) è una classe di reti neurali in grado di analizzare serie storiche (Time Series), di cui abbiamo parlato qui, e prevedere tendenze e andamenti futuri.

Allora basta indugiare: andiamo alla scoperta delle Recurrent Neural Network.

Per il momento è tutto!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Marzo 15, 2020
Tags | deep learning

You Might Also Like

artificial_neural_network_explanation_spiegazione_semplice_rete_neurale_artificiale_data_science_machine_learning_blog_guida_italiano_backpropagation_perceptron_bias

Artificial Neural Network – ANN| Rete Neurale Artificiale

Gennaio 22, 2020
FCN-networks-fully-convolutional-networks-deep-learning-italia-machine-learning-engineers-tensorflow-keras

FCN Networks | Fully Convolutional Network Deep Learning Engineer Italia

Novembre 11, 2020

Cos’è il bias in una rete neurale artificiale | Towards Machine Learning

Febbraio 27, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TensorFlow Extended (TFX) | Production Machine Learning Pipeline

    Dicembre 6, 2020
  • mean-shift-clustering-guida-italiano-spiegazione-semplice-algoritmo-di-clustering-esempio Data Science

    Mean-Shift Clustering

    Dicembre 3, 2020
  • data-minimization-principle-gdpr-principio-minimizzazione-dati-personali-gdpr-italia-consulenza-spiegazione-semplice Data Science, GDPR Compliant

    GDPR: Principio di minimizzazione dei dati (Data minimization)

    Dicembre 1, 2020
  • machine-learning-for-finance-trading-online-data-science-deep-learning-intelligenza-artificiale AI, machine-learning

    FinTech: Machine Learning for Finance (FinML) | Guide e Risorse di qualità

    Novembre 29, 2020
  • gdpr-principio-di-limitazione-della-finalita-machine-learning-data-science-guida-prupose-limitation-gdpr Data Science, GDPR Compliant

    GDPR: Principio di Limitazione della finalità | Purpose Limitation

    Novembre 26, 2020
  • machine-learning-engineer-lavoro-stipendio-responsabilità-come-diventare AI, Business, machine-learning

    Machine Learning Engineer

    Novembre 23, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino