Apprendimento automatico - Machine learning

L'apprendimento automatico ( ML ) è lo studio di algoritmi informatici in grado di migliorare automaticamente attraverso l'esperienza e l'uso dei dati. È visto come una parte dell'intelligenza artificiale . Gli algoritmi di apprendimento automatico costruiscono un modello basato su dati di esempio, noti come " dati di addestramento ", al fine di effettuare previsioni o decisioni senza essere esplicitamente programmati per farlo. Gli algoritmi di apprendimento automatico sono utilizzati in un'ampia varietà di applicazioni, come in medicina, filtraggio della posta elettronica , riconoscimento vocale e visione artificiale , dove è difficile o impossibile sviluppare algoritmi convenzionali per eseguire le attività necessarie.

Un sottoinsieme dell'apprendimento automatico è strettamente correlato alle statistiche computazionali , che si concentra sull'elaborazione di previsioni utilizzando i computer; ma non tutto l'apprendimento automatico è apprendimento statistico. Lo studio dell'ottimizzazione matematica fornisce metodi, teoria e domini applicativi al campo dell'apprendimento automatico. Il data mining è un campo di studio correlato, incentrato sull'analisi esplorativa dei dati attraverso l'apprendimento non supervisionato . Alcune implementazioni dell'apprendimento automatico utilizzano dati e reti neurali in un modo che imita il funzionamento di un cervello biologico. Nella sua applicazione in tutti i problemi aziendali, l'apprendimento automatico è indicato anche come analisi predittiva .

Panoramica

Gli algoritmi di apprendimento funzionano sulla base del fatto che è probabile che strategie, algoritmi e inferenze che hanno funzionato bene in passato continueranno a funzionare bene in futuro. Queste inferenze possono essere ovvie, come "dal momento che il sole è sorto ogni mattina negli ultimi 10.000 giorni, probabilmente sorgerà anche domani mattina". Possono essere sfumati, come "X% delle famiglie ha specie geograficamente separate con varianti di colore, quindi c'è una probabilità Y% che esistano cigni neri sconosciuti ".

I programmi di apprendimento automatico possono eseguire attività senza essere esplicitamente programmati per farlo. Implica che i computer apprendano dai dati forniti in modo da svolgere determinati compiti. Per semplici compiti assegnati ai computer, è possibile programmare algoritmi che dicono alla macchina come eseguire tutti i passaggi necessari per risolvere il problema in questione; da parte del computer, non è necessario alcun apprendimento. Per attività più avanzate, può essere difficile per un essere umano creare manualmente gli algoritmi necessari. In pratica, può rivelarsi più efficace aiutare la macchina a sviluppare il proprio algoritmo, piuttosto che avere programmatori umani che specificano ogni passaggio necessario.

La disciplina dell'apprendimento automatico utilizza vari approcci per insegnare ai computer a svolgere compiti in cui non è disponibile un algoritmo pienamente soddisfacente. Nei casi in cui esiste un vasto numero di potenziali risposte, un approccio consiste nell'etichettare alcune delle risposte corrette come valide. Questi possono quindi essere utilizzati come dati di addestramento per il computer per migliorare gli algoritmi che utilizza per determinare le risposte corrette. Ad esempio, per addestrare un sistema per il riconoscimento dei caratteri digitali, è stato spesso utilizzato il set di dati MNIST di cifre scritte a mano.

Storia e relazioni con altri campi

Il termine apprendimento automatico è stato coniato nel 1959 da Arthur Samuel , un IBM americano e pioniere nel campo dei giochi per computer e dell'intelligenza artificiale . Anche il sinonimo di computer autodidatti è stato utilizzato in questo periodo di tempo. Un libro rappresentativo della ricerca sull'apprendimento automatico durante gli anni '60 è stato il libro di Nilsson sulle macchine per l'apprendimento, che si occupa principalmente dell'apprendimento automatico per la classificazione dei modelli. L'interesse relativo al riconoscimento dei modelli è continuato negli anni '70, come descritto da Duda e Hart nel 1973. Nel 1981 è stato presentato un rapporto sull'utilizzo di strategie di insegnamento in modo che una rete neurale impari a riconoscere 40 caratteri (26 lettere, 10 cifre e 4 simboli speciali ) da un terminale di computer.

Tom M. Mitchell ha fornito una definizione più formale e ampiamente citata degli algoritmi studiati nel campo dell'apprendimento automatico: "Si dice che un programma per computer apprende dall'esperienza E rispetto a una certa classe di compiti T e misura le prestazioni P se le sue prestazioni ai compiti in T , misurato da P , migliora con l'esperienza E ." Questa definizione dei compiti in cui è coinvolto l'apprendimento automatico offre una definizione fondamentalmente operativa piuttosto che definire il campo in termini cognitivi. Ciò segue la proposta di Alan Turing nel suo articolo " Computing Machinery and Intelligence ", in cui la domanda "Can machine think?" è sostituito dalla domanda "Le macchine possono fare ciò che noi (come entità pensanti) possiamo fare?".

L'apprendimento automatico moderno ha due obiettivi, uno è classificare i dati sulla base di modelli che sono stati sviluppati, l'altro scopo è fare previsioni per i risultati futuri basati su questi modelli. Un ipotetico algoritmo specifico per la classificazione dei dati potrebbe utilizzare la visione artificiale dei nei insieme all'apprendimento supervisionato per addestrarlo a classificare i nei cancerosi. Laddove, un algoritmo di apprendimento automatico per la compravendita di azioni può informare il trader di potenziali previsioni future.

Intelligenza artificiale

L'apprendimento automatico come sottocampo dell'IA
Parte dell'apprendimento automatico come sottocampo dell'IA o parte dell'IA come sottocampo dell'apprendimento automatico

Come sforzo scientifico, l'apprendimento automatico è nato dalla ricerca dell'intelligenza artificiale. Agli albori dell'intelligenza artificiale come disciplina accademica , alcuni ricercatori erano interessati a che le macchine imparassero dai dati. Tentarono di affrontare il problema con vari metodi simbolici, oltre che con quelle che allora venivano chiamate " reti neurali "; questi erano per lo più perceptron e altri modelli che in seguito si scoprì essere reinventazioni dei modelli lineari generalizzati di statistica. È stato impiegato anche il ragionamento probabilistico , specialmente nella diagnosi medica automatizzata .

Tuttavia, una crescente enfasi sull'approccio logico e basato sulla conoscenza ha causato una frattura tra l'intelligenza artificiale e l'apprendimento automatico. I sistemi probabilistici erano afflitti da problemi teorici e pratici di acquisizione e rappresentazione dei dati. Nel 1980, i sistemi esperti erano arrivati ​​a dominare l'IA e le statistiche erano in disgrazia. Il lavoro sull'apprendimento simbolico/basato sulla conoscenza è continuato all'interno dell'IA, portando alla programmazione logica induttiva , ma la linea di ricerca più statistica era ora al di fuori del campo dell'IA propriamente detto, nel riconoscimento di schemi e nel recupero delle informazioni . La ricerca sulle reti neurali era stata abbandonata dall'intelligenza artificiale e dall'informatica nello stesso periodo. Anche questa linea è stata portata avanti al di fuori del campo AI/CS, come " connessionismo ", da ricercatori di altre discipline tra cui Hopfield , Rumelhart e Hinton . Il loro principale successo arrivò a metà degli anni '80 con la reinvenzione della retropropagazione .

L'apprendimento automatico (ML), riorganizzato come campo separato, ha iniziato a fiorire negli anni '90. Il campo ha cambiato il suo obiettivo dal raggiungimento dell'intelligenza artificiale all'affrontare problemi risolvibili di natura pratica. Ha spostato l'attenzione dagli approcci simbolici che aveva ereditato dall'intelligenza artificiale e verso metodi e modelli presi in prestito dalla statistica e dalla teoria della probabilità .

A partire dal 2020, molte fonti continuano ad affermare che l'apprendimento automatico rimane un sottocampo dell'IA. Il principale disaccordo è se tutto il machine learning faccia parte dell'intelligenza artificiale, poiché ciò significherebbe che chiunque utilizzi il machine learning potrebbe affermare di utilizzare l'intelligenza artificiale. Altri ritengono che non tutto il machine learning faccia parte dell'IA, dove solo un sottoinsieme "intelligente" di ML fa parte dell'IA.

Alla domanda su quale sia la differenza tra ML e AI risponde Judea Pearl in The Book of Why . Di conseguenza, il machine learning apprende e prevede sulla base di osservazioni passive, mentre l'intelligenza artificiale implica che un agente interagisce con l'ambiente per apprendere e intraprendere azioni che massimizzano le sue possibilità di raggiungere con successo i suoi obiettivi.

Estrazione dei dati

L'apprendimento automatico e il data mining spesso utilizzano gli stessi metodi e si sovrappongono in modo significativo, ma mentre l'apprendimento automatico si concentra sulla previsione, sulla base di proprietà note apprese dai dati di addestramento, il data mining si concentra sulla scoperta di proprietà (precedentemente) sconosciute nei dati (questo è la fase di analisi della scoperta della conoscenza nei database). Il data mining utilizza molti metodi di apprendimento automatico, ma con obiettivi diversi; d'altra parte, l'apprendimento automatico utilizza anche metodi di data mining come "apprendimento non supervisionato" o come fase di pre-elaborazione per migliorare l'accuratezza dello studente. Gran parte della confusione tra queste due comunità di ricerca (che spesso hanno conferenze e riviste separate, l' ECML PKDD è una grande eccezione) deriva dai presupposti di base con cui lavorano: nell'apprendimento automatico, le prestazioni vengono solitamente valutate rispetto alla capacità di riprodurre la conoscenza conosciuta , mentre nella scoperta della conoscenza e nel data mining (KDD) il compito chiave è la scoperta di conoscenze precedentemente sconosciute . Valutato rispetto alla conoscenza nota, un metodo non informato (non supervisionato) sarà facilmente superato da altri metodi supervisionati, mentre in un tipico compito KDD, i metodi supervisionati non possono essere utilizzati a causa dell'indisponibilità dei dati di addestramento.

Ottimizzazione

L'apprendimento automatico ha anche legami intimi con l' ottimizzazione : molti problemi di apprendimento sono formulati come minimizzazione di alcune funzioni di perdita su una serie di esempi di addestramento. Le funzioni di perdita esprimono la discrepanza tra le previsioni del modello in fase di training e le istanze reali del problema (ad esempio, nella classificazione, si vuole assegnare un'etichetta alle istanze e i modelli vengono addestrati per prevedere correttamente le etichette preassegnate di un insieme di esempi).

Generalizzazione

La differenza tra ottimizzazione e apprendimento automatico deriva dall'obiettivo della generalizzazione: mentre gli algoritmi di ottimizzazione possono ridurre al minimo la perdita su un set di addestramento, l'apprendimento automatico si occupa di ridurre al minimo la perdita su campioni non visti. Caratterizzare la generalizzazione di vari algoritmi di apprendimento è un argomento attivo della ricerca attuale, in particolare per gli algoritmi di apprendimento profondo .

Statistiche

L'apprendimento automatico e le statistiche sono campi strettamente correlati in termini di metodi, ma distinti nel loro obiettivo principale: le statistiche trae inferenze di popolazione da un campione , mentre l'apprendimento automatico trova modelli predittivi generalizzabili. Secondo Michael I. Jordan , le idee del machine learning, dai principi metodologici agli strumenti teorici, hanno avuto una lunga preistoria nella statistica. Ha anche suggerito il termine scienza dei dati come segnaposto per chiamare il campo generale.

Leo Breiman ha distinto due paradigmi di modellazione statistica: modello dati e modello algoritmico, in cui "modello algoritmico" indica più o meno gli algoritmi di apprendimento automatico come Random forest .

Alcuni statistici hanno adottato metodi dall'apprendimento automatico, portando a un campo combinato che chiamano apprendimento statistico .

Teoria

Un obiettivo fondamentale di uno studente è quello di generalizzare dalla sua esperienza. La generalizzazione in questo contesto è la capacità di una macchina di apprendimento di eseguire con precisione su nuovi esempi/compiti non visti dopo aver sperimentato un set di dati di apprendimento. Gli esempi di addestramento provengono da una distribuzione di probabilità generalmente sconosciuta (considerata rappresentativa dello spazio degli eventi) e lo studente deve costruire un modello generale su questo spazio che gli permetta di produrre previsioni sufficientemente accurate in nuovi casi.

L'analisi computazionale degli algoritmi di apprendimento automatico e delle loro prestazioni è una branca dell'informatica teorica nota come teoria dell'apprendimento computazionale . Poiché gli insiemi di addestramento sono finiti e il futuro è incerto, la teoria dell'apprendimento di solito non fornisce garanzie sulle prestazioni degli algoritmi. Invece, i limiti probabilistici sulla performance sono abbastanza comuni. La scomposizione bias-varianza è un modo per quantificare l' errore di generalizzazione .

Per le migliori prestazioni nel contesto della generalizzazione, la complessità dell'ipotesi dovrebbe corrispondere alla complessità della funzione sottostante i dati. Se l'ipotesi è meno complessa della funzione, allora il modello ha sottoadattato i dati. Se la complessità del modello aumenta in risposta, l'errore di addestramento diminuisce. Ma se l'ipotesi è troppo complessa, allora il modello è soggetto a sovradattamento e la generalizzazione sarà più povera.

Oltre ai limiti delle prestazioni, i teorici dell'apprendimento studiano la complessità temporale e la fattibilità dell'apprendimento. Nella teoria dell'apprendimento computazionale, un calcolo è considerato fattibile se può essere eseguito in tempo polinomiale . Esistono due tipi di risultati di complessità temporale . Risultati positivi mostrano che una certa classe di funzioni può essere appresa in tempo polinomiale. I risultati negativi mostrano che alcune classi non possono essere apprese in tempo polinomiale.

approcci

Gli approcci di apprendimento automatico sono tradizionalmente suddivisi in tre grandi categorie, a seconda della natura del "segnale" o del "feedback" disponibile per il sistema di apprendimento:

  • Apprendimento supervisionato : al computer vengono presentati input di esempio e gli output desiderati, forniti da un "insegnante", e l'obiettivo è quello di apprendere una regola generale che associa gli input agli output.
  • Apprendimento non supervisionato : nessuna etichetta viene assegnata all'algoritmo di apprendimento, lasciandolo da solo per trovare la struttura nel suo input. L'apprendimento non supervisionato può essere un obiettivo in sé (scoperta di schemi nascosti nei dati) o un mezzo verso un fine ( apprendimento delle funzionalità ).
  • Apprendimento per rinforzo : un programma per computer interagisce con un ambiente dinamico in cui deve eseguire un determinato obiettivo (come guidare un veicolo o giocare una partita contro un avversario). Mentre naviga nel suo spazio problematico, al programma viene fornito un feedback analogo ai premi, che cerca di massimizzare.

Apprendimento supervisionato

Una macchina vettore di supporto è un modello di apprendimento supervisionato che divide i dati in regioni separate da un confine lineare . Qui, il confine lineare divide i cerchi neri dal bianco.

Gli algoritmi di apprendimento supervisionato costruiscono un modello matematico di un insieme di dati che contiene sia gli input che gli output desiderati. I dati sono noti come dati di addestramento e sono costituiti da una serie di esempi di addestramento. Ogni esempio di addestramento ha uno o più ingressi e l'uscita desiderata, nota anche come segnale di supervisione. Nel modello matematico, ogni esempio di addestramento è rappresentato da una matrice o vettore, a volte chiamato vettore di funzionalità, e i dati di addestramento sono rappresentati da una matrice . Attraverso l' ottimizzazione iterativa di una funzione obiettivo , gli algoritmi di apprendimento supervisionato apprendono una funzione che può essere utilizzata per prevedere l'output associato a nuovi input. Una funzione ottimale consentirà all'algoritmo di determinare correttamente l'output per gli input che non facevano parte dei dati di addestramento. Si dice che un algoritmo che migliora l'accuratezza dei suoi risultati o previsioni nel tempo abbia imparato a svolgere tale compito.

I tipi di algoritmi di apprendimento supervisionato includono l' apprendimento attivo , la classificazione e la regressione . Gli algoritmi di classificazione vengono utilizzati quando gli output sono limitati a un insieme limitato di valori e gli algoritmi di regressione vengono utilizzati quando gli output possono avere qualsiasi valore numerico all'interno di un intervallo. Ad esempio, per un algoritmo di classificazione che filtra i messaggi di posta elettronica, l'input sarebbe un messaggio di posta elettronica in arrivo e l'output sarebbe il nome della cartella in cui archiviare il messaggio di posta elettronica.

L'apprendimento per somiglianza è un'area dell'apprendimento automatico supervisionato strettamente correlato alla regressione e alla classificazione, ma l'obiettivo è imparare dagli esempi utilizzando una funzione di somiglianza che misura quanto siano simili o correlati due oggetti. Ha applicazioni in classifica , sistemi di raccomandazione , tracciamento dell'identità visiva, verifica del volto e verifica del parlante.

Apprendimento non supervisionato

Gli algoritmi di apprendimento non supervisionato prendono un set di dati che contiene solo input e trovano la struttura nei dati, come il raggruppamento o il raggruppamento di punti dati. Gli algoritmi, quindi, apprendono da dati di test che non sono stati etichettati, classificati o categorizzati. Invece di rispondere al feedback, gli algoritmi di apprendimento non supervisionato identificano i punti in comune nei dati e reagiscono in base alla presenza o assenza di tali punti in comune in ogni nuovo pezzo di dati. Un'applicazione centrale dell'apprendimento non supervisionato è nel campo della stima della densità in statistica , come la ricerca della funzione di densità di probabilità . Sebbene l'apprendimento non supervisionato comprenda altri domini che coinvolgono il riepilogo e la spiegazione delle caratteristiche dei dati.

L'analisi cluster è l'assegnazione di un insieme di osservazioni in sottoinsiemi (chiamati cluster ) in modo che le osservazioni all'interno dello stesso cluster siano simili secondo uno o più criteri prestabiliti, mentre le osservazioni tratte da cluster diversi siano dissimili. Diverse tecniche di clustering fanno ipotesi diverse sulla struttura dei dati, spesso definite da alcune metriche di similarità e valutate, ad esempio, dalla compattezza interna , ovvero dalla somiglianza tra membri dello stesso cluster, e separazione , la differenza tra cluster. Altri metodi si basano sulla densità stimata e sulla connettività del grafico .

Apprendimento semi-supervisionato

L'apprendimento semi-supervisionato si colloca tra l'apprendimento non supervisionato (senza dati di addestramento etichettati) e l' apprendimento supervisionato (con dati di addestramento completamente etichettati). Ad alcuni degli esempi di formazione mancano le etichette di formazione, tuttavia molti ricercatori di apprendimento automatico hanno scoperto che i dati non etichettati, se utilizzati insieme a una piccola quantità di dati etichettati, possono produrre un notevole miglioramento nell'accuratezza dell'apprendimento.

Nell'apprendimento debolmente supervisionato , le etichette di formazione sono rumorose, limitate o imprecise; tuttavia, queste etichette sono spesso più economiche da ottenere, risultando in set di formazione efficaci più grandi.

Insegnamento rafforzativo

L'apprendimento per rinforzo è un'area dell'apprendimento automatico che si occupa di come gli agenti software dovrebbero intraprendere azioni in un ambiente in modo da massimizzare una certa nozione di ricompensa cumulativa. Per la sua generalità, il campo è studiato in molte altre discipline, come la teoria dei giochi , la teoria del controllo , la ricerca operativa , la teoria dell'informazione , l' ottimizzazione basata sulla simulazione , i sistemi multi-agente , l' intelligenza degli sciami , la statistica e gli algoritmi genetici . Nell'apprendimento automatico, l'ambiente è in genere rappresentato come un processo decisionale di Markov (MDP). Molti algoritmi di apprendimento per rinforzo utilizzano tecniche di programmazione dinamica . Gli algoritmi di apprendimento per rinforzo non presuppongono la conoscenza di un modello matematico esatto dell'MDP e vengono utilizzati quando i modelli esatti non sono realizzabili. Gli algoritmi di apprendimento del rinforzo vengono utilizzati nei veicoli autonomi o nell'imparare a giocare una partita contro un avversario umano.

Riduzione della dimensionalità

La riduzione della dimensionalità è un processo di riduzione del numero di variabili casuali in esame ottenendo un insieme di variabili principali. In altre parole, è un processo di riduzione della dimensione del set di caratteristiche, chiamato anche "numero di caratteristiche". La maggior parte delle tecniche di riduzione della dimensionalità può essere considerata come eliminazione o estrazione di caratteristiche. Uno dei metodi popolari di riduzione della dimensionalità è l' analisi delle componenti principali (PCA). La PCA implica la modifica di dati di dimensioni superiori (ad es. 3D) in uno spazio più piccolo (ad es. 2D). Ciò si traduce in una dimensione più piccola dei dati (2D anziché 3D), mantenendo tutte le variabili originali nel modello senza modificare i dati. L' ipotesi molteplice propone che insiemi di dati ad alta dimensionalità giacciono lungo collettori a bassa dimensionalità e molte tecniche di riduzione della dimensionalità fanno questa ipotesi, portando all'area dell'apprendimento molteplice e della regolarizzazione molteplice .

Altri tipi

Sono stati sviluppati altri approcci che non si adattano perfettamente a questa triplice categorizzazione e talvolta più di uno viene utilizzato dallo stesso sistema di apprendimento automatico. Ad esempio modellazione di argomenti , meta apprendimento .

A partire dal 2020, il deep learning è diventato l'approccio dominante per gran parte del lavoro in corso nel campo dell'apprendimento automatico.

Autoapprendimento

L'autoapprendimento come paradigma di apprendimento automatico è stato introdotto nel 1982 insieme a una rete neurale in grado di autoapprendimento denominata crossbar Adaptive Array (CAA). È un apprendimento senza ricompense esterne e senza consigli di insegnanti esterni. L'algoritmo di autoapprendimento CAA calcola, in modo incrociato, sia le decisioni sulle azioni che le emozioni (sentimenti) sulle situazioni di conseguenza. Il sistema è guidato dall'interazione tra cognizione ed emozione. L'algoritmo di autoapprendimento aggiorna una matrice di memoria W =||w(a,s)|| tale che in ogni iterazione esegue la seguente routine di apprendimento automatico:

 In situation s perform an action a;
 Receive consequence situation s’;
 Compute emotion of being in consequence situation v(s’);
 Update crossbar memory  w’(a,s) = w(a,s) + v(s’).

È un sistema con un solo input, situazione s, e un solo output, azione (o comportamento) a. Non c'è né un input di rinforzo separato né un input di consiglio dall'ambiente. Il valore retropropagato (rinforzo secondario) è l'emozione verso la situazione conseguenza. La CAA esiste in due ambienti, uno è l'ambiente comportamentale in cui si comporta, e l'altro è l'ambiente genetico, da cui inizialmente e solo una volta riceve le emozioni iniziali sulle situazioni da incontrare nell'ambiente comportamentale. Dopo aver ricevuto il vettore del genoma (specie) dall'ambiente genetico, la CAA apprende un comportamento di ricerca di un obiettivo, in un ambiente che contiene situazioni sia desiderabili che indesiderabili.

Apprendimento delle funzionalità

Diversi algoritmi di apprendimento mirano a scoprire rappresentazioni migliori degli input forniti durante la formazione. Gli esempi classici includono l' analisi dei componenti principali e l'analisi dei cluster. Gli algoritmi di apprendimento delle caratteristiche, chiamati anche algoritmi di apprendimento della rappresentazione, spesso tentano di preservare le informazioni nel loro input ma anche di trasformarle in un modo che le renda utili, spesso come fase di pre-elaborazione prima di eseguire la classificazione o le previsioni. Questa tecnica permette di ricostruire gli input provenienti dalla distribuzione incognita generatrice di dati, pur non essendo necessariamente fedele a configurazioni non plausibili sotto tale distribuzione. Questo sostituisce la progettazione manuale delle funzionalità e consente a una macchina di apprendere le funzionalità e di utilizzarle per eseguire un'attività specifica.

L'apprendimento delle funzionalità può essere supervisionato o non supervisionato. Nell'apprendimento delle funzionalità supervisionato, le funzionalità vengono apprese utilizzando dati di input etichettati. Gli esempi includono le reti neurali artificiali , i percettroni multistrato e l' apprendimento supervisionato del dizionario . Nell'apprendimento delle funzionalità non supervisionato, le funzionalità vengono apprese con dati di input non etichettati. Gli esempi includono l'apprendimento del dizionario, l'analisi dei componenti indipendenti , gli autoencoder , la fattorizzazione della matrice e varie forme di clustering .

Gli algoritmi di apprendimento multiplo tentano di farlo sotto il vincolo che la rappresentazione appresa sia a bassa dimensionalità. Gli algoritmi di codifica sparsa tentano di farlo sotto il vincolo che la rappresentazione appresa sia sparsa, il che significa che il modello matematico ha molti zeri. Gli algoritmi di apprendimento del sottospazio multilineare mirano ad apprendere rappresentazioni a bassa dimensione direttamente da rappresentazioni tensoriali per dati multidimensionali, senza rimodellarle in vettori a più dimensioni. Gli algoritmi di deep learning scoprono più livelli di rappresentazione, o una gerarchia di caratteristiche, con caratteristiche di livello superiore e più astratte definite in termini di (o generazione) di funzionalità di livello inferiore. È stato sostenuto che una macchina intelligente apprende una rappresentazione che districa i fattori di variazione sottostanti che spiegano i dati osservati.

L'apprendimento delle funzionalità è motivato dal fatto che le attività di apprendimento automatico come la classificazione spesso richiedono input che sono matematicamente e computazionalmente convenienti da elaborare. Tuttavia, i dati del mondo reale come immagini, video e dati sensoriali non hanno ceduto ai tentativi di definire algoritmicamente caratteristiche specifiche. Un'alternativa è scoprire tali caratteristiche o rappresentazioni attraverso l'esame, senza fare affidamento su algoritmi espliciti.

Apprendimento del dizionario sparso

L'apprendimento del dizionario sparso è un metodo di apprendimento delle caratteristiche in cui un esempio di addestramento è rappresentato come una combinazione lineare di funzioni di base e si presume che sia una matrice sparsa . Il metodo è fortemente NP-difficile e di difficile risoluzione approssimativa. Un metodo euristico popolare per l'apprendimento del dizionario sparso è l' algoritmo K-SVD . L'apprendimento sparso del dizionario è stato applicato in diversi contesti. Nella classificazione, il problema è determinare la classe a cui appartiene un esempio di addestramento mai visto prima. Per un dizionario in cui ogni classe è già stata creata, un nuovo esempio di addestramento è associato alla classe che è rappresentata in modo sparso dal dizionario corrispondente. L'apprendimento sparso del dizionario è stato applicato anche nel de-noising delle immagini . L'idea chiave è che una patch di immagine pulita può essere scarsamente rappresentata da un dizionario di immagini, ma il rumore no.

Rilevamento anomalie

Nel data mining , il rilevamento delle anomalie, noto anche come rilevamento dei valori anomali, è l'identificazione di elementi, eventi o osservazioni rari che sollevano sospetti poiché differiscono in modo significativo dalla maggior parte dei dati. In genere, le voci anomale rappresentano un problema come una frode bancaria , un difetto strutturale, problemi medici o errori in un testo. Le anomalie sono indicate come outlier , novità, rumore, deviazioni ed eccezioni.

In particolare, nel contesto del rilevamento di abusi e intrusioni di rete, gli oggetti interessanti spesso non sono oggetti rari, ma esplosioni inaspettate di inattività. Questo modello non aderisce alla definizione statistica comune di un outlier come oggetto raro e molti metodi di rilevamento di outlier (in particolare, algoritmi non supervisionati) falliranno su tali dati a meno che non siano stati aggregati in modo appropriato. Invece, un algoritmo di analisi dei cluster potrebbe essere in grado di rilevare i micro-cluster formati da questi modelli.

Esistono tre grandi categorie di tecniche di rilevamento delle anomalie. Le tecniche di rilevamento delle anomalie non supervisionate rilevano le anomalie in un set di dati di test senza etichetta partendo dal presupposto che la maggior parte delle istanze nel set di dati siano normali, cercando istanze che sembrano adattarsi meno al resto del set di dati. Le tecniche di rilevamento delle anomalie supervisionate richiedono un set di dati che è stato etichettato come "normale" e "anormale" e comportano l'addestramento di un classificatore (la differenza fondamentale rispetto a molti altri problemi di classificazione statistica è la natura intrinsecamente sbilanciata del rilevamento dei valori anomali). Le tecniche di rilevamento delle anomalie semi-supervisionate costruiscono un modello che rappresenta il comportamento normale da un determinato set di dati di addestramento normale e quindi testano la probabilità che un'istanza di test venga generata dal modello.

Apprendimento robotico

Nella robotica dello sviluppo , è come gli umani che svolgono compiti servili e controllati dai computer, la sua parte di elaborazione e il suo algoritmo di apprendimento del robot, gli algoritmi generano le proprie sequenze di esperienze di apprendimento, note anche come curriculum, per acquisire cumulativamente nuove abilità attraverso l'esplorazione autoguidata e l'interazione sociale con gli esseri umani. Questi robot utilizzano meccanismi di guida come l'apprendimento attivo, la maturazione, le sinergie motorie e l'imitazione.

Regole dell'associazione

L'apprendimento delle regole di associazione è un metodo di apprendimento automatico basato su regole per scoprire le relazioni tra le variabili in database di grandi dimensioni. Ha lo scopo di identificare regole forti scoperte nei database utilizzando una certa misura di "interesse".

L'apprendimento automatico basato su regole è un termine generico per qualsiasi metodo di apprendimento automatico che identifica, apprende o sviluppa "regole" per archiviare, manipolare o applicare la conoscenza. La caratteristica distintiva di un algoritmo di apprendimento automatico basato su regole è l'identificazione e l'utilizzo di un insieme di regole relazionali che rappresentano collettivamente la conoscenza acquisita dal sistema. Questo è in contrasto con altri algoritmi di apprendimento automatico che identificano comunemente un modello singolare che può essere universalmente applicato a qualsiasi istanza per fare una previsione. Gli approcci di apprendimento automatico basati su regole includono sistemi di classificazione dell'apprendimento , apprendimento di regole di associazione e sistemi immunitari artificiali .

Sulla base del concetto di regole forti, Rakesh Agrawal , Tomasz Imieliński e Arun Swami hanno introdotto regole di associazione per scoprire le regolarità tra i prodotti nei dati delle transazioni su larga scala registrati dai sistemi di punti vendita (POS) nei supermercati. Ad esempio, la regola trovata nei dati di vendita di un supermercato indicherebbe che se un cliente acquista cipolle e patate insieme, è probabile che acquisti anche carne di hamburger. Tali informazioni possono essere utilizzate come base per decisioni su attività di marketing come prezzi promozionali o posizionamento di prodotti . Oltre all'analisi del paniere di mercato , le regole di associazione sono oggi impiegate in aree applicative tra cui l' estrazione dell'utilizzo del Web , il rilevamento delle intrusioni , la produzione continua e la bioinformatica . A differenza dell'estrazione in sequenza , l'apprendimento delle regole di associazione in genere non considera l'ordine degli elementi all'interno di una transazione o tra le transazioni.

I sistemi di classificazione dell'apprendimento (LCS) sono una famiglia di algoritmi di apprendimento automatico basati su regole che combinano un componente di scoperta, in genere un algoritmo genetico , con un componente di apprendimento, eseguendo l' apprendimento supervisionato , l' apprendimento per rinforzo o l'apprendimento non supervisionato . Cercano di identificare un insieme di regole dipendenti dal contesto che immagazzinano e applicano collettivamente la conoscenza in modo frammentario per fare previsioni.

La programmazione logica induttiva (ILP) è un approccio all'apprendimento delle regole che utilizza la programmazione logica come rappresentazione uniforme per esempi di input, conoscenze di base e ipotesi. Data una codifica delle conoscenze di base note e una serie di esempi rappresentati come un database logico di fatti, un sistema ILP deriverà un programma logico ipotizzato che comporta tutti gli esempi positivi e non negativi. La programmazione induttiva è un campo correlato che considera qualsiasi tipo di linguaggio di programmazione per rappresentare ipotesi (e non solo la programmazione logica), come i programmi funzionali .

La programmazione logica induttiva è particolarmente utile nella bioinformatica e nell'elaborazione del linguaggio naturale . Gordon Plotkin e Ehud Shapiro hanno posto le basi teoriche iniziali per l'apprendimento automatico induttivo in un ambiente logico. Shapiro ha costruito la sua prima implementazione (Model Inference System) nel 1981: un programma Prolog che deduce induttivamente programmi logici da esempi positivi e negativi. Il termine induttivo qui si riferisce all'induzione filosofica , suggerendo una teoria per spiegare i fatti osservati, piuttosto che l'induzione matematica , dimostrando una proprietà per tutti i membri di un insieme ben ordinato.

Modelli

L'esecuzione dell'apprendimento automatico implica la creazione di un modello , che viene addestrato su alcuni dati di addestramento e quindi può elaborare dati aggiuntivi per fare previsioni. Vari tipi di modelli sono stati utilizzati e studiati per i sistemi di apprendimento automatico.

Reti neurali artificiali

Una rete neurale artificiale è un gruppo interconnesso di nodi, simile alla vasta rete di neuroni in un cervello . Qui, ogni nodo circolare rappresenta un neurone artificiale e una freccia rappresenta una connessione dall'uscita di un neurone artificiale all'ingresso di un altro.

Le reti neurali artificiali (ANN), o sistemi connessionisti , sono sistemi di calcolo vagamente ispirati alle reti neurali biologiche che costituiscono i cervelli animali . Tali sistemi "imparano" a eseguire attività considerando esempi, generalmente senza essere programmati con regole specifiche per attività.

Una ANN è un modello basato su un insieme di unità o nodi collegati chiamati " neuroni artificiali ", che modellano vagamente i neuroni in un cervello biologico . Ogni connessione, come le sinapsi in un cervello biologico , può trasmettere un'informazione, un "segnale", da un neurone artificiale all'altro. Un neurone artificiale che riceve un segnale può elaborarlo e quindi segnalare ulteriori neuroni artificiali ad esso collegati. Nelle comuni implementazioni ANN, il segnale in corrispondenza di una connessione tra neuroni artificiali è un numero reale e l'output di ciascun neurone artificiale è calcolato da una funzione non lineare della somma dei suoi input. Le connessioni tra i neuroni artificiali sono chiamate "bordi". I neuroni e i bordi artificiali in genere hanno un peso che si adatta man mano che l'apprendimento procede. Il peso aumenta o diminuisce la potenza del segnale in corrispondenza di una connessione. I neuroni artificiali possono avere una soglia tale che il segnale viene inviato solo se il segnale aggregato supera quella soglia. Tipicamente, i neuroni artificiali sono aggregati in strati. Strati diversi possono eseguire diversi tipi di trasformazioni sui loro input. I segnali viaggiano dal primo strato (lo strato di input) all'ultimo strato (lo strato di output), possibilmente dopo aver attraversato i livelli più volte.

L'obiettivo originale dell'approccio ANN era risolvere i problemi nello stesso modo in cui lo farebbe un cervello umano . Tuttavia, nel tempo, l'attenzione si è spostata sull'esecuzione di compiti specifici, portando a deviazioni dalla biologia . Le reti neurali artificiali sono state utilizzate per una varietà di compiti, tra cui visione artificiale , riconoscimento vocale , traduzione automatica , filtraggio dei social network , giochi da tavolo e videogiochi e diagnosi mediche .

Il deep learning è costituito da più livelli nascosti in una rete neurale artificiale. Questo approccio cerca di modellare il modo in cui il cervello umano elabora luce e suono in vista e udito. Alcune applicazioni di successo del deep learning sono la visione artificiale e il riconoscimento vocale .

Alberi decisionali

L'apprendimento dell'albero decisionale utilizza un albero decisionale come modello predittivo per passare dalle osservazioni su un elemento (rappresentato nei rami) alle conclusioni sul valore target dell'elemento (rappresentato nelle foglie). È uno degli approcci di modellazione predittiva utilizzati nelle statistiche, nel data mining e nell'apprendimento automatico. I modelli ad albero in cui la variabile di destinazione può assumere un insieme discreto di valori sono chiamati alberi di classificazione; in queste strutture ad albero, le foglie rappresentano le etichette di classe ei rami rappresentano le congiunzioni di caratteristiche che portano a quelle etichette di classe. Gli alberi decisionali in cui la variabile target può assumere valori continui (tipicamente numeri reali ) sono chiamati alberi di regressione. Nell'analisi delle decisioni, un albero decisionale può essere utilizzato per rappresentare visivamente ed esplicitamente le decisioni e il processo decisionale . Nel data mining, un albero decisionale descrive i dati, ma l'albero di classificazione risultante può essere un input per il processo decisionale.

Macchine vettoriali di supporto

Le macchine del vettore di supporto (SVM), note anche come reti del vettore di supporto, sono un insieme di metodi di apprendimento supervisionato correlati utilizzati per la classificazione e la regressione. Dato un insieme di esempi di addestramento, ciascuno contrassegnato come appartenente a una delle due categorie, un algoritmo di addestramento SVM crea un modello che prevede se un nuovo esempio rientra in una categoria o nell'altra. Un algoritmo di addestramento SVM è un classificatore lineare non probabilistico , binario , sebbene esistano metodi come lo scaling di Platt per utilizzare SVM in un'impostazione di classificazione probabilistica. Oltre a eseguire la classificazione lineare, le SVM possono eseguire in modo efficiente una classificazione non lineare utilizzando il cosiddetto trucco del kernel , mappando implicitamente i loro input in spazi di funzionalità ad alta dimensione.

Illustrazione della regressione lineare su un set di dati.

Analisi di regressione

L'analisi di regressione comprende un'ampia varietà di metodi statistici per stimare la relazione tra le variabili di input e le caratteristiche associate. La sua forma più comune è la regressione lineare , in cui viene disegnata una singola linea per adattare al meglio i dati forniti secondo un criterio matematico come i minimi quadrati ordinari . Quest'ultimo è spesso esteso da metodi di regolarizzazione (matematici) per mitigare l'overfitting e il bias, come nella regressione della cresta . Quando si tratta di problemi non lineari, i modelli di riferimento includono la regressione polinomiale (ad esempio, utilizzata per l'adattamento della linea di tendenza in Microsoft Excel), la regressione logistica (spesso utilizzata nella classificazione statistica ) o persino la regressione kernel , che introduce la non linearità sfruttando del trucco del kernel per mappare implicitamente le variabili di input in uno spazio a più dimensioni.

Reti bayesiane

Una semplice rete bayesiana. La pioggia influenza se l'irrigatore è attivato e sia la pioggia che l'irrigatore influenzano se l'erba è bagnata.

Una rete bayesiana, una rete di credenze o un modello grafico aciclico diretto è un modello grafico probabilistico che rappresenta un insieme di variabili casuali e la loro indipendenza condizionale con un grafo aciclico diretto (DAG). Ad esempio, una rete bayesiana potrebbe rappresentare le relazioni probabilistiche tra malattie e sintomi. Dati i sintomi, la rete può essere utilizzata per calcolare le probabilità della presenza di varie malattie. Esistono algoritmi efficienti che eseguono l' inferenza e l'apprendimento. Le reti bayesiane che modellano sequenze di variabili, come segnali vocali o sequenze proteiche , sono chiamate reti bayesiane dinamiche . Le generalizzazioni delle reti bayesiane che possono rappresentare e risolvere problemi decisionali in condizioni di incertezza sono chiamate diagrammi di influenza .

Algoritmi genetici

Un algoritmo genetico (GA) è un algoritmo di ricerca e una tecnica euristica che imita il processo di selezione naturale , utilizzando metodi come mutazione e crossover per generare nuovi genotipi nella speranza di trovare buone soluzioni a un dato problema. Nell'apprendimento automatico, negli anni '80 e '90 sono stati utilizzati algoritmi genetici. Al contrario, le tecniche di apprendimento automatico sono state utilizzate per migliorare le prestazioni degli algoritmi genetici ed evolutivi .

Modelli di allenamento

Di solito, i modelli di machine learning richiedono molti dati per funzionare bene. Di solito, quando si addestra un modello di apprendimento automatico, è necessario raccogliere un campione ampio e rappresentativo di dati da un set di addestramento. I dati del training set possono essere vari come un corpus di testo, una raccolta di immagini e dati raccolti dai singoli utenti di un servizio. L'overfitting è qualcosa a cui prestare attenzione quando si addestra un modello di machine learning. I modelli addestrati derivati ​​da dati distorti possono dare luogo a previsioni distorte o indesiderate. Il bias algoritmico è un potenziale risultato di dati non completamente preparati per l'addestramento.

Apprendimento federato

L'apprendimento federato è una forma adattata di intelligenza artificiale distribuita per l'addestramento di modelli di apprendimento automatico che decentralizza il processo di addestramento, consentendo di mantenere la privacy degli utenti non dovendo inviare i propri dati a un server centralizzato. Ciò aumenta anche l'efficienza decentralizzando il processo di formazione su molti dispositivi. Ad esempio, Gboard utilizza l'apprendimento automatico federato per addestrare i modelli di previsione delle query di ricerca sui telefoni cellulari degli utenti senza dover inviare le singole ricerche a Google .

Applicazioni

Esistono molte applicazioni per l'apprendimento automatico, tra cui:

Nel 2006, il fornitore di servizi multimediali Netflix ha organizzato il primo concorso " Netflix Prize " per trovare un programma in grado di prevedere meglio le preferenze degli utenti e migliorare l'accuratezza dell'algoritmo di raccomandazione dei film Cinematch esistente di almeno il 10%. Un team congiunto composto da ricercatori di AT&T Labs -Research in collaborazione con i team Big Chaos e Pragmatic Theory ha costruito un modello di insieme per vincere il Gran Premio nel 2009 per $ 1 milione. Poco dopo l'assegnazione del premio, Netflix si è resa conto che le valutazioni degli spettatori non erano i migliori indicatori dei loro modelli di visualizzazione ("tutto è una raccomandazione") e ha modificato di conseguenza il proprio motore di raccomandazione. Nel 2010 il Wall Street Journal ha scritto dell'azienda Rebellion Research e del loro uso del machine learning per prevedere la crisi finanziaria. Nel 2012, il co-fondatore di Sun Microsystems , Vinod Khosla , ha previsto che l'80% dei posti di lavoro dei medici sarebbe andato perso nei prossimi due decenni a causa del software diagnostico medico automatizzato di apprendimento automatico. Nel 2014 è stato riferito che un algoritmo di apprendimento automatico è stato applicato nel campo della storia dell'arte per studiare i dipinti d'arte e che potrebbe aver rivelato influenze precedentemente non riconosciute tra gli artisti. Nel 2019 Springer Nature ha pubblicato il primo libro di ricerca creato utilizzando l'apprendimento automatico. Nel 2020, la tecnologia di apprendimento automatico è stata utilizzata per aiutare a fare diagnosi e aiutare i ricercatori a sviluppare una cura per il COVID-19. L'apprendimento automatico è stato recentemente applicato per prevedere il comportamento ecologico dell'essere umano. Recentemente, la tecnologia di apprendimento automatico viene applicata anche per ottimizzare le prestazioni dello smartphone e il comportamento termico in base all'interazione dell'utente con il telefono.

Limitazioni

Sebbene l'apprendimento automatico sia stato trasformativo in alcuni campi, i programmi di apprendimento automatico spesso non riescono a fornire i risultati attesi. Le ragioni di ciò sono numerose: mancanza di dati (adeguati), mancanza di accesso ai dati, bias dei dati, problemi di privacy, compiti e algoritmi mal scelti, strumenti e persone sbagliati, mancanza di risorse e problemi di valutazione.

Nel 2018, un'auto a guida autonoma di Uber non è riuscita a rilevare un pedone, che è rimasto ucciso dopo una collisione. I tentativi di utilizzare l'apprendimento automatico nel settore sanitario con il sistema IBM Watson non sono riusciti a fornire risultati anche dopo anni e miliardi di dollari investiti.

L'apprendimento automatico è stato utilizzato come strategia per aggiornare le prove relative alla revisione sistematica e all'aumento del carico di revisione correlato alla crescita della letteratura biomedica. Sebbene sia migliorato con i set di formazione, non si è ancora sviluppato a sufficienza per ridurre il carico di lavoro senza limitare la sensibilità necessaria per i risultati stessi della ricerca.

Pregiudizio

In particolare, gli approcci di apprendimento automatico possono risentire di diversi pregiudizi sui dati. Un sistema di apprendimento automatico addestrato specificamente sui clienti attuali potrebbe non essere in grado di prevedere le esigenze di nuovi gruppi di clienti che non sono rappresentati nei dati di formazione. Quando viene addestrato su dati creati dall'uomo, è probabile che l'apprendimento automatico raccolga i pregiudizi costituzionali e inconsci già presenti nella società. È stato dimostrato che i modelli linguistici appresi dai dati contengono pregiudizi simili a quelli umani. È stato scoperto che i sistemi di apprendimento automatico utilizzati per la valutazione del rischio criminale sono prevenuti nei confronti delle persone di colore. Nel 2015, le foto di Google etichettavano spesso le persone di colore come gorilla, e nel 2018 questo non era ancora ben risolto, ma secondo quanto riferito Google stava ancora utilizzando la soluzione alternativa per rimuovere tutti i gorilla dai dati di allenamento e quindi non era in grado di riconoscere i veri gorilla a Tutti. Problemi simili con il riconoscimento delle persone non bianche sono stati riscontrati in molti altri sistemi. Nel 2016, Microsoft ha testato un chatbot che ha imparato da Twitter e ha rapidamente acquisito un linguaggio razzista e sessista. A causa di tali sfide, l'uso efficace dell'apprendimento automatico potrebbe richiedere più tempo per essere adottato in altri domini. La preoccupazione per l' equità nell'apprendimento automatico, ovvero la riduzione dei pregiudizi nell'apprendimento automatico e la promozione del suo utilizzo per il bene umano, è sempre più espressa dagli scienziati dell'intelligenza artificiale, tra cui Fei-Fei Li , che ricorda agli ingegneri che "Non c'è niente di artificiale nell'IA... ispirato dalle persone, è creato dalle persone e, cosa più importante, ha un impatto sulle persone. È uno strumento potente che stiamo appena iniziando a capire e questa è una profonda responsabilità. "

sovradattamento

La linea blu potrebbe essere un esempio di overfitting di una funzione lineare a causa del rumore casuale.

Stabilirsi su una teoria sbagliata e eccessivamente complessa, manipolata per adattarsi a tutti i dati di allenamento passati, è noto come overfitting . Molti sistemi tentano di ridurre l'overfitting premiando una teoria in base a quanto bene si adatta ai dati, ma penalizzando la teoria in base alla sua complessità.

Altre limitazioni

Gli studenti possono anche deludere "imparando la lezione sbagliata". Un esempio giocattolo è che un classificatore di immagini addestrato solo su immagini di cavalli marroni e gatti neri potrebbe concludere che tutte le macchie marroni sono probabilmente cavalli. Un esempio del mondo reale è che, a differenza degli umani, gli attuali classificatori di immagini spesso non esprimono principalmente giudizi sulla relazione spaziale tra i componenti dell'immagine e apprendono relazioni tra i pixel di cui gli umani sono ignari, ma che sono ancora in correlazione con le immagini di certi tipi di oggetti reali. La modifica di questi modelli su un'immagine legittima può portare a immagini "contraddittorie" che il sistema classifica erroneamente.

Le vulnerabilità contraddittorie possono anche risultare in sistemi non lineari o da perturbazioni non di pattern. Alcuni sistemi sono così fragili che la modifica di un singolo pixel contraddittorio induce prevedibilmente una classificazione errata.

Valutazioni del modello

Classificazione dei modelli di apprendimento della macchina può essere convalidato da tecniche di stima precisione come il holdout metodo, che suddivide i dati in un insieme di formazione e di prova (convenzionalmente 2/3 formazione set e 1/3 designazione test set) e valuta le prestazioni del modello di formazione sul set di prova. In confronto, il metodo di convalida incrociata K-fold suddivide casualmente i dati in sottoinsiemi K e quindi vengono eseguiti esperimenti K ciascuno considerando rispettivamente 1 sottoinsieme per la valutazione e i rimanenti sottoinsiemi K-1 per l'addestramento del modello. Oltre ai metodi di controllo e di convalida incrociata, bootstrap , che campiona n istanze con sostituzione dal set di dati, può essere utilizzato per valutare l'accuratezza del modello.

Oltre all'accuratezza complessiva, i ricercatori riportano spesso sensibilità e specificità, vale a dire il tasso di vero positivo (TPR) e il tasso di vero negativo (TNR) rispettivamente. Allo stesso modo, gli investigatori a volte segnalano il tasso di falsi positivi (FPR) e il tasso di falsi negativi (FNR). Tuttavia, questi tassi sono rapporti che non riescono a rivelare i loro numeratori e denominatori. La caratteristica operativa totale (TOC) è un metodo efficace per esprimere la capacità diagnostica di un modello. Il TOC mostra i numeratori ei denominatori dei tassi precedentemente menzionati, quindi il TOC fornisce più informazioni rispetto alla caratteristica operativa del ricevitore comunemente usata (ROC) e all'area associata al ROC sotto la curva (AUC).

Etica

L'apprendimento automatico pone una serie di questioni etiche . I sistemi formati su set di dati raccolti con pregiudizi possono mostrare questi pregiudizi al momento dell'uso ( pregiudizi algoritmici ), digitalizzando così i pregiudizi culturali. Ad esempio, nel 1988, la Commissione per l'uguaglianza razziale del Regno Unito ha scoperto che la St. George's Medical School aveva utilizzato un programma informatico formato dai dati del personale di ammissione precedente e questo programma aveva negato a quasi 60 candidati che erano risultati essere donne o non avevano -Nomi dal suono europeo. L'utilizzo dei dati sulle assunzioni di un'azienda con politiche di assunzione razziste può portare a un sistema di apprendimento automatico che duplica il pregiudizio assegnando ai candidati un punteggio per somiglianza con i precedenti candidati selezionati. La raccolta responsabile dei dati e la documentazione delle regole algoritmiche utilizzate da un sistema sono quindi una parte fondamentale dell'apprendimento automatico.

L'intelligenza artificiale può essere ben attrezzata per prendere decisioni in campi tecnici, che fanno molto affidamento su dati e informazioni storiche. Queste decisioni si basano sull'obiettività e sul ragionamento logico. Poiché le lingue umane contengono pregiudizi, anche le macchine addestrate su corpora linguistiche impareranno necessariamente questi pregiudizi.

Altre forme di sfide etiche, non legate a pregiudizi personali, si riscontrano nell'assistenza sanitaria. Ci sono preoccupazioni tra gli operatori sanitari che questi sistemi potrebbero non essere progettati nell'interesse del pubblico ma come macchine generatrici di reddito. Ciò è particolarmente vero negli Stati Uniti, dove esiste un dilemma etico di lunga data sul miglioramento dell'assistenza sanitaria, ma anche sull'aumento dei profitti. Ad esempio, gli algoritmi potrebbero essere progettati per fornire ai pazienti test o farmaci non necessari in cui i proprietari proprietari dell'algoritmo detengono partecipazioni. Esiste la possibilità che l'apprendimento automatico nell'assistenza sanitaria fornisca ai professionisti uno strumento aggiuntivo per diagnosticare, curare e pianificare percorsi di recupero per i pazienti, ma ciò richiede che questi pregiudizi siano mitigati.

Hardware

Dal 2010, i progressi sia negli algoritmi di apprendimento automatico che nell'hardware del computer hanno portato a metodi più efficienti per l'addestramento delle reti neurali profonde (un particolare sottodominio ristretto dell'apprendimento automatico) che contengono molti strati di unità nascoste non lineari. Entro il 2019, le unità di elaborazione grafica ( GPU ), spesso con miglioramenti specifici dell'AI, avevano sostituito le CPU come metodo dominante per addestrare l'AI cloud commerciale su larga scala. OpenAI ha stimato l'elaborazione hardware utilizzata nei più grandi progetti di deep learning da AlexNet (2012) ad AlphaZero (2017) e ha riscontrato un aumento di 300.000 volte della quantità di elaborazione richiesta, con una linea di tendenza del raddoppio del tempo di 3,4 mesi.

Reti neurali neuromorfe/fisiche

Una rete neurale fisica o computer neuromorfo è un tipo di rete neurale artificiale in cui viene utilizzato un materiale regolabile elettricamente per emulare la funzione di una sinapsi neurale . La rete neurale "fisica" viene utilizzata per enfatizzare la dipendenza dall'hardware fisico utilizzato per emulare i neuroni rispetto agli approcci basati su software. Più in generale il termine è applicabile ad altre reti neurali artificiali in cui viene utilizzato un memristor o altro materiale di resistenza regolabile elettricamente per emulare una sinapsi neurale.


Software

Le suite software contenenti una varietà di algoritmi di apprendimento automatico includono quanto segue:

Software gratuito e open source

Software proprietario con edizioni gratuite e open source

Software proprietario

Riviste

Conferenze

Guarda anche

Riferimenti

Fonti

Ulteriori letture

link esterno