Le reti neurali, e in particolare il loro addestramento attraverso backproagation, ha sempre presentato dal punto di vista pratico diverse problematiche:
Per dare risposta a queste problematiche nasce quella branca del machine learning chiamata deep learning.
Gli esseri umani provano a risolvere i problemi di Intelligenza Artificiale suddividendo il problema in sotto-problemi e in livelli multipli di rappresentazione astratta. L'apprendimento automatico di caratteristiche a più livelli di astrazione permette di far apprendere a un sistema la mappatura di funzioni complesse tra ingresso e uscita direttamente dai dati, senza dipendere da caratteristiche disegnate dagli esseri umani, come accade per esempio nei classificatori basati su caratteristiche. Ciò è importante perchè permette di generare astrazioni di alto livello meglio gestibili dal calcolare, astrazioni che gli esseri umani non potrebbero esplicitamente disegnare sotto forma di caratteristica.
Con l'aumentare della mole dei dati e la gamma di applicazioni dei metodi di apprendimento automatico, le tecniche che permettono di apprendere automaticamente stanno andando via via crescendo. L'obiettivo del deep learning è creare rappresentazioni di alto livello dei dati attraverso l'uso di strati multipli di operazioni non lineari (DNN Deep Neural Network).