---
title: [DL Hacks]Model-Agnostic Meta-Learning for Fast Adaptation of Deep Network
tags:  #deep learning  
author: [Deep Learning JP](https://www.docswell.com/user/DeepLearning2023)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YJ65KYR97V.jpg?width=480
description: 2018/10/22 Deep Learning JP:  http://deeplearning.jp/hacks/
published: October 24, 18
canonical: https://www.docswell.com/s/DeepLearning2023/ZJL61X-modelagnostic-metalearning-for-fast-adaptation-of-deep-network
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YJ65KYR97V.jpg)

Model-Agnostic Meta-Learning for Fast
Adaptation of Deep Networks
PSI B3 近藤生也


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GJ5YPG8DJ4.jpg)

アジェンダ
●
●
●
●
●
書誌情報
メタ学習とは
概要
MAML
メタ学習
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LE353RGQJ5.jpg)

書誌情報
●
●
●
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
Chelsea Finn*... (UC Berkeley)
ポイント
○ メタ学習、ドメイン適応に強い
○ UC Berkeleyはロボット系のコンペで最強。
○ DL輪読回でも以前取り上げられている。
○ [DL輪読会]Learning to Adapt: Meta-Learning for Model-Based Control
○ ドメイン適応のためになる話
○ [DL輪読会]Life-Long Disentangled Representation Learning with
Cross-Domain Latent Homologies
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/8EDD4Y1WEG.jpg)

メタ学習とは
いかにMeta-train-Taskで事
前知識を獲得するかが焦
点。
←最終的にやりたい
未知のタスク
https://www.slideshare.net/DeepLearningJP2016/dllearning-to-generalize-metalearning-for-domain-generalization
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/V7PXM6QXE8.jpg)

ドメイン適応
●
シミュレーション
○
○
●
セグメンテーション
○
●
CG上→リアル映像
ボイスチェンジャー
○
●
急に足がもげる
急に坂が現れる
Aさんのvocoder→Bさんのvocoder
食器洗いとか
○
皿→鍋
なんにでも使えるね！
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/2JVL93537Q.jpg)

MAML概要
●
発想：どんなタスクにも数ステップ
で最適化できるような、
共通の初期パラメータを求める
●
目的関数
①meta-train-taskのtrainで初期値パラメタ θを更新
②更新されたパラメータで meta-train-taskのvalidationに対しての汎化誤差をとって
（ΦTは、更新後のパラメータ）
③汎化誤差が小さくなるように初期値パラメータを更新
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/5EGXZ36YJL.jpg)

実装
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4JQ8L5467P.jpg)

課題設定
●
●
●
●
meta-train30言語、meta-test30言語、各言語10文字ずつ。
学習時は各文字1画像しか見せてもらえない
テスト時は、各文字19画像見せつけられる
本家と若干違う
○
本家はtrain_task内で文字を混ぜてオリジナルタスクを作っている。
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/K742D9QMJ1.jpg)

データローダー
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LJ1MZKPYEG.jpg)

タスクローダー
●
言語を一つ選び、
いい感じにtrain(1枚)と
test(19枚)に分割して、
data_loaderにして返す
●
task_loader クラスを適
当に作って継承している
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/GJW39D21J2.jpg)

メタテスト
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/4EZV9GDXJ3.jpg)

メタトレイン
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/Y765KY1PEV.jpg)

メタトレイン
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/G75YPG4P74.jpg)

メタトレイン
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/9J2G6YVZJR.jpg)

昔のパラメータで微分することができるのか
●
やってみた
○
●
●
↓100万階微分するセルがあるので注意
https://github.com/naruya/maml-pytorch/blob/master/notebooks/pytorch_auto
grad_kiso.ipynb
できてそう
15


