• 🏡 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

machine-learning-vs-deep-learning-spiegazione-italiano-blog-intelligenza-artificiale

Machine Learning vs Deep Learning

Settembre 24, 2020
rrn-tensorflow-example-deep-learning-guida-italiano-recurrent-neural-network

RNN Tutorial Tensorflow: Music Generation

Aprile 5, 2020
tensorflow-2-tutorial-semplice-machine-learning-deep-learning-data-science-keras-portfolio-tutorial-tesnorflow-2

Tensorflow 2: how to start? | Esempio Semplice, Tutorial

Ottobre 26, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino