Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПРАВОЧНЫЙ МАТЕРИАЛ ДЛЯ ВСТУПИТЕЛЬНЫХ ЭКЗАМЕНОВ В АСПИРАНТУРУ ПО ПРОФИЛЮ ОБУЧЕНИЯ «ИСКУССВТЕННЫЙ ИНТЕЛЛЕКТ И МАШИННОЕ ОБУЧЕНИЕ».docx
Скачиваний:
46
Добавлен:
04.09.2023
Размер:
6.41 Mб
Скачать
  1. Понятие искусственной нейронной сети. Типы нейронных сетей. Понятие стохастического градиента для обучения нейронной сети. Многослойный перцептрон. Сверточные нейронные сети.

Понятие искусственной нейронной сети. Нейронные сети – это тип модели машинного обучения, вдохновленный структурой и функционированием человеческого мозга. Он состоит из взаимосвязанных узлов, называемых искусственными нейронами или узлами. Эти нейроны организованы в слои, обычно содержащие входной слой, один или несколько скрытых слоев и выходной слой. Каждый нейрон в слое связан со всеми нейронами предыдущего и следующего слоев. Информация поступает по сети с входного уровня, проходит через скрытые слои и в конечном итоге выдает результирующее значение на выходном уровне.

Функции активации являются важной составляющей нейронных сетей, поскольку они определяют выход нейрона. Их использование вводит нелинейности в сеть, позволяя ей изучать сложные шаблоны и взаимосвязи в данных. Некоторые часто используемые функции активации включают:

  • Сигмоидная функция отображает входные значения в диапазон . Она часто используется в выходном слое для задач бинарной классификации.

  • Функция ReLU возвращает для отрицательных входных значений и само значение входа для положительных значений. ReLU широко используется в скрытых слоях, так как помогает решить проблему затухающего градиента.

  • Гиперболический тангенс похож на сигмоидную функцию, но отображает входные значения в диапазон от до .

Типы нейронных сетей. Существуют различные архитектуры нейронных сетей, разработанные для различных типов задач. Некоторые распространенные архитектуры включают:

  • Перцептрон и многослойный перцептрон (MLP);

  • Сверточная нейронная сеть (CNN);

  • Рекуррентная нейронная сеть (RNN).

Перцептрон. Это самая тривиальная форма нейронной сети, состоящая из одного слоя нейронов. Применяется для задач бинарной классификации. Перцептрон принимает набор входных значений, применяет к ним веса, суммирует их и передает результат через функцию активации для получения выхода.

Многослойный перцептрон (MLP). Тип нейронной сети прямого распространения с несколькими скрытыми слоями между входным и выходным слоями. Он является расширением простого перцептрона и позволяет моделировать более сложные нелинейные взаимосвязи в данных. Пример внешнего вида MLP уже был рассмотрен нами ранее.

В MLP каждый нейрон в слое связан со всеми нейронами предыдущего и следующего слоев. Каждая связь имеет свой вес, который определяет влияние входного значения на выход нейрона. Каждый нейрон также имеет смещение, которое добавляется к сумме взвешенных входных значений перед передачей через функцию активации.

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

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

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

Приведем пример оптимизации всего одного параметра для MLP – выходного смещения . Определим функцию потерь как:

Тогда согласно правилам дифференцирования сложных функций:

И правило обновления весов с шагом обучения запишем как:

В данном случае Predicted – функция, являющаяся результатом работы нейронной сети. Она состоит из суммы двух других функций: желтой с выхода нижнего узла и синей с выхода верхнего узла, а также смещения . Отметим и то, что в общем случае все параметры модели тренируются одновременно.

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

Архитектура CNN обычно состоит из нескольких сверточных слоев, за которыми следуют слои пулинга. Сверточные слои применяют фильтры к входным данным, извлекая характеристики, такие как границы, текстуры или формы. Слои пулинга уменьшают пространственные размерности карт признаков, помогая сделать сеть устойчивой к изменениям положения и масштаба.

Рекуррентные нейронные сети (RNN). Семейство моделей было разработано для работы с последовательными данными, такими как временные ряды или обработка естественного языка. В отличие от нейронных сетей прямого распространения, RNN имеют петли в своей архитектуре, позволяющие передавать информацию от одного шага к другому.

Основное преимущество RNN заключается в их способности улавливать временные зависимости и изучать информацию из прошлого. Это делает их подходящими для задач таких как моделирование языка, распознавание речи и машинный перевод. Однако RNN страдают от проблемы затухающего градиента, когда градиенты, используемые для обучения, становятся крайне малыми на длинных последовательностях. Для решения этой проблемы были представлены вариации RNN, такие как LSTM (Long Short-Term Memory) и GRU (Gated Recurrent Unit).