Немного о методах машинного обучения

Ранее мы уже рассматривали концепцию и некоторые особенности машинного обучения – с учителем и без. Сегодня речь пойдет о более частных случаях – методах обучения с частичным привлечением учителя (Semi-supervised learning) и обучения с подкреплением (Reinforcement learning). Собеседником DataReview и экспертом в данной области выступил Сергей Шельпук, директор направления Data Science в компании V.I.Tech, преподаватель курса Machine Learning в школе Lviv IT School (LITS).

Обучение с частичным привлечением учителя

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

Сергей Шельпук:

Идея такая: если у нас есть какое-то небольшое количество размеченных данных и намного большее количество неразмеченных, мы можем сначала обучить модель на размеченной выборке (обучение с учителем), а потом использовать эту обученную модель, чтобы предсказать с ее помощью класс (или значение) для неразмеченных данных. Потом — снова обучаем модель с учителем, используя предсказанные значения для неразмеченных данных, как «правильный ответ». Потом — снова предсказываем значения для неразмеченных данных уже с новой моделью, и так по кругу.

Для чего же нужны такие «выкрутасы»? Понятно, что идеальная структура данных возможна только в теории; на практике же жизненно необходимо повышать точность модели – как раз для того, чтобы успешно работать с неидеальными данными. Применяя метод машинного обучения с частичным привлечением учителя, мы можем (по крайней мере, теоретически) повысить точность модели благодаря использованию так называемых неразмеченных (unlabeled) данных. Самый простой пример – фотографии в социальных сетях, когда пользователь не отмечает присутствующих на них людей или место съемок, то есть – не присваивает им теги (labels).

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

Сергей Шельпук:

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

В теории такая постановка задачи работает, однако в реальной жизни с данными «везет» значительно реже.

Сергей Шельпук:

Сейчас нам всем доступны огромные массивы неразмеченных данных (фотографии на Facebook, видео на YouTube, аудио на SoundCloud и т.д.), но среди них есть далеко не только те классы, которые нужны для нашей задачи. Потому машинное обучение с частичным привлечением учителя практически ничем не может помочь в плане использования таких массивов данных для улучшения наших моделей. Вместо него для этого мы используем методы глубокого обучения и обучения без учителя на основе сырых данных репрезентативных выборок (unsupervised feature learning).

Обучение с подкреплением

Reinforcement learning — способ обучать марковские процессы принятия решений (markov decision process) и решать задачи управления. Здесь вместо ответа на вопрос: «Какой это класс?» или «Какое это значение?» мы пытаемся ответить на вопрос: «Что нужно сделать, чтобы достичь желаемого результата?».

В ходе обучения с подкреплением система (агент) обучается, взаимодействуя с некоей средой. Откликом среды на принятые решения являются так называемые сигналы подкрепления – это позволяет назвать такую методологию частным случаем обучения с учителем, однако в роли последнего выступает среда или ее модель, при этом между ней и агентом существует обратная связь.

В общем-то, такая модель (как минимум, на первый взгляд) похожа на то, как работает человеческий мозг при принятии некоего решения. Это позволяет с успехом использовать методологию в самых разных областях знаний – от аэрокосмической сферы и до управления электрическими сетями и даже… лифтами – когда необходимо решить, на каком этаже должна стоять кабинка, чтобы люди потратили на ее ожидание как можно меньше времени.

Сергей Шельпук:

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

Перед машинным обучением всегда стояли высокие цели – как научные, так и практические. С точки зрения анализа данных, машинное обучение, прежде всего, призвано делать модели все более и более точными – и, к сожалению, идеального решения «на все случаи жизни» не существует.

Сегодня мы рассказали вам о двух методологиях, существование которых только подтверждает этот факт – впрочем, опыт подсказывает нам, что разнообразие в конечном итоге приводит к прогрессу; в случае машинного обучения в это можно – и нужно – верить.

Автор: Елизавета Филиппова

 

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =