淺談Few-Shot Learning:(1): 初步認識

更新於 2024/12/16閱讀時間約 6 分鐘

前言

這系列是關於 Few-Shot Learning,主要因為我最近在一個影像分類專案中遇到了資料稀缺的狀況。在尋找解決方案時,survey 了許多關於 Few-Shot Learning 的知識,並想在這裡紀錄與分享學習內容。由於專案的關係需要快速 implement,所以文章將主要集中在實作的部分。如果你對這個主題感興趣,歡迎繼續閱讀~那我們開始囉!

Photo by David Travis on Unsplash

Photo by David Travis on Unsplash

一句話說明 Few shot learning

Few-Shot Learning 是一種機器學習方法,它使模型能夠從非常少量的訓練數據中學習並作出有效的預測或分類。

Few-Shot Learning 的應用價值

我們已知 Few shot 擅長用在 small data(這裡的 small data 是與 big data 相比),所以首先先探討 small data 的應用價值有哪些:

  1. 模擬人類的快速學習: 更接近人類的學習方式,如同舉一反三,人類在學習一件事情的時候,例如在看一個貓咪的圖片,可能看三張就有能力辨識照片中的貓咪,反倒不需要看過100或是上千張才獲得該能力。
  2. 處理稀有資料:會這樣需要是因為真實世界有很多情境上資料是非常稀有的,但同時它又是重要的預測目標。
  3. 降低標註成本: 那是因為人類在標注花很多時間,文章舉例,分類問題人類就需要針對圖片進行分類標註,而且隨著模型能夠偵測與似乎看得更加仔細後,進展到 bounding box 和 segementation ,那這就需要花費很多的時間。

Few-Shot Learning 的目標與核心實施方法

目標

Few-Shot Learning的主要目標是利用有限的數據(source data)快速學習,並能適應從未見過的新任務。

為了達成目標,N-way-K-shot 是一個核心的實作與評估框架。

N-way-K-shot 的功能

  • 實作方法:通過選擇特定的「N」類別和「K」樣本,可以創建一個定制的學習任務,使模型學習如何從少量數據中識別和分類這些類別。這種設定使模型能夠在有限的資訊下迅速適應。
  • 評估方法:過測試模型在一組全新的、只有K個樣本的類別中的表現,可以評估模型的Few-Shot Learning能力。這不僅展示了模型對新類別的快速適應能力,也反映了其泛化能力。

了解這些實作和評估方法的重要性後,我們自然會好奇這些方法相比於傳統的大數據訓練模型會有何不同。

實驗觀察與結論

根據Google Meta dataset的研究,當進行 Few-Shot Learning 的 N-way-K-shot 實驗時發現:

  1. 類別數量增加時,準確率降低:實驗顯示,當「N-way」(類別數)增加時,模型的準確率往往會下降,這可能是因為類別間的區分難度增加。
  2. 樣本數量增加時,識別能力提高:同時,「K-shot」(每類樣本數)增加時,模型的鑒別度會提高,顯示出更多的數據能夠幫助模型更好地學習和區分不同的類別。

從這些觀察可以推論:當資料不足時,N-way-K-shot 提供了一種有效的數據利用和學習方法。因此,在數據有限的情況下,適當選擇「N」和「K」的值,可以最大化學習效率和效果。而當資料充足時,使用大數據訓練模型通常能達到更好的效果。

為什麼 Few-Shot Learning 能有效學習

Few-Shot Learning 之所以能有效進行學習,關鍵在於它不僅學習特定的任務,還學習如何更好地學習。在探討之前,我們先了解為什麼傳統機器學習不適合小數據應用:

  1. 參數初始化和學習率:傳統方法通常從隨機參數開始,使用固定學習率進行梯度下降,這在面對未知的新任務時可能難以適應,因為模型對新數據的反應不夠靈活。
  2. 任務間的轉換困難:當模型需要從一個任務切換到另一個極具差異的任務時,原先針對特定任務訓練過的模型可能無法適應新的任務要求。

Few-Shot Learning的策略

Few-Shot Learning採用了關鍵策略克服這些挑戰,主要通過以下兩種面向:

  1. 學習初始參數:
  • MAML (Model-Agnostic Meta-Learning):此方法不僅學習解決特定任務,還學習如何設置最佳的初始參數配置,使得模型可以在少數梯度更新後迅速適應新任務。
  • Reptile(MAML的變形):這是MAML的一種變形,它透過反復訓練多個不同的任務來尋找一個通用的初始參數設置,從而使模型能更好地適應多種任務。

2. 學習調整學習率:

  • 動態梯度下降(利用RNN):這種方法使用遞歸神經網絡(RNN)來動態調整學習率和其他參數。RNN的適應性允許學習過程根據任務的具體需求實時調整,提高了模型對新任務的快速適應能力。

因為這樣的關鍵核心技術,才使得 few shot learning 在處理小數據具備能力,且能特別快速適應新環境。

小心得

這篇篇幅稍微比較短一些,內容主要參考與整理來自: 小資料系列初篇-Few-Shot Learning簡介,擷取當中重點並且重新架構,僅保留與本主題有關的部分,那下一篇會使用資料集做一個簡單的實作,預計這系列三到五篇。

我們下次見~

附上在 Heptabase 白板整理的 snapshot (一起紀錄白板的成長過程?)

有需要的話~ 🎁 Heptabase 折扣碼:https://join.heptabase.com?invite-acc-id=889dbd70-632c-446d-b7f8-ffa41b27e716

Heptabase 白板 snapshot

Heptabase 白板 snapshot

avatar-img
33會員
43內容數
歡迎來到《桃花源記》專欄。這裡不僅是一個文字的集合,更是一個探索、夢想和自我發現的空間。在這個專欄中,我們將一同走進那些隱藏在日常生活中的"桃花源"——那些讓我們心動、讓我們反思、讓我們找到內心平靜的時刻和地方
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Karen的沙龍 的其他內容
本篇文章探討如何利用電影數據集構建基於相似度的推薦系統。文章主要分為四個步驟:資料預覽、資料預處理、計算餘弦相似度及結果推論。透過這一流程,讀者將瞭解如何量化電影間的關聯性及用戶偏好,並如何生成推薦結果。
在現今的數據驅動世界,推薦系統早已成為許多平台(如電商、串流媒體、社交網路)不可或缺的一部分。然而,傳統的推薦方法如協同過濾(Collaborative Filtering)和基於內容過濾(Content-Based Filtering)各有其局限性,例如無法處理冷啟動問題或缺乏靈活性。最近
本研究探討如何透過圖形資料庫模型來構建電子商務顧客的360度全景視圖,並使用客戶行為模型圖(CBMG)有效整合和分析客戶數據。研究強調理解顧客的行為模式和需求,並針對三種典型的購物行為類型進行分析,以提升網站設計和用戶體驗。通過Neo4j的應用,提供了可視化客戶行為模式的視角。
本文章探討了 RAG(Retrieval-Augmented Generation)技術在智能客服領域的應用及其優勢。RAG 通過結合檢索與生成的特性,能夠顯著提高回答的準確性與靈活性。與傳統智能客服系統及純生成式 AI 相比,RAG 能更有效地理解用戶問題,並生成自然流暢的回應,改善用戶體驗。
我參加了由andyrockdata舉辦的資料治理超入門課程,這堂課程讓我在短時間內快速掌握資料治理的基本概念與實務運作。課程介紹了資料治理的框架、起源及相關解決方案,對於資料分析師與資料工程師而言,提供了有價值的學習資源與實踐建議。
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
本篇文章探討如何利用電影數據集構建基於相似度的推薦系統。文章主要分為四個步驟:資料預覽、資料預處理、計算餘弦相似度及結果推論。透過這一流程,讀者將瞭解如何量化電影間的關聯性及用戶偏好,並如何生成推薦結果。
在現今的數據驅動世界,推薦系統早已成為許多平台(如電商、串流媒體、社交網路)不可或缺的一部分。然而,傳統的推薦方法如協同過濾(Collaborative Filtering)和基於內容過濾(Content-Based Filtering)各有其局限性,例如無法處理冷啟動問題或缺乏靈活性。最近
本研究探討如何透過圖形資料庫模型來構建電子商務顧客的360度全景視圖,並使用客戶行為模型圖(CBMG)有效整合和分析客戶數據。研究強調理解顧客的行為模式和需求,並針對三種典型的購物行為類型進行分析,以提升網站設計和用戶體驗。通過Neo4j的應用,提供了可視化客戶行為模式的視角。
本文章探討了 RAG(Retrieval-Augmented Generation)技術在智能客服領域的應用及其優勢。RAG 通過結合檢索與生成的特性,能夠顯著提高回答的準確性與靈活性。與傳統智能客服系統及純生成式 AI 相比,RAG 能更有效地理解用戶問題,並生成自然流暢的回應,改善用戶體驗。
我參加了由andyrockdata舉辦的資料治理超入門課程,這堂課程讓我在短時間內快速掌握資料治理的基本概念與實務運作。課程介紹了資料治理的框架、起源及相關解決方案,對於資料分析師與資料工程師而言,提供了有價值的學習資源與實踐建議。
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
本文探討了影像生成模型的多種應用,包括文字、圖像和聲音到影片的生成,涵蓋了GAN、Transformer和Diffusion等技術。透過回顧相關研究,分析影像生成技術的未來趨勢與挑戰,為讀者提供全面的理解與啟示。
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
此篇調查論文探討了Diffusion模型在文字、圖片和聲音轉換為影片,以及影片衍生和編輯的應用類型。作者也介紹了U-Net架構和Vision Transformer等生成圖像架構,並詳細探討了訓練模型的方法以及不同的影像資料集來源。
Thumbnail
這篇要來分享一下學習了一些攝影的知識後,用於改良AI生圖的經驗。 AI生圖可以藉由少少的幾個句子產生出非常美麗的圖片,事實上,很多時候AI生圖的極限是卡在人類使用者的想像力之下。
Thumbnail
隨著數位媒體的發展,短影音成為了品牌推廣與故事傳遞的熱門工具。本文深入探討短影音拍攝的精華,從策劃、拍攝、到後期製作的各個階段,揭示成功製作背後的祕訣。無論是品牌推廣、產品介紹或活動宣傳,短影音都能提供快速而生動的內容,並成為企業與觀眾之間建立深厚聯繫的利器。
Thumbnail
Sequential Feature Selection(SFS) 用中文來解釋為,逐一特徵選取訓練,找出最重要的特徵,以提高模型的性能和效率 SFS 的一些用途包括: 維度縮減: 在高維度數據中,許多特徵可能是多餘或不重要的,使用 SFS 可以找到最能代表數據的特徵,從而減少計算和記憶體需求
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
本文探討了影像生成模型的多種應用,包括文字、圖像和聲音到影片的生成,涵蓋了GAN、Transformer和Diffusion等技術。透過回顧相關研究,分析影像生成技術的未來趨勢與挑戰,為讀者提供全面的理解與啟示。
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
此篇調查論文探討了Diffusion模型在文字、圖片和聲音轉換為影片,以及影片衍生和編輯的應用類型。作者也介紹了U-Net架構和Vision Transformer等生成圖像架構,並詳細探討了訓練模型的方法以及不同的影像資料集來源。
Thumbnail
這篇要來分享一下學習了一些攝影的知識後,用於改良AI生圖的經驗。 AI生圖可以藉由少少的幾個句子產生出非常美麗的圖片,事實上,很多時候AI生圖的極限是卡在人類使用者的想像力之下。
Thumbnail
隨著數位媒體的發展,短影音成為了品牌推廣與故事傳遞的熱門工具。本文深入探討短影音拍攝的精華,從策劃、拍攝、到後期製作的各個階段,揭示成功製作背後的祕訣。無論是品牌推廣、產品介紹或活動宣傳,短影音都能提供快速而生動的內容,並成為企業與觀眾之間建立深厚聯繫的利器。
Thumbnail
Sequential Feature Selection(SFS) 用中文來解釋為,逐一特徵選取訓練,找出最重要的特徵,以提高模型的性能和效率 SFS 的一些用途包括: 維度縮減: 在高維度數據中,許多特徵可能是多餘或不重要的,使用 SFS 可以找到最能代表數據的特徵,從而減少計算和記憶體需求