iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
0
AI & Data

窺探人工智慧與資料科學的面貌系列 第 18

[Day 18] 領域適應 Domain Adaptation

  • 分享至 

  • xImage
  •  

上回提到廣義話(Generalization),在人工智慧領域裡,是一個我們希望具備的性質,然而往往會有很多因素影響,今天就要來介紹一個專門的課題:領域適應(Domain Adaptation)。

我們現在收集了一個資料集 $D_1 = {(x_n, y_n)}{n=1}^N$,在開發的時候,一般會把它分成三個集合:訓練集、驗證集及測試集(Training, validation, and testing set),分別記做 $S{\text{train}}, S_{\text{val}}, S_{\text{test}}$,其中 $S_\text{train} \cup S_\text{val} \cup S_\text{test} = D_1$,我們建立不同的模型、調適不同的參數,並用 $S_\text{train}$ 的資料訓練,接著用 $S_\text{val}$ 的資料驗證,並挑一個最好的模型,最後再用 $S_\text{test}$ 來測試,做為最後表現(performance)的依據,然而,若我們還有其他類似的資料集 $D_2$,並也使用 $D_2$ 的資料來直接測試模型的話,往往結果都會很差,這就是不同領域(Domain)的問題,或者說資料分佈(data distribution)不同造成的問題。

像是最常見的手寫數字辨識(MNIST)的資料集,同樣跟數字有關的資料集還有 SVHN、USPS 等,若我們使用 MNIST 得到的模型,用 SVHN 或 USPS 來測試的話,效果會很差,其他也是一樣的道理,又或者像是醫學影像分析裡,不同廠牌的機器、攝影時所設定的參數、甚至不同的人種、年齡、性別,可能都會影響模型的效果,然而這問題是有些令人費解的,因為如果一個人,真的學會如何辨識數字的話,我們去看其他地方所出現的數字,一樣可以辨認出來的,但機器不行。

現在有提出一些解決辦法,最暴力簡單的方法就是重新訓練一個模型,這樣在其他資料集就可以使用,但這只治標沒有治本,有些人使用生成對抗式網路(Generative Adversarial Network, GAN),若我們已經有 $D_1$ 的資料集跟訓練好的模型,其他額外的資料集是 $D_2$,那我們就設計一個新的生成對抗式網路,這個網路 $f: x' \rightarrow x$ ,其中 $x \in D_1,\ x' \in D_2$,也就是先把 $D_2$ 裡的資料變成像是 $D_1$ 裡的資料,接著就可以用 $D_1$ 本來訓練好的模型了;其他還有作法就是想把法把領域的資訊消掉,進而就會有個更廣義的模型。

另外,我也認為這個問題跟表徵學習息息相關。


上一篇
[Day 17] 廣義化 Generalization
下一篇
[Day 19] 穩健性 Robustness
系列文
窺探人工智慧與資料科學的面貌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言