L'intelligenza artificiale è un campo molto vasto e copre molte e molto profonde aree di informatica, matematica, progettazione hardware e persino biologia e psicologia. Per quanto riguarda la matematica: penso che il calcolo, la statistica e l'ottimizzazione siano gli argomenti più importanti, ma imparare quanto più matematica possibile non farà male.
Ci sono molte buone risorse introduttive gratuite sull'intelligenza artificiale per i principianti. Consiglio vivamente di iniziare con questo:
http://aiplaybook.a16z.com/
Hanno anche pubblicato due video sui concetti generali di AI, li puoi trovare su Vimeo: "AI, Deep Learning e Machine Learning: A Primer "e" La promessa dell'IA "
Una volta che hai una chiara comprensione dei termini e degli approcci di base dell'IA, devi capire quali sono i tuoi obiettivi. Che tipo di software AI vuoi sviluppare? A quali settori sei interessato? Quali sono le tue possibilità di essere coinvolti in progetti di grandi aziende? È più facile raccogliere gli strumenti giusti quando sai esattamente cosa vuoi ottenere.
Per la maggior parte dei nuovi arrivati all'intelligenza artificiale l'area più interessante è il Deep Learning. Giusto per chiarire, ci sono molte aree dell'IA al di fuori del Machine Learning e ci sono molte aree del Machine Learning al di fuori del Deep Learning. (Intelligenza artificiale> Apprendimento automatico> Apprendimento profondo) La maggior parte degli sviluppi recenti e delle notizie di successo riguardano DL.
Se ti sei interessato anche al Deep Learning, devi iniziare con l'apprendimento dei concetti di reti neurali artificiali. Fortunatamente non è troppo difficile capire le basi e ci sono molti tutorial, esempi di codice e risorse di apprendimento gratuite sul web e ci sono molti framework open source per iniziare a sperimentare.
Il framework di Deep Learning più popolare è TensorFlow. È supportato da Google. Lo adori o lo odi, è un framework basato su Python. Esistono anche molti altri framework basati su Python. Scikit-learn, Theano, Keras sono spesso citati nei tutorial. (Un consiglio: se usi Windows puoi scaricare WinPython che include tutti questi framework.)
Per quanto riguarda i framework Java, purtroppo non ci sono così tante opzioni. Il framework Java più importante per DL è Deeplearning4j. È sviluppato da una piccola azienda e la sua base di utenti è molto più piccola della folla attorno a TensorFlow. Ci sono meno progetti ed esercitazioni per questo framework. Tuttavia, gli specialisti del settore affermano che i framework basati su Java alla fine si integrano meglio con le soluzioni Big Data basate su Java e possono fornire un livello più elevato di portabilità e una più facile implementazione del prodotto. Solo un sidenote: il Jet Propulsion Laboratory della NASA ha utilizzato Deeplearning4j per molti progetti.
Se decidi di seguire il flusso e desideri iniziare a saperne di più su TensorFlow, ti consiglio di consultare i canali YouTube di "DeepLearning.TV", "sentdex" e "Siraj Raval". Hanno simpatici tutorial e alcune fantastiche demo. E se decidi di fare un'immersione più profonda, puoi iscriverti a un corso online su udacity o coursera.
Potrebbe anche essere interessante sapere che esistono altri framework di Deep Learning per Java Virtual Machine con linguaggi alternativi, ad esempio Clojure. (Clojure è un dialetto di LISP ed è stato inventato da John McCarthy, lo stesso scienziato informatico che ha coniato il termine "intelligenza artificiale". In altre parole ci sono linguaggi e strumenti di programmazione più moderni e popolari, ma è ancora possibile / e un po 'cool / per usare il linguaggio per l'IA originariamente progettato per l'IA. ThinkTopic a Boulder e Freiheit ad Amburgo sono due società che usano Clojure per i progetti di intelligenza artificiale. E se vuoi vedere qualcosa di fantastico per trarre ispirazione per usare Clojure in AI e robotica, Ti consiglio di dare un'occhiata al video di YouTube "OSCON 2013: Carin Meier, La gioia dei robot volanti con Clojure".
(+++ Chiunque si senta libero di correggermi se ho detto qualcosa di sbagliato. +++)