Изменения

Перейти к: навигация, поиск

Мета-обучение

7 байт убрано, 00:36, 23 марта 2020
Нет описания правки
<b>Мета-обучение</b>(англ. Meta-learning) {{---}} подход, позволяющий определять наиболее подходящий алгоритм (иногда, вместе с параметрами к нему) для конкретной задачи из портфолио алгоритмов. Основная идея мета-обучения {{---}} свести задачу выбора алгоритма к задаче [[Общие понятия#Классификация задач машинного обучения|обучения с учителем]]: задачи описываются мета-признаками. Мета-признак описывает свойство задачи {{---}} например, разрежен ли датасет или нет, число категориальных или численных признаков объектов в датасете, число возможных меток, размер датасета и многое другое.
От хорошей модели ожидается высокая адаптируемость к новым задачам и окружениям, на небольшом количестве примеров. Примеры задач мета-обучения: * Классификатор обучали на изображениях собак и велосипедов, давайте дообучим его определять еще и кошек* Бот для игр, способный быстро обучиться новой игре* Робот, выполняющий задачу на пригорке во время теста даже если он обучался на ровной поверхности
<h2>Обзор</h2>
Очень похоже на обычную задачу машинного обучения, только один датасет принимается за один образец данных.
Ограничения {{---}} no free lunch Теорема о том, что бесплатного завтрака не бывает(англ. No Free Lunch Theorem, сокр. NFL) theorem<ref>[https://www.researchgate.net/publication/221997149_No_Free_Lunch_Theorems_for_Search Wolpert and Macready, 1996]</ref><ref>[https://www.researchgate.net/publication/228671734_Toward_a_justification_of_meta-learning_Is_the_no_free_lunch_theorem_a_show-stopper Giraud-Carrier and Provost, 2005]</ref> , доказанная в 1996 году.{{Теорема|about = No free Lunch Theorem|statement = Пусть $<tex>P(d_{m}^{y}| f, m, a)$ </tex> {{---}} условная вероятность получения частного решения $d_m$ после $m$ итераций работы алгоритма $a$ при целевой функции $f$. Для любой пары алгоритмов $a_1$ и $a_2$ имеет место равенство:
<tex>
\\
\begin{aligned}
\sum_{f}P(d_{m}^{y}| f, m, a_1) = \sum_{f}P(d_{m}^{y}| f, m, a_2)
\end{aligned}
</tex>
}}
Иными словами, если встречается задача, которая не похожа на то, что решалось ранее, то мы не сможем сразу придумать для него эффективное решение.
Иными словамиОбщая идея мета-обучения: для каждого набора данных $d \in \mathcal{D}$ вычисляется вектор мета-признаков, если встречается задачакоторые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объектов в $d$, которая не похожа на точисло возможных меток, что решалось ранее, то мы не сможем сразу придумать для него эффективное решениеразмер $d$ и многие другие<ref>[https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets meta-feature description for recommending feature selection algorithm]</ref>.Подробнее о конкретных метапризнаках смотреть [[Мета-обучение#Определение множества конфигураций|ниже]]
Общая идея мета-обучения: для каждого набора данных $d \in \mathcal{D}$ вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объектов в $d$, число возможных меток, размер $d$ и многие другие<ref>[https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets meta-feature description for recommending feature selection algorithm]</ref>. Каждый алгоритм запускается на всех наборах данных из $\mathcal{D}$. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества.
Каждый датасет $d \in \mathcal{D}$ содержит пары признаков и меток, $\{(x_i, y_i)\}$, каждая метка принадлежит известному множеству меток $\mathcal{T}$.
когда доступен только ограниченный набор образцов данных для конкретной задачи. Модель обучается таким образом, чтобы она могла обобщиться до других датасетов.
<h2>Основанные на оптимизацииОптимизации методов Мета-обучения</h2> Модели [[глубокое обучение | глубокого обучения]] (англ. <i>deep learning</i>) обучаются через обратное распространение градиентов.
<h3>LSTM-meta-learner</h3>
{{main|Долгая краткосрочная память}}
Оптимизационный алгоритм может быть явно смоделирован. Рави и Ларошель <ref>[https://openreview.net/pdf?id=rJY0-Kcll Ravie & Larochelle, Optimization as a model for a few-shot learning, 2017]</ref> это и сделали и назвали его "meta-learner". Цель meta-learner'а {{---}} эффективно обновлять свои параметры используя небольшую обучающую выборку так, чтобы learner мог быстро адаптироваться к новым задачам.
Reptile {{---}} относительно простой алгоритм мета-обучения, похожий на MAML, например, тем, что оба используют мета-оптимизацию через градиентный спуск и оба не чувствительны к модели.
# сэмплируем задачуСлучайным образом разбиваем задачук на подмножества
# тренируемся на ней несколькими шагами градиентного спуска
# сдвигаем веса модели к новым параметрам.
<h2>Определение множества конфигураций</h2>
Предшествующие вычисления могут быть также использованы для изучения пространства более успешных конфигураций $\theta^{\star}$. Более подходящие под задачу конфигурации могут серьезно ускорить поиск оптимальных моделей, это важно при ограниченных вычислительных ресурсах.
Альтернативный подход сперва узнать оптимальные гиперпараметры, а потом через приращение производительности определить важность каждого из гиперпараметров. Это и было сделано в лаборатории OpenML, где провели около 500 000 экспериментов на 6 алгоритмах и , использовав при этом 38 датасетах. Стандартные значения изучались вместе для всех гиперпараметров алгоритма посредством обучения суррогатных моделей на большом числе задач. После того, как уже проверены многие варианты конфигураций, выбирается такая, которая минимизирует средний риск для всех задач, и становится стандартной. Далее определяется важность каждого из гиперпараметров. Чем больше меняется приращение производительности, тем более важный гиперпараметр мы изменяем.
Если мы хотим предоставить рекомендации для конкретной задачи $t_{new}$, нам нужна дополнительная информация о том, насколько $t_{new}$ похожа на предыдущие задачи $t_j$. Первый способ {{---}} посчитать число рекомендованных конфигураций для $t_{new}$,получая новое докозательство $\mathbf{P}_{new}$. Если позже мы будем наблюдать, что вычисления $P_{i,new}$ соответствуют $P_{i, j}$, то $t_{j}$ и $t_{new}$ могут быть очень похожими. Мы можем применить это знания для обучения meta-learner'a который предсказывает множество рекомендуемых конфигураций $\Theta^{*}_{new}$ for $t_{new}$.
$L: \Theta \times M \rightarrow \textbf{P}$
В таблице ниже представлен обзор наиболее используемых мета-признаков.
{| class="wikitable"
| classes || $c$ || Complexity, imbalance || ratio min/maj class
|-
| Percent of missing values || $m$ || Imputation effects <ref>A. Kalousis. Algorithm Selection via Meta-Learning. PhD thesis, University of Geneva, Department of Computer Science, 2002</ref> || % missing
|-
| outliers || $o$ || Data noisiness <ref>Peter J. Rousseeuw and Mia Hubert. Robust statistics for outlier detection. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, 2011.</ref> || $o/n$
|-
|}
 
Непрерывные признаки $X$ и таргет $Y$ имеют медиану $\mu_{X}$, стандартное отклонение $\sigma_{X}$ и дисперсию $\sigma^{2}_{X}$. Категориальные признаки $\texttt{X}$ и класс $\texttt{C}$ имеют категориальные значения $\pi_{i}$, условные вероятности $\pi_{i|j}$, совместные вероятности $\pi_{i,j}$, предельные вероятности $\pi_{i+}=\sum_{j}\pi_{ij}$ и энтропию $H(\texttt{X})=-\sum_{i}\pi_{i+}log_{2}(\pi_{i+})$.
<references/>
== См. Также ==
#[[Модель алгоритма и ее выбор|Модель алгоритма и ее выбор]]
== Источники информации ==
* https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html#define-the-meta-learning-problem
16
правок

Навигация