Простейший нейрон: взвешенная сумма входов и пороговая функция. Исторический старт всей области.
Ключевые тезисы
- Обучается правилом коррекции ошибки и сходится только на линейно разделимых данных.
- Неспособность решить XOR стала причиной первой «зимы ИИ».
- Ограничение снимается добавлением скрытого слоя.
Какую задачу решает
отвечает на самый первый вопрос машинного обучения: можно ли научить машину принимать решение «да / нет», не программируя правило вручную, а показывая примеры? Ответ 1958 года — можно, если правило представимо одной прямой (в общем случае гиперплоскостью).
Модель предельно проста: взвешенная сумма входов сравнивается с порогом. Обучение — тоже: пока есть ошибки, веса подвигают в сторону неправильно классифицированного объекта. Ценность темы сегодня не практическая, а объяснительная: — это скелет, на который навешано всё остальное. — перцептрон с сигмоидой, нейрон современной сети — перцептрон с гладкой активацией, слой — набор перцептронов.
Четыре точки: , , , . Единицы лежат на одной диагонали квадрата, нули — на другой. Прямой, отделяющей одну диагональ от другой, не существует: как ни поворачивай, по одну сторону всегда окажутся и ноль, и единица. Именно этот пример из книги Минского и Паперта 1969 года остановил финансирование почти на два десятилетия. Лечится добавлением одного скрытого слоя из двух нейронов — он превращает XOR в линейно разделимую задачу в новых координатах.
Подробный разбор
- истинное значение целевой переменной
- объект: вектор признаков
- веса модели — то, что подбирается при обучении
- транспонирование: строка вместо столбца
Розенблатта (1958) обучался простым правилом: если объект классифицирован неверно, веса сдвигаются в его сторону: . Для линейно разделимой выборки алгоритм гарантированно сходится за конечное число шагов.
| XOR | ||
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Ни одна прямая не отделит пары от . Минский и Пейперт показали это в 1969-м, и интерес к упал на десятилетие.
Решение — скрытый слой: два нейрона строят новые (например, «хотя бы один» и «оба»), в которых задача становится линейно разделимой. Это ровно та же идея, что и ядровой трюк в .
Где применяется
- Объяснение основПервый шаг в любом курсе: на видно, что «обучение» — это просто подстройка чисел под примеры.
- Диагностика линейностиЕсли на ваших данных сходится, задача линейно разделима — сложная модель, скорее всего, не нужна.
- Строительный блокНейрон полносвязного слоя — это , у которого порог заменили гладкой активацией, чтобы стал возможен спуск.
Плюсы, минусы и альтернативы
Плюсы
- Максимальная прозрачность: веса напрямую читаются как вклад .
- Доказанная сходимость на линейно разделимых данных.
- Онлайн-обучение по одному объекту, память — работает на потоке.
- Мгновенное предсказание: одно скалярное произведение.
Минусы
- Не решает даже XOR — любая нелинейная граница вне досягаемости.
- На неразделимых данных алгоритм не сходится, а бесконечно колеблется.
- Пороговая функция недифференцируема, поэтому обучать спуском нельзя.
- Нет вероятностей на выходе — только жёсткая метка, порог не настроить.
- Из бесконечного числа разделяющих прямых берёт первую попавшуюся, а не самую надёжную.
Брать, если
- Нужно объяснить, как вообще устроено обучение по примерам.
- Хочется быстро проверить, линейно ли разделимы данные.
Не брать, если
- Любая практическая задача — берите : та же геометрия, но с вероятностями и устойчивым обучением.
- Граница классов заведомо нелинейная — нужен хотя бы один скрытый слой.
Чем заменяют
Видеолекции
Тайм-кода именно на эту тему в записях нет. Но глава «Глубокое обучение» разобрана в курсах целиком — с той оговоркой, что место в записи придётся искать самому.
Связанные темы
Нейросеть по кирпичикам
MLP80%
Многослойный перцептрон · Глубокое обучениеНесколько полносвязных слоёв с нелинейностями — универсальный аппроксиматор функций.
Activation functions80%
Функции активации · Глубокое обучениеНелинейности между слоями, без которых сеть не сложнее линейной модели.
Loss functions80%
Функции потерь · Глубокое обучениеФормализуют цель обучения. Выбор потерь важнее выбора архитектуры чаще, чем кажется.
Backpropagation80%
Обратное распространение ошибки · Глубокое обучениеЭффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.
Optimizers80%
Оптимизаторы · Глубокое обучениеПравила обновления весов по градиенту: от чистого SGD до адаптивных методов.
Logistic Regression80%
Логистическая регрессия · Классическое машинное обучениеЛинейная модель классификации: сигмоида переводит линейную комбинацию признаков в вероятность класса.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Взвешенная сумма
— единственная операция модели. Ровно она осталась в каждом нейроне современной сети.
Разбор ниже: Модель нейронаПорог и смещение
Сдвигает разделяющую гиперплоскость от начала координат. Без него любая граница обязана проходить через ноль.
Разбор ниже: Модель нейронаПравило коррекции ошибки
: веса двигаются в сторону объекта, на котором ошиблись.
Разбор ниже: Модель нейронаЛинейная разделимость
Классы можно разнести одной гиперплоскостью. Если нельзя (как в XOR), обучение не сойдётся никогда.
Разбор ниже: Проблема XORТеорема о сходимости
На линейно разделимых данных правило коррекции сходится за конечное число шагов — редкий в ML случай гарантии.
Разбор ниже: Модель нейронаГлава «Глубокое обучение» последний раз правилась . Нашли ошибку — напишите.