メタ学習は、さまざまなタスクの学習から共通の知識を抽出し、それを目に見えないタスクに使用します。これは、トレーニングデータが少ないなど、トレーニングデータが不十分なタスクを大幅に改善できます。ほとんどのメタ学習方法では、パラメータまたはオプティマイザーを共有することにより、タスクが暗黙的に関連付けられます。このホワイトペーパーでは、出力ディメンション(クラスなど)の関係を記述するグラフ上のタスクを明示的に関連付けるメタラーナーが、ほとんどのショット学習を大幅に改善できないことを示します。グラフの構造は通常、無料または入手が安価ですが、以前の研究ではほとんど検討されていません。プロトタイプベースの分類のためにこのタイプの新しいメタ学習器を開発します。このクラスでは、各クラスに対してプロトタイプが生成され、プロトタイプ間の最近傍検索によって正確な分類が生成されます。 「Gated Propagation Network(GPN)」と呼ばれるメタ学習者は、グラフ上の異なるクラスのプロトタイプ間でメッセージを伝播することを学習するため、各クラスのプロトタイプを学習することは、他の関連クラスのデータから恩恵を受けます。 GPNでは、アテンションメカニズムが各クラスの隣接クラスからのメッセージを集約し、ゲートは集約されたメッセージとクラス自体からのメッセージを選択します。サブグラフサンプリングによって生成された多ショットから少数ショットまでの一連のタスクについてGPNをトレーニングします。トレーニング中、以前に達成したプロトタイプを生涯学習サイクルでメモリから再利用および更新できます。実験では、異なるトレーニングテストの不一致とテストタスクの生成設定の下で、GPNは2つのベンチマークデータセットで最近のメタ学習方法よりも優れています。 GPNおよびデータセット生成のコードは、https://github.com/liulu112601/Gated-Propagation-Netで入手できます。
Meta-learning extracts common knowledge from learning different tasks and uses it for unseen tasks. It can significantly improve tasks that suffer from insufficient training data, e.g., few shot learning. In most meta-learning methods, tasks are implicitly related by sharing parameters or optimizer. In this paper, we show that a meta-learner that explicitly relates tasks on a graph describing the relations of their output dimensions (e.g., classes) can significantly improve few shot learning. The graph's structure is usually free or cheap to obtain but has rarely been explored in previous works. We develop a novel meta-learner of this type for prototype-based classification, in which a prototype is generated for each class, such that the nearest neighbor search among the prototypes produces an accurate classification. The meta-learner, called "Gated Propagation Network (GPN)", learns to propagate messages between prototypes of different classes on the graph, so that learning the prototype of each class benefits from the data of other related classes. In GPN, an attention mechanism aggregates messages from neighboring classes of each class, with a gate choosing between the aggregated message and the message from the class itself. We train GPN on a sequence of tasks from many-shot to few shot generated by subgraph sampling. During training, it is able to reuse and update previously achieved prototypes from the memory in a life-long learning cycle. In experiments, under different training-test discrepancy and test task generation settings, GPN outperforms recent meta-learning methods on two benchmark datasets. The code of GPN and dataset generation is available at https://github.com/liulu112601/Gated-Propagation-Net.