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 论文採取了不同的方法进行探讨,
这边有兴趣的去看论文。
讨论
我抽几点我觉得有趣的探讨,
- 作者认为 Unsupervised 以及 Supervised 的準确度落差会一直存在,
因为最终我们所评测的任务都是一些高阶的任务像是分类、辨识等等的,
并非我们使用 Unsupervised 所分出来的特徵,
可能这特徵相较之下还是过于简单。
- 在 CelebA 资料集中的实验结果中,
可以看到即便是在类别不平均的资料集,
该方法还是有不错的成绩。
之所以这样说是因为在以往的 Meta-learning 实验中的主流的资料集为 MNIST、Omniglot、miniImageNet,
上述的这些都是类别数平衡的资料集。
实验:
因为太过于广泛还有一堆细节,
我就不提了,
这篇如果对 Meta-learning 有兴趣的人,
可以自己去深入研究。
Oracle 指的是使用 Supervised-learning 的结果,
可以发现其实 Supervised-learning 的结果好。
参考资料:
Unsupervised Learning via Meta-Learning
Be First to Comment