Molto presto i computer non verranno più programmati come oggi, dove sviluppatori creano programmi per specifici compiti. Il prossimo passo sarà quello di addestrarli a risolvere problemi specifici.
Nel corso degli ultimi anni, le più grandi aziende di tecnologia perseguono un nuovo approccio al calcolo chiamato apprendimento automatico.
Nel mondo attuale sono gli sviluppatori a dare le istruzioni al computer, mentre con l’apprendimento automatico, i programmatori non scrivono codice ma allenano i computer ad eseguire dei compiti.
Per esempio per insegnare ad una rete neurale artificiale a riconoscere un cane basta mostrargli migliaia di immagini di cani. Il processo continua finché il sistema non sarà in grado di individuare un cane in tutti i contesti.
Nel caso di un fallimento si continua con l’addestramento mostrando sempre più immagini di cani e di contesti diversi.
Questo approccio, non è nuovo, ma solo di recente è diventato molto potente grazie a nuove e potenti reti neurali basate su sistemi computazionali distribuiti su scala mondiale. Queste macchine sono meglio conosciute come Machine Learning.
Questi sistemi sono già ampiamente utilizzati in applicazioni che utilizziamo tutti i giorni. Facebook utilizza questi sistemi per riconoscere le storie sulla vostra timeline o per riconoscere immagini da censurare o per riconoscere le facce dei vostri amici. Anche Microsoft utilizza questi sistemi per tradurre in tempo reale i discorsi su Skype in diverse lingue. Lo stesso approccio è utilizzato nelle automobili che si guidano da sole come le Tesla che imparano a guidare giorno per giorno migliorando in base all’esperienza.
Ci sarà ancora spazio per i programmatori così come li conosciamo oggi?
Con le machine learning, l’ingegnere o lo sviluppatore non sa esattamente come il computer svolga i propri compiti. Le operazioni della rete neurale sono in gran parte oscure come in una black box. Quando si analizza una machine learning non si vedono righe di codice ma una vastità di calcoli matematici.
Presto non serviranno programmatori come li conosciamo oggi ma ci saranno figure professionali diverse. Tim O’Reilly sostiene che ci sarà bisogno di programmatori ancora per lungo tempo, ma ad un certo punto il numero scenderà in modo sensibile perché si occuperanno delle architetture che sovraintendono le machine learning più che di programmi specifici.
Stiamo per entrare in un mondo dove il rapporto con la tecnologia sarà sicuramente più complicato, ma allo stesso tempo, molto più gratificante.