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

Мета-обучение - недавний метод преодоления, то есть автоматизации этой проблемы. Он направлен на использование самого машинного обучения для автоматического изучения наиболее подходящих алгоритмов и параметров для задачи машинного обучения.

Фреймворки машинного обучения, такие как TensorFlow или Keras, эволюционировали, чтобы упростить разработку моделей машинного обучения. Все они предоставляют высокоуровневые API-интерфейсы, предлагающие различные строительные блоки для описания моделей машинного обучения. В то время как они определяют, как должны выглядеть их конкретные модели, возникает вопрос, как будет выглядеть общая метамодель для этих моделей и можно ли моделировать сам процесс метаобучения?

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

Мета-модель для машинного обучения

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

Если мы возьмем нейронные сети в качестве примера, строительными блоками нейронной сети будут слои. Случайные леса, как другой пример, состоят из деревьев решений.

Итак, давайте сначала определим общую метамодель для любого алгоритма обучения:

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

  • цель определяет цель алгоритма обучения. Например, если мы рассмотрим тот же набор данных, содержащий исторические цены на дома, мы могли бы выполнить линейную регрессию для прогнозирования цен на жилье или классификацию для выполнения кластеризации аналогичных домов. Другими словами, цель - это функция потерь, которая определяет наши цели обучения.
  • Алгоритм обучения может быть нейронной сетью, случайным лесом и т. Д., А блок обучения соответственно может быть слоем, деревом решений и т. Д. Блоки обучения могут быть составлены в виде деревьев, например для моделирования слоев в нейронной сети и хранения изученного состояния, например матрицы, веса или деревья.
  • Каждый алгоритм обучения и его блоки обучения соответственно имеют набор гиперпараметров, например количество скрытых слоев в случае нейронных сетей.
  • Гиперпараметры, а также обучающие блоки могут иметь ограничения. Например, если параметры должны быть в определенном диапазоне. Другой пример, для уровня нейронной сети он должен иметь такое же количество входов, чем предыдущий уровень имеет выходы.
  • Алгоритм обучения должен определять один или несколько методов инициализации, таких как равномерное случайное распределение, гауссовское распределение, которые инициализируют состояние алгоритма обучения и его обучающих блоков соответственно. У инициализации есть гиперпараметры, такие как случайное начальное число или стандартное отклонение.
  • оптимизатор оптимизирует модель для достижения цели и управляется параметрами, которые снова могут иметь свои собственные ограничения, такие как скорость обучения и скорость регуляризации. Примеры алгоритмов оптимизации: градиентный спуск, стохастический градиентный спуск или Адам.
  • Метаданные набора данных содержат статистическую информацию о наборе данных, такую ​​как его размер, размер и т. Д., А также его характеристики. Возможности могут быть производными или обычными.

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

Мета-модель обучения

Мета-обучение позволяет обучать и сравнивать один или несколько алгоритмов обучения с различными конфигурациями, например в ансамбле, чтобы в конечном итоге найти наиболее подходящую модель обучения (или ансамбль) для данной проблемы.

В предыдущем разделе мы представили метамодель машинного обучения. Теперь мы расширяем его до метамодели для метаобучения и детализируем, как это может управлять процессом метаобучения.

Элементы, изображенные серым цветом, относятся к метамодели обучения (как представлено в предыдущем разделе), а элементы, выделенные белым, определяют и контролируют процесс метаобучения.

Стоит отметить, что метаданные набора данных и их функции и цель теперь перемещены с уровня обучающей метамодели на уровень уровень мета-обучения метамодели. Это связано с тем, что все различные алгоритмы обучения необходимо обучать, тестировать и перекрестную проверку на одном и том же наборе данных и для одной и той же цели с использованием одной и той же метрики потерь, чтобы гарантировать их сопоставимость.

Метамодель метаобучения содержит одну или несколько независимых метамоделей обучения. Несколько метамоделей обучения означают, что процесс метаобучения представляет собой ансамблевое обучение, сравнивающее различные алгоритмы обучения друг с другом. Кроме того, метамодель метаобучения содержит алгоритм метаобучения, параметры метаобучения, распределение рисования для параметров и контроллер.

  • Алгоритм метаобучения определяет само метаобучение. Изучение всех возможных экземпляров модели для всех возможных гиперпараметров и их сравнение часто требует больших вычислительных ресурсов и практически невозможно. Распространенными стратегиями сокращения пространства поиска являются эволюционные методы, такие как генетические алгоритмы. Другие применяют обучение с подкреплением и начинают исследование с определенной конфигурацией, например случайным или равномерным распределением, а затем продолжайте просто исследовать конфигурации n лучших моделей и так далее. Более простые алгоритмы просто случайным образом исследуют пространство поиска до тех пор, пока не будет достигнут определенный критерий остановки, а затем выбирают лучший из найденных до этого момента.
  • Алгоритм метаобучения также определяет, как интерпретируется результат, то есть как прогноз модели (моделей) интерпретируется. Возможные методы заключались бы в том, чтобы просто взять прогноз, сделанный лучше всего обученной моделью, применить (взвешенное) среднее или использовать более продвинутые стратегии упаковки.
  • Таким же образом, как алгоритм обучения определяет / ограничивает возможные гиперпараметры, алгоритм метаобучения определяет / ограничивает возможные параметры метаобучения, т.е. не все параметры доступны для всех алгоритмов.
  • Параметры метаобучения параметризуют процесс метаобучения. Это включает соотношение разделения набора данных на поезд / тест / перекрестную проверку. Здесь также необходимо указать, как выглядят критерии остановки процесса метаобучения, например это может быть просто количество моделей для обучения (для каждой модели обучения). Другой - время вычислений, то есть остановка процесса метаобучения через n часов. Дополнительные, более сложные параметры метаобучения являются аппаратными ограничениями, например, исследуйте только модели, которые можно обучить за определенное время с использованием определенного объема основной памяти, графического процессора и т. Д.
  • Каждый гиперпараметр связан с распределением чертежей, которое указывает, какие значения контроллер может выбрать для определенного параметра. Например, случайное число от минимального до максимального значения. Он также может предлагать варианты, такие как линейное рисование из диапазона, например, для скорости обучения, которая часто изменяется пошагово с коэффициентом 10, или рисование из диапазона экспоненциально и т. Д. Распределение рисования также может быть фиксированным значением, указание контроллеру не изменять это значение.
  • Основываясь на цели, алгоритме метаобучения, параметрах метаобучения и распределениях рисования, контроллер выполняет фактический процесс метаобучения. Для каждой обучающей метамодели контроллер решает, сколько экземпляров модели должно быть сгенерировано и обучено и как они должны быть параметризованы. Контроллер для уровня метаобучения то же самое, что оптимизатор для уровня обучения. Следует отметить, что контроллер может параметризировать разные оптимизаторы для разных экземпляров модели, даже для одной и той же метамодели обучения, но существует только один контроллер для всего процесса метаобучения.

Подтверждение

Эта работа поддержана Люксембургским национальным исследовательским фондом FNR (https://www.fnr.lu/) в рамках программы Industrial Fellowship (грант 12490856).

Если вам понравилось читать, подпишитесь на нас в: Facebook, Twitter, LinkedIn