In che misura la "matematica avanzata" è necessaria / utile nella ricerca sull'IA?


19

Attualmente sto studiando matematica. Tuttavia, non penso di voler diventare un matematico professionista in futuro. Sto pensando di applicare la mia conoscenza della matematica per fare ricerche sull'intelligenza artificiale. Tuttavia, non sono sicuro di quanti corsi di matematica dovrei seguire. (E quali corsi di teoria CS dovrei seguire.)

Da Quora ho appreso che gli argomenti Algebra lineare, Statistica e Ottimizzazione convessa sono più rilevanti per l'apprendimento automatico (vedi questa domanda). Qualcun altro ha affermato che per studiare l'intelligenza artificiale sono necessari l'apprendimento di algebra lineare, probabilità / statistica, calcolo, algoritmi di base e logica (vedi questa domanda).

Posso conoscere tutte queste materie durante i miei primi 1,5 anni di laurea in matematica presso la nostra università.

Mi chiedevo, però, se ci sono alcuni studenti universitari di materie anche di livello universitario utili o addirittura necessarie per studiare l'intelligenza artificiale. Che dire di ODE, PDE, topologia, teoria delle misure, analisi lineare, analisi di Fourier e analisi sui collettori?

Un libro che suggerisce che una certa matematica abbastanza avanzata sia utile nello studio dell'intelligenza artificiale è Pattern Theory: The Stochastic Analysis of Real-World segnali di David Mumford e Agnes Desolneux (vedi questa pagina). Include capitoli su Catene di Markov, Modelli gaussiani a tratti, Campi di Gibbs, Collettori, Gruppi di Lie e Algebre di Lie e loro applicazioni alla teoria dei modelli. In che misura questo libro è utile nella ricerca sull'IA?


22
nei miei 2+ anni su questo sito ho visto più di una mezza dozzina di domande del tipo "di cosa ho bisogno per la matematica ...". Que risponde rispondendo come il contenuto di Princeton Companion to Mathematics. 1) L'intelligenza artificiale è un campo enorme, la matematica utilizzata nei suoi sottocampi è disponibile in tutti i gusti; 2) Segui i tuoi corsi di matematica di base, scegli corsi più avanzati in base agli interessi; 3) Fai ricerche sull'intelligenza artificiale, trova quello che ti piace, trova ciò che la matematica viene utilizzata lì; 4) Non possiamo sapere ad Apriori quale matematica sarà utile per questo o quel problema.
Sasho Nikolov,

Risposte:


57

Non voglio sembrare condiscendente, ma la matematica che stai studiando ai corsi di laurea e persino a livello universitario non è avanzata. Sono le basi . Il titolo della tua domanda dovrebbe essere: la matematica "di base" è necessaria / utile nella ricerca sull'IA? Quindi, divorando il più possibile, non ho mai incontrato uno scienziato informatico che si lamentasse di conoscere troppa matematica, sebbene abbia incontrato molti che si lamentavano di non conoscerne abbastanza. Ricordo di aver aiutato un collega studente universitario in AI a capire un algoritmo di tipo rango pagina. Per me era solo un'algebra lineare abbastanza facile, ma soffriva perché non aveva idea di cosa fossero gli autovalori e gli autovettori. Immagina le cose che le persone dell'IA potrebbero fare se in realtà conoscessero un sacco di matematica!

Insegno in un dipartimento di matematica e ricevo regolarmente richieste dai miei colleghi CS per raccomandare le specializzazioni in matematica per i dottorati di CS, in quanto preferiscono gli studenti di matematica. Vedete, la matematica è davvero, davvero difficile da imparare da soli, ma la maggior parte degli aspetti dell'informatica non lo sono. Lo so, ero una laurea in matematica che ha frequentato una scuola di specializzazione in CS. Certo, ero "indietro" nella conoscenza dei sistemi operativi (nonostante avessi una discreta conoscenza di Unix e VMS), ma ero molto, molto avanti nella "teoria". Non è una situazione simmetrica.


6
la teoria della misura e la teoria della probabilità sono la base di tutto il ragionamento probabilistico. la topologia è diventata molto importante per l'analisi dei dati topologici. L'analisi di Fourier è importante per la teoria dell'apprendimento (viene utilizzata per comprendere la sensibilità delle funzioni e quanto sia difficile apprenderle) e l'apprendimento multiplo richiede una profonda comprensione della geometria multipla.
Suresh Venkat,

2
@MaxMuller: E per continuare l'elenco, la teoria dei gruppi e l'algebra (come le algebre di Lie) sono ampiamente utilizzate nel riconoscimento dei modelli nella teoria della decomposizione delle immagini in cui la topologia è fortemente richiesta (e c'è una profonda connessione tra le algebre di Lie e le varietà che è necessario imparare lungo la strada). Libri come "Fundamentals of Pattern Recognition" di Monique Pavel ti introdurranno persino alla teoria delle categorie e alla sua applicazione, che è anche estremamente importante nell'IA per il suo uso nelle basi dei linguaggi formali e della teoria delle prove (che può essere una teoria del ragionamento) ...
ex0du5,

1
Passati i corsi di laurea di primo livello, i matematici imparano tutta la matematica da soli (o in gruppi di lettura e seminari) .. Non è poi così difficile se hai delle basi ... ok, può essere difficile, ma non è impossibile.
Sasho Nikolov,

1
Max, insegno anche aikido. Non ricordo nessuno studente dell'aikido che mi chiedesse "perché devo imparare le basi (come cadere, come muovermi dalla linea di attacco)?" A volte devi fidarti un po 'che i tuoi insegnanti sappiano cosa stanno facendo. Sarò comunque il primo ad ammettere che insegniamo molta merda, specialmente nelle scuole superiori e nelle scuole elementari in cui viene insegnata la matematica come se lo scopo fosse quello di soffocare la curiosità negli studenti. Ma nel tuo caso, i soggetti che hai elencato non sono una schifezza. Fidati di me.
Andrej Bauer,

13
E solo un altro commento. Se impari solo la matematica che si è già dimostrata utile in alcune aree del CS, non avrai mai la possibilità di applicare la nuova matematica. Sarai sempre indietro. La scienza è un'arte, non un lavoro dalle 9 alle 5. Se mi chiedi "dovrei imparare la fisica, voglio entrare nell'intelligenza artificiale" dirò "assolutamente così!" E se mi chiedi "dovrei imparare la sociologia, voglio entrare nell'intelligenza artificiale" la mia risposta sarà sempre la stessa.
Andrej Bauer,

6

Max, ecco un elenco (necessariamente) parziale:

Algebra lineare di base e probabilità sono necessarie in tutto il luogo. Suppongo che non ti servano riferimenti per questo.

Per quanto ne sappia, l'analisi di Fourier è stata utilizzata in alcune indagini relative alla teoria dell'apprendimento. Dai un'occhiata a questo documento , per esempio.

Il concetto di apprendimento multiplo sta diventando popolare e puoi iniziare a dare un'occhiata alle opere di Mikhail Belkin e Partha Niyogi. Questa linea di lavoro richiede la comprensione di vari concetti relativi alle varietà e alla geometria riemanniana.

C'è un altro aspetto dell'apprendimento automatico, che ha radici più profonde nelle statistiche, vale a dire, la geometria dell'informazione. Quest'area si lega a vari concetti di geometria riemanniana, teoria dell'informazione, informazioni di Fisher, ecc. Un cugino di questo tipo di studio può essere trovato nelle statistiche algebriche - che è un campo nascente con un grande potenziale.

Sumio Watanabe, ha studiato una frontiera diversa, vale a dire, l'esistenza di singolarità nei modelli di apprendimento e come applicare risultati profondi di risoluzioni dalla geometria algebrica per rispondere a molte domande. I risultati di Watanabe si basano fortemente sul celebre lavoro di Heisuke Hironaka che gli è valso la medaglia Fields.

Suppongo che sto omettendo molte altre aree che richiedono matematica relativamente pesante. Ma come ha sottolineato Andrej, molti di loro probabilmente non si trovano ai confini della matematica, ma sono domini relativamente più vecchi e stabiliti.

Ad ogni modo, comunque, suppongo che l'attuale stato dell'IA che è entrato nell'informatica mainstream - come nei sistemi di raccomandazione in Amazon o nelle librerie di machine learning presenti in Apache Mahout, non richieda alcuna matematica avanzata. Potrei sbagliarmi.


2

Dipende dalla tua definizione di avanzato e dal tipo di intelligenza artificiale che vuoi studiare.

Molti problemi nell'intelligenza artificiale sono dimostrabilmente irrintracciabili: le soluzioni ottimali ai POMDP sono dimostrabili NP-Complete, le soluzioni ottimali ai DEC-POMDP sono dimostrabilmente NEXP-complete, ecc. Quindi, in assenza di qualche inaspettata svolta nella teoria della complessità, più si conoscono gli algoritmi di approssimazione e le loro basi teoriche, meglio è. (Oltre alla teoria delle misure, ecc., Era necessario comprendere veramente la probabilità bayesiana che sta alla base del modello POMDP.)

L'intelligenza artificiale multi-agente, in particolare, si interseca con la teoria dei giochi; quindi è utile conoscere la teoria dei giochi che a sua volta dipende dalla topologia, dalla teoria delle misure, ecc. E allo stesso modo, molti problemi nella teoria dei giochi sono intrattabili. Alcuni sono persino intrattabili sotto l'approssimazione e persino capire quando è possibile approssimare utilmente richiede una notevole quantità di matematica per elaborare.

(Noto che i teorici del gioco hanno avuto una discreta corsa nel campo del Nobel Economics, negli ultimi anni, e questo è di natura fortemente matematica. Prevedo tra venti anni dispari, i teorici del gioco algoritmico di oggi saranno circa gli stessi posizione.)


1

La matematica coinvolta nell'intelligenza artificiale non è avanzata e viene insegnata a livello universitario. Gli algoritmi di addestramento e inferenza dell'IA sono nel dominio dell'informatica avanzata.

È un po 'un gioco di parole. Un po 'di storia dovrebbe essere inclusa anche nella ricerca sull'IA.

Ad esempio, nella nomenclatura attuale, Deep Learning sembra essere una parola chiave di tendenza nell'intelligenza artificiale.

Il deep learning è ciò che un tempo veniva definito reti neurali artificiali (ANN) come il modello di rete percettrice retropropagante di Hinton (BACKPROP) e simili.

La matematica coinvolta con una BACKPROP ANN (per esempio) è essenzialmente un calcolo derivato per l'addestramento e un'algebra matriciale per l'inferenza.

Il nuovo aspetto del Deep Learning è la separazione fisica degli algoritmi di allenamento e inferenza. Le CPU sono ancora utilizzate per l'addestramento, ma ora le GPU sono usate per inferire.

Ad esempio, le matrici ANN vengono addestrate (ponderate) da backpropagating errori utilizzando il calcolo della derivata correttiva. Questo è più adatto alle CPU e deve essere eseguito una sola volta per distribuzione ANN.

L'ANN viene quindi distribuito in un'architettura GPU altamente parallelizzata. La matematica di inferenza in avanti implica l'algebra a matrice intensiva, per la quale sono progettate GPU.

Ciò migliora le prestazioni di un ANN distribuito di diversi ordini di grandezza rispetto alle precedenti implementazioni basate su CPU e può essere scalato in modo più efficiente su un numero qualsiasi di GPU dedicate.

Aziende come Nvidia e AMD stanno ora commercializzando chipset GPU di fascia alta come Deep Learning Machines. Il termine GPU è sempre stato un po 'fuorviante, dal momento che sono processori paralleli davvero generici. Ad esempio, le GPU sono talvolta chiamate Bitminer nelle applicazioni blockchain.

Quindi ciò che era vecchio è ora nuovo. La matematica in questione non è cambiata, ma solo la terminologia dell'informatica (principalmente a causa delle pressioni del marketing).

Il termine AI è sempre stato considerato un po 'un cavallo oscuro. Deep Learning è ora il termine politicamente corretto e favorevole al mercato.


2
Una risposta precedente ha già fornito controesempi al tuo reclamo nella prima frase. (Ce ne sono anche molti altri.) Hai letto le risposte precedenti prima di pubblicare? Potresti voler modificare questa risposta per restringere le tue affermazioni.
DW,

2
La tua affermazione che "le CPU sono ancora utilizzate per l'addestramento [reti profonde], ma ora le GPU sono utilizzate per inferire" è piuttosto fuorviante (se non errato). Tutti addestrano le moderne reti neurali su GPU. La maggior parte delle persone li distribuisce anche su GPU, ma alcuni ambienti di distribuzione (ad esempio alcuni telefoni cellulari) usano ancora CPU.
Mike Izbicki,

Sono d'accordo con Mike. "Le GPU vengono utilizzate per l'addestramento e le CPU per l'inferenza" è meno errata del dire che "Le CPU vengono utilizzate per l'allenamento e le GPU per l'inferenza"
ASDF

Le architetture @MikeIzbicki Pipeline come CUDA, OpenCL, ecc. Sono necessarie per la formazione in Deep Learning, che si basa fortemente sui core della CPU per la correzione degli errori. Le pipeline di inferenza richiedono solo core CPU per alimentare e raccogliere i core GPU. La potenza e l'efficienza termica sono l'obiettivo, motivo per cui l'equilibrio tra i tipi fondamentali si sposta tra allenamento e inferenza. È quello che ho già detto.
Birkensocks,

-1

L'intelligenza artificiale è un campo incredibilmente ampio con una vasta gamma di possibili percorsi. Alcuni sono estremamente matematici, altri a malapena toccano la matematica. Altri hanno già dato buone risposte per gli approcci più matematici. Dei soggetti che hai sottolineato-

"Algebra lineare, probabilità / statistica, calcolo, algoritmi di base e logica"

-sono fondamentalmente necessari o trarranno beneficio da tutti loro. Molti approcci sono almeno in parte direttamente basati su probabilità e statistiche: euristica, reti neurali, algoritmi genetici, logica fuzzy. Il calcolo è ugualmente utile: nell'intelligenza artificiale o nella scienza informatica generale lo troverai quasi ovunque. L'algebra lineare è qualcosa di cui hai sicuramente bisogno.

Le due materie più essenziali dal punto di vista CS / AI sono algoritmi e logica, gli algoritmi sono il vero cuore della scienza informatica e la logica è il "linguaggio" sottostante degli algoritmi. La chiave per apprendere gli algoritmi è imparare a programmare, competenza e la pratica nella programmazione di base è una delle basi più importanti di quasi tutte le materie informatiche o di intelligenza artificiale. La programmazione è anche un'abilità che le università non sono sempre particolarmente brave a insegnare. La logica è anche essenziale per la maggior parte delle branche dell'IA; Logica booleana, calcolo predicato, logica simbolica, teorie alla base della permutazione, gerarchia di progettazione, ricorsione, macchine a stati finiti, macchine di Turing, progettazione di CPU, ecc. Qui stiamo davvero facendo un passo dalla matematica verso la scienza informatica propriamente detta.

L'estensione al mio campo di matematica della "forte intelligenza artificiale" svolge un ruolo fondamentale ma assolutamente essenziale. Una buona conoscenza della matematica di base è probabilmente più importante della matematica superiore, ma in realtà tutto ciò che raccogli può essere utile. Il vero problema in un campo nascente come la Strong AI è che tutto è in aria e quindi il campo è in pieno flusso.
Tra le materie potenzialmente utili vi sono: reti neurali, algoritmi genetici, neurologia, genetica, psicologia, cibernetica e robotica, teoria della grafica 3D, teoria dell'elaborazione delle immagini, progettazione di giochi per computer, filosofia, teoria dell'arte, elettronica digitale, teoria della linguistica. In un campo come questa lettura è uno dei modi più importanti per imparare. Un paio di libri che sono stati i punti di partenza per me sono stati: The Emperors New Mind di Roger Penrose, Eye and Brain di RL Gregory, ma le intuizioni reali possono venire da quasi ovunque

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.