メタ学習の欠点を克服?教師なし学習とメタ学習を組み合わせた手法CACTUsの登場!

3つの要点

✔️教師なし学習とメタ学習を組み合わせた手法CACTUsの提案

✔️教師なし学習で得られた特徴量から自動的にタスクを生成し、メタ学習に利用

✔️少ないデータでの学習で画像認識タスクにおいて高精度な結果を得ることに成功

UNSUPERVISED LEARNING VIA META-LEARNING

written by Kyle Hsu, Sergey Levine

(Submitted on 21March 2019)

Published as a conference paper at ICLR 2019

subjects : Computer Vision and Pattern Recognition (cs.CV); Machine Learning (stat.ML)

はじめに

近年、メタ学習と呼ばれる研究分野が注目を集めています。メタ学習が注目を集めている主な理由は、少ないデータでタスクを行うことが深層学習では難しいということが背景にあります。

深層学習の台頭により、様々なタスクが実応用され始めました。しかし、深層学習は大量かつ高品質のデータを必要とします。深層学習をさらに実世界で利用するには、少ないデータで学習できるようにする必要があります。

人間は少ないデータで学習することが可能であり、人間のように学習できる手法の登場が期待されています。では人間はなぜ、少ないデータで学習を行うことができるのでしょうか。これは、これまで行ってきた大量の経験を蓄積し、それを利用することによって実現されていると考えられます。これを模倣した手法がメタ学習です。つまり、経験から効率よく学習する手法を学習するのがメタ学習なのです。

より正確にメタ学習を表現すると、メタ学習は大量のデータで元となるモデルの学習を行い、その後、新しいタスクを少量のデータで解くことができるようにモデルを再学習します。さらに詳細にメタ学習について知りたい方はこちらの記事をご参照下さい。

ここで一つ問題が生じます。メタ学習にも大量のデータが必要ということです。画像分類タスクを例にとると、大量の画像とその画像が何であるかという、ラベル情報が必要であるということです。これは、メタ学習の利用を大きく制限してしまいます。

上記を踏まえて、本論文では教師なし学習とメタ学習を組み合わせたCACTUsという手法を提案しています。これは教師なし学習で得られた画像特徴量から、自動的にメタ学習に必要なタスクを生成し、メタ学習を行う手法です。これにより、ラベル付けの必要がなくなり、メタ学習をより簡単に行うことが可能となりました。

提案手法

ここからはCACTUsを紹介していきます。CACTUsは非常にシンプルな手法で、大きく分けて3つのステップから構成されています。

1. 教師なし学習を用いて、元データから特徴量を抽出する 

2. 得られた特徴量をクラスタリングし、擬似タスクを生成する

3. 生成したタスクを用いて、メタ学習を行う

上記を見ていただければ分かるように、CACTUsは非常にシンプルな手法です。これを表したものが以下の図1です。

図1. CACTUsの概略

それでは三つのステップをより詳細に見ていきましょう。

1. 教師なし学習による特徴量抽出

冒頭でも述べたように、メタ学習には元となるモデルを作るために大量のデータが必要となります。そこで、CACTUsではまずはじめに教師なし学習により、画像から特徴量を抽出します。

実験結果の項でも述べますが、本論文では良く使われている3種類の教師なし学習手法を用いて、画像から特徴量を抽出しています。3種類の手法の紹介は後ほどさせて頂きます。

2. クラスタリングによるタスクの自動生成

1で得られた特徴量をk-meansによりクラスタリングを行います。この際に、特徴量のスケールを変化させて、クラスタリングを行います。スケールを変化させて、クラスタリングを行うことにより、多様なクラスタを作成することができます。図2は生成されたクラスタの例を表しています。

図2. 生成されたクラスタ例

あるスケールで生成されたクラスタ群iをPiと表現し、そのクラスタ群から複数のクラスタを選択します。例えば、5クラス分類を行うタスクを生成したいのであれば、クラスタ群から5つのクラスタをランダムで選択し、各クラスタ内で訓練用とテスト用に分割します。

上記の手順をランダムに選択したクラスタ群Piで実行し、様々なタスクを生成します。

3. 生成されたタスクを用いたメタ学習

2で生成されたタスクを用いて、メタ学習を行います。本論文では以下の2種類のメタ学習手法を用いて、実験を行なっています。

MAML

代表的なメタ学習手法の一つです。少ない勾配更新によって、新しいタスクに適応できるような良い初期値を見つける手法です。

ProtoNet

こちらも代表的なメタ学習手法の一つです。教師データのクラス毎のプロトタイプ(代表点)とクエリーとなるデータの差を小さくするようにネットワークの学習を行います。非常にシンプルな手法でありながら、Few-shot leaning(少数データでの学習)において、高精度の結果を出しています。

実験

ここからはCACTUsの性能を調べる実験を紹介します。

使用データセット

評価に使用するデータとして、以下の三つのデータセットを使用しています。

miniImageNet

100クラスの画像分類のデータセットで、各クラスは600枚の画像で構成されています。64クラスをメタ学習の訓練用、16クラスを検証用、残りの20クラスをテスト用として使用します。

Omniglot

1623種類の文字で、各文字は20サンプルから構成されています。これらを1100、100、423とそれぞれ訓練用、検証用、テスト用に分割して使用します。

CelebA

有名人の顔画像が集められたデータセットです。一つ一つの画像には40の属性(男or女など)が付与されています。これらの属性にはyes, noが付与されており、本論文では2クラスの分類に使用しています。このうち、20種類、10種類、10種類と訓練用、検証用、テスト用に分割して使用します。

教師なし学習手法

画像から特徴量を抽出するために本論文では以下の3つの教師なし学習手法を用いています。ここではそれぞれを簡単に紹介します。

BiGAN

一般的なGANでは、Generatorは特徴量から画像などを生成しますが、BiGANでは画像から特徴量を生成するという逆の変換も加えて学習を行います。これを用いて、特徴量を抽出します。

ACAI

Auto encorderを用いて特徴量を抽出する手法です。 Auto encorderには二つのデータの特徴量を補間する機能(例えば、数字の2と9の中間的な画像を復元できる機能)があることが報告されています。従来手法よりスムーズに、データ間を補間できるように制約をかけたAuto encorderがACAIです。

DeepCluster

教師なしの画像を入力とするCNNを用意し、特徴量を抽出します。抽出された特徴量をクラスタリングし、擬似ラベルを付け、それを元にCNNを学習するという手法です。この手順を繰り返すことで、良い特徴量を抽出できるCNNを学習できます。

実験設定

教師なし学習で得られた特徴量を用いて、Few-shot learningを行います。M-way, K-shotという表現は、Mクラスの学習をK枚の画像を用いることを表します。また、メタ学習はN-way, 1-shotでのみ学習を行います。

なお、今回使用するデータセットにはラベルが付与されていますが、訓練用に分割されたデータはラベル情報は使用せずに学習を行います。その後、評価はラベル付きのテスト用で行います。

実験結果

Omniglotでの実験結果を表した図が以下の図3です。クラスタの数はk=500, クラスタ群の数P=100で実験を行なっています。

図3. Omniglotでの実験結果

次にminiImageNet及びCelebAでの実験結果を表した図が以下の図4です。クラスタの数はk=500, クラスタ群の数P=50で実験を行なっています。

図4. miniImageNetとCelebAでの実験結果

図3と図4から分かるように、比較手法と比べて、CACTUsを用いてメタ学習した手法は他の手法を圧倒した結果となっています。これは、テスト用のデータは訓練用のデータ分布とは異なることから、良い特徴量が教師なし学習のみでは得られてないことを示しています。

また、基本的にProtoNetよりMAMLの方が良い性能を出しています。1-shotでの学習では同程度の性能ですが、5,20,50と学習データが増えるにつれ、MAMLの方が良い結果を出しています。これはProtoNet(ours)はメタ学習時のデータ数と、テスト時のデータ数が同じ時に良い結果を出すという報告がされており、その結果が表れています。なお、Oracleは教師ありメタ学習の結果を表しています。

さらに、実験設定でも述べたように1-shotでの学習のみでMAMLは5-shot,20-shot,50-shotでも高精度な結果を出しています。また、どの教師なし学習手法を用いても、CACTUsは良い成績を残しており、汎用的に使用できる手法であることが分かります。

まとめ

本記事では教師なし学習とメタ学習を組み合わせたCACTUsという手法を紹介しました。深層学習を実応用するにためには、メタ学習という技術は必要であり、そのメタ学習にもラベル付きの大量のデータが必要です。

ラベル付きのデータを大量に集めるのは非常に大変な作業であり、これがメタ学習の利用を妨げています。CACTUsを利用すれば、ラベル情報が付いていないデータからタスクを自動的に構成し、メタ学習を行うことが可能となりました。また、CACTUsは汎用的な手法であり、どのような教師なし学習とも組み合わせることができます。

現実的には全てのデータにラベルを付けるのは、非常に大変ですが、一部のデータにラベルを付けるのはそこまで時間がかかる作業ではありません。半教師あり学習とCACTUsを組み合わせる手法により、さらに精度を向上させることが可能だと考えられます。そのような手法がすぐに登場するのではないかと、個人的には期待しています。この記事をきっかけにメタ学習という技術に興味を持ってくださると幸いです。

 

サイエンスライター募集中

この記事をシェアする