CACTUs简介 – Unsupervised Learning via Meta-Learning

ICLR 2019 paper

Paper link: https://arxiv.org/abs/1810.02334

OpenReview link: https://openreview.net/forum?id=r1My6sR9tX

Project page: https://sites.google.com/view/unsupervised-via-meta

Github(Tensorflow): https://github.com/kylehkhsu/cactus-maml

这篇有非常多的实作细节,

有兴趣的请去看论文,

这篇看着看着,

广泛的实验、讨论,

真有科研的精神呢,

挺推荐大家去看看的。

简介

此文针对 Meta-learning 任务提出使用 Unsupervised (非监督式)的方式进行训练,

概念是透过 Clustering embedding 的方式来训练模型,

其想法是每个 Clustering 的中心点都是代表着某个重要的特徵(Representation),

那我们是不是可以透过使用这种学习出来的特徵来做学习呢?

这时候再回想起 Meta-learning 的想法是希望透过看过很多的任务,

学习出如何快速的学习一个任务 – Learning to learn。

因此带出了论文的想法,

首先透过 Clustering 分群,

再透过学习 Clustering 的特徵,

达成学习如何快速学习特徵。

透过这种方式我们可以不需要任何 label 的资料就进行训练,

算是切中的近年来 Meta-learning 的痛点 – 需要大量标注的资料才能训练。

提出的此 Clustering to automatically construct tasks for unsupervised meta-learning – CACTUs 的方法在多个任务达到了不错的成绩,

虽然离 Supervised 的方法準确度有一段距离,

但这篇论文还是挺有看的价值的,

整体想法相当清晰!!!

概念

透过 Unsupervised 的方式建立出大量的任务让 Meta-learning 的框架作学习,

搭配 MAML 以及 Protonet 做当作 Meta-learning 的框架进行探讨,

而此篇是着重在如何以 Unsupervised 的方式準备大量的 Task 供 Meta-learner 学习。

如果对 MAML 以及 Protonet 没有基础认知的话,

建议可以看 台大李宏毅教授的教学影片 Meta Learning – MAML (1/9)

上图是从 Project page: unsupervised-via-meta 主页的海报档撷取的,我觉得这张图比较好讲解。

首先第一步是将资料集的图片透过 Embedding function 将特徵(embedding) – Z 抽出,

之后会使用 K-means 的方式去将特徵进行分群,

这边特别的地方是我们会对同样的 embedding – Z 做多次的 K-means,

这样子会拿到不同的群心,

也算是可以拿到更多的任务集,

这边的想法是 K-means 的每个群心都有各自突出的特徵,

而我们 Meta-learning 的模型就是希望可以学习出如何快速学出这些特徵。

方法

这篇其实挺抽象的,有兴趣的去看程式码。

Line2 先训练 Embedding function 再将资料集 X 进行 embedding 的抽取 – z

Line3: 跑 P 次 k-means,这边跑 P 次可以看作是大量的抽取任务当作 Regularization 防止 Overfitting。

Note: 在 Omniglot 的实验中, k = 500, P = 100。

Line5、6: 从众多 P 挑一个,在从那一个挑 N 个类别。

Note: N 通常会和 Evaluation 的任务一致,举例来说 20-way, 5 shot。 N 会挑 20。

Line7: 抽取 R 个 z 当作每个任务的样本, R = Km-tr(Support 样本) + Q(Query 样本)。

这是 Meta-learning 常见的设定。

上图是使用 DeepCluster-embedding 的展示,

此处的 Embedding function 论文採取了不同的方法进行探讨,

这边有兴趣的去看论文。

讨论

我抽几点我觉得有趣的探讨,

    1. 作者认为 Unsupervised 以及 Supervised 的準确度落差会一直存在,

因为最终我们所评测的任务都是一些高阶的任务像是分类、辨识等等的,

并非我们使用 Unsupervised 所分出来的特徵,

可能这特徵相较之下还是过于简单。

    1. 在 CelebA 资料集中的实验结果中,

可以看到即便是在类别不平均的资料集,

该方法还是有不错的成绩。

之所以这样说是因为在以往的 Meta-learning 实验中的主流的资料集为 MNIST、Omniglot、miniImageNet,

上述的这些都是类别数平衡的资料集。

实验:

因为太过于广泛还有一堆细节,

我就不提了,

这篇如果对 Meta-learning 有兴趣的人,

可以自己去深入研究。

Oracle 指的是使用 Supervised-learning 的结果,

可以发现其实 Supervised-learning 的结果好。

参考资料:

Unsupervised Learning via Meta-Learning

Project page: unsupervised-via-meta

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章