Машинное обучение (МО) — это дисциплина в области искусственного интеллекта, которая фокусируется на создании систем, способных обучаться на основе данных и улучшать свою производительность с течением времени без явного программирования для каждой задачи. Центральным аспектом машинного обучения является выбор алгоритма: выбор того, какой алгоритм обучения использовать для конкретной проблемы или сценария. Этот процесс выбора существенно влияет на эффективность и результативность полученной системы МО. Возникает важный вопрос о том, могут ли системы машинного обучения автономно адаптироваться и выбирать наиболее подходящий алгоритм на основе результатов, наблюдаемых в различных сценариях.
Выбор алгоритма в машинном обучении
Традиционно выбор алгоритма машинного обучения для конкретной задачи был обязанностью специалистов по данным или инженеров. На основе характеристик проблемы, свойств данных и показателей производительности эксперты сравнивали ряд алгоритмов, таких как деревья решений, машины опорных векторов, нейронные сети или ансамблевые методы, и выбирали тот, который дает наилучшие результаты для их конкретного применения.
Однако, поскольку системы МО развертываются во все более динамичных и сложных средах, статический выбор алгоритмов может быть неоптимальным. На практике характеристики данных или требования задачи прогнозирования могут меняться со временем, что требует более адаптивного подхода к выбору алгоритмов.
Мета-обучение и AutoML
Область метаобучения, часто называемая «обучением обучению», решает задачу создания систем машинного обучения более адаптивными в выборе алгоритмов и гиперпараметров. Системы метаобучения анализируют производительность различных алгоритмов в нескольких задачах и учатся предсказывать, какой алгоритм, скорее всего, будет работать лучше всего в новом сценарии на основе его свойств.
Платформы Automated Machine Learning (AutoML), такие как Google Cloud AutoML, еще больше операционализируют эту концепцию. Системы AutoML пытаются автоматизировать процесс выбора алгоритма, настройки гиперпараметров и проектирования признаков. Они делают это, запуская несколько алгоритмов параллельно или последовательно, оценивая их производительность на заданном наборе данных и адаптируя свой конвейер на основе наблюдаемых результатов.
Например, в Google Cloud AutoML пользователь может предоставить набор данных для задачи классификации изображений. Система автоматически попробует различные архитектуры моделей (например, сверточные нейронные сети различной глубины), алгоритмы оптимизации и методы предварительной обработки. Она оценивает производительность каждой комбинации с помощью перекрестной проверки или наборов удержания и в конечном итоге выбирает конфигурацию, которая обеспечивает наивысшую точность проверки. Этот процесс демонстрирует адаптивный механизм, в котором система учится на результатах сценария (т. е. производительности модели), чтобы решить, какой алгоритм или конфигурацию модели использовать.
Динамический выбор алгоритма во время вывода
В некоторых продвинутых приложениях адаптация может происходить не только на этапе обучения или проектирования, но и во время развертывания или вывода. Этот процесс иногда называют в литературе выбором алгоритма или портфелями алгоритмов.
Одним из практических примеров являются рекомендательные системы. В зависимости от взаимодействия пользователя или контекста сеанса система может переключаться между различными алгоритмами. Например, коллаборативная фильтрация может использоваться для пользователей с богатой историей взаимодействия, в то время как методы на основе контента могут применяться для новых пользователей (так называемая проблема «холодного старта»). Некоторые системы объединяют эти подходы, отслеживая обратную связь в реальном времени и соответствующим образом изменяя алгоритмическую стратегию.
Другой пример — ансамблевые методы, такие как стекирование или бустинг. Здесь обучаются несколько алгоритмов, и их предсказания либо объединяются (как в бэггинге или бустинге), либо мета-обучающийся решает, предсказанию какого алгоритма доверять для данного случая. При динамическом выборе ансамбля система может адаптивно выбирать наиболее компетентную модель или алгоритм для каждого входа на основе производительности в аналогичных прошлых сценариях.
Теоретические основы и практические соображения
Способность систем машинного обучения адаптивно выбирать алгоритмы подкреплена концепцией метаоптимизации. Это подразумевает поддержание портфеля алгоритмов-кандидатов и использование метапризнаков — количественных дескрипторов набора данных или сценария — для прогнозирования производительности алгоритма. Примеры метапризнаков включают размер набора данных, количество признаков, типы признаков (категориальные или числовые), дисбаланс классов или статистические свойства, такие как асимметрия и эксцесс.
Системы метаобучения можно обучать с использованием исторических данных о производительности алгоритмов в различных задачах. При наличии новой задачи система предсказывает, какой алгоритм, скорее всего, будет работать лучше всего, возможно, в сочетании с автоматизированным поиском гиперпараметров. Для этой цели обычно используются такие методы, как байесовская оптимизация, обучение с подкреплением и эволюционные алгоритмы.
Возникают практические проблемы, особенно в отношении вычислительных ресурсов. Запуск и оценка множества алгоритмов и конфигураций может быть вычислительно затратным. Поэтому для снижения вычислительной нагрузки при сохранении высокой производительности применяются эффективные стратегии поиска, критерии ранней остановки и суррогатные модели.
Примеры и приложения
1. AutoML в облаке Google: Пакет AutoML от Google Cloud является примером адаптивного выбора алгоритмов. Когда пользователь загружает помеченный набор данных для табличной задачи прогнозирования (например, прогнозирования продаж), система может попробовать машины градиентного бустинга, глубокие нейронные сети, случайные леса и линейные модели. Основываясь на перекрестно проверенных показателях производительности, платформа адаптируется и сходится на наиболее эффективной архитектуре и гиперпараметрах, часто предоставляя информацию об интерпретируемости модели и важности признаков.
2. Динамическая маршрутизация в глубоком обучении: Некоторые архитектуры нейронных сетей имеют динамическую маршрутизацию, где сеть учится адаптивно выбирать, какую подсеть или модуль использовать для обработки заданного ввода. Капсульные сети, например, используют динамические алгоритмы маршрутизации, которые адаптивно выбирают, как информация проходит через сеть, на основе характеристик входного экземпляра.
3. Адаптивное распределение ресурсов: В некоторых приложениях МО, таких как онлайн-реклама или обнаружение мошенничества, система может динамически распределять вычислительные ресурсы или выбирать алгоритмы на основе результатов сценария. Например, облегченная модель может использоваться для большинства транзакций, но при обнаружении подозрительной активности может быть вызвана более сложная и точная (но вычислительно затратная) модель.
4. Обучение с подкреплением для выбора алгоритма: В обучении с подкреплением агенты могут быть обучены выбирать наиболее подходящий алгоритм или модель для каждого состояния или сценария на основе прошлых вознаграждений (результатов). Этот подход особенно полезен в нестационарных средах, где оптимальный алгоритм может меняться со временем.
Ограничения и будущие направления
Хотя адаптивный выбор алгоритма является многообещающей областью, он не лишен ограничений. Качество адаптации во многом зависит от качества и репрезентативности мета-признаков и разнообразия портфеля алгоритмов. Существует также риск переобучения набору проверки во время выбора алгоритма, особенно когда объем доступных данных ограничен.
Более того, хотя AutoML и системы метаобучения могут значительно сократить бремя ручного выбора модели, они не устраняют необходимость в экспертном контроле. Понимание предметной области, последствий выбора модели и требований к интерпретируемости остается критически важным.
Продолжаются исследования по разработке более эффективных, масштабируемых и интерпретируемых алгоритмов метаобучения. Растет также интерес к системам непрерывного обучения и непрерывного обучения, которые могут не только адаптировать выбор алгоритма, но и передавать знания между задачами и временем, что еще больше повышает адаптивность.
Дидактическая ценность
Способность систем машинного обучения адаптивно выбирать и настраивать алгоритмы на основе результатов сценариев имеет значительные последствия для прикладной науки о данных и отраслевой практики. Она демократизирует доступ к передовому предиктивному моделированию, снижая технический барьер для неспециалистов и ускоряя процесс экспериментирования для экспертов. Более того, адаптивный выбор алгоритмов является основополагающим для создания надежных, самосовершенствующихся систем, которые могут справляться с изменяющимися средами, нестационарными данными и развивающимися задачами.
Понимание этой адаптивной возможности дает представление о текущем и будущем состоянии автоматизированного машинного обучения и интеллектуальных систем принятия решений. Оно также подчеркивает взаимодействие между статистической теорией обучения, оптимизацией и практическим проектированием систем. Студенты и специалисты получают выгоду от оценки как возможностей, так и ограничений адаптивных систем машинного обучения, что позволяет им делать осознанный выбор относительно того, когда и как использовать такие технологии в реальных приложениях.
Другие недавние вопросы и ответы, касающиеся EITC/AI/GCML Машинное обучение Google Cloud:
- Какие распространенные алгоритмы искусственного интеллекта/машинного обучения следует использовать для обработки данных?
- Как модели Keras заменяют оценщики TensorFlow?
- Как настроить конкретную среду Python с помощью Jupyter Notebook?
- Как использовать TensorFlow Serving?
- Что такое Classifier.export_saved_model и как его использовать?
- Почему регрессия часто используется в качестве предиктора?
- Актуальны ли множители Лагранжа и методы квадратичного программирования для машинного обучения?
- Можно ли применять более одной модели в процессе машинного обучения?
- Каков самый простой путь к базовому обучению и развертыванию дидактической модели ИИ на платформе Google AI с использованием бесплатного уровня/пробной версии с использованием графической пользовательской консоли в пошаговой манере для абсолютного новичка без опыта программирования?
- Как на практике обучить и развернуть простую модель ИИ в Google Cloud AI Platform с помощью графического интерфейса консоли GCP в пошаговом руководстве?
Просмотреть дополнительные вопросы и ответы в EITC/AI/GCML Google Cloud Machine Learning