Я исследую искусственный интеллект и получаю довольно много писем, где меня спрашивают, насколько важно знание математики для работы с ИИ.
Не буду врать: ИИ — это много математики.
И это одна из причин, почему многие новички в сфере ИИ отсеиваются на ранних стадиях. В этой статье я расскажу, что именно из математики вам понадобится. Я составил ее, исследовав эту тему самостоятельно и пообщавшись с ветеранами отрасли.
Концепции, о которых пойдет речь, обычно изучаются в течение нескольких семестров в колледже. Я же свел их к основным принципам, на которых можно сфокусироваться.
Это руководство — настоящий спасательный круг для новичков: вы узнаете, какие именно темы важнее всего, и сможете их изучить. Но еще большую ценность статья представляет для практикующих разработчиков вроде меня самого — для тех, кому нужно просто по-быстрому повторить эти концепции.
Примечание. Чтобы получить первую работу в сфере ИИ, вам не обязательно знать все изложенные здесь концепции. Все, что для этого нужно, — крепкое знание основ. Сфокусируйтесь на основах, а затем наращивайте новые знания.
Примечание редакции Techrocks: по всем темам автор дает ссылки на обучающие материалы на английском языке.
1. Алгебра
Знание алгебры, пожалуй, основа математических знаний в целом. Помимо математических операций типа сложения, вычитания, умножения и деления, вам нужно знать следующие темы:
2. Линейная алгебра
Линейная алгебра — основной инструмент математических вычислений в сфере ИИ и во многих других сферах науки и инженерии. В этом разделе вам нужно разобраться в четырех основных математических объектах и их свойствах:
- скаляр — одиночное число (действительное или натуральное)
- вектор — список чисел, расставленных по порядку. Их можно представить как точки в пространстве, где каждый элемент представляет координаты вдоль оси
- матрица — двумерный массив чисел, где каждое число идентифицируется двумя индексами
- тензоры — N-мерный массив (N>2) чисел, выстроенных в обычной сетке с N-осями. Тензоры важны в машинном обучении, глубоком обучении и компьютерном зрении.
- собственный вектор и собственное значение — особые векторы и соответствующие им скалярные величины. Важно понимать их смысл и уметь их находить
- сингулярное разложение — разложение матрицы на три матрицы. Разберитесь в свойствах и применении
- метод главных компонент — важно понять суть, знать свойства и применение.
Также будет полезно знать такие свойства, как скалярное произведение, векторное произведение и произведение Адамара.
3. Анализ
Анализ связан с изменениями в параметрах, функциями, ошибками и приближениями. Без рабочих знаний многомерного анализа в сфере ИИ не обойтись.
Наиболее важные концепции в области анализа (список не исчерпывающий):
- производные — правила (сложение, умножение, цепное правило и т.д.), гиперболические производные (гиперболический тангенс, косинус и т. д.), частные производные
- векторное/матричное исчисление — дифференциальные операторы производных
- градиентные алгоритмы — локальный/глобальный максимум и минимум, седловые точки, выпуклые функции, батчи и мини-батчи, стохастический градиентный спуск и сравнение производительности.
От редакции Techrocks. Также рекомендуем статьи:
- «Нужны ли программисту математика, английский язык, теория алгоритмов и паттерны проектирования?»
- «Математика: от ненависти к любви».
4. Статистика и вероятность
Изучение этих тем, скорее всего, займет много времени. Хорошие новости: эти концепции не сложные, так что вы наверняка их освоите.
- базовая статистика — среднее значение, медиана, мода, дисперсия, ковариация и т. д.
- основные правила вероятности — события (зависимые и независимые), выборочные пространства, условная вероятность
- случайные величины — непрерывные и дискретные, математическое ожидание, дисперсия, распределения (совместные и условные).
- теорема Байеса — вычисление обоснованности убеждений. Байесовское программное обеспечение помогает машинам распознавать закономерности и принимать решения
- метод максимального правдоподобия (MLE) — оценка параметров. Требуется знание фундаментальных концепций вероятности (совместная вероятность и независимость событий).
- основные распределения — биномиальное, пуассоновское, бернуллиевское, гауссовское, экспоненциальное.
5. Теория информации
Это важная область знаний, имеющая большое значение в ИИ и глубоком обучении. Несмотря на важность, не так много специалистов ее изучают. Можно сказать, что это слияние анализа, статистики и вероятности. Здесь сосредоточьтесь на следующих темах:
- энтропия (также энтропия Шеннона). Используется для измерения неопределенности в эксперименте
- перекрестная энтропия — сравнивает два распределения вероятности и говорит, насколько они похожи
- расстояние Кульбака — Лейблера — еще одна мера того, насколько схожи два распределения вероятности
- алгоритм Витерби — широко используется в обработке естественного языка (NLP) и речи
- Encoder-Decoder — используется в машинном переводе с использованием RNN и других моделях.
Математика — это интересно!
Если вас пугает одно лишь упоминание слова «математика», работа в сфере искусственного интеллекта вам, вероятно, не понравится.
Но если вы готовы посвятить время изучению принципов анализа, линейной алгебры, статистики и вероятности, ничто — даже математика — не помешает вам заняться ИИ.
PS: Математика и правда интересная. По мере изучения и углубления в математические концепции вы увидите их красоту и то, как они влияют на все вокруг.
Совет: изучайте математические концепции по мере знакомства с ними. Видите новый термин — открывайте справочник и смотрите, что это такое.
Перевод статьи «All the Math You Need to Know in Artificial Intelligence».
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]