Глубокое обучение

Perceptron

Перцептрон

классикаИсторическая основа; практического применения сегодня нет.

Направления: Глубокое обучение · Нейросети

Простейший нейрон: взвешенная сумма входов и пороговая функция. Исторический старт всей области.

Ключевые тезисы

  • Обучается правилом коррекции ошибки и сходится только на линейно разделимых данных.
  • Неспособность решить XOR стала причиной первой «зимы ИИ».
  • Ограничение снимается добавлением скрытого слоя.

Какую задачу решает

отвечает на самый первый вопрос машинного обучения: можно ли научить машину принимать решение «да / нет», не программируя правило вручную, а показывая примеры? Ответ 1958 года — можно, если правило представимо одной прямой (в общем случае гиперплоскостью).

Модель предельно проста: взвешенная сумма входов сравнивается с порогом. Обучение — тоже: пока есть ошибки, веса подвигают в сторону неправильно классифицированного объекта. Ценность темы сегодня не практическая, а объяснительная: — это скелет, на который навешано всё остальное. — перцептрон с сигмоидой, нейрон современной сети — перцептрон с гладкой активацией, слой — набор перцептронов.

Почему XOR не берётся

Четыре точки: , , , . Единицы лежат на одной диагонали квадрата, нули — на другой. Прямой, отделяющей одну диагональ от другой, не существует: как ни поворачивай, по одну сторону всегда окажутся и ноль, и единица. Именно этот пример из книги Минского и Паперта 1969 года остановил финансирование почти на два десятилетия. Лечится добавлением одного скрытого слоя из двух нейронов — он превращает XOR в линейно разделимую задачу в новых координатах.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков
  • веса модели — то, что подбирается при обучении
  • транспонирование: строка вместо столбца

Розенблатта (1958) обучался простым правилом: если объект классифицирован неверно, веса сдвигаются в его сторону: . Для линейно разделимой выборки алгоритм гарантированно сходится за конечное число шагов.

XOR
000
011
101
110

Ни одна прямая не отделит пары от . Минский и Пейперт показали это в 1969-м, и интерес к упал на десятилетие.

На практике

Решение — скрытый слой: два нейрона строят новые (например, «хотя бы один» и «оба»), в которых задача становится линейно разделимой. Это ровно та же идея, что и ядровой трюк в .

Где применяется

  • Объяснение основПервый шаг в любом курсе: на видно, что «обучение» — это просто подстройка чисел под примеры.
  • Диагностика линейностиЕсли на ваших данных сходится, задача линейно разделима — сложная модель, скорее всего, не нужна.
  • Строительный блокНейрон полносвязного слоя — это , у которого порог заменили гладкой активацией, чтобы стал возможен спуск.

Плюсы, минусы и альтернативы

Плюсы

  • Максимальная прозрачность: веса напрямую читаются как вклад .
  • Доказанная сходимость на линейно разделимых данных.
  • Онлайн-обучение по одному объекту, память — работает на потоке.
  • Мгновенное предсказание: одно скалярное произведение.

Минусы

  • Не решает даже XOR — любая нелинейная граница вне досягаемости.
  • На неразделимых данных алгоритм не сходится, а бесконечно колеблется.
  • Пороговая функция недифференцируема, поэтому обучать спуском нельзя.
  • Нет вероятностей на выходе — только жёсткая метка, порог не настроить.
  • Из бесконечного числа разделяющих прямых берёт первую попавшуюся, а не самую надёжную.

Брать, если

  • Нужно объяснить, как вообще устроено обучение по примерам.
  • Хочется быстро проверить, линейно ли разделимы данные.

Не брать, если

  • Любая практическая задача — берите : та же геометрия, но с вероятностями и устойчивым обучением.
  • Граница классов заведомо нелинейная — нужен хотя бы один скрытый слой.

Чем заменяют

Видеолекции

Тайм-кода именно на эту тему в записях нет. Но глава «Глубокое обучение» разобрана в курсах целиком — с той оговоркой, что место в записи придётся искать самому.

Связанные темы

Нейросеть по кирпичикам

MLP80%

Многослойный перцептрон · Глубокое обучение

Несколько полносвязных слоёв с нелинейностями — универсальный аппроксиматор функций.

Activation functions80%

Функции активации · Глубокое обучение

Нелинейности между слоями, без которых сеть не сложнее линейной модели.

Loss functions80%

Функции потерь · Глубокое обучение

Формализуют цель обучения. Выбор потерь важнее выбора архитектуры чаще, чем кажется.

Backpropagation80%

Обратное распространение ошибки · Глубокое обучение

Эффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.

Optimizers80%

Оптимизаторы · Глубокое обучение

Правила обновления весов по градиенту: от чистого SGD до адаптивных методов.

Logistic Regression80%

Логистическая регрессия · Классическое машинное обучение

Линейная модель классификации: сигмоида переводит линейную комбинацию признаков в вероятность класса.

Следующий шагДальше по связи: MLPНесколько полносвязных слоёв с нелинейностями — универсальный аппроксиматор функций.Перейти →

Глава «Глубокое обучение» последний раз правилась . Нашли ошибку — напишите.