Теория нейронных сетей

Читается: 2 курс, 1-2 модуль, АУК Покровский, онлайн

Пререквизиты: нет

Трудоемкость: 5 кредитов

Программа курса: 2022\23     2021\22    2020\21  2019\20

44 аудиторных часа:

  • 22 часа лекции
  • 22 часа практические занятия

Формы контроля:

  • 1 экзамен
  • 1 контрольная работа
  • 1 домашнее задание
  • регулярные вопросы по лекциям
  • регулярные задания по семинарам
  • личные достижения

О курсе

Дисциплина «Теория нейронных сетей» изучает различные структуры нейронных сетей, методы их синтеза, методы обучения и тестирования. Изучается история возникновения и тенденции развития нейронных сетей (НС), основы биологических нейронных сетей.

В результате изучения дисциплины студенты будут знать:

  • Общую методику синтеза нейронных сетей
  • Различные типы нейронных сетей, их архитектуру
  • Методы обучения нейронных сетей
  • Методы тестирования нейронных сетей

Научатся:

  • Создавать, обучать, тестировать НС различных архитектур
  • Планировать и проводить экспериментальные исследования с целью получения оптимальных параметров нейронных сетей

Для изучения дисциплины достаточно знаний средней школы по алгебре, геометрии и информатике.

 

Ориентировочный список тем, изучаемых на дисциплине:

Модели и моделирование. Параметрические модели. Подход "черного ящика".  Понятие обучения. Параметры и гиперпараметры. Ошибка обучения. Обобщение информации и ошибка обобщения. Обучающие и тестовые данные, требования. Признаки. Виды обучения. Обучение с учителем. Обучение без учителя. Обучение с подкреплением. Способы организации обучения. Онлайн, оффлайн, пакетное обучения, свойства. Базовые задачи. Классификация. Регрессия. Кластеризация.

Понятие функции ошибки. Требования к функции ошибки. Среднеквадратичная ошибка, ее недостатки. L1 мера, манхеттенское расстояние. Добавление ограничений на параметры в функцию ошибки. Задача миноискателя, учет цены ошибок. Тестирование модели. Метрики. Метрики классификации: матрица потерь (confusion matrix),  аккуратность (accuracy), точность (precision), полнота (recall), F-мера, уровень верных \ неверных позитивных ответов. Классификация с выбором порога.  Кодирование классов. ROC - кривая, идеальная. Площадь под ROC-кривой (AUC, Area under curve). Эксперимент, требования к эксперименту.

Биологический нейрон. Модель искусственного нейрона, его элементы: входы, весовые коэффициенты (веса), смещение, функция активации, выход. Формула работы нейрона. Примеры и требования к функции активации.   Возможности одного нейрона, задача исключающего ИЛИ (XOR). О видах моделей. Слоистые модели. Многослойный персептрон, параметры и гиперпараметры. Скрытые и выходной слои. Формула работы персептрона. Расчет количества обучаемых параметров. Многослойный персептрон - универсальный аппроксиматор, теорема Цибенко. Недостатки многослойного персептрона.

Обучение нейронных сетей. Метод перебора и проклятие размерности. Вектор градиента функции ошибки (по обучаемым параметрам), его смысл. Метод градиентного спуска. Формулировка, формула, составляющие. Начальные значения параметров. Шаг обучения. Проблемы градиентного спуска. Расчет градиента, метод обратного распространения ошибки: вывод, формулировка и формулы. Идеи для модификации метода градиентного спуска: знак градиента, [первый] момент, адаптивные оценки градиента, способы изменения шага, градиенты Нестерова и др. Методы второго порядка.

Свертки. Неполносвязные слои. Прореживание связей. Ограничения на число связей, переиспользование параметров. Сравнение числа параметров в полносвязном и не полносвязном слое. Эквивалентные представления неполносвязного слоя. Операция свертки, ядро свертки. Техники сверток: набивка, сдвиг. Многоканальная свертка, соглашения о реализации, понятие фильтра, сверточного слоя. Необучаемые свертки, пулинг. Варианты сверток: одномерные, двумерные, трехмерные и др. Распределенная (dilated) свертка. Разделимая (divided) свертка. Транспонированная (transposed) свертка. Деформируемая (deformable) свертка.

О слоях сверточных сетей. Об обучении сверточных сетей. Идеи архитектур сверточных сетей: - AlexNet:  Перевод пространственных размерностей в канальную. Полносвязные слои как классификатор. Слой активации softmax, идея, формула, предназначение. - VGG: свертки с малым размером ядра. - Inception: разветвленная блочная архитектура. Постепенное наращивание архитектуры. - ResNet: проблема затухающего градиента. Блоки слоев с перекрестными (пропущенными, skip) связями. - другие. Перенос обучения, идея. Замена слоев предобученной сети. Векторные представления изображений. Пример использования векторных представлений изображений для кластеризации.

Физиология нейрона, биологические нейронные сети.

Ведущие лекторы и семинаристы

Пантюхин Дмитрий Валерьевич

Департамент программной инженерии: Старший преподаватель

Харламов Александр Александрович

Департамент программной инженерии: Профессор

Силаев Юрий Владимирович

Департамент программной инженерии: Старший преподаватель

Дам Ван Ньить

Департамент программной инженерии: Приглашенный преподаватель