Duboko učenje je potpolje strojnog učenja, što je (općenito govoreći) tehnologija koja potiče ljudski mozak i njegove funkcije. Strojno učenje prvi put uvedeno u pedesetim godinama prošlog stoljeća kumulativno je informirano kroz ono što je poznato kao umjetna neuronska mreža, mnoštvo međusobno povezanih čvorova podataka koji kolektivno čine osnovu za umjetnu inteligenciju. (Za osnove strojnog učenja potražite na Strojnom učenju 101.)
Strojno učenje u osnovi omogućuje računalnim programima da se mijenjaju kada to zatraže vanjski podaci ili programiranje. Po prirodi to je u stanju ostvariti bez ljudske interakcije. Dijeli sličnu funkcionalnost s iskopavanjem podataka, ali s miniranim rezultatima koje trebaju obraditi strojevi, a ne ljudi. Podijeljen je u dvije glavne kategorije: nadzirano i nenadzirano učenje.
Nadzirano strojno učenje uključuje zaključivanje unaprijed određenih operacija putem obilježenih podataka o obuci. Drugim riječima, (ljudski) programer unaprijed poznaje nadzirane rezultate, ali sustav zaključivanja rezultata je obučen da ih "nauči". Nasuprot tome, strojno učenje bez nadzora, crpi zaključke iz neoznačenih ulaznih podataka, često kao sredstvo za otkrivanje nepoznatih obrazaca.