Содержание статьи
С учителем и без него: как обучаются нейросети
Чем машинное обучение отличается от нейросетей
Обучение с учителем (Supervised Learning) — это наиболее распространенный подход, при котором нейросеть обучается на основе предварительно размеченных данных. Эти данные включают в себя входные значения и соответствующие им целевые (ответы). Нейросеть обучается предсказывать последние на основе входных данных.
Машинное обучение без учителя (unsupervised learning) — менее популярный формат развития навыков нейросетей . Из названия понятно, что оно предполагает самостоятельное совершенствование модели. Как это работает? На вход модели подаются неразмеченные данные и система без чьей-либо помощи ищет в них закономерности. Этот формат отличается от предыдущего тем, что модели заранее не известен «правильный ответ» и его нужно найти. Для поиска следует проанализировать все данные и обнаружить в них общие скрытые структуры или паттерны для будущей классификации, которую она проводит без явного руководства. Модель, натренированная таким образом, легко справится с задачей распределения тысяч статей по тематике в зависимости, например, от упоминаемых ключевых слов.
Современные нейросети с легкостью и за считанные секунды анализируют художественный текст, создают изображения, поддерживают живой диалог, пишут программный код и многое другое по запросу пользователя. Однако для того, чтобы эти действия правильно и быстро выполнялись, нейронная сеть проходит трудоемкое обучение, вне зависимости от размера входной задачи и количества нейронов в сети. Для результативной работы модели в будущем необходимо заранее подготовить наборы обучающих данных, рассчитать возможные отклонения от точных решений и подобрать весовые коэффициенты для каждого из нейронов.
Есть множество методов «тренировки» нейронных сетей, но все они основываются на двух ключевых принципах: с помощью учителя и без него. Это происходит точно так же, как и у человека: можно приобретать новые знания под руководством наставника, который подскажет и скорректирует отдельные моменты, а можно заниматься самообразованием. В последнем случае человек опирается только на свой личный опыт и наблюдения.
Машинное обучение и нейронные сети связаны между собой, однако это все же разные области искусственного интеллекта. В первом случае речь идет о широком термине, который означает использование алгоритмов для анализа данных, обучения на их основе и прогнозирования или принятия решений. Здесь могут использоваться разные способы: статистические методы, деревья решений и т. д.
Обучение с учителем используется для нейросетей , которые в дальнейшем будут решать задачи классификации: получать на входной слой большой объем данных и разделять информацию по заданным категориям. Этот механизм лежит в основе разных функций: модель может в будущем специализироваться и на генерации текста или продолжении предложений (нейронная сеть LSTM), и на идентификации и классификации картинок (сверточная нейронная сеть CNN). Кроме того, обучение с учителем позволяет модели успешно работать с прогнозами: оценивать динамику спроса на товар и менять цену и другие количественные характеристики для максимизации выручки или строить прогноз на бирже.
Обучать нейронные сети выполнению задач можно по-разному: процесс развития навыков возможен с учителем или без него, а также с подкреплением. Каждый формат предназначен для решения конкретных задач: классификации, прогнозирования, распознавания изображения и так далее. Как выбрать оптимальный формат и чем между ними разница?
Метод обучения с учителем ( supervised learning) аналогичен получению знаний в школе, где нейросеть выступает в качестве ученика, а человек — в роли преподавателя. Роль учителя заключается в том, чтобы подать на вход модели исходные данные и их «расшифровку » . По аналогии с математическими задачами это будет «вопрос » и «правильный «ответ » (метка). Например, при обучении задаче классификации изображений каждой отдельной картинке будет присвоена метка, означающая класс изображения (например, кошка или собака на фото). Так происходит настройка параметров для минимизации ошибок между собственными предположениями и « правильными ответами» (метками). Сопоставляя их из раза в раз, нейронная сеть б удет самос тоятельно обучаться отвечать и на последующие запросы правильно уже без помощи человека.
Без учителя
При этом нередки ситуации, в которых модели необходима хотя бы частичная «разметка» данных для результативной работы. В этом случае потребуется частичное привлечение учителя: он заранее размечает часть данных самостоятельно , а остальные подаются модели в неразмеченном виде. Этот вариант не только повышает эффективность «тренировок» модели, но и значительно ускоряет их.
Тренировочный набор данных для этого типа обучения важно разметить, то есть каждому примеру сопоставить результат, который модель должна получить. Для этого над входным датасетом следует предварительно поработать: учитель собирает его заранее, просматривает и размечает в понятном для обработки виде.
Отсутствие контроля человека при тренировке моделей увеличивает вероятность ошибок. Самостоятельный анализ данных может привести к неверному объединению или группировке по тем признакам, которые не важны для человека. Кроме того, подобная подготовка требует большего количества времени и информации — ведь для того, чтобы без подсказок учителя сделать верные выводы, нужно проанализировать больший объем информации, чем с ними.
Обучение с подкреплением (reinforcement learning) используется в ситуациях, когда нужно обучить нейро сеть задаче с четкими результатами на выходе. Этот формат подготовки ИИ-моделей проходит через взаимодействие с окружающей средой и работает следующим образом: система получает на вход некоторые неразмеченные данные и обрабатывает их случайным образом, в ответ на что получает положительные или отрицательные отзывы, в зависимости от результатов работы. Для обучения с подкреплением не нужен полный контроль человека или заранее и полностью размеченный набор данных — важно сформулировать задачу и оценить те решения, которые предпримет система.
Нейросети , прошедшие обучение без учителя, не хуже предыдущих решают задачи кластеризации. Деление большого количества данных на группы способна совершить каждая обучающаяся модель, а далее с уже первично отсортированными сведениями могут работать люди или более тонко настроенные модели. Помимо задач группировки, нейронные сети умеют определять связи в данных. Этот механизм часто используется в маркетинге: анализируя историю покупок, искусственный интеллект предполагает, какие товары и услуги дополнительно предложить этому же человеку. Детектирование аномалий — еще одна профильная задача самостоятельного машинного обучения, решаемая автокодировщиком Autoencoder.
Прохождение игр — часто встречающаяся задача, которую решает обучение с подкреплением. Так, например, алгоритм Q-обучения (Q-learning) часто используется в играх — например, для тренировки агента прохождению знакомой всем «Змейки » . Другой пример — нейросетевая модель AlphaGo, которая обучена играть в го на уровне мировых чемпионов.