Штучний інтелект - це дуже широке поле і охоплює багато і дуже глибокі області інформатики, математики, дизайну апаратних засобів і навіть біології та психології. Щодо математики: я вважаю, що обчислення, статистика та оптимізація - це найважливіші теми, але вивчення такої кількості математики, як ви не можете зашкодити.
Є багато хороших безкоштовних вступних ресурсів про AI для початківців. Я настійно рекомендую почати саме з цього:
http://aiplaybook.a16z.com/
Вони також опублікували два відео про загальні поняття AI, їх можна знайти на Vimeo: "AI, глибоке навчання та машинне навчання: буквар" "та" Обіцянка ШІ "
Після того, як ви чітко розумієте основні терміни та підходи до інтелектуального інтелекту, ви повинні з'ясувати, які ваші цілі. Яке програмне забезпечення AI ви хочете розробити? Які галузі Вас цікавлять? Які ваші шанси долучитися до проектів великих компаній? Простіше підібрати правильні інструменти, коли ти точно знаєш, чого хочеш досягти.
Для більшості новачків AI найцікавішою областю є глибоке навчання. Просто для того, щоб було зрозуміло, існує багато областей ШІ поза машинним навчанням, і багато областей машинного навчання поза межами глибокого навчання. (Штучний інтелект> Машинне навчання> Поглиблене навчання) Більшість останніх розробок та розкручених новин стосуються DL.
Якщо вас теж зацікавило глибоке навчання, вам слід почати з вивчення понять штучних нейронних мереж. На щастя, зрозуміти основи не так складно, і в Інтернеті є багато навчальних посібників, приклади коду та безкоштовних навчальних ресурсів, і є багато структур з відкритим кодом, з якими можна почати експериментувати.
Найпопулярніший такий фреймворк Deep Learning - це TensorFlow. Це підтримується Google. Любіть це чи ненавидите, це рамка на основі Python. Також існує багато інших фреймворків на основі Python. Scikit-learn, Theano, Keras також часто згадуються в навчальних посібниках. (Порада: якщо ви використовуєте Windows, ви можете завантажити WinPython, що включає всі ці рамки.)
Що стосується фреймворків Java, то, на жаль, варіантів не так багато. Найвизначніша рамка Java для DL - Deeplearning4j. Він розроблений невеликою компанією, а його база користувачів набагато менша, ніж натовп навколо TensorFlow. Для цього є менше проектів та навчальних посібників. Однак спеціалісти галузі кажуть, що рамки, засновані на Java, в кінцевому підсумку краще інтегруються з рішеннями Big Data на базі Java, і вони можуть забезпечити більш високий рівень портативності та легше розгортання продукту. Просто бачення: Лабораторія реактивного руху NASA використовувала Deeplearning4j для багатьох проектів.
Якщо ви вирішили піти з потоку і хочете почати дізнаватися більше про TensorFlow, рекомендую переглянути канали YouTube "DeepLearning.TV", "sentdex" та "Siraj Raval". У них є гарні підручники та кілька цікавих демонстрацій. А якщо ви вирішите зробити більш глибоке занурення, можете записатись на онлайн-курс у udacity або курсі.
Вам також може бути цікаво знати, що існують інші рамки глибокого навчання для віртуальної машини Java з альтернативними мовами, наприклад Clojure. (Clojure - це діалект LISP, і його винайшов Джон Маккарті, той же вчений-комп'ютер, який ввів термін "штучний інтелект". Іншими словами, існують більш сучасні та популярні мови програмування та інструменти, але це все-таки можливо / і якось круто / використовувати мову для AI, яка спочатку була розроблена для AI. ThinkTopic у Боулдері та Freiheit у Гамбурзі - це дві компанії, які використовують Clojure для проектів AI. І якщо ви хочете побачити щось дивовижне, щоб отримати натхнення для використання Clojure в AI та робототехніці, Рекомендую переглянути відео на YouTube "OSCON 2013: Карін Мейер, радість літаючих роботів з клоджуром".
(+++ Будь-хто може мене виправити, якщо я сказав щось не так. +++)