Descrivere le tecnologie digitali come prodotti sociali e svelarne le ambiguità in modo emancipato e con scopo emancipante è dovere politico-culturale di una critica radicale della "platform society", capace di decostruire mediante cortocircuiti concettuali l'inganno tecno-liberista della "società della conoscenza sorvegliata".
«Si può dire che un programma [inteso come l’insieme di algoritmo di apprendimento, modello e capacità di elaborare nuovi input – NdR] impari dall’esperienza (E) riguardo alcune classi di compiti (T) e misure di prestazione (P), se la sua prestazione nel compito (T), come misurata da (P), migliora con l’esperienza (E)» (…) La varietà dei compiti possibili è pressoché infinita, ma può essere organizzata in alcune macrocategorie. Possono darsi ad esempio problemi di classificazione: il programma riceve un input come l’immagine intera di un animale (o solo un particolare, come una zampa) e deve classificarne la specie. Oppure problemi di regressione, dove si stima una variabile a partire da un’altra, come il reddito a partire dal titolo di studio. Potrebbe trattarsi ancora di problemi di trascrizione, in cui il programma trasforma un input non strutturato in output strutturato, ad esempio riconoscendo caratteri tramite immagini o producendo automaticamente didascalie e sottotitoli per un video. Si danno poi problemi di traduzione, in cui il programma riceve un testo in un linguaggio naturale e deve tradurlo in un nuovo testo strutturato e corretto di un altro linguaggio naturale. O ancora compiti di rilevamento delle anomalie, quali eventi sospetti (come transazioni finanziarie anomale), potenziali difetti nei prodotti in catena di produzione o persino i segnali dei primissimi stadi di un terremoto. Possiamo generare nuovi campioni simili a quelli su cui il programma è stato addestrato oppure operare direttamente una sintesi vocale: in questi casi abbiamo a che fare con funzioni di sintesi e campionamento. Tramite un problema di riconoscimento dei valori mancanti, il programma può inoltre completare una sequenza con delle lacune. Questo tipo di compito è fondamentale, poiché combinato a quello di sintesi permette di generare nuovo contenuto sulla falsariga di un altro verosimile, [come nel caso dell’approccio GPT, generazione di testi estesi da punti chiave]. (…) la misura della nostra prestazione (P) è data dall’accuratezza del nostro modello, cioè quanto spesso il nostro programma riesce a restituire il valore corretto o atteso. Da un insieme di dati di partenza noti (il dataset), il nostro obiettivo è trovare un modello che sia in grado di elaborarne correttamente di nuovi, non ancora conosciuti o persino non ancora avvenuti. Ciò che ci interessa è il potere predittivo di un tale modello e la sua capacità di interagire con situazioni nuove. Tipicamente dividiamo i nostri dati di partenza in un sottoinsieme con cui «addestrare» il modello e un altro con cui verificare le sue prestazioni. Separare il dataset in due sottoinsiemi (addestramento e validazione) spinge l’algoritmo a creare modelli in grado di generalizzare meglio, ovvero di comportarsi correttamente in casi non affrontati nella fase di apprendimento. Nella pratica, più un modello generalizza bene un problema più abbiamo la percezione che l’algoritmo si comporti in maniera intelligente. Per farlo il programma ha bisogno del terzo componente citato da Mitchell, l’esperienza (E), cioè i già citati dati, ciò che il modello può conoscere nel dominio del problema su cui intendiamo testarlo. I dati possono essere forniti in vari formati: database, file di testo, cartelle di immagini, serie temporali. L’apprendimento può essere supervisionato – modalità in cui indichiamo i dati di partenza e quelli che ci interessa predire – oppure non supervisionato: in questo caso il programma cerca di definire autonomamente la distribuzione statistica e la relazione tra diversi attributi senza che questi campi gli siano forniti in anticipo [clustering, NdR]. È poi fondamentale anche la capacità del programma di continuare ad apprendere quando nuovi dati vengono resi disponibili. (…) Ci sono altre situazioni in cui l’algoritmo deve gestire non dati di input ma l’interazione con un ambiente complesso: non si tratta più di determinare un valore, ma di svolgere un’azione al momento giusto. In queste occasioni si predilige un approccio di apprendimento per rinforzo (reinforcement learning). (…) [Queste] modalità di apprendimento hanno in genere l’obiettivo di minimizzare la funzione di perdita (loss function), vale a dire la differenza tra quello che predicono o fanno e il risultato ottimale. Quest’ultimo consisterebbe in una perdita zero, cioè interpretare sempre correttamente la realtà o svolgere l’azione perfetta. Lo scopo è in altre parole inseguire il gradiente di questa funzione di perdita. Per risolvere un problema così complesso sono state sviluppate una miriade di tecniche, ciò che spiega perché «addestrare» un modello sia computazionalmente molto oneroso e richieda a volte un tempo macchina lunghissimo (anche settimane o mesi a seconda dei parametri da ottimizzare) nonché risorse energetiche ingenti. DeepMind, la divisione di Google specializzata nell’intelligenza artificiale e famosa per progetti come AlphaGo e AlphaFold (per il ripiegamento – folding – delle proteine), investe centinaia di milioni di dollari all’anno in hardware e tempo macchina per addestrare i suoi complessi modelli. (Francesco Maria De Collibus – L’era delle macchine che apprendono, in Limes 12/2022)
Una lucida definizione di apprendimento automatico è poi questa:
(…) la capacità di una tecnologia digitale di progredire dall’automazione all’autonomia in una serie di decisioni prese in risposta all’interazione con stimoli esterni. (Jacob L. Shapiro, “La vera posta in gioco dell’intelligenza artificiale”, Limes 12/2022)