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

ResNet CNN Networks | Deep Learning Engineer Italia

ResNet CNN Networks | Deep Learning Engineer Italia

ResNet è una rete neurale convoluzionale (CNN) molto profonda, composta da 152 layer, che con l’ausilio di una tecnica nota come skip connection ha aperto la strada alle reti residuali (residual network)

Siamo ormai arrivati all’ultimo appuntamento di questa miniserie sulle architetture di rete neurali convoluzionali (CNN).

Costituiscono le basi di un progetto che prevede un riallineamento di obiettivi: una progressiva migrazione di priorità dall’ambito data science a quello di deep learnng, con particolare attenzione alle nozioni di privacy, fairness, security, verification e adversarial.

La meta è nota, la via definita.

Ammainiamo le vele: sotto l’egida di zefiro salperemo verso terre lontane.

Un check alla cambusa di bordo.

Sappiamo cosa sono le reti neurali artificiali e quali particolarità accomunino quelle convoluzionali.

Abbiamo esaminato l’architettura di LeNet-5, tra le prime CNN a essere sviluppate.

Quindi ci siamo lasciati trascinare dalle innovazioni dell’AlexNet che introdusse la ReLU per ottenere l’inibizione laterale dei neuroni.

Infine abbiamo assaggiato la profondità con la VGG-16 e i suoi layer convoluzionali con filtri piccoli e piccolissimi.

Oggi l’ultimo giro di corda sarà dato da ResNet. Scopriamola!

ResNet CNN Networks

Con i suoi 152 livelli, la ResNet è un’architettura per menti forti.

Contrariamente a quanto fatto nei post precedenti, eviteremo di analizzare ogni stack singolarmente per ovvie ragioni di prolissità.

Ci limiteremo dunque a passare in rassegna le caratteristiche che ne determinano l’unicità.

Conteniamo il tedio, riducendo i cenni storici all’essenziale.

ResNet vinse nel 2015 ILSVRC. Qui la pubblicazione ufficiale

Ricorderai dal post su AlexNet che si tratta di Imagenet Large Scale Visual Recognition Challenge.

I risultati furono sconvolgenti con un errore sulle cinque previsioni di 3.6% (AlexNet aveva un valore del 17%).

La chiave per allenare un così alto numero di livelli è chiamata skip connection. In sintesi, il segnale (dati elaborati) trasferito al livello successivo è aggiunto anche all’output di quelli precedenti, secondo uno schema definito.

ResNet deep learning

ResNet è organizzata in blocchi definiti residuali (residual block).

Capiamone struttura e funzionamento.

Residual Block

Un problema che accomuna molte reti neurale profonde (DNN, Deep Neural Network) è riassunto da due concetti:

  • vanishing gradient
  • exploding gradient

Sappiamo (in realtà no perché ho dimenticato di pubblicare l’articolo a riguardo) che nelle Deep Neural Network è comunemente impiegato un algoritmo di allenamento definito di backpropagation, coadiuvato da un metodo di ottimizzazione quale può essere lo Stochastic Gradient Descent.

In questo modo possiamo calcolare il gradiente della funzione costo (cost function), la quale indica quanto la nostra rete stia sbagliando nelle previsioni.

Il nostro obiettivo è calcolare il valore di quei parametri tali per cui la funzione costo sia minima: per trovare il punto di minimo globale usiamo un algoritmo di ottimizzazione.

Troviamo il gradiente e aggiorniamo i parametri della rete (weights) retropropagando in questo modo l’errore calcolato.

Tuttavia, qualora il numero di livelli crescesse, il gradiente matematicamente calcolato con l’ausilio della chain rule può diventare:

  • molto grande (exploding gradient), causando problemi d’instabilità e generando parametri (weights) che superano quelli gestibili dal computer (overflow) dando vita a valori NaN non ulteriormente aggiornabili.
  • estremamente piccolo (vanishing gradient), determinando un aggiornamento minimo dei pesi e causando un rallentamento del processo di training.

Approfondiremo questi concetti così rilevanti in post separati.

Digressione fatta, procediamo oltre.

In una ResNet il processo di calcolo del gradiente è simile, e usiamo un trucco per velocizzarlo e aumentarne l’efficienza.

Invece di aspettare che il gradiente si propaghi indietro (backpropagation) un livello alla volta, il percorso di skip connection gli consente di raggiungere i nodi iniziali efficacemente saltando quelli intermedi.

Siamo così in grado di apprendere molti più parametri efficacemente.

Resnet CNN FAQ: le domande più frequenti

Ho raccolto per te alcune domande, tra le più frequenti, richieste in merito alle Resnet.

Gustatele!

Le Resnet sono delle CNN?

Sì! La ResNet è l’architettura specifica di una rete neurale convoluzionale (CNN) contraddistinta dall’ausilio delle così definite skip connection, che consentono l’allenamento di reti molto profonde, con persino 152 layers!

Per cosa sono usare le ResNet?

L’architettura ResNet è comunemente impiegata in molti task di computer vision.

Cos’è una ResNet?

Con il termine ResNet ci riferiamo all’architettura di una rete neurale convoluzionale (CNN) facente uso delle skip connection che permette di allenare reti anche con centinaia di livelli (layers) per risolvere comunemente task di computer vision.

Per il momento è tutto.

Per aspera, ad astra.

Un caldo abbraccio, Andrea

Written by Andrea Provino - Marzo 1, 2020
Tags | deep learning, machine learning, neural network

You Might Also Like

private-set-intersection-data-science-machne-learning-deep-learning-homorphic-encryption-italia

Private Set Intersection: cos’è? | Differential Privacy

Maggio 3, 2020
airbnb-data-scientist-job-interview-questions-data-science-machine-learning-colloquio-di-lavoro-domande-airbnb-data-science

Airbnb: il profilo del Data Scientist | Domande colloquio di lavoro

Novembre 27, 2019

Information Entropy e Information Theory | Divertente e in Italiano

Ottobre 17, 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