Meta Learning 筆記:Meta Learning vs ML

by 王翰元

本篇是李宏毅老師的【機器學習2021】元學習 Meta Learning (一) 的筆記,並且稍微加入了一點個人的解釋。

我認為老師從這三點來介紹兩者差異,很清楚。由於課程中都是以圖片作為舉例,所以筆記也會用圖片來舉例。

Goal

ML 的目的是:單一 task,輸入圖片,訓練出一個 ML model,最後輸出標籤。

Meta Learning 的目的是:輸入多種 tasks,訓練出一個 Learning Algorithm,這個 Learning Algorithm 會再輸出一個 ML model,最後用 ML model 輸出標籤。

Training data

在一個 ML task 裡,一筆 training data 可能是一張圖片。而在 Meta Learning 裡,一筆 training data 是一個 ML task。

如圖中所述,一個 Meta Learning 的 training data 就包含了分類蘋果和橘子(task 1) 以及分類車子和腳踏車( task 2)。

不過,在討論 Meta Learning 的時候,講 training data 很容易混淆,不知道到底指的是 Meta Learning 裡的 training data 還是 ML task 裡的 Learning data,所以就衍生了以下名詞。

Loss

ML task 的 loss 是所有樣本的 error,
Meta Learning 的 loss 是所有 ML task 的所有樣本的 error 加總。

舉個例子,一個 ML task (例如貓狗分類器)的訓練資料量是十萬筆,error 舊式十萬筆資料的 error 加總。

而一個 Meta Learning 的訓練資料可能是三個 ML task(貓狗、車子與腳踏車、電視與電腦)分別都有十萬筆資料,那麼這個 Meta Learning 的 loss 就是三十萬筆資料的 error 加總。

Glossary

ItemMeta LearningML task
Training InputML tasksImage, data.. etc
Output (prediction)A modelA label
Training processAcross-task TrainingWithin-task Training
Testing processAcross-task TestingWithin-task Testing
Training dataTraining tasksSupport set
Testing dataTesting tasksQuery set

Leave a Comment