Какие разделы математики актуальны в сфере нейронных сетей и ИИ?

Здравствуйте.
Устроился в лабораторию, занимающуюся нейронными сетями.
В следующем семестре сдавать гос по матанализу.
Хотелось бы совместить приятное с полезным и обратить особое внимание на те разделы математики, что активно используются при анализе и проектировании нейронных сетей.

В активе: 3 семестра матана, 2 диффуров, 1 тфкп, 1 урматов (будет 2й), линейная алгебра (1) и дифгем(1). Дискретки не было.
Врать не буду - где то хор, где то удовл (трояков больше).
Английский позволяет не слишком напрягаясь читать иностранные статьи.

Подскажите пожалуйста:
1) Собственно что учить и на что обратить внимание?
2) Какие разделы являются минимально необходимыми?
3) Что из математических книг читать для профессионального развития в области?
4) Какую литературу вообще рекомендуете к изучении в данной сфере?
Конечная цель: заложить основы для профессионализма.
Минимальная цель: понимать математические выкладки в статьях.
Интересующие области: роевый интеллект, машинное обучение и компьютерное зрение.

Особое спасибо тем, кто укажет взаимосвязь различных разделов.
  • Вопрос задан
  • 27073 просмотра
Решения вопроса 1
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Никакие и все.

Немного лирики. Дело в том, что нейронные сети штука очень непонятная. Она неплохо классифицирует, вроде бы умеет учиться. Но вот принимать решения она почти не умеет. То есть, в каком-то смысле она принимает решения, во время классификации, соотнося образ к паттерну, однако на деле всё как-то печальнее. А ещё она совершенно не умеет выполнять алгоритмы в классическом смысле слова. Ну и получается, что вся суть нейронной сети, всё, что она будет делать определяется её параметрами и входными данными. Вроде бы и похоже на алгоритм, но алгоритм можно определить 1) без входных параметров (классический), 2) не параметрами, а набором действий. Нейронная сеть более... Аналоговая.
Отсюда мы подходим к тому, что нам обязательно нужен будет дифференциальный и функциональный аппараты. К сожалению, современные компьютеры не способны адекватно работать с бесконечно малым и большим, поэтому нам обязательно потребуются методы приближения: это и сами вычислительные методы, и некоторые методы оптимизации (они и по другим причинам потребуются). Да и совсем не лишними будут теория чисел, статистика, мат.логика и определённо более общие теории вероятностей и случайных процессов.

Но нельзя забывать, что нейронные сети - это смежные дисциплины. Обязательно потребуются более узкие разделы, что используются в кибернетике (это в основном сигналы) и теории информации (это в основном дискретная математика с теорией вероятностей). Наконец, обязательно потребуются узкие и глубокие знания в нейрофизиологии. Везде много мат. физики.

Но стоит понимать, что все эти разделы очень тесно переплетены. Не получиться поднять какую-то одну часть отдельно от другой. Всё взаимосвязано. Вообще, очень рекомендую khan academy - наикрутейшая штука. По всей видимости, есть всё, что я здесь описал.

Нажал ctrl+enter рановато...
Как можно заметить, в общем-то нужна вся математика. Если какой-то раздел не указан, то он скорее всего будет затронут в других разделах.

Однако, нейронные сети очень новая... Практика. По сути они работают примерно так: мы берём туеву хучу интегральных и дифференциальных уравнений, берём какое-то приближение и реализуем "квантуя" и "дискретезируя", а потом запускаем. Причём в момент отсчётов всё вроде бы хорошо - процессы идут, ошибка обратно распространяется, однако... Есть небольшая проблема в том, что между этими обновлениями нашей модели как бы и не существует. И если в реальном мире частота дискретизации ну невероятно высока, настолько, что мир кажется гладким (впрочем, есть возможность, что он такой и есть - сейчас не совсем понятно, какой мир и в самом деле), однако в нашей модели эта частота получается ну очень низкой. Поэтому учёные просто молятся, чтобы ничего плохого между этапами существования их модели не произошло. Честно говоря - сомнительное занятие.

Так что, если не желаете продвигать науку вперёд, очень советую бросить это дело. Можете построить пару простейших перцептронов, однако на большее советую не рассчитывать. Сыровато.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg
Любые ответы на любые вопросы
  • Линейная алгебра - основа основ, без нее никаких численных дел не будет
  • Теория операторов - и без нее тоже. Нужно уметь оценивать операторы.
  • Теория меры и интеграла Лебега - и измерать множества тоже нужно уметь
  • Функциональный анализ - и работать с абстрактными операторами тоже
  • Высшая алгебра - без нее к операторам лезть можно, но лучше выучить
  • Гармонический анализ - без него в машинное зрение лезть смысла нет. Всякие операторы, свертки, ядра - это все туда
  • ТФКП - аналогично
  • Уравнения математической физики - без понимания того, как работает свет в этом мире анализировать что-либо смысла нет.
  • Теория интерполяции - как превратить результаты измерений в формулы
  • Численные методы - основа основ.


В профессиональной деятельности математика нет деления на разделы. Математика используется вся. Куском.

Учитесь лучше.
Ответ написан
aideus
@aideus
Для ИНС в первую очередь нужны:
- линейная алгебра (работа с матрицами: большинство ИНС очень компактно записывается в матричной форме)
- математический анализ (дифференцирование: многие популярные алгоритмы обучения строятся на градиентах; понятие экстремума, сходимости и т.д.)
- теория вероятностей (многие ИНС имеют вероятностную трактовку, без которой понять их архитектуру проблематично)
- численные методы (например, когда аналитический вычислить производную или интеграл нельзя, а такие ситуации возникают часто, ничего другого кроме их численной оценки не остается, и нужно знать, как это правильно сделать);
Для более продвинутого или специфического использования ИНС нужны:
- теория графов (во-первых, сама ИНС - это граф, хотя на базовом уровне использования этого учитывать не нужно; во-вторых, ряд архитектур ИНС удобно представлять в форме вероятностных генеративных моделей, конкретнее, графических моделей);
- теория дифференциальных уравнений (рекуррентные ИНС соответствуют системам дифуров);
- теория динамического хаоса (ряд рекуррентных ИНС, например сети Хопфилда, хорошо описываются в терминах фазового портрета, аттракторов, бифуркаций, но в целом эта область математики нужна не очень часто);
- исчисление предикатов (традиционно сети с бинарными нейронами рассматривались как способ представления предикатов);
- теория алгоритмов (конечные автоматы, формальные грамматики, машины Тьюринга и т.д.) (помимо того, что сами ИНС представляют собой некий класс алгоритмов и возникают теоретические вопросы, где этот класс для той или иной архитектуры находится в иерархии Хомского, сейчас еще популярны и нейросимвольные сети, требующие обращения к указанным разделам математики)

Перечисленные области (за исключением теории динамического хаоса) являются строго необходимыми и в машинном обучении в целом. Основы функционального анализа и вариационного исчисления нередко бывают нужны для более глубокого понимания существующих методов или для разработки своих. Теория меры нужна в вероятностном подходе к машинному обучению, хотя ее зачастую стараются избегать (не раз встречал высказывания в духе: ну, с теорией меры это можно было бы показать более строго и обще, но мы можем и без нее обойтись, чтоб было понятнее).

Если же говорить про ИИ в целом, то там нужна практически вся математика (хотя это в определенном смысле преувеличение: чистые математики решают свои внутренние задачи очень изощренными методами; в ИИ могут пригодиться результаты любого раздела математики, но крайне редко эти разделы нужны целиком). Гармонический анализ (Фурье, вейвлеты), без которого можно более или менее обойтись в машинном обучении, строго необходим в компьютерном зрении или распознавании речи. Комбинаторика, весьма редко нужная для ИНС, является основой классических методов ИИ (поиска в пространстве состояний). Теория алгоритмов, находящая лишь эпизодические применения в ИНС, является строго необходимой (как частично, так и практически полностью) в других подобластях машинного обучения и ИИ (например, в автоматическом программировании или машинном переводе). Теория множеств строго нужна в области представления знаний, нечеткой логике и т.д. Даже теория категорий может пригодиться (например, в вероятностных языках программирования - подобласти машинного обучения - при использовании функциональных языков типа Haskell ее применение оказывается вполне уместным). Ну, и так далее.

В общем, в каждой подобласти ИИ есть свой минимально необходимый набор математических знаний, без которого очень сложно начать эту подобласть изучать. Для ИНС это линейка, матан, численные методы, весьма желательно теория вероятностей. В других областях это может быть комбинаторика, графы, теория алгоритмов, мат. логика. Есть разделы математики, которые окажутся неизбежными для изучения/использования, только при выборе конкретной подобласти или даже конкретных методов в ней; а так они или совсем не нужны, или нужны только самые базовые сведения из них.
Ответ написан
Комментировать
@kstyle
по книгам: задачник Кострикина и задачник Кудрявцева трехтомник - и все только начинается)) по теории серия книг Бауманки или Краснова ряд книг
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы