Изменения

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

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

394 байта добавлено, 00:22, 9 апреля 2019
Нет описания правки
Общая идея такая: для каждого набора данных $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}$ содержит пары признаков и меток, $\{(\mathbf{x}_i, y_i)\}$, каждая метка принадлежит известному множеству меток $\mathcal{LT}$.
Датасет $d$ делится на две части: $d=\langle S, B\rangle$, обучающую $S$ и тестовую $B$ выборки. Часто принимается k-shot N-class задача {{---}} обучающая выборка содержит $k$ размеченных примеров для каждого из $N$ классов.
Скажем, наш классификатор $f_\theta$ с параметром $\theta$ показывает вероятность принадлежности точки из данных к классу $y$ при векторе признакопризнаков, $P_\theta(y|x)$.
В пристрелочной (few-shot) классификации цель {{---}} уменьшить ошибку предсказания на неразмеченных данных. Чтобы его ускорить, сделаем следующее:
# возьмем подмножество меток, $LT\subset\mathcal{LT}$# возьмем обучающее множесто $S^L⊂DT⊂D$ и обучающую выборку $B^L⊂DT⊂D$. Оба содержат только данные с метками из подмножества с пункта 1: $L, y \in L, \forall (x, y) \in S^LT, B^LT$# Множество $S^LT$ подается на вход модели# Конечная оптимизация использует множество $B^LT$, чтобы посчитать функцию потерь и обновить параметры модели через обратное распространение, так же, как это делается в обучении с учителем.
\begin{aligned}
\theta = \arg\max_\theta \color{red}{E_\mathbb{E}_{LT \subsetsim \mathcal{LT}}}[\mathbb{E} E__{\color{red}{S^L \subset\mathcal{D}sim T, }B^L \subsetcolor{red}{\mathcal{Dsim T}} [\sum_{(x, y)\in B^L} P_\theta(y \vert \mathbf{x, y} \color{red}{, S^L})] \color{red}{]}
\end{aligned}
Красным цветом выделена разница между обучением с учителем и подходом мета-обучения.
Идея в некоторой степени аналогична использованию предварительно обученной модели в классификации изображений (ImageNet) или в [[обработка естественного языка | NLP]] (большие текстовые корпуса),
когда доступен только ограниченный набор образцов данных для конкретной задачи. Модель обучается таким образом, чтобы она могла обобщиться до других датасетов.
 
<h2> Лэндмарки </h2>
Лэндмарки {{---}} подход для описания задач мета-обучения. В отличие от предшетсвенников, использовавших только статистические и околостатистические метрики, лендмарки
стараются определить расположение конкретной задачи мета-обучения в пространстве всех задач обучения, измеряя производительность некоторых простых и эффективных алгоритмов.
Таким образом, можно скзаать, что алгоритм обучения сам характеризуют задачу.
 
<h3> Ближайший сосед </h3>
Elite 1-nearest neighbor <ref>Bernhard Pfahringer, Hilan Bensusan, and Christophe G. Giraud-Carrier. Meta-learning by landmarking various learning algorithms.In \emph{17th International Conference on Machine Learning (ICML)}, pages 743 -- 750, 2000.</ref>
 
Лэндмарк, очевидно, считает 1 ближайшего соседа. Помогает установить, является ли задача релевантной, если похожи их атрибуты.
 
$P(\theta_{1NN},t_{j})$
 
<h3> Линейный дискриминант </h3>
 
Линейный дискриминант (англ. ``linear discriminant'') можно понимать как группировка и разделение категорий соответсвующих конкретным признакам. Линейный дискриминант
обычно ищет линейную комбинацию признаков, которая лучше всего разделеит классы. Результат - линия, плоскость или гиперплоскость, зависит от числа комбинированных признаков.
 
$P(\theta_{Lin},t_{j})$
 
<h3> Наивный Байесовский лендмарк </h3>
 
Наивный Байесовский лендмарк <ref>Daren Ler, Irena Koprinska, and Sanjay Chawla. Utilizing regression-based landmarkers within a meta-learning framework for algorithm selection. \emph{Technical Report 569. University of Sydney}, pages 44--51, 2005.</ref> {{---}} вероятностный классификатор, основанный на [[формула байеса | теореме Байеса]. Называется наивным потому что
предполагается, что все атрибуты независимы друг от друга.
 
$P(\theta_{NB},t_{j})$
<h2>Основанные на оптимизации</h2>
<h3>LSTM-meta-learner</h3>
Оптимизационный алгоритм может быть явно смоделирован. Рави и Ларошель <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 мог быстро адаптироваться к новым задачам.
Пусть модель ученика будет $M_\theta$, параметризованной $\theta$, и meta-learner как $R_\theta$ с параметром $\theta$, и функция потерь $\mathcal{L}$.
# сдвигаем веса модели к новым параметрам.
$\text{SGD}(\mathcal{L}_{\tau_i}, \theta, k)$ выполняет стохастический градиентный спуск на $k$ шагов на лоссе c функцией потерь $\mathcal{L}_{\tau_i}$, начиная с параметра $\theta$ и возвращает конечный вектор параметров. Градиент reptile определяется как $(\theta - W)/\alpha$, где $\alpha$ {{---}} размер шага, используемый функцией $SGD$.
<font color=green>// Алгоритм REPTILE</font>
Если мы хотим предоставить рекомендации для конкретной задачи $t_{new}$, нам нужна дополнительная информация о том, насколько $t_{new}$ похожа на предыдущие задачи $t_j$. Первый способ {{---}} посчитать число рекомендованных конфигураций для $t_new$, yielding новый эвиденс $\mathbf{P}_{new}$. Если позже мы будем наблюдать, что вычисления $P_{i,new}$ соответствуют $P_{i, j}$, то $t_{j}$ и $t_{new}$ могут быть очень похожими. Мы можем применить это знания для обучения meta-learner'a который предсказывает множество рекомендуемых конфигураций $\Theta^{*}_{new}$ for $t_{new}$.
Более того, можно пойти дальше и добавить $\Theta^{*}_{new}$ в $P_new$ и перейти к следующей итерации и выяснять какие еще задачи схожи друг с другом.
 
<h3>Relative landmarks</h3>
Первая мера для вычисления "похожести" задач вычисляла попарно разницу в производительности, так же называемую "relative landmarks" $RL_{a,b,j} = P_{a,j} - P_{b,j}$ между двумя конфигурациями $\theta_{a}$ и $\theta_{b}$ на конкретной задаче $t_{j}$.
<h3>Суррогатные модели</h3>
| Landmarker(Tree) || $P(\theta_{Tree},t_{j})$ || Data separability || Stump,RandomTree
|-
| Landmarker(Lin) || $P(\theta_{Lin},t_{j})$ || Linear separability || Lin.DisciminantDiscriminant
|-
| Landmarker(NB) || $P(\theta_{NB},t_{j})$ || Feature independence || <ref>Daren Ler, Irena Koprinska, and Sanjay Chawla. Utilizing regression-based landmarkers within a meta-learning framework for algorithm selection. \emph{Technical Report 569. University of Sydney}, pages 44--51, 2005.</ref>
|-
|}
Непрерывные признаки $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+})$.
Во время вычисления похожести задач важно нормализовать все мета-признаки, использовать отбор признаков <ref>L Todorovski and S Dzeroski. Experiments in meta-level learning with ILP. Lecture Notes in Computer Science, 1704:98–106, 1999.</ref> или использовать [[уменьшение размерности | уменьшение размерности]] (например, principal component analisys {{---}} [[Метод главных компонент (PCA)| PCA]]).
 
<h2> Лэндмарки </h2>
Лэндмарки {{---}} один из подходов для описания задач мета-обучения. В отличие от предшетсвенников, использовавших только статистические метрики, лэндмарки стараются
определить расположение конкретной задачи мета-обучения в пространстве всех задач обучения, измеряя производительность некоторых простых и эффективных алгоритмов.
Таким образом, можно сказать, что алгоритм обучения сам характеризуют задачу.
 
<h3> Относительные лэндмарки </h3>
Первая мера для вычисления "похожести" задач вычисляла попарно разницу в производительности, так же называемую "relative landmarks" $RL_{a,b,j} = P_{a,j} - P_{b,j}$ между двумя конфигурациями $\theta_{a}$ и $\theta_{b}$ на конкретной задаче $t_{j}$.
 
<h3> Линейный дискриминант </h3>
 
Линейный дискриминант (англ. linear discriminant) $P(\theta_{Lin},t_{j})$ можно понимать как группировка и разделение категорий соответсвующих конкретным признакам. Линейный дискриминант
обычно ищет линейную комбинацию признаков, которая лучше всего разделеит классы. Результат {{---}} линия, плоскость или гиперплоскость, зависит от числа комбинированных признаков.
 
<h3> Наивный Байесовский лэндмарк </h3>
 
Наивный Байесовский лэндмарк $P(\theta_{NB},t_{j})$ <ref>Daren Ler, Irena Koprinska, and Sanjay Chawla. Utilizing regression-based landmarkers within a meta-learning framework for algorithm selection. \emph{Technical Report 569. University of Sydney}, pages 44--51, 2005.</ref> {{---}} вероятностный классификатор, основанный на [[Формула Байеса | теореме Байеса]]. Называется наивным потому что предполагается, что все атрибуты независимы друг от друга.
 
<h3> 1NN </h3>
Elite 1-nearest neighbor $P(\theta_{1NN},t_{j})$ <ref>Bernhard Pfahringer, Hilan Bensusan, and Christophe G. Giraud-Carrier. Meta-learning by landmarking various learning algorithms.In \emph{17th International Conference on Machine Learning (ICML)}, pages 743 -- 750, 2000.</ref> [[Метрический классификатор и метод ближайших соседей|kNN]] c $k = 1$.
Elite {{---}} вариация основного метода, но в этом случае на вход kNN подается предварительно отобранное множество самых информативных примеров (у них минимлаьная
разница приращения информации (information gain).Помогает установить, является ли задача релевантной, если похожи их атрибуты.
 
== Примечания ==
16
правок

Навигация