1: Transformer
2: Generative Adversarial Network (GAN)
3: SVM
4: K-Means Clustering
5: Random Forest
6: Naive Bayes
7: K-Nearest Neighbors (KNN)
8: The Markov Decision Process (MDP)
9: Term Frequency-Inverse Document Frequency
10: Discesa a gradiente stocastico
Sebbene stiamo vivendo un periodo di straordinaria innovazione nell’apprendimento automatico con accelerazione GPU , gli ultimi documenti di ricerca spesso (e in modo prominente) presentano algoritmi che hanno decenni, in alcuni casi 70 anni.
Alcuni potrebbero obiettare che molti di questi metodi più antichi rientrano nel campo dell'”analisi statistica” piuttosto che dell’apprendimento automatico, e preferiscono far risalire l’avvento del settore solo fino al 1957, con l’ invenzione del Perceptron .
Data la misura in cui questi vecchi algoritmi supportano e sono invischiati nelle ultime tendenze e negli sviluppi che catturano i titoli dei titoli nell’apprendimento automatico, è una posizione contestabile. Diamo quindi un’occhiata ad alcuni dei “classici” elementi costitutivi alla base delle ultime innovazioni, nonché ad alcune voci più recenti che stanno facendo un’offerta anticipata per la hall of fame dell’IA.
1: Transformer
Nel 2017 Google Research ha condotto una collaborazione di ricerca culminata nel documento L’attenzione è tutto ciò di cui hai bisogno . Il lavoro ha delineato una nuova architettura che ha promosso i meccanismi di attenzione dalle “condutture” nei codificatori/decodificatori e nei modelli di rete ricorrenti a una tecnologia di trasformazione centrale a sé stante.
L’approccio è stato soprannominato Transformer e da allora è diventato una metodologia rivoluzionaria nell’elaborazione del linguaggio naturale (NLP), alimentando, tra molti altri esempi, il modello del linguaggio autoregressivo e l’IA poster-child GPT-3.
Transformers ha risolto elegantemente il problema della trasduzione di sequenza , chiamata anche ‘trasformazione’, che si occupa dell’elaborazione di sequenze di input in sequenze di output. Un trasformatore riceve e gestisce anche i dati in modo continuo, piuttosto che in batch sequenziali, consentendo una “persistenza della memoria” che le architetture RNN non sono progettate per ottenere. Per una panoramica più dettagliata dei trasformatori, dai un’occhiata al nostro articolo di riferimento .
In contrasto con le Recurrent Neural Networks (RNN) che avevano iniziato a dominare la ricerca sul ML nell’era CUDA, l’architettura Transformer potrebbe anche essere facilmente parallelizzata , aprendo la strada per affrontare in modo produttivo un corpus di dati molto più ampio rispetto alle RNN.
Uso popolare
Transformers ha catturato l’immaginazione del pubblico nel 2020 con il rilascio del GPT-3 di OpenAI, che vantava un record di 175 miliardi di parametri . Questo risultato apparentemente sbalorditivo è stato infine oscurato da progetti successivi, come la versione 2021 del Megatron-Turing NLG 530B di Microsoft, che (come suggerisce il nome) presenta oltre 530 miliardi di parametri.
Una sequenza temporale di progetti Transformer NLP iperscalabili. Fonte: Microsoft
L’architettura del trasformatore è anche passata dalla NLP alla visione artificiale , alimentando una nuova generazione di framework di sintesi di immagini come CLIP e DALL-E di OpenAI , che utilizzano la mappatura del dominio testo>immagine per completare immagini incomplete e sintetizzare nuove immagini da domini addestrati, tra un numero crescente di applicazioni correlate.
2: Generative Adversarial Network (GAN)
Sebbene i trasformatori abbiano ottenuto una straordinaria copertura mediatica attraverso il rilascio e l’adozione di GPT-3, il Generative Adversarial Network (GAN) è diventato un marchio riconoscibile a sé stante e potrebbe eventualmente unirsi a deepfake come verbo.
Proposta per la prima volta nel 2014 e utilizzata principalmente per la sintesi di immagini , un’architettura di rete generativa contraddittoria è composta da un generatore e un discriminatore . Il generatore scorre migliaia di immagini in un set di dati, tentando iterativamente di ricostruirle. Per ogni tentativo, il Discriminatore valuta il lavoro del Generatore e rimanda il Generatore a fare di meglio, ma senza alcuna comprensione del modo in cui la ricostruzione precedente ha commesso un errore.
Questo costringe il Generatore a esplorare una molteplicità di strade, invece di seguire i potenziali vicoli ciechi che sarebbero risultati se il Discriminatore gli avesse detto dove stava andando storto (vedi n. 8 sotto). Al termine dell’addestramento, il generatore dispone di una mappa dettagliata e completa delle relazioni tra i punti nel set di dati.
Dal documento Improving GAN Equilibrium by Raising Spatial Awareness : un nuovo framework scorre attraverso lo spazio latente a volte misterioso di un GAN, fornendo strumenti reattivi per un’architettura di sintesi di immagini. Fonte: https://genforce.github.io/eqgan/
Per analogia, questa è la differenza tra l’apprendere un singolo banale pendolarismo al centro di Londra o l’acquisire faticosamente The Knowledge .
Il risultato è una raccolta di funzionalità di alto livello nello spazio latente del modello addestrato. L’indicatore semantico per una caratteristica di alto livello potrebbe essere “persona”, mentre una discesa attraverso la specificità correlata alla caratteristica può portare alla luce altre caratteristiche apprese, come “maschio” e “femmina”. A livelli inferiori le caratteristiche secondarie possono suddividersi in “bionda”, “caucasica”, et al.
L’ entanglement è un problema notevole nello spazio latente dei GAN e dei framework di codifica/decodificatore: il sorriso su un volto femminile generato da GAN è una caratteristica intricata della sua “identità” nello spazio latente, o è un ramo parallelo?
Gli ultimi due anni hanno prodotto un numero crescente di nuove iniziative di ricerca in questo senso, forse aprendo la strada all’editing a livello di funzionalità, in stile Photoshop per lo spazio latente di un GAN, ma al momento molte trasformazioni sono effettivamente ‘ pacchetti tutto o niente. In particolare, la versione EditGAN di NVIDIA della fine del 2021 raggiunge un elevato livello di interpretabilità nello spazio latente utilizzando le maschere di segmentazione semantica.
Uso popolare
Oltre al loro (in realtà piuttosto limitato) coinvolgimento nei popolari video deepfake, negli ultimi quattro anni sono proliferati GAN incentrati su immagini e video, affascinando allo stesso modo i ricercatori e il pubblico. Tenere il passo con la velocità vertiginosa e la frequenza delle nuove versioni è una sfida, anche se il repository GitHub Awesome GAN Applications mira a fornire un elenco completo.
Le reti contraddittorie generative possono in teoria derivare caratteristiche da qualsiasi dominio ben strutturato, incluso il testo .
3: SVM
Creato nel 1963 , Support Vector Machine (SVM) è un algoritmo di base che emerge frequentemente nelle nuove ricerche. In SVM, i vettori mappano la disposizione relativa dei punti dati in un set di dati, mentre i vettori di supporto delineano i confini tra diversi gruppi, caratteristiche o tratti.
I vettori di supporto definiscono i confini tra i gruppi.
A livelli di funzionalità bassi, l’SVM è bidimensionale , ma dove è riconosciuto un numero maggiore di gruppi o tipi, diventa tridimensionale .
Poiché il supporto Vector Machines può indirizzare in modo efficace e agnostico dati ad alta dimensione di molti tipi, sono ampiamente diffusi in una varietà di settori di apprendimento automatico, tra cui il rilevamento di deepfake , la classificazione delle immagini, la classificazione dell’incitamento all’odio , l’analisi del DNA e la previsione della struttura della popolazione , tra molti altri .
4: K-Means Clustering
Il clustering in generale è un approccio di apprendimento non supervisionato che cerca di classificare i punti dati attraverso la stima della densità , creando una mappa della distribuzione dei dati studiati.
Il raggruppamento di K-Means individua segmenti, gruppi e comunità nei dati. Fonte: https://aws.amazon.com/blogs/machine-learning/k-means-clustering-with-amazon-sagemaker/
K-Means Clustering è diventata l’implementazione più popolare di questo approccio, guidando i punti dati in “Gruppi K” distintivi, che possono indicare settori demografici, comunità online o qualsiasi altra possibile aggregazione segreta in attesa di essere scoperta in dati statistici grezzi.
Il valore K stesso è il fattore determinante nell’utilità del processo e nello stabilire un valore ottimale per un cluster. Inizialmente, il valore K viene assegnato in modo casuale e le sue caratteristiche e caratteristiche del vettore confrontate con i suoi vicini. Quei vicini che assomigliano di più al punto dati con il valore assegnato in modo casuale vengono assegnati al suo cluster in modo iterativo fino a quando i dati non hanno prodotto tutti i raggruppamenti consentiti dal processo.
Il grafico per l’errore al quadrato, o “costo” di valori diversi tra i cluster rivelerà un punto a gomito per i dati:
Il punto del gomito è concettualmente simile al modo in cui la perdita si appiattisce a rendimenti decrescenti alla fine di una sessione di allenamento per un set di dati. Rappresenta il punto in cui non si manifesteranno ulteriori distinzioni tra i gruppi, indicando il momento di passare alle fasi successive della pipeline dei dati, oppure di riportare i risultati.
Uso popolare
K-Means Clustering, per ovvi motivi, è una tecnologia primaria nell’analisi dei clienti, poiché offre una metodologia chiara e spiegabile per tradurre grandi quantità di record commerciali in approfondimenti demografici e “lead”.
Al di fuori di questa applicazione, K-Means Clustering viene utilizzato anche per la previsione delle frane , la segmentazione di immagini mediche , la sintesi di immagini con GAN , la classificazione dei documenti e la pianificazione urbana , tra molti altri usi potenziali ed effettivi.
5: Random Forest
Random Forest è un metodo di apprendimento d’insieme che calcola la media del risultato da una serie di alberi decisionali per stabilire una previsione generale per il risultato.
Se l’hai studiato anche solo guardando la trilogia di Ritorno al futuro , un albero decisionale stesso è abbastanza facile da concettualizzare: un certo numero di percorsi si trovano davanti a te e ogni percorso si ramifica verso un nuovo risultato che a sua volta contiene ulteriori possibili percorsi.
Nell’apprendimento per rinforzo , potresti ritirarti da un percorso e ricominciare da una posizione precedente, mentre gli alberi decisionali si impegnano nei loro viaggi.
Quindi l’algoritmo Random Forest è essenzialmente spread-bet per le decisioni. L’algoritmo è chiamato ‘random’ perché effettua selezioni e osservazioni ad hoc per comprendere la somma mediana dei risultati dall’array dell’albero decisionale.
Poiché tiene conto di una molteplicità di fattori, un approccio Random Forest può essere più difficile da convertire in grafici significativi rispetto a un albero decisionale, ma è probabile che sia notevolmente più produttivo.
Gli alberi decisionali sono soggetti a overfitting, in cui i risultati ottenuti sono specifici dei dati e non suscettibili di generalizzazione. La selezione arbitraria di punti dati da parte di Random Forest contrasta questa tendenza, analizzando tendenze rappresentative significative e utili nei dati.
Come con molti degli algoritmi in questo elenco, Random Forest funziona in genere come un selezionatore “precoce” e un filtro di dati, e come tale emerge costantemente in nuovi documenti di ricerca. Alcuni esempi di utilizzo della foresta casuale includono la sintesi di immagini di risonanza magnetica , la previsione del prezzo di Bitcoin , la segmentazione del censimento , la classificazione del testo e il rilevamento di frodi con carta di credito .
Poiché Random Forest è un algoritmo di basso livello nelle architetture di apprendimento automatico, può anche contribuire alle prestazioni di altri metodi di basso livello, nonché algoritmi di visualizzazione, inclusi clustering induttivo , trasformazioni di funzionalità , classificazione di documenti di testo utilizzando funzionalità sparse e visualizzazione delle pipeline .
6: Naive Bayes
Insieme alla stima della densità (vedi 4 , sopra), un classificatore Bayes ingenuo è un algoritmo potente ma relativamente leggero in grado di stimare le probabilità in base alle caratteristiche calcolate dei dati.
Relazioni di funzionalità in un classificatore Bayes ingenuo. Fonte: https://www.sciencedirect.com/topics/computer-science/naive-bayes-model
Il termine “ingenuo” si riferisce al presupposto nel teorema di Bayes che le caratteristiche non siano correlate, noto come indipendenza condizionale . Se si adotta questo punto di vista, camminare e parlare come un’anatra non sono sufficienti per stabilire che abbiamo a che fare con un’anatra e nessuna ipotesi “ovvia” viene adottata prematuramente.
Questo livello di rigore accademico e investigativo sarebbe eccessivo laddove è disponibile il “buon senso”, ma è uno standard prezioso quando si attraversano le molte ambiguità e correlazioni potenzialmente non correlate che possono esistere in un set di dati di apprendimento automatico.
In una rete bayesiana originale, le caratteristiche sono soggette a funzioni di punteggio , inclusa la lunghezza minima della descrizione e il punteggio bayesiano , che possono imporre restrizioni ai dati in termini di connessioni stimate trovate tra i punti dati e la direzione in cui queste connessioni scorrono.
Un classificatore ingenuo di Bayes, al contrario, opera assumendo che le caratteristiche di un dato oggetto siano indipendenti, utilizzando successivamente il teorema di Bayes per calcolare la probabilità di un dato oggetto, in base alle sue caratteristiche.
Uso popolare
I filtri Naive Bayes sono ben rappresentati nella previsione delle malattie e nella categorizzazione dei documenti , nel filtraggio dello spam , nella classificazione dei sentimenti , nei sistemi di raccomandazione e nel rilevamento delle frodi , tra le altre applicazioni.
7: K-Nearest Neighbors (KNN)
Proposto per la prima volta dalla US Air Force School of Aviation Medicine nel 1951 e dovendo adattarsi allo stato dell’arte dell’hardware informatico della metà del XX secolo, K-Nearest Neighbors (KNN) è un algoritmo snello che presenta ancora in primo piano tra documenti accademici e iniziative di ricerca sull’apprendimento automatico del settore privato.
KNN è stato chiamato “lo studente pigro”, poiché scansiona in modo esauriente un set di dati per valutare le relazioni tra i punti dati, piuttosto che richiedere l’addestramento di un modello di apprendimento automatico a tutti gli effetti.
Sebbene KNN sia architettonicamente snello, il suo approccio sistematico pone una notevole richiesta di operazioni di lettura/scrittura e il suo utilizzo in set di dati molto grandi può essere problematico senza tecnologie aggiuntive come l’analisi dei componenti principali (PCA), che può trasformare set di dati complessi e ad alto volume in raggruppamenti rappresentativi che KNN può attraversare con meno sforzo.
Uno studio recente ha valutato l’efficacia e l’economia di una serie di algoritmi incaricati di prevedere se un dipendente lascerà un’azienda, scoprendo che il settantenne KNN è rimasto superiore ai contendenti più moderni in termini di precisione ed efficacia predittiva.
Uso popolare
Nonostante tutta la sua popolare semplicità di concetto ed esecuzione, KNN non è bloccato negli anni ’50: è stato adattato a un approccio più incentrato sulla DNN in una proposta del 2018 della Pennsylvania State University e rimane un processo centrale nella fase iniziale (o post-elaborazione strumento analitico) in molti framework di machine learning molto più complessi.
In varie configurazioni, KNN è stato utilizzato per la verifica della firma online , la classificazione delle immagini , l’estrazione di testo , la previsione del ritaglio e il riconoscimento facciale , oltre ad altre applicazioni e incorporazioni.
8: The Markov Decision Process (MDP)
Un framework matematico introdotto dal matematico americano Richard Bellman nel 1957 , The Markov Decision Process (MDP) è uno dei blocchi più basilari delle architetture di apprendimento per rinforzo . Un algoritmo concettuale a sé stante, è stato adattato in un gran numero di altri algoritmi e ricorre frequentemente nell’attuale raccolto della ricerca AI/ML.
MDP esplora un ambiente di dati utilizzando la sua valutazione del suo stato attuale (cioè “dove” si trova nei dati) per decidere quale nodo dei dati esplorare successivamente.
Un processo decisionale Markov di base darà la priorità al vantaggio a breve termine rispetto agli obiettivi a lungo termine più desiderabili. Per questo motivo, di solito è incorporato nel contesto di un’architettura politica più completa nell’apprendimento per rinforzo ed è spesso soggetto a fattori limitanti come la ricompensa scontata e altre variabili ambientali modificanti che gli impediranno di correre verso un obiettivo immediato senza considerazione del più ampio risultato desiderato.
Uso popolare
Il concetto di basso livello di MDP è diffuso sia nella ricerca che nelle implementazioni attive dell’apprendimento automatico. È stato proposto per i sistemi di difesa della sicurezza IoT , la raccolta del pesce e le previsioni di mercato .
Oltre alla sua ovvia applicabilità agli scacchi e ad altri giochi strettamente sequenziali, MDP è anche un naturale contendente per l’ addestramento procedurale dei sistemi robotici , come possiamo vedere nel
9: Term Frequency-Inverse Document Frequency
Term Frequency ( TF ) divide il numero di volte in cui una parola appare in un documento per il numero totale di parole in quel documento. Quindi la parola sigillo che compare una volta in un articolo di mille parole ha una frequenza dei termini di 0,001. Di per sé, TF è in gran parte inutile come indicatore dell’importanza del termine, a causa del fatto che predominano articoli privi di significato (come a , e , e ).
Per ottenere un valore significativo per un termine, la frequenza inversa dei documenti (IDF) calcola il TF di una parola su più documenti in un set di dati, assegnando una valutazione bassa alle parole non significative a frequenza molto alta , come gli articoli. I vettori delle caratteristiche risultanti sono normalizzati a valori interi, con ogni parola assegnata a un peso appropriato.
TF-IDF pesa la pertinenza dei termini in base alla frequenza in un numero di documenti, con occorrenze più rare un indicatore di rilevanza. Fonte: https://moz.com/blog/inverse-document-frequency-and-the-importance-of-uniqueness
Sebbene questo approccio impedisca che parole semanticamente importanti vengano perse come valori anomali , invertire il peso della frequenza non significa automaticamente che un termine a bassa frequenza non sia un valore anomalo, perché alcune cose sono rare e prive di valore. Pertanto un termine a bassa frequenza dovrà dimostrare il suo valore nel più ampio contesto architettonico presentando (anche a bassa frequenza per documento) un numero di documenti nel set di dati.
Nonostante la sua età , TF-IDF è un metodo potente e popolare per i passaggi di filtro iniziali nei framework di elaborazione del linguaggio naturale.
Uso popolare
Poiché TF-IDF ha svolto almeno un ruolo nello sviluppo dell’algoritmo PageRank in gran parte occulto di Google negli ultimi vent’anni, è stato ampiamente adottato come tattica SEO manipolativa, nonostante il disconoscimento di John Mueller nel 2019 della sua importanza per i risultati di ricerca .
A causa della segretezza intorno al PageRank, non ci sono prove chiare che TF-IDF non sia attualmente una tattica efficace per aumentare le classifiche di Google. La discussione incendiaria tra i professionisti IT ultimamente indica una comprensione popolare, corretta o meno, che il termine abuso può comunque comportare un migliore posizionamento SEO (sebbene ulteriori accuse di abuso di monopolio e pubblicità eccessiva offuschino i confini di questa teoria).
10: Stochastic Gradient Descent (SGD)
Stochastic Gradient Descent (SGD) è un metodo sempre più diffuso per ottimizzare l’addestramento dei modelli di machine learning.
Gradient Descent è di per sé un metodo per ottimizzare e successivamente quantificare il miglioramento che un modello sta apportando durante l’allenamento.
In questo senso, ‘gradiente’ indica una pendenza verso il basso (piuttosto che una gradazione basata sul colore, vedi immagine sotto), dove il punto più alto della ‘collina’, a sinistra, rappresenta l’inizio del processo di allenamento. In questa fase il modello non ha ancora visto la totalità dei dati nemmeno una volta e non ha imparato abbastanza sulle relazioni tra i dati per produrre trasformazioni efficaci.
Una discesa in pendenza durante una sessione di allenamento FaceSwap. Possiamo vedere che la formazione si è stabilizzata per un po’ di tempo nella seconda metà, ma alla fine ha recuperato la sua strada lungo il gradiente verso una convergenza accettabile.
Il punto più basso, a destra, rappresenta la convergenza (il punto in cui il modello è tanto efficace quanto mai andrà incontro ai vincoli e alle impostazioni imposti).
Il gradiente funge da record e predittore per la disparità tra il tasso di errore (quanto accuratamente il modello ha attualmente mappato le relazioni dei dati) e i pesi (le impostazioni che influenzano il modo in cui il modello apprenderà).
Questa registrazione dei progressi può essere utilizzata per informare un programma del tasso di apprendimento , un processo automatico che indica all’architettura di diventare più granulare e precisa man mano che i primi dettagli vaghi si trasformano in relazioni e mappature chiare. In effetti, la perdita di gradiente fornisce una mappa just-in-time di dove dovrebbe andare l’allenamento e come dovrebbe procedere.
L’innovazione di Stochastic Gradient Descent è che aggiorna i parametri del modello su ogni esempio di addestramento per iterazione, il che generalmente accelera il viaggio verso la convergenza. A causa dell’avvento di set di dati iperscalabili negli ultimi anni, l’SGD è diventato popolare negli ultimi tempi come un possibile metodo per affrontare i problemi logistici che ne derivano.
D’altra parte, SGD ha implicazioni negative per il ridimensionamento delle funzionalità e potrebbe richiedere più iterazioni per ottenere lo stesso risultato, richiedendo pianificazione aggiuntiva e parametri aggiuntivi, rispetto alla normale discesa del gradiente.
Uso popolare
Grazie alla sua configurabilità e nonostante le sue carenze, SGD è diventato l’algoritmo di ottimizzazione più popolare per l’adattamento di reti neurali. Una configurazione di SGD che sta diventando dominante nei nuovi documenti di ricerca AI/ML è la scelta dell’ottimizzatore Adaptive Moment Estimation (ADAM, introdotto nel 2015 ).
ADAM adatta dinamicamente la velocità di apprendimento per ciascun parametro (“tasso di apprendimento adattivo”), oltre a incorporare i risultati degli aggiornamenti precedenti nella configurazione successiva (“slancio”). Inoltre, può essere configurato per utilizzare innovazioni successive, come Nesterov Momentum .
Tuttavia, alcuni sostengono che l’uso della quantità di moto può anche accelerare ADAM (e algoritmi simili) a una conclusione non ottimale . Come con la maggior parte dell’avanguardia del settore della ricerca sull’apprendimento automatico, SGD è un lavoro in corso.