Анализ данных  •  11 июля  2023  •  5 мин чтения

Три метода обучения нейросетей: с учителем, без учителя, с подкреплением

Каждый подход имеет свои особенности и применяется в определённом сценарии. Расскажем, как выбрать оптимальный.

Обучение нейросети с учителем

По-английски метод машинного обучения с учителем называется supervised learning. Его суть в том, что для обучения нейросеть получает специальный набор данных (датасет), в котором заранее отмечено, что эти данные означают. То есть нейросеть получает и вопрос, и ответ, который должна давать. Она «смотрит» на большие объёмы таких данных и так учится отвечать правильно.

Упрощённый вид обучающего набора выглядит так: информация заранее разбита на группы и подписана. Это позволит нейросети научиться распознавать все заданные в наборе фигуры и цвета, сталкиваясь с ними уже в реальной работе, в неразмеченном виде
Чтобы такое обучение было возможным, нужно предварительно собрать, отсмотреть вручную и разметить обучающий датасет. Этим должен заниматься человек или группа людей — как раз тот самый условный «учитель».
Для чего используют нейросети, обученные с учителем
Машинное обучение с учителем лучше всего подходит для нейросетей, которые потом должны будут решать задачу классификации ― получать на входе большой объем данных и распределять его по категориям. Это может быть распознавание на изображениях объектов: лиц, животных, автомобильных номеров, букв и слов. Или классификация текстов: вычленение полезной информации, например разделение отзывов на положительные и отрицательные.

Также с его помощью можно научить нейросеть строить прогнозы на основе данных: оценивать недвижимость, предполагать изменение цен, создавать планы закупок.

В чём проблема обучения с учителем

Нужно собрать и разметить очень большой объём обучающих данных. Это дорого и трудно, поэтому подходит не всем компаниям.

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

Обучение без учителя

Машинное обучение нейросети без учителя по-английски называют unsupervised learning. Его суть в том, что нейросеть получает на входе неразмеченные данные и старается сама найти в них общие признаки и связи. То есть сначала нейросети скармливают очень много разных данных — а потом выпускают работать в «реальный мир», с настоящими задачами и всё с такими же неразмеченными данными.
Примерно так выглядит обучение нейросети на неразмеченных данных. Нейросеть не знает, что это «синие круги» или «красные прямоугольники». Она просто выделяет общий признак, делит данные по нему и потом сможет относить новые данные к категориям, которые определила сама
Иногда совсем без разметки нейросеть обучиться неспособна, но много размеченных данных получить нельзя. Тогда используют частичное привлечение учителя — часть данных размечают, а часть передают в сыром виде. Это позволяет ускорить обучение и сделать его более точным. Например, так часто делают с медицинскими данными — передают рентгеновские снимки, на малом числе которых патология обозначена однозначно, а на других нейросеть учится ее распознавать.
Для чего используют нейросети, обученные без учителя

Вот для каких задач можно использовать такую нейросеть:

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

Выявлять аномалии. Для этого нейросеть сначала обучают на нормальных данных, и, когда в реальности она встречается с выбросами, то должна об этом сигнализировать. Так можно быстро обнаруживать необычное поведение покупателей, например резкий рост спроса на конкретный товар.

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

В чём проблема обучения без учителя

Нейросеть может ошибиться: выделить не те блоки данных, неправильно объединить объекты, найти связи, которых на самом деле не существует. Кроме того, она может поделить данные теоретически правильно, но не по важным для человека признакам. Например, рассортировать товары не по объёму тары, а по её цвету, что не нужно для конкретной задачи.

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

Даже для обучения без учителя набор данных, на котором нейросеть будет тренироваться, нуждается в подготовке и очистке. Этим занимаются специалисты по машинному обучению. Для этого им нужно уметь работать с данными, а затем правильно выстраивать нейронные сети, чтобы они могли на этих данных обучаться. Эти навыки студенты получают на курсе «Инженер машинного обучения».

Машинное обучение с подкреплением

Иногда нейросеть нужно натренировать выполнять определённую задачу с четкими результатами. В таком случае хорошие результаты показывает обучение с подкреплением, по-английски reinforcement learning.

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

Самый простой пример — видеоигры. Представим нейросеть, которую тренируют выигрывать в определённую игру. Сначала она играет случайно и видит результат. Потом «пробует» другие стратегии, постепенно формируя паттерн поведения, который позволяет набрать максимум баллов.

Для чего используют нейросети, обученные с подкреплением

Кроме видеоигр, есть ещё несколько сценариев, в которых можно использовать такую нейросеть:

Обучение машин механическим манипуляциям: передвигаться, что-то чинить, хватать предметы. Нейросеть постепенно понимает, какие движения приводят к нужному результату.
Управление транспортом: нарушая ПДД, нейросеть получает отрицательную обратную связь, соблюдая их — положительную. Так тренируют автопилоты дронов, автомобилей и других движущихся устройств.
Работа в техподдержке: нейросеть может распознавать ответы пользователей и отвечать на них. За правильные ответы она получает положительную обратную связь, за неправильные — отрицательную.

Машинное обучение с подкреплением помогает нейросети научиться принимать оптимальные решения там, где нет четкого массива данных оптимальных решений. То есть обучающую выборку полностью сформировать нельзя, но можно научить нейросеть действовать не по шаблонам, а по-настоящему принимать решения.

В чём проблема обучения с подкреплением

Занимает очень много времени, так как требует огромного количества обучающих итераций — особенно если задача стоит сложная и комплексная. Там, где у задачи есть заведомо правильные ответы, лучше выбирать другой метод тренировки нейросети.

Требует множества реальных примеров, чтобы нейросеть могла выстроить полноценную картину. Например, если ее учат управлять автомобилем — нужно в процессе обучения предоставить ей как можно больше реальных дорожных ситуаций. Иначе, встретив что-то неожиданное, нейросеть просто не сможет отреагировать правильно.

Совет эксперта

Николай Шавлюго
В 2023 году много шума наделала нейросеть GPT. Может создаться ощущение, что человечество уже достигло вершины математического моделирования, и возникает вопрос — зачем изучать алгоритмы создания нейронных сетей, ведь вот какой нейромонстр уже сделан? Однако эта мысль полностью ошибочна. Фраза «Чем больше я знаю, тем больше я не знаю» как раз отражает нынешнее состояние нейросетей. Можно сказать, что их развитие ещё и не начиналось вовсе. И если хочется постигать новое и быть в авангарде современной аналитики, то именно тема нейросетей — как раз то, что нужно.
Статью подготовили:
Николай Шавлюго
Яндекс Практикум
Тимлид/ревьюер DS
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Fri Nov 15 2024 12:44:00 GMT+0300 (Moscow Standard Time)