Введение в нейронные сети. Многослойный перцептрон

Урок 5 из 25 курса «Основы ИИ для начинающих»: официальный курс Microsoft AI for Beginners (Майкрософт) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

В предыдущем разделе вы узнали о простейшей модели нейронной сети: однослойном перцептроне, который представляет собой линейную модель для двухклассовой классификации. В этом разделе мы расширим эту модель, чтобы создать более гибкую структуру, которая позволит: выполнять многоклассовую классификацию в дополнение к двухклассовой; решать задачи регрессии в дополнение к классификации; разделять классы, которые не являются линейно разделимыми. Мы также разработаем собственный модульный фреймворк на Python, который позволит нам строить различные архитектуры нейронных сетей. Начнём с формализации задачи машинного обучения. Предположим, у нас есть обучающий набор данных X с метками Y, и нам нужно построить модель f, которая будет делать максимально точные предсказания. Качество предсказаний измеряется с помощью функции потерь ℒ. Часто используются следующие функции потерь: Для задачи регрессии, когда нужно предсказать число, можно использовать абсолютную ошибку ∑i|f(x(i))-y(i)| или квадратичную ошибку ∑i(f(x(i))-y(i))2. Для классификации используется 0-1 потеря (которая по сути эквивалентна точности модели) или логистическая потеря. Для однослойного перцептрона функция f определялась как линейная функция f(x)=wx+b (здесь w: это матрица весов, x, вектор входных признаков, а b, вектор смещений). Для различных архитектур нейронных сетей эта функция может принимать более сложную форму. В случае классификации часто желательно получить вероятности соответствующих классов на выходе сети. Чтобы преобразовать произвольные числа в вероятности (например, для нормализации выхода), часто используется функция softmax σ, и функция f становится f(x)=σ(wx+b). В определении f выше, w и b называются параметрами θ=⟨w,b⟩. Имея набор данных ⟨X,Y⟩, мы можем вычислить общую ошибку на всём наборе данных как функцию параметров θ. ✅ Цель обучения нейронной сети: минимизировать ошибку, изменяя параметры θ Существует известный метод оптимизации функций, называемый градиентным спуском.

План урока

  1. Вопросы перед лекцией
  2. Формализация машинного обучения
  3. Оптимизация методом градиентного спуска
  4. Многослойные перцептроны и обратное распространение ошибки
  5. Заключение
  6. 🚀 Задание
  7. Вопросы после лекции
  8. Обзор и самостоятельное изучение

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды