Искусственный интеллект - это очень широкая область, которая охватывает многие и очень глубокие области компьютерных наук, математики, аппаратного дизайна и даже биологии и психологии. Что касается математики: я думаю, что исчисление, статистика и оптимизация являются наиболее важными темами, но изучение как можно большего количества математики не повредит.
Есть много хороших бесплатных вводных ресурсов об искусственном интеллекте для начинающих. Я настоятельно рекомендую начать с этого:
http://aiplaybook.a16z.com/
Они также опубликовали два видео об общих понятиях ИИ, их можно найти в Vimeo: «ИИ, глубокое обучение и машинное обучение: учебник для начинающих» и "Обещание ИИ"
Когда у вас есть четкое понимание основных терминов и подходов ИИ, вы должны выяснить, каковы ваши цели. Какое программное обеспечение ИИ вы хотите разработать? В каких отраслях вы заинтересованы? Каковы ваши шансы принять участие в проектах крупных компаний? Подбирать правильные инструменты легче, когда вы точно знаете, чего хотите достичь.
Для большинства новичков в искусственном интеллекте наиболее интересной областью является Deep Learning. Просто чтобы прояснить это, есть много областей ИИ за пределами машинного обучения, и есть много областей машинного обучения за пределами глубокого обучения. (Искусственный интеллект> Машинное обучение> Глубокое обучение) Большинство последних событий и раскрученных новостей о DL.
Если вы тоже заинтересовались глубоким обучением, вы должны начать с изучения концепций искусственных нейронных сетей. К счастью, не так уж сложно понять основы, и в Интернете есть множество учебных пособий, примеров кода и бесплатных обучающих ресурсов, и есть много фреймворков с открытым исходным кодом, с которыми можно начать экспериментировать.
Наиболее популярной такой платформой Deep Learning является TensorFlow. Это поддерживается Google. Нравится это или нет, это основанная на Python инфраструктура. Есть также много других основанных на Python фреймворков. Scikit-learn, Theano, Keras также часто упоминаются в уроках. (Совет: если вы используете Windows, вы можете загрузить WinPython, который включает все эти платформы.)
Что касается Java-фреймворков, к сожалению, вариантов не так много. Наиболее известной платформой Java для DL является Deeplearning4j. Он разработан небольшой компанией, и его пользовательская база намного меньше, чем у TensorFlow. Есть меньше проектов и учебных пособий для этой платформы. Тем не менее, отраслевые специалисты говорят, что платформы на основе Java в конечном итоге лучше интегрируются с решениями для больших данных на основе Java, и они могут обеспечить более высокий уровень мобильности и облегчить развертывание продукта. Просто примечание: Лаборатория реактивного движения НАСА использовала Deeplearning4j для многих проектов.
Если вы решили пойти по течению и хотите больше узнать о TensorFlow, я рекомендую вам посмотреть каналы YouTube "DeepLearning.TV", "sentdex" и "Siraj Raval". У них есть хорошие учебники и несколько классных демонстраций. И если вы решите совершить более глубокое погружение, вы можете записаться на онлайн-курс на Udacity или Coursera.
Вам также может быть интересно узнать, что существуют другие среды глубокого обучения для виртуальной машины Java с альтернативными языками, например Clojure. (Clojure - это диалект LISP, и он был изобретен Джоном Маккарти, тем же учёным-компьютерщиком, который придумал термин «искусственный интеллект». Другими словами, существуют более современные и популярные языки и инструменты программирования, но это все же возможно / и довольно круто / использовать язык для искусственного интеллекта, который изначально был разработан для искусственного интеллекта. ThinkTopic в Боулдере и Фрайхейт в Гамбурге - две компании, использующие Clojure для проектов искусственного интеллекта. И если вы хотите увидеть что-то удивительное, чтобы получить вдохновение для использования Clojure в искусственном интеллекте и робототехнике, Я рекомендую вам посмотреть видео на YouTube "OSCON 2013: Карин Майер, Радость летающих роботов с Clojure".
(+++ Кто-нибудь может поправить меня, если я сказал что-то не так. +++)