Первая лекция курса «Deep Learning» на тему «Введение в глубокое обучение». В рамках лекции рассмотрены следующие вопросы:
— Где применяется глубокое обучение?
— Почему появление таких алгоритмов стало возможным?
— Чем это принципиально отличается от неглубокого машинного обучения?
Лекция 2. Многослойный персептрон
Лекция посвящена базовой архитектуре – многослойному персептрону. Рассмотрены следующие вопросы:
— Нейрон: входы, веса, смещение, активация, функция активации.
— Архитектура: многослойный персептрон.
— Нотация.
Лекция 3. Обратное распространение
В рамках лекции рассмотрен метод обратного распространения – главный алгоритм обучения в AI – эффективный способ вычисления градиента целевой функции по обучаемым параметрам многослойного персептрона. Все формулы даны с выводом. Это не очень веселый контент, но очень важный. 🙂
Лекция 4. Введение в сверточные нейронные сети
Лекция посвящена главному методу современного компьютерного зрения – сверточным нейронным сетям. Рассмотрены следующие вопросы:
— Что такое свертка?
— Чем нейрон сверточного слоя отличается от нейрона полносвязного слоя?
— В чем преимущества сверточных слоев?
— Параметры сверточного слоя: размер сверточных фильтров, количество фильтров, страйд.
— Метод ZeroPadding.
Лекция 5. Обратное распространение через сверточные слои
В рамках лекции рассмотрены следующие темы:
– слои субдискретизации: max pooling и average pooling;
– свойства сверточных слоев;
– архитектура нейронной сети VGG;
– процесс классификации изображений нейронной сетью VGG на этапе тестирования, который, как выясняется, отличается от этапа обучения!
Лекция 6. Pooling-слои. Свойства сверточных слоев. Архитектура VGG
На лекции рассмотрено обратное распространение через сверточные слои нейронной сети:
— вычисление частных производных по весам сверточных фильтров;
— вычисление частных производных по выходам нейронов предыдущего слоя;
— вычисление частных производных по смещениям.
Лекция 7. Регуляризация глубоких нейронных сетей
В рамках этой лекции рассмотрены основные подходы к регуляризация нейронных сетей:
— Weight Decay;
— Data Augmentation;
— Dropout;
— Label Smoothing.
Лекция 8. Batch Normalization
В рамках лекции рассмотрена пусть не самая удобная, но точно самая распространенная техника нормализации – Batch Normalization. Это последний шаг к полному пониманию ResNet, которой посвящена следующая лекция. 🙂 Лекция раскрывает следующие вопросы:
— Что такое Batch Normalization?
— Какие есть объяснения тому, почему это работает?
— Как вычисляются производные через Batch Normalization?
Лекция 9. Residual Networks
Лекция посвящена главной сверточной архитектуре в компьютерном зрении – ResNet! Так как к данному моменту мы с вами изучили все необходимые компоненты, то можно уверенно приступать к Residual Networks, которые могут иметь сотни слоев и при этом эффективно обучаться. 🙂 В рамках лекции рассмотрены следующие вопросы:
— Эффект Training Degradation;
— Residual Connection, Residual Block;
— Архитектура ResNet;
— Свойства нейронных сетей ResNet.
Лекция 10. Тонкости обучения и масштабирования нейронных сетей
В рамках лекции рассмотрены следующие способы повышения точности глубоких нейронных сетей:
— Обучение со стохастической глубиной;
— Линейное масштабирование коэффициента обучения;
— Learning Rate Warm-up;
— Cosine Learning Rate Decay;
— Нулевое значение гаммы в Batch Normalization;
— Недобавление смещений в Weight Deay;
— Label Smoothing;
— Mixup Data Augmentation. Помимо этого рассматривается метод масштабирования нейронных сетей EfficientNet.
Лекция 11. Методы оптимизации в обучении глубоких нейронных сетей
В рамках лекции рассмотрены следующие методы оптимизации, использующиеся в обучении глубоких нейронных сетей:
— Batch Gradient Descent;
— Stochastic Gradient Descent;
— Mini-Batch Gradient Descent;
— Momentum;
— Nesterov Accelerated Gradient;
— AdaGrad;
— Adam.
Коротко рассмотрены преимущества и недостатки алгоритмов, а также рекомендации по их применению. Доказательства сходимости НЕ приводятся. 🙂