Зачем нейросетям нужно обучение?
Чтобы нейросеть могла правильно выполнять задачи – например, распознавать лица или рекомендовать фильмы, – её нужно «научить». Представьте себе процесс, похожий на обучение ребёнка: в начале он ничего не знает, но, сталкиваясь с примерами и получая обратную связь, постепенно начинает разбираться, что хорошо, а что плохо. Обучение нейросети тоже строится на большом количестве примеров, но происходит оно по математическим правилам, а не на основе опыта и эмоций.
Эта глава объяснит, как именно нейросети учатся и что заставляет их становиться умнее и точнее после каждого пройденного примера.
Два основных типа обучения нейросетей
Процесс обучения нейросетей обычно делится на два типа, в зависимости от того, есть ли у нас готовые правильные ответы для примеров.
С учителем. Это как учёба с преподавателем: каждому примеру уже приписан правильный ответ. Например, у нас есть набор фотографий кошек и собак, и каждая картинка помечена: это кошка, это собака. Нейросеть видит пример, сравнивает результат со своим ответом и, если ошибается, исправляется. Постепенно, на сотнях или тысячах изображений, она запоминает, как выглядят кошки и собаки.
Без учителя. Здесь нет готовых ответов, и нейросеть сама пытается найти общие черты или закономерности в данных. Например, она может сгруппировать клиентов по похожим характеристикам, хотя не будет знать, что одни из них – «постоянные покупатели», а другие – «новые».
Есть и третий, более особенный способ – обучение с подкреплением, когда нейросеть учится через взаимодействие с миром, например, обучаясь играть в игры или управлять роботом. Она получает награду или штраф за свои действия и со временем выбирает наиболее выгодные шаги.
Когда мы начинаем обучение нейросети, все её внутренние параметры изначально выставлены случайно. Поэтому сначала сеть работает хаотично и выдаёт неточные результаты. Чтобы сеть начала разбираться в задачах, процесс обучения повторяется множество раз:
Обработка данных. В начале обучения нейросеть пропускает входные данные – например, изображение – через свои слои, обрабатывая информацию на каждом этапе и выдавая результат. Этот процесс называется «прямой проход».
Сравнение результата с правильным ответом