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

Batch Learning e Incremental (Online) Learning

Batch Learning e Incremental (Online) Learning

La divisione dei sistemi di machine learning in Batch Learning Systems e Incremental (Online) Learning Systems si basa su un criterio che prende in considerazione la capacità di un sistema di apprendere da un flusso di dati in arrivo.

E’ il secondo criterio di classificazione.

Il primo è l’ammontare di supervisione umana richiesta, con il quale distinguiamo: supervised, unsupervised, semisupervised e reinforcement learning systems.

Batch Learning Systems

In batch learning il sistema è incapace di apprendere in modo incrementale: il training process è compiuto su ogni dato disponibile.

Il tempo di training e le risorse computazionali richieste aumentano di conseguenza.

Quando un sistema di questo tipo è rilasciato in produzione (cioè è fruibile in qualche misura) diventa immutabile, e si limita ad applicare ciò che ha imparato.

Una fotocamera con la memoria bloccata: non puoi scattare altre foto né cancellarle.

Un sistema di questo tipo è anche definito di Offline Learning.

Batch learning system update

Trattandosi di un sistema marmoreo, l’unico modo per inserire nuovi dati nel batch learning model è quello di allenare una nuova versione del modello da zero sull’intero dataset: il vecchio, con l’aggiunta dei dati più recenti.

Fatto ciò, il vecchio modello è rimpiazzato dal nuovo e rilasciato in produzione.

Un simile approccio può essere automatizzato, e i tempi ridotti.

Dunque anche un batch learning system può in qualche modo adattarsi ai cambiamenti dei dati.

Il trade-off a cui è necessario scendere a compromessi è avere un sistema che è lento nel’adattarsi ai cambiamenti: in genere un batch learning model è aggiornato giornalmente (h24) o settimanalmente (7d).

Ci sono applicazioni, come la robotica marziana dei rover o la previsione dell’andamento di un asset in borsa, che richiedono requisiti differenti. Entra in gioco l’Incremental Learning

Incremental Learning o Online Learning

Un Incremental Learning System apprende in modo incrementale dalle istanze dati fornite individualmente o in piccoli gruppi chiamati small-batches.

Poiché ogni learning step è veloce ed economico l’apprendimento può avvenire rapidamente all’arrivo dei nuovi dati.

I benefici dell’Incremental Learning si ripercuotono sulle risorse computazioni richieste: limitate rispetto ai Batch Learning Systems. Questo perché una volta “appresi” i dati perdono di utilità e possono essere scartati.

Out-of-core Learning

Quando i dati da elaborare hanno una dimensione superiore alla memoria principale della macchina, l‘Incremental Learning sfrutta algoritmi che selezionano una parte dei dati, eseguono alcuni training steps e ripetono il processo.

Un sistema del genere è chiamato Out-of-core learning ed è generalmente eseguito offline.

Per questa ragione, definirlo online learning potrebbe sembrare fuorviante: il sistema impara in modo incrementale.

Learning Rate trade-off

Un Online Learning System si adatta ai cambiamenti.

Quanto velocemente deve avvenire il cambiamento?

Per rispondere a questa domanda introduciamo il concetto di learning rate, ossia un parametro che controlla la valocità di adattamento del modello ai cambiamenti nei dati:

  • high learning rate, veloce adattamento ai nuovi dati e rapida rimozione dei vecchi: non sempre la soluzione migliore quando è importante preservare anche i dati passati. (esempio, spam filter)
  • low learning rate, maggiore inerzia: il sistema apprende lentamente, ma è meno sensibile al rumore e a sequenze di dati non rappresentativi (distanti dalla realtà che stiamo modellando)

Online Learning Challenges

La grande problematica legata ai sistemi di Online Learning è il declino delle loro prestazioni quando dati drogati sono immessi nel sistema.

Un dato drogato può essere generato da un sensore malfunzionante, ad esempio.

Se il sistema è live, nelle mani di un cliente, la problematica diventa rapidamente evidente con tutte le conseguenze del caso.

Il rischio può essere contenuto efettuando un monitoraggio delle performance del modello in modo da intervenire prontamente qualora venisse riscontrata un’anomalia.

A questo proposito, è possibile usare degli algoritmi di unsupervised machine learning: anomaly detection systems.

L’intervento prevede l’interruzione dell’apprendimento e il ripristino di un precedente stato del modello. Il backup periodico è quindi mandatorio.

Nel prossimo post vedremo la differenza tra Instance-Based Learning e Model-Based Learning.

Written by Andrea Provino - Settembre 8, 2019

2 Comments

  • Supervised, Unsupervised, Semisupervised e Reinforcement Learning - Novembre 12, 2019 at 08:29

    […] prossimo post esploreremo la differenza tra Batch Learning Systems e Online Learning […]

    Reply
  • Adversarial Attack | Cos'è un Attacco Avversario - Deep Learning Blog Italia Maggio 12, 2020 at 17:17

    […] I poisoning attacks sono particolarmente efficaci contro sistemi di online learning. […]

    Reply
  • Please Post Your Comments & Reviews
    Annulla risposta

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    Next Post
    Previous Post

    Una pubblicità che non vedi se usi AdBlock

    EXPAND YOUR KNOWLEDGE

    • Blockchain

      Patricia Merkle Trie

      Maggio 30, 2023
    • Artistic representation of a tree Blockchain

      Tree Data Structure: cos’è un Merkle Tree

      Maggio 26, 2023
    • Cover image for Bitcoin UTXO explanation post Blockchain

      UTXO: come funziona il modello Unspent Transaction Outputs

      Maggio 23, 2023
    • Blockchain

      Cos’è Ethereum

      Maggio 15, 2023
    • 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

    Quello che Google pensa ti possa piacere

    Prodotti che i Cookie dicono potresti trovare interessanti

    AI Blog - © 2019-2021 Andrea Provino