Активное обучение в машинном обучении – это тип контролируемого обучения, при котором алгоритм может выбирать данные, на основе которых он хочет учиться. Это позволяет алгоритму машинного обучения сканировать немаркированные обучающие данные и определять полезные точки данных для анализа.
Активное обучение создает высокопроизводительный классификатор и сводит размер обучающего набора данных к минимуму за счет активного выбора ценных точек данных.
После этого программа может запросить помеченный набор данных, например, тот, который содержит все ответы, или человеческий аннотатор, который информирует компьютер о том, что показано на изображении. Поскольку алгоритм выбирает точки данных, необходимые ему для обучения, количество точек данных, необходимых для анализа, может быть сравнительно меньше, чем при обучении под наблюдением.
Представьте, что вы учите ребенка распознавать различные виды фруктов. Вы показываете ему яблоко, банан и виноград, и каждый раз, когда вы показываете им фрукт, вы называете его название. Это похоже на традиционное машинное обучение, когда компьютеру предоставляется большое количество данных (например, изображения фруктов) вместе с правильными ответами (например, названия фруктов), и он извлекает уроки из этого полного набора информации.
Теперь давайте подумаем об активном обучении.
При активном обучении ребенок (или, в нашем случае, компьютер), вместо того чтобы пассивно всему обучаться, начинает задавать вопросы. Представьте, что ребенок указывает на фрукт и спрашивает: “Это яблоко или банан?” Это похоже на компьютер в процессе активного обучения, который выбирает определенные фрагменты данных, в которых он не уверен, и просит помощи.
Ключевым моментом активного обучения является это взаимодействие. Компьютеру не просто передается огромное количество данных с метками. Вместо этого он просматривает данные, пытается их изучить и, когда находит что-то, в чем не уверен, обращается за помощью. Этот процесс более эффективен, потому что он фокусируется на том, чего компьютер не знает, вместо того, чтобы перебирать все подряд.
Это как если бы вы готовились к тестированию – вместо того, чтобы перечитывать весь учебник, вы сосредотачиваетесь на главах, которые кажутся вам наиболее сложными. Активное обучение делает нечто подобное для компьютеров – оно помогает им сосредоточить свое обучение на наиболее сложных или неопределенных частях, делая весь процесс обучения более быстрым и эффективным, особенно когда у нас нет большого количества помеченных данных (что похоже на наличие ответов в нашем примере с фруктами).
Существует в основном три типа активного обучения:
При выборке на основе пула у вас есть большой пул немаркированных данных, но вы выбираете только несколько из этих точек данных для маркировки.
Алгоритм активного обучения оценивает весь пул и выбирает выборки, из которых он рассчитывает извлечь больше всего. Этот выбор обычно основан на том, насколько алгоритм неуверен в конкретной точке данных.
Например, в пуле изображений различных животных алгоритм может быть наиболее неуверенным в отношении размытого изображения и запросить его метку.
При таком подходе точки данных поступают по одной за раз или небольшим потоком, и алгоритм должен на лету решать, запрашивать ли метку.
Решение о запросе метки основывается на критерии, обычно на неопределенности модели относительно этой точки данных.
Этот тип полезен в сценариях реального времени, где данные генерируются непрерывно, например, в системах мониторинга на заводах, где каждое новое показание датчика является точкой данных.
Синтез запроса – это когда алгоритм активного обучения генерирует новые примеры для маркировки, а не выбирает из существующих данных.
Этот подход используется, когда невозможно или непрактично выполнять выборку из большого пула данных, или когда алгоритму требуются очень специфические типы данных для повышения его производительности.
Например, в сценарии, когда алгоритм учится распознавать геометрические фигуры, он может сгенерировать изображение с неоднозначной формой и запросить его метку.
Активное обучение имеет несколько практических применений в различных областях, особенно в ситуациях, когда маркированных данных мало, маркировать дорого или когда учебная задача требует высокой точности.
Для таких задач, как анализ настроений, распознавание сущностей или языковой перевод, активное обучение помогает эффективно выбирать наиболее информативные образцы текста для маркировки, повышая производительность модели при меньшем объеме данных.
В задачах компьютерного зрения, таких как обнаружение объектов, распознавание лиц или анализ медицинских изображений, активное обучение может значительно сократить объем необходимых помеченных данных, сосредоточившись на наиболее неоднозначных изображениях.
В таких областях, как биология или химия, где маркировка данных часто требует экспертных знаний (например, для идентификации конкретных белков или соединений), активное обучение помогает расставить приоритеты в данных для экспертной оценки.
Активное обучение может упростить процесс аннотирования данных, гарантируя, что человеческие усилия будут сосредоточены на маркировке наиболее информативных образцов, тем самым повышая эффективность процесса обучения модели.
Активное обучение может быть использовано для повышения точности систем рекомендаций путем выборочного запроса отзывов пользователей по определенным товарам, тем самым улучшая понимание системой пользовательских предпочтений.
На производстве активное обучение может помочь в системах обнаружения дефектов, сосредоточив внимание на неоднозначных случаях, когда система не уверена, соответствует ли продукт стандартам качества.
В приложениях преобразования речи в текст активное обучение может использоваться для отбора и маркировки разнообразных и сложных образцов речи для повышения надежности системы распознавания.
В сфере финансов или безопасности активное обучение может помочь в выявлении мошеннических транзакций или аномалий, сосредоточив внимание на наиболее подозрительных случаях для дальнейшего расследования.
Активное обучение может оптимизировать обучение чат-ботов и виртуальных помощников, выявляя и обозначая ключевые взаимодействия, которые требуют улучшений или трудны для понимания ботом.
В здравоохранении активное обучение может помочь в постановке диагноза пациенту или в выявлении наиболее подходящих групп пациентов для клинических испытаний на основе неопределенных или новых медицинских случаев.
Мы можем реализовать активное обучение с помощью трех основных подходов:
Стратегии активного обучения определяют, каким образом алгоритм обучения должен выбирать наиболее информативные точки данных для маркировки. Эти стратегии имеют решающее значение для эффективности системы активного обучения.
Ниже приведены некоторые часто используемые стратегии активного обучения:
В этой стратегии алгоритм выбирает точки данных, для которых он имеет наименьшую уверенность в своих текущих прогнозах.
Например, в задаче классификации он может выбрать образцы, для которых нет наибольшей уверенности в том, к какому классу они принадлежат.
Это одна из самых простых и широко используемых стратегий в активном обучении.
В QBC несколько моделей (комитет) обучаются на текущих данных и голосуют за маркировку новых точек данных.
Затем алгоритм выбирает точки данных, в которых наблюдается наибольшее несогласие между членами комитета.
Этот метод эффективен при исследовании различных гипотез относительно полученных данных.
Эта стратегия выбирает точки данных, которые, если бы были помечены, вносили бы наибольшие изменения в текущую модель.
Например, он может выбрать образцы, которые наиболее существенно изменили бы параметры модели, если бы были включены в обучающий набор.
Он основан на идее, что большее изменение в модели может соответствовать более широким возможностям обучения.
Эти методы учитывают не только неопределенность прогнозов, но и плотность точек данных в пространстве объектов.
Идея состоит в том, чтобы отдавать предпочтение точкам данных, которые одновременно являются неопределенными и репрезентативными для плотной области в пространстве признаков, гарантируя, что изученная модель лучше поддается обобщению.
Эта стратегия включает в себя выбор точек данных, которые, как ожидается, в наибольшей степени уменьшат будущую ошибку модели.
Это более сложная стратегия, поскольку она требует оценки влияния каждого потенциального запроса на будущую производительность модели.
Выборка с разнообразием направлена на выбор набора точек данных, которые отличаются друг от друга. Такой подход гарантирует, что алгоритм будет работать с большим разнообразием точек данных, снижая риск смещения в сторону определенного типа данных.
В задачах бинарной классификации эта стратегия выбирает выборки, для которых разница в вероятности между двумя возможными метками наименьшая.
Это те моменты, по которым модель практически не определилась и, таким образом, может предоставить ценную информацию для изучения.
Существует несколько доступных инструментов и фреймворков, которые поддерживают активное обучение, упрощая его реализацию в различных проектах машинного обучения. Эти инструменты часто поставляются со встроенными функциональными возможностями для различных стратегий активного обучения, управления данными и интеграции с моделями машинного обучения.
Активное обучение, несмотря на его многочисленные преимущества, сопряжено с рядом проблем, которые могут повлиять на его эффективность и практичность:
Что такое поисковые системы? Поисковые системы – это сложные программные комплексы, предназначенные для поиска информации…
Интернет – это невероятное пространство возможностей, но одновременно и место, где за вашей онлайн-активностью может…
В современном цифровом мире защита конфиденциальности стала первостепенной задачей. Каждый день мы оставляем следы своей…
Что это такое? Анонимность в интернете – это состояние, при котором ваша личность и действия…
Фишинг – это одна из самых распространенных киберугроз, которая ежегодно обходится пользователям интернета в миллионы…
Что такое защита данных в облаке? Защита данных в облаке – это комплекс мер, направленных…