Основы глубокого обучения: от теории к практике

freeCodeCamp.org 1,2 млн 1 ч 25 мин 3 мин 30.07.2020
Главное

Основы глубокого обучения: от теории к практике 0:00

Глубокое обучение (Deep Learning) стало «секретным ингредиентом» современных технологических прорывов, от побед нейросетей в настольных играх до систем диагностики рака и автопилотов. В этом курсе ведущий канала freeCodeCamp.org Джейсон подробно разбирает фундаментальные концепты нейронных сетей, методы их обучения и архитектуры, которые меняют наш мир.

🧠 Что такое глубокое обучение? 1:18

Глубокое обучение — это подмножество машинного обучения, которое, в свою очередь, входит в область искусственного интеллекта. Оно позволяет машинам извлекать представления напрямую из данных, имитируя работу человеческого мозга.

Основные причины популярности глубокого обучения сегодня:

  1. Большие данные: наличие огромных объемов информации.
  2. Мощное оборудование: современные вычислительные мощности позволяют обрабатывать эти данные.
  3. Доступное ПО: развитие библиотек с открытым исходным кодом, таких как TensorFlow и PyTorch.

⚙️ Как работают нейронные сети 5:23

Нейронная сеть — это структура, вдохновленная мозгом, где фундаментальным блоком является нейрон. Информация проходит через три основных типа слоев: входной, скрытые и выходной.

Процесс обучения нейросети включает два этапа:

  1. Прямое распространение (Forward Propagation): данные проходят через слои, умножаются на веса (weights) и складываются со смещением (bias). Результат проходит через функцию активации, которая определяет, «активируется» ли нейрон.
  2. Обратное распространение (Back Propagation): сеть оценивает ошибку (loss) между своим прогнозом и ожидаемым результатом. Затем эта ошибка передается назад по сети, чтобы скорректировать веса и смещения для повышения точности.

📉 Оптимизаторы и функции активации 12:02

📊 Типы обучения 35:18

  1. Обучение с учителем (Supervised Learning): модель обучается на размеченных данных, где для каждого входа есть правильный ответ (классификация или регрессия).
  2. Обучение без учителя (Unsupervised Learning): поиск скрытых закономерностей в неразмеченных данных (кластеризация, ассоциативные правила).
  3. Обучение с подкреплением (Reinforcement Learning): агент взаимодействует со средой, получая награды за правильные действия и штрафы за ошибки, стремясь максимизировать суммарную награду.

🏗️ Архитектуры нейронных сетей 51:24

🛠️ Жизненный цикл проекта

Каждый проект по глубокому обучению включает пять ключевых шагов:

  1. Сбор данных: поиск качественных, релевантных данных (например, на Kaggle или UCI Machine Learning Repository).
  2. Предварительная обработка: очистка, нормализация, масштабирование и разделение данных на обучающую, валидационную и тестовую выборки.
  3. Обучение: тренировка модели, использование эпох (проходов по всему набору данных) и батчей.
  4. Оценка: проверка работы на данных, которые модель не видела ранее.
  5. Оптимизация: настройка гиперпараметров, борьба с переобучением (overfitting) с помощью регуляризации, dropout или аугментации данных.
💬 Цитаты

«Плохие данные означают плохую модель.»

«Если вам нужно вручную задать параметр, то, скорее всего, это гиперпараметр.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Оверфиттинг (Overfitting)
Ситуация, когда модель запоминает обучающие данные, но не может обобщать их на новые примеры.
Функция потерь (Loss function)
Математическая метрика, измеряющая ошибку между предсказанием сети и реальностью.
Эпоха (Epoch)
Один полный проход всего набора обучающих данных через нейронную сеть.
Dropout
Техника борьбы с переобучением путем случайного отключения нейронов во время тренировки.
📊 Цифры
🗓 Хронология
  1. 1997 IBM Deep Blue побеждает чемпиона мира по шахматам.
  2. 2011 IBM Watson выигрывает в шоу Jeopardy.
  3. 2015 Google AlphaGo побеждает Ли Седоля в игре Го.
⚖️ Другая сторона
Искусственный интеллект Deep Learning Neural Networks TensorFlow PyTorch Back Propagation