AI003

Введение в глубокое обучение

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

5.0 Рейтинг
512 Студенты

Обзор курса

📚 Краткое содержание

Глубокое обучение — это подполе машинного обучения, которое сосредоточено на изучении сложных иерархических представлений признаков из исходных данных с использованием искусственных нейронных сетей. Курс охватывает фундаментальные принципы, лежащую в основе математику, концепции оптимизации (градиентный спуск, обратное распространение), модули сетей (линейные, свёрточные, слои пулинга) и типичные архитектуры (СНН, РНН). Продемонстрированные применения включают компьютерное зрение, обработку естественного языка и обучение с подкреплением. Студенты будут использовать библиотеку глубокого обучения PyTorch для реализации и завершить финальный проект по реальной ситуации.

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

🎯 Цели обучения

  1. Объяснить математические основы и ключевые методы оптимизации (градиентный спуск, обратное распространение), необходимые для обучения глубоких нейронных сетей.
  2. Использовать фреймворк глубокого обучения PyTorch для эффективной реализации, обучения и отладки современных архитектур сетей с ускорением через CUDA и эффективными методами работы с данными.
  3. Проектировать и анализировать специализированные архитектуры, включая свёрточные нейронные сети (СНН) для изображений и модель трансформера для последовательных зависимостей.
  4. Применять методы глубокого обучения для решения практических задач в ключевых областях применения: компьютерное зрение, обработка естественного языка и обучение с подкреплением.
  5. Оценивать модели с точки зрения устойчивости, интерпретируемости и этической справедливости, сравнивая преимущества различных передовых парадигм (например, генеративные модели, полуобучение).

🔹 Урок 1: Основы глубокого обучения и оптимизация

Обзор: Этот фундаментальный урок представляет основные строительные блоки глубокого обучения. Мы начинаем с рассмотрения линейных классификаторов, уделяя особое внимание функции Софтмакс и использованию потерь по перекрёстной энтропии для количественной оценки ошибки. На этом фоне мы определяем структуру базовой прямой нейронной сети (многослойный перцептрон), подробно описывая роль весов, смещений и нелинейных функций активации (например, ReLU). Основное внимание переносится на процесс оптимизации, необходимый для обучения моделей с большим количеством параметров. Мы знакомимся с алгоритмом градиентного спуска (GD) как основным алгоритмом оптимизации, сравниваем его вычислительные требования с таковыми у стохастического градиентного спуска (SGD) и мини-пакетного градиентного спуска. Ключевым моментом урока становится детальное объяснение алгоритма обратного распространения, демонстрирующее, как правило цепочки из математического анализа применяется эффективно через вычислительные графы для вычисления градиентов, необходимых для обновления весов во всех слоях. Результаты обучения:

  • Определить структуру базовой прямой нейронной сети и объяснить необходимость нелинейных функций активации (например, ReLU).
  • Сформулировать функции потерь для классификации (например, Софтмакс и перекрёстная энтропия) и понять, как они оценивают ошибку модели.
  • Объяснить механику градиентного спуска (GD) и различать его варианты (SGD, мини-пакетный GD) по скорости сходимости и вычислительной эффективности.
  • Вывести алгоритм обратного распространения с использованием правила цепочки и продемонстрировать его реализацию через вычислительные графы для вычисления градиентов.
  • Выделить ключевые математические предварительные знания (линейная алгебра и многомерный анализ), необходимые для понимания оптимизации нейронных сетей.

🔹 Урок 2: Практическая реализация и инструменты глубокого обучения

Обзор: Этот урок переходит от теоретических концепций к производственной реализации глубокого обучения с использованием PyTorch — основной библиотеки курса. Мы начинаем с основ PyTorch, подробно рассматривая структуру тензоров, использование CUDA для ускорения на видеокартах и понимание автоматического дифференцирования через динамический вычислительный граф. Особое внимание будет уделено эффективной работе с данными: вводится класс PyTorch Dataset для абстракции данных и DataLoader для управления большими наборами данных, обеспечивающий пакетную обработку, перемешивание и многопроцессную загрузку. Наконец, мы затрагиваем практические аспекты масштабирования обучения, охватывая оптимизацию управления памятью, техники, такие как накопление градиентов, и вводим основные концепции распределённого обучения (например, параллелизм по данным), необходимые для работы с моделями, превышающими возможности одной видеокарты. Результаты обучения:

  • Реализовать основные операции глубокого обучения с использованием тензоров PyTorch и использовать его функции автоматического дифференцирования для вычисления градиентов.
  • Создавать и реализовывать эффективные потоки данных с использованием абстракций классов Dataset и DataLoader PyTorch для обработки больших объемов пакетных входных данных.
  • Настроить модели и данные для обучения на видеокартах с поддержкой CUDA для значительного ускорения процесса обучения и инференса.
  • Объяснить роль техник оптимизации памяти, таких как накопление градиентов, и понять основные концепции распределённого обучения для масштабируемости.

🔹 Урок 3: Свёрточные сети: слои и архитектуры

Обзор: Этот урок представляет свёрточные нейронные сети (СНН), основу современного компьютерного зрения. Мы глубоко изучаем основные модули: слой свёртки и слой пулинга. Что касается слоя свёртки, мы рассмотрим математические операции, включая роли ядер (фильтров), шага и заполнения, а также обсудим ключевые концепции, такие как локальная связность и общее использование параметров, которые делают СНН эффективными для высокоразмерных изображений. Мы различаем максимумный пулинг и средний пулинг и объясняем их важную роль в снижении размерности и достижении инвариантности к сдвигам. Наконец, мы объединяем эти слои в полные, базовые архитектуры СНН, иллюстрируя типичную последовательную трансформацию от исходных пикселей через стеки извлечения иерархических признаков до полносвязных слоёв для окончательной классификации, используя классические модели, такие как LeNet-5, как примеры. Результаты обучения:

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

🔹 Урок 4: Компьютерное зрение: продвинутые модели и интерпретация

Обзор: Этот урок переходит за рамки базовых СНН (например, AlexNet) и исследует сложные и влиятельные архитектуры глубокого обучения, используемые в передовых задачах компьютерного зрения. Мы проанализируем принципы проектирования и инновации ключевых моделей, включая упрощенную глубину сетей VGG, многошкальную агрегацию признаков в Inception (GoogLeNet) и критически важное использование остаточных соединений в ResNet для преодоления проблемы исчезающего градиента в чрезвычайно глубоких сетях. Вторая часть урока сосредоточена на важной теме интерпретируемости модели и объяснимого ИИ (XAI). Студенты узнают методы визуализации, такие как анализ активаций карт признаков, и углубятся в градиентные методы локализации. Конкретно мы рассмотрим механизмы и реализацию карт активации классов (CAM) и их градиентной обобщённой версии, Grad-CAM, которые визуально объясняют решения сети, выделяя значимые области на входном изображении. Результаты обучения:

  • Сравнить и противопоставить основные архитектурные инновации (например, остаточные соединения, модули инцепшн) моделей VGG, GoogLeNet и ResNet.
  • Объяснить роль и трудности увеличения глубины сети, особенно проблему деградации и то, как ResNet её решает.
  • Подробно описать методы визуализации признаков, включая анализ активаций промежуточных слоёв и обученных фильтров.
  • Описать теоретический механизм карт активации классов (CAM) и Grad-CAM для генерации визуальных объяснений на основе потока градиентов.
  • Применить методы интерпретируемости для анализа и диагностики процесса принятия решений продвинутых СНН в задачах классификации.

🔹 Урок 5: Рекуррентные нейронные сети и моделирование последовательностей

Обзор: Этот урок знакомит с вызовами моделирования структурированных данных, в частности последовательностей (например, текст, временные ряды), которые нарушают предположение независимости, характерное для прямых сетей. Мы определим задачи моделирования последовательностей, такие как машинный перевод, распознавание речи и прогнозирование временных рядов, подчеркивая необходимость механизма сохранения состояния. Основное внимание будет уделено архитектуре традиционных рекуррентных нейронных сетей (РНН). Рассматриваются ключевые концепции, включая механизм общих весов, развертывание вычислительных графов по временным шагам, вычисление обновлений скрытого состояния (h_t) и обработка последовательностей переменной длины. Мы также рассмотрим основные ограничения базовых РНН, а именно неспособность улавливать долгосрочные зависимости из-за проблем исчезающих и взрывных градиентов, возникающих при обратном распространении по времени (BPTT). Результаты обучения:

  • Определить структурированные данные (последовательности) и объяснить, почему стандартные прямые сети (FNN) недостаточны для моделирования последовательных зависимостей.
  • Описать основную архитектуру базовой рекуррентной нейронной сети (РНН), выделив компоненты, такие как скрытое состояние и общие матрицы весов.
  • Проиллюстрировать процесс «развертывания» вычислительного графа РНН по временным шагам и обсудить, как обрабатываются последовательности переменной длины.
  • Объяснить механизм обратного распространения по времени (BPTT) и проанализировать проблемы исчезающих и взрывных градиентов, присущие обучению традиционных РНН.

🔹 Урок 6: Механизмы внимания и архитектура трансформера

Обзор: Этот урок проводит глубокий анализ парадигмы, представленной статьей "Внимание — это всё, что нужно", которая перемещает моделирование последовательностей за пределы рекуррентных нейронных сетей (РНН), устраняя рекуррентность и полностью полагаясь на внимание. Мы сначала устанавливаем математическую основу механизма внимания, конкретно сосредотачиваясь на масштабированном скалярном произведении внимания с использованием векторов запроса (Q), ключа (K) и значения (V). Лекция затем расширяет эту концепцию до механизма многоголового внимания, объясняя его роль в захвате разнообразных контекстуальных зависимостей. Основное внимание будет уделено полной архитектуре трансформера, анализируя структуру как кодировщика, так и декодировщика, включая ключевые элементы, такие как остаточные соединения, нормализация слоя и обязательное позиционное кодирование, необходимое для сохранения последовательной информации. Наконец, мы рассматриваем, как трансформер обеспечивает значительную параллелизацию и оказывает революционное влияние на такие области, как нейросетевой машинный перевод и предобученные языковые модели. Результаты обучения:

  • Определить цель механизмов внимания и объяснить, как они решают ограничения (например, долгосрочные зависимости, узкое место последовательной обработки) рекуррентных нейронных сетей.
  • Подробно описать математическую операцию масштабированного скалярного произведения внимания, точно определив роли векторов запроса, ключа и значения.
  • Описать общую структуру модели трансформера, различая кодировщик и декодировщик и объясняя функции многоголового внимания и полносвязных сетей.
  • Объяснить необходимость и математическую реализацию позиционного кодирования в перестановочно-инвариантной архитектуре трансформера.
  • Проанализировать вычислительные преимущества (параллелизация) и широкую применимость архитектуры трансформера в современных задачах глубокого обучения, ссылаясь на модели, такие как BERT и GPT.

🔹 Урок 7: Применение обработки естественного языка и встраивания

Обзор: Этот лекционный материал глубоко погружается в фундаментальные и прикладные аспекты глубокого обучения для обработки естественного языка (ОЕЯ). Мы начинаем с рассмотрения важной необходимости эффективных представлений слов, переходя от разреженных методов к плотным, обучаемым встраиваниям слов. Будут объяснены основные механизмы Word2Vec (Skip-gram и CBOW), подчеркивая, как контекст генерирует богатые векторные представления, отражающие семантическое значение. Затем мы применяем эти фундаментальные концепции к двум основным задачам ОЕЯ: нейросетевой машинный перевод (НМП), использующий архитектуры кодировщик-декодировщик и критическую роль механизмов внимания для обработки длинных зависимостей и выравнивания; и автоматическое распознавание речи (АРР), исследуя, как глубокие модели обрабатывают временные последовательности акустических данных для генерации текстового вывода. Обсуждение подчеркивает, как встраивания и последовательные архитектуры глубокого обучения составляют основу современных коммерческих систем ОЕЯ. Результаты обучения:

  • Объяснить ограничения разреженных представлений слов (например, однонаправленное кодирование) и обосновать необходимость плотных векторных встраиваний слов.
  • Описать основные принципы и архитектуру моделей, таких как Word2Vec (Skip-gram / CBOW), используемых для обучения распределённых представлений.
  • Описать основные компоненты (кодировщик, декодировщик, внимание) современной системы нейросетевого машинного перевода, противопоставив её традиционным методам.
  • Проанализировать трудности, присущие задачам последовательность-к-последовательности, таким как НМП и АРР, особенно связанные с переменной длиной входных и выходных данных.
  • Определить, как нейронные архитектуры адаптируются для обработки аудио-входа в контексте автоматического распознавания речи.

🔹 Урок 8: Генеративные модели: ВАЭ и генеративные состязательные сети

Обзор: Этот урок представляет два основных современных генеративных модели глубокого обучения: вариационные автоэнкодеры (ВАЭ) и генеративные состязательные сети (ГСС). Мы начинаем с ВАЭ, подробно описывая их архитектуру — кодировщик, отображающий данные на параметризованное распределение в скрытом пространстве, и декодировщик, генерирующий выборки. Особое внимание будет уделено лежащей в основе математике, особенно функции нижней границы доказательства (ELBO), разбирая роли потерь восстановления и термина дивергенции Кульбака–Лейблера для регуляризации. Критически важная техника перепараметризации, необходимая для обеспечения потока градиентов через процесс выборки, будет подробно объяснена. Затем мы переходим к ГСС, определяя состязательную, нулевую сумму игру между генератором (G) и дискриминатором (D). Лекция охватывает теоретическую минимаксную функцию, исследует, как оптимальный дискриминатор максимизирует цель, и обсуждает основные практические проблемы, такие как коллапс режимов и нестабильность обучения. Наконец, мы проводим качественное сравнение, противопоставляя интерпретируемое скрытое пространство ВАЭ и, как правило, более высокое качество выборок ГСС. Результаты обучения:

  • Отличить дискриминативное и генеративное моделирование и объяснить математическую цель изучения сложных распределений данных.
  • Объяснить архитектуру вариационного автоэнкодера (ВАЭ) и вывести функцию цели нижней границы доказательства (ELBO).
  • Проанализировать необходимость и функцию техники перепараметризации при обучении ВАЭ для обеспечения эффективного обратного распространения.
  • Описать процесс обучения генеративной состязательной сети (ГСС) как минимаксной игры между генератором и дискриминатором.
  • Сравнить и противопоставить ВАЭ и ГСС по качеству выборок, интерпретируемости скрытого пространства и распространённым проблемам обучения, таким как коллапс режимов.

🔹 Урок 9: Глубокое обучение с подкреплением

Обзор: Этот урок представляет глубокое обучение с подкреплением (ГОСП), установив фундаментальную рамку принятия решений — процесс Маркова принятия решений (MDP). Мы определим цикл агент-среда, пространства состояний и действий, а также цель максимизации ожидаемой дисконтированной прибыли. Будут рассмотрены основные концепции традиционного обучения с подкреплением, включая функции ценности и уравнение Беллмана оптимальности. Затем урок переходит к ГОСП, исследуя проблемы больших пространств состояний и то, как глубокие сети (DQN) преодолевают их, используя нейронные сети для аппроксимации функции Q. Мы подробно рассмотрим техники стабилизации, необходимые для DQN, такие как опытная память и целевые сети. Наконец, мы противопоставляем методы, основанные на ценности, с методами градиента политики, описывая математическую интуицию теоремы градиента политики и её реализацию в алгоритме REINFORCE, заложив основу для более продвинутых архитектур «актор-критик». Результаты обучения:

  • Формализовать задачи последовательного принятия решений с использованием рамки процесса Маркова принятия решений (MDP), включая определения состояния, действия, вознаграждения и функции ценности.
  • Объяснить переход от таблицы Q-обучения к глубоким сетям (DQN) и определить ключевые техники (опытная память, целевые сети), используемые для стабилизации обучения ГОСП.
  • Фундаментально отличить методы, основанные на ценности (например, DQN), от методов, основанных на политике (например, REINFORCE).
  • Описать целевую функцию и математическую интуицию теоремы градиента политики и её реализацию в алгоритме REINFORCE.
  • Противопоставить применение методов, основанных на ценности, и методов, основанных на политике, в современных сценариях глубокого обучения с подкреплением.

🔹 Урок 10: Продвинутые парадигмы обучения и этичный ИИ

Обзор: Этот урок представляет продвинутые парадигмы глубокого обучения, необходимые для надёжного внедрения, и затрагивает важные социальные последствия. Во-первых, мы изучаем теоретические основы и практические применения безучебного глубокого обучения, фокусируясь на моделях, таких как автоэнкодеры и генеративные модели, когда используются для обучения представлений и обнаружения аномалий. Затем мы углубляемся в методы полуобучения (SSL), такие как псевдо-метки и согласованная регуляризация (например, \Pi-модель, MixMatch), которые критически важны для использования большого количества неотмеченных данных вместе с ограниченным числом отмеченных примеров. Вторая часть урока критически анализирует этичный ИИ, описывая, как сбор данных и выбор архитектуры вводят алгоритмический предвзятость. Мы определяем и анализируем ключевые метрики справедливости (например, разница равных возможностей, демографическая пара), а также обсуждаем эффективные стратегии смягчения, подчеркивая важность интерпретируемости моделей (XAI) и ответственности в системах глубокого обучения высокого уровня. Результаты обучения:

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