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

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

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

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

Программы дисциплины: 

...
2024\25 2023\24   2022\23   

 

Объем:

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

  • 22 часа лекции (поток)
  • 22 часа практические занятия (подгруппы)

 

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

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

 

Содержание Дисциплины

 

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

В первом модуле изучаются искусственные нейронные сети, во втором - естественные. Практические занятия проходят в малых подгруппах (15 чел.) где изучаются программные реализации различных  нейронных сетей на языке Python.

 

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

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

Научатся:

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

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

 

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

  • Модели и моделирование. Параметрические модели. Подход "черного ящика".  Понятие обучения. Параметры и гиперпараметры. Ошибка обучения. Обобщение информации и ошибка обобщения. Обучающие и тестовые данные, требования. Признаки. Виды обучения. Обучение с учителем. Обучение без учителя. Обучение с подкреплением. Способы организации обучения. Онлайн, оффлайн, пакетное обучения, свойства. Базовые задачи. Классификация. Регрессия. Кластеризация.
  • Понятие функции ошибки. Требования к функции ошибки. Среднеквадратичная ошибка, ее недостатки. L1 мера, манхеттенское расстояние. Добавление ограничений на параметры в функцию ошибки. Задача миноискателя, учет цены ошибок. Тестирование модели. Метрики. Метрики классификации: матрица потерь (confusion matrix),  аккуратность (accuracy), точность (precision), полнота (recall), F-мера, уровень верных \ неверных позитивных ответов. Классификация с выбором порога.  Кодирование классов. ROC - кривая, идеальная. Площадь под ROC-кривой (AUC, Area under curve). Эксперимент, требования к эксперименту.
  • Линейные модели. Линейная и логистическая регрессии, структура и обучение, функции ошибок.
  • Нелинейные модели. Биологический нейрон. Модель искусственного нейрона, его элементы: входы, весовые коэффициенты (веса), смещение, функция активации, выход. Формула работы нейрона. Примеры и требования к функции активации.   Возможности одного нейрона, задача исключающего ИЛИ (XOR). О видах моделей. Слоистые модели. Многослойный персептрон, параметры и гиперпараметры. Скрытые и выходной слои. Формула работы персептрона. Расчет количества обучаемых параметров. Многослойный персептрон - универсальный аппроксиматор, теорема Цибенко. Недостатки многослойного персептрона.
  • Обучение нейронных сетей. Метод перебора и проклятие размерности. Вектор градиента функции ошибки (по обучаемым параметрам), его смысл. Метод градиентного спуска. Формулировка, формула, составляющие. Начальные значения параметров. Шаг обучения. Проблемы градиентного спуска. Расчет градиента, метод обратного распространения ошибки: вывод, формулировка и формулы. Идеи для модификации метода градиентного спуска: знак градиента, [первый] момент, адаптивные оценки градиента, способы изменения шага, градиенты Нестерова и др. Методы второго порядка. Автодифференцирование.
  • Свертки. Неполносвязные слои. Прореживание связей. Ограничения на число связей, переиспользование параметров. Сравнение числа параметров в полносвязном и не полносвязном слое. Эквивалентные представления неполносвязного слоя. Операция свертки, ядро свертки. Техники сверток: набивка, сдвиг. Многоканальная свертка, соглашения о реализации, понятие фильтра, сверточного слоя. Необучаемые свертки, пулинг. Варианты сверток: одномерные, двумерные, трехмерные и др. Распределенная (dilated) свертка. Разделимая (divided) свертка. Транспонированная (transposed) свертка. Деформируемая (deformable) свертка.
  • О слоях сверточных сетей. Об обучении сверточных сетей. Идеи архитектур сверточных сетей. AlexNet:  Перевод пространственных размерностей в канальную. Полносвязные слои как классификатор. Слой активации softmax, идея, формула, предназначение. VGG: блоки сверток с малым размером ядра. Inception: разветвленная блочная архитектура. Постепенное наращивание архитектуры. ResNet: проблема затухающего градиента. Блоки слоев с перекрестными (пропущенными, skip) связями. Другие архитектуры. Перенос обучения, идея. Замена слоев предобученной сети. Векторные представления изображений. Пример использования векторных представлений изображений для кластеризации.
  • Физиология нейрона, биологические нейронные сети.


Пример одного лекционного занятия дисциплины:  тема Многослойный персептрон.

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

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

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

Руководитель, лектор и практик
Харламов Александр Александрович

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

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

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

Практик
Евсиков Виктор Алексеевич

приглашенный преподаватель

Практик
Юрин Данила Андреевич

Практик