Определения, структура и развитие систем ИИ
Рис. 1.47. Полуконтролируемое обучение занимает промежуточное положение между контролируемым и неконтролируемым
Создание размеченных данных для машинного обучения - это длительный процесс, который часто требует квалифицированных специалистов в предметной области и достаточно высоких затрат. Процесс сбора немаркированных данных намного легче и дешевле. Соответственно, затраты на процесс обучения с использованием только размеченных данных могут быть слишком большими, и полуконтролируемое обучение может быть решением проблемы. В последнем случае используются две выборки с данными из одних и тех же классов 41То есть если в размеченной выборке фотографии кошек и собак, то в неразмеченной тоже должны быть изображения только кошек и собак (размеченная и неразмеченная).
Типичный пример полуконтролируемого обучения - это обучение по фотографиям в социальных сетях, когда есть фото, где пользователь отметил на изображении людей или место съемок, то есть присвоил им теги (разметил данные), а есть фото, где данные не размечены.
Обучение с подкреплением
Машинное обучение с подкреплением напоминает обучение с учителем, однако в данном случае в роли "учителя" выступает окружающая (настоящая или виртуальная) среда, которая показывает, как агенты должны действовать, чтобы получить наибольшее суммарное вознаграждение (рис. 1.48 б ).
Если в случае (рис. 1.48 а ) мы отвечаем на вопрос "К какому классу относится исследуемый объект?", то в случае (рис. 1.48 б) мы пытаемся ответить на вопрос "Что нужно сделать, чтобы достичь жела-емого результата?". При этом мы, как правило, не знаем, хороший или плохой выбор мы делаем на каждом шаге, а получаем "вознаграждение" (подкрепление) после завершения эпизода обучения.
Рис. 1.48. Обучение с учителем (а) и обучение с подкреплением (б) имеют сходные схемы. Источник: адаптировано по материалам [57]
Еще в 1951 году Марвин Минский, будучи студентом Гарвардского университета, построил машину, использующую простой метод обучения с подкреплением для имитации поведения мышей, которые учатся находить выход из лабиринта.
В качестве примера обучения с подкреплением можно привести компьютерную игровую модель, где агент пытается найти выход из лабиринта и в процессе поиска получает от внешней среды информацию (сигналы подкрепления) о том, где выхода нет, агент анализирует эту информацию и учится находить выход.
Робот (агент) учится выполнять задачу путем повторяющихся проб и ошибок при взаимодействии с незнакомой динамической средой, выполняя определенные действия, получая определенные результаты (и в зависимости от них награды), и при этом его задача - добиваться максимальной награды. Часто, говоря об обучении с подкреплением, в качестве аналогии приводят пример дрессировки домашних животных, которые ориентируются на подкрепление в виде лакомства, которое они получают, выполняя правильные действия.
Аналогично действуют агенты, которые максимизируют метрику вознаграждения за выполнение задачи. При этом следует отметить, что в случае с роботами (агентами) процесс проходит без вмешательства человека и без явного программирования шагов выполнения задачи.
Важным отличием обучения с подкреплением от классического обучения с учителем является то, что подкрепление возникает после нескольких шагов или действий, в то время как в классическом обучении с учителем для каждого обучающего примера известен правильный ответ. Например, при обучении компьютера игре в шахматы методом обучения с подкреплением подкрепление возникает лишь в конце партии - в случае выигрыша или проигрыша.
Мы обещали в начале курса приводить более полные структурные схемы понятия ИИ по мере толкования новых терминов. После того как мы ввели понятия контролируемое обучение, неконтролируемое и обучение с подкреплением, можно несколько усложнить картинку (рис. 1.14), добавив в нее новые элементы (рис. 1.49).
Соотношение категорий машинного обучения можно также наглядно представить в зависимости от решаемых задач и используемых алгоритмов (рис. 1.50).
Перечень вариантов машинного обучения расширяется. Сравнительно недавно появилась так называемая форма самоконтролируемого обучения (Self-supervised learning SSL).
Самоконтролируемое обучение (предиктивное обучение или самообучение) - это процесс машинного обучения, в котором модель обучается самостоятельно, получая информацию о некоторой части входных данных на основе другой части входных данных (см. рис. 1.51).
Метод самоконтролируемого обучения заключается в определении любой скрытой части входных данных из любой открытой части входных данных. В этом процессе задача из неконтролируемой преобразуется в задачу с контролем путем автоматической генерации меток.
Например, при обработке видео мы можем предсказать прошлые или будущие кадры на основе имеющихся видеоданных.
Рис. 1.51. Предсказание неизвестной части входных данных по другой части ввода. Источник: LeCun [59]
Продолжая разговор об эволюции систем машинного обучения, следует отметить рост точности и адекватности создаваемых моделей, что, естественно, приводило к повышению доверия к более зрелым моделям со стороны пользователей. Менялись способы создания программного обеспечения, которое обеспечивало решение задач (рис. 1.52).