zero-shot-learning-definition-examples-comparison

来源:https://www.cnblogs.com/JavaEdge/p/18253289
-Advertisement-
Play Games

1 Zero-shot learning 零樣本學習。 1.1 任務定義 利用訓練集數據訓練模型,使得模型能夠對測試集的對象進行分類,但是訓練集類別和測試集類別之間沒有交集;期間需要藉助類別的描述,來建立訓練集和測試集之間的聯繫,從而使得模型有效。 Zero-shot learning 就是希望我們 ...


1 Zero-shot learning

零樣本學習。

1.1 任務定義

利用訓練集數據訓練模型,使得模型能夠對測試集的對象進行分類,但是訓練集類別和測試集類別之間沒有交集;期間需要藉助類別的描述,來建立訓練集和測試集之間的聯繫,從而使得模型有效。

Zero-shot learning 就是希望我們的模型能夠對其從沒見過的類別進行分類,讓機器具有推理能力,實現真正的智能。其中零次(Zero-shot)是指對於要分類的類別對象,一次也不學習。

1.2 實例

假設我們的模型已經能夠識別馬,老虎和熊貓了,現在需要該模型也識別斑馬,那麼我們需要告訴模型,怎樣的對象才是斑馬,但是並不能直接讓模型看見斑馬。所以模型需要知道的信息是馬的樣本、老虎的樣本、熊貓的樣本和樣本的標簽,以及關於前三種動物和斑馬的描述。

通俗點說就是:假設小暗(純粹因為不想用小明)和爸爸,到了動物園,看到了馬,然後爸爸告訴他,這就是馬;之後,又看到了老虎,告訴他:“看,這種身上有條紋的動物就是老虎。”;最後,又帶他去看了熊貓,對他說:“你看這熊貓是黑白色的。”然後,爸爸給小暗安排了一個任務,讓他在動物園裡找一種他從沒見過的動物,叫斑馬,並告訴了小暗有關於斑馬的信息:“斑馬有著馬的輪廓,身上有像老虎一樣的條紋,而且它像熊貓一樣是黑白色的。”最後,小暗根據爸爸的提示,在動物園裡找到了斑馬(意料之中的結局。。。)。

上述例子中包含了一個人類的推理過程,就是利用過去的知識(馬,老虎,熊貓和斑馬的描述),在腦海中推理出新對象的具體形態,從而能對新對象進行辨認。zero-shot learning就是希望能夠模仿人類的這個推理過程,使得電腦具有識別新事物的能力。

2 One-shot learning --單樣本學習

Zero-shot learning 指的是我們之前沒有這個類別的訓練樣本。但是我們可以學習到一個映射X->Y。如果這個映射足夠好的話,我們就可以處理沒有看到的類了。

One-shot learning 指的是我們在訓練樣本很少,甚至只有一個的情況下,依舊能做預測。這是如何做到呢?可以在一個大數據集上學到general knowledge(具體的說,也可以是X->Y的映射),然後再到小數據上有技巧的update。

2.1 One-Shot Learning的意義

① 減少訓練數據

深度學習需要大量的數據
如MNIST為了10個類別的區分,需要60000張訓練圖像,平均一個類別需要6000張訓練圖像。

One-Shot試圖將一個類別的訓練圖像減少,極端情況時只有一張圖片。

② 在新類別的數據出現時,無需重新訓練

傳統的神經網路無法處理沒有出現在訓練集中的類別。

如以員工刷臉打卡為例,使用深度神經網路,每一個新員工入職,都是一個類別,需要重新訓練深度神經網路。如果每天都有新員工入職,每天都要重新訓練網路,成本非常高。

One-Shot Learning可以無需重新訓練即可應用於新的類別的數據

One-shot learning 屬於Few-shot learning的一種特殊情況。

3 Few-shot learning

小樣本學習。

如果訓練集中,不同類別的樣本只有少量,則成為Few-shot learning.

就是給模型待預測類別的少量樣本,然後讓模型通過查看該類別的其他樣本來預測該類別。比如:給小孩子看一張熊貓的照片,那麼小孩子到動物園看見熊貓的照片之後,就可以識別出那是熊貓。

Few-shot Learning V.S Zero-shot Learning

  • 小樣本學習的目的是在有少量訓練數據的情況下能獲得準確分類測試樣本的模型
  • 零樣本學習的目的是預測訓練數據集中沒有出現過的類

零樣本學習和小樣本學習有很多共同的應用,如:

  • 圖像分類(image classification)
  • 語義分割(semantic segmentation)
  • 圖像生成(image generation)
  • 目標檢測(object detection)
  • 自然語言處理(natural language processing)

另外單樣本學習(one-shot learning)經常會和零樣本學習混在一起。單樣本學習是小樣本學習問題的一個特例,它的目的是從一個訓練樣本或圖片中學習到有關物體類別的信息。單樣本學習的一個例子是,智能手機中使用的人臉識別技術。

本文由博客一文多發平臺 OpenWrite 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們是袋鼠雲數棧 UED 團隊,致力於打造優秀的一站式數據中台產品。我們始終保持工匠精神,探索前端道路,為社區積累並傳播經驗價值。 本文作者:修能 這是一段平平無奇的 SQL 語法 SELECT id, sum(name) FROM student GROUP BY id ORDER BY id; ...
  • ‍ 寫在開頭 點贊 + 收藏 學會 前言 在這之前公司項目的文檔預覽的方式都是通過微軟線上預覽服務,但是微軟的線上服務有文件大小限制,想完整使用得花錢,一些圖片文件就通過組件庫antd實現,因為我們項目存在多種類型的文件,所以為了改善用戶的體驗,決定把文件預覽單獨弄一個拆出一個項 ...
  • 這篇文章介紹了Tailwind CSS框架的特點與優勢,包括其作為實用性的CSS框架如何通過預設的樣式類實現快速佈局和設計,以及如何在不犧牲響應式和自適應性的同時減少開發時間。此外,還提及了框架的可定製性,允許開發者輕鬆創建符合項目需求的樣式規則,從而提高前端開發效率。 ...
  • Chrome 在 121 版本開始,原生支持了兩個滾動條樣式相關的樣式 scrollbar-color 和 scrollbar-width。 要知道,在此前,雖然有 ::-webkit-scrollbar 規範可以控制滾動條,可是,::-webkit-scrollbar 是非標準特性,在 MDN 文 ...
  • Spring Cloud是一個相對比較成熟的微服務框架。雖然,Spring Cloud於2016年才推出1.0的release版本, 時間最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分散式系統解決方案。 Spring Cloud是一系列框架的有序集合。它利用Spri ...
  • Windows應用軟體開發,會有很多常用的模塊,比如資料庫、配置文件、日誌、後臺通信、進程通信、埋點、瀏覽器等等。下麵是目前我們公司windows梳理的部分組件,梳理出來方便大家瞭解組件概念以及依賴關係: 每個應用里,現在或者以後都可能會存在這些模塊。以我團隊開發的全家桶為例,十多個應用對後臺訪問, ...
  • 通過本文我們深入瞭解了RabbitMQ的集群模式及其優缺點。無論是普通集群還是鏡像集群,都有其適用的場景和局限性。普通集群利用Erlang語言的集群能力,但消息可靠性和高可用性方面存在一定挑戰;而鏡像集群通過主動消息同步提高了消息的可靠性和高可用性,但可能會占用大量網路帶寬。因此,在選擇集群方案時,... ...
  • 寫在前面 在現目前項目開發中,一般都是前後端分離項目。前端小姐姐負責開發前端,苦逼的我們負責後端開發 事實是一個人全乾,在這過程中編寫介面文檔就顯得尤為重要了。然而作為一個程式員,最怕的莫過於自己寫文檔和別人不寫文檔 大家都不想寫文檔,那這活就交給今天的主角Swagger來實現了 一、專業名詞介紹 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...