Содержание статьи
Искусственный интеллект: как и где изучать — отвечают эксперты
«Хочу заниматься ИИ. Что стоит изучить? Какие языки использовать? В каких организациях учиться и работать?»
Основные языки программирования для работы в области ИИ и машинного обучения — R и Python. Долгое время эти языки использовались в академических кругах и для них было создано большое количество библиотек. Сейчас развиваются инструменты, позволяющие быстро стартовать свой проект: Keras, TensorFlow, Theano, Caffe, scikit-learn. Последнее время Microsoft начал активно развивать свои инструменты: CNTK, ML.NET. Они позволяют создавать интеллектуальные решения на языке C#.
И, наконец, совсем уж джедайский уровень — получение узкоспециальных знаний. Например, для глубокого обучения потребуется овладеть основными архитектурами и алгоритмами градиентного спуска. Если интересны задачи обработки естественного языка, то рекомендую изучить рекуррентные нейронные сети. А будущим создателям алгоритмов для обработки картинок и видео стоит хорошенько углубиться в свёрточные нейронные сети.
Разработчики AI должны стремиться к созданию этичной технологии, которая сделает человеческую лучше, а не добавит новые трудности и угрозы, включая захват мира, о котором уже много лет пишут фантасты. Терминатором управляет совершенный ИИ, до которого, конечно, далеко, но когда-то полет на самолете казался фантастикой.
Из компаний, которые занимаются разработкой Искусственного Интеллекта, вы наверняка знаете Яндекс и Сбербанк, но есть и многие другие разных размеров. Например, на этой неделе Минобороны открыло в Анапе Военный инновационный технополис ЭРА, одной из тем которого является разработка ИИ для военных нужд.
Это распространенный язык для работы с ИИ и нейросетями. У популярности есть 2 причины: гибкость и простота изучения. Кроме того, у Python большое сообщество, поэтому в интернете можно найти готовые библиотеки и фреймворки, упрощающих реализацию ботов. Например, TensorFlow, PyTorch и Keras помогут создать сложные ML-модели ChatGPT и LLaMA.
Далеко не все правильно понимают, что скрывается за термином «искусственный интеллект» или AI (Artificial Intelligence). В сети встречаются объяснения, что ИИ — компьютер или система, способная думать и принимать разумные решения. Это не совсем верно. Искусственный интеллект — это алгоритмы, способные решать сложные задачи, для которых требуется наличие человеческого интеллекта.
Следующий шаг — изучение проблематики вопроса. Существует огромное количество литературы, как учебной, так и специальной. Большинство публикаций по теме искусственного интеллекта и нейросетей написаны на английском языке, однако русскоязычные материалы тоже публикуются. Полезную литературу можно найти, например, в общедоступной цифровой библиотеке arxiv.org.
Если же формальное образование уже имеется, есть ряд курсов на различных платформах MOOC. Так, например, EDx.org предлагает курсы по искусственному интеллекту от Microsoft и Колумбийского университета, последний из которых предлагает микро-магистерскую программу за умеренные деньги. Хотелось бы особо отметить, что обычно сами знания вы можете получить и бесплатно, оплата идет только за сертификат, если он нужен для вашего резюме.
Стадия 2. Принятие
Совсем другой подход к изучению ИИ — он же «синяя таблетка» — начинается с поиска себя. Искусственный интеллект рождает кучу задач и целых профессий: от руководителей ИИ-проектов до дата-инженеров, способных готовить данные, чистить их и строить масштабируемые, нагруженные и отказоустойчивые системы.
Это зависит от Вашей базовой подготовки. Прежде всего, необходима математическая культура (знание статистики, теории вероятностей, дискретной математики, линейной алгебры, анализа и др.) и готовность многому быстро учиться. При реализации методов ИИ потребуется программирование (алгоритмы, структуры данных, ООП и др.).
Комплексную методику используют в крупных проектах, поскольку требуется широкая и неоднородная база данных. Обучающая часть используется для получения базовых навыков, тестовая — для оценки качества и работоспособности, валидационная — для настройки гиперпараметров
К этой категории относят ботов в компьютерных играх, голосовых помощников и первые версии нейросетей. Особенность слабого AI — узкая специализация. Они не могут выйти за рамки скриптов и функций, которые были заложены разработчиком. Любая непредсказуемая ситуация поставит компьютер в тупик
Есть много онлайн-курсов, которые дают базовое представление об этих технологиях и общих принципах ИИ, например курс Andrew Ng. И в плане обучения этой теме сейчас в России эффективнее всего самостоятельное обучение или в локальной группе по интересам (например, в Москве я знаю о существовании как минимум пары групп, где люди делятся опытом и знаниями).
Главный аспект создания искусственного интеллекта — разработка моделей и алгоритмов, которые способны самостоятельно обучаться с опорой на поступающие данные. ИИ постоянно находится в процессе совершенствования навыков и способностей, что позволяет сделать результаты работы лучше и подготовить систему к решению новых задач.
Только после того, как база освоена, стоит проштудировать более специальные методы: деревья принятия решений и ансамбли из них. На этом этапе нужно глубоко погрузиться в основные способы построения и обучения моделей — они скрываются за едва приличными словами беггинг, бустинг, стекинг или блендинг.
Разные проекты требуют владения разными языками программирования. Я бы рекомендовал знать как минимум Python, Java и любой функциональный язык. Нелишним будет опыт работы с различными базами данных и распределёнными системами. Чтобы быстро изучать лучшие подходы, применяемые в индустрии, требуется знание английского языка.