成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

業務數據全用上也喂不飽AI?試試這個小樣本學習工具包

人工智能
在計算機視覺、自然語言處理等大領域下,從深度學習最初大放異彩的圖像分類、文本分類,到進一步的圖像生成、文本關系預測,機器學習算法取得的成就大多建立在大量數據驅動的訓練算法之上。

 [[429751]]

本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。

機器學習在數據密集型的應用中取得了極佳的效果,但在數據集很小的場景下,多數機器學習算法的效果會嚴重受限[1]。在計算機視覺、自然語言處理等大領域下,從深度學習最初大放異彩的圖像分類、文本分類,到進一步的圖像生成、文本關系預測,機器學習算法取得的成就大多建立在大量數據驅動的訓練算法之上。然而,高質量的標注數據在大多數領域都是很難獲得的,這限制了諸多機器學習算法在相應場景下的應用能力。

  在這樣的背景下,小樣本學習(Few Shot Learning,FSL)的提出將解決數據集規模嚴重受限條件下的機器學習應用問題。小樣本學習方法可以在利用先驗知識的前提下,僅由極少量受監督的樣本,使模型通過極少步的更新快速提升泛化性能,以應用在新的相關任務上[1]。近年來,小樣本學習已經應用于計算機視覺、自然語言處理、人機交互、知識圖譜乃至生物計算等領域的諸多應用中。

  小樣本學習的研究者在編碼實踐過程中通常會面臨原型實現和方法復現兩方面的問題[2]。為了方便飛槳開發者和使用飛槳的科研人員方便地執行以下操作:

  • 在深度學習模型上應用經典的小樣本學習方法,或使用經典小樣本數據集測試模型與方法
  • 設計新的小樣本學習方法,或構建新的小樣本數據集
  • 比對各種小樣本學習方法在多種數據集上的效果

  我們開發了 PaddleFSL(Paddle toolkit for Few Shot Learning):基于飛槳的小樣本學習工具包,旨在降低小樣本學習研究和應用的設計與時間成本。PaddleFSL 提供了低層次的工具函數與接口,以供使用者設計新的小樣本學習方法或構建新的小樣本學習數據集,同時也提供了經典小樣本學習方法的高層次實現,以及經典的小樣本數據集。

  項目鏈接:

  https://github.com/tata1661/FSL-Mate/tree/master/PaddleFSL

  框架概覽

  PaddleFSL 完整項目包含了以下幾個部分:

  樣例(examples):

  項目中高層次小樣本算法接口的使用樣例

  包主體(paddlefsl):

  python 包的主體

  • paddlefsl.backbones:

      諸如 MLP、卷積網絡、ResNet 等基準模型

  • paddlefsl.datasets:

      小樣本數據集構建接口,以及諸多經典的小樣本數據集的預處理實現

  • paddlefsl.model_zoo:

      高層次經典小樣本方法實現

  • paddlefsl.task_sampler:

      任務集的劃分:將訓練和測試數據劃分為 N ways, K shots 以及 Q query points

  • paddlefsl.utils:

      與環境、輸入輸出或模型參數有關的工具函數

  數據文件(raw_data):

  存放原始數據文件的目錄,附各個經典小樣本數據集的介紹與下載地址

  測試(test):

  包主體每一函數和類的單元測試,同時也是使用樣例文件

此外,在包主體的每一個外部接口處,我們都提供了詳實的注釋,包括了模塊的功能、參數的功能和使用樣例。

  在接下來的幾個章節中,我們將從數據集加載到訓練完成,逐項介紹 PaddleFSL 的功能及其使用方法。

  安裝與測試

  本項目依賴飛槳開源框架 v2.0 或更新的版本,需要提前前往飛槳官網安裝。

  本項目在 github 開源,可以直接克隆 github 項目,配置環境變量后直接使用:

本項目也同時在 pypi 發布,可以通過更便捷的 pip 安裝包主體(paddlefsl),但這種方式不包含樣例(examples)、數據文件(raw_data)與測試文件(test):

  安裝完成后,可以通過以下的指令快速測試安裝是否成功:

數據集

  我們的項目提供了計算機視覺數據集(CVDataset)和關系分類數據集(RCDataset)兩種模板數據集接口,以及繼承自 CVDataset 的六種圖像分類數據集(Omniglot[3], Mini-ImageNet[4], Tiered-ImageNet[5], CIFAR-FS[6], FC100[7], CU-Birds[8])與繼承自 RCDataset 的一種關系分類數據集(FewRel1.0[9])。此外,我們還提供了中文自然語言處理小樣本領域的評測基準數據集 FewCLUE[15]。

  以 Mini-ImageNet 為例,若要使用該數據集,僅需從項目提供的地址下載原始數據文件(mini-imagenet.tar.gz),并將其放置在 raw_data 目錄下,包主體代碼會自動解壓并處理數據文件:

用戶也可以將原始數據文件放置在任意一個有權限的目錄下,并將該目錄通過 root 參數傳遞給數據集。

  在小樣本學習的框架下,數據集常被劃分為 N ways(一個任務中有N種類別的樣本待分類)、K shots(K個有標簽的樣本用于模型更新)和 Q query points(Q個有標簽的樣本用于模型效果的評估或進一步更新),因而本項目在數據集類中預置了隨機任務集劃分:

而在關系分類數據集(RCDataset)中,返回值的類型有 text(文本)和 numpy(numpy 數組)兩種可選項,若選擇 numpy 則需要為數據集傳入一種初始化器:

此外,用戶可以直接通過繼承 CVDataset 和 RCDataset 構建自己的數據集:根據用戶自己的原始數據文件格式,在新的數據集類中實現獲取元素、數據集長度、劃分隨機任務集三個接口,即可構建新的小樣本數據集。用戶也可以直接效仿本項目給出的原始數據格式,將新數據的數據格式調整后,直接通過傳遞 root 參數給已有的數據集,從而更便捷地構建新數據集。

  經典小樣本方法的高層次接口

  我們的項目在 paddlefsl.model_zoo 中提供了五種經典的小樣本方法的高層次接口(MAML, ANIL, ProtoNet, RelationNet, Siamese),以及三種小樣本 NLP 方法的直接實現(PET[16], P-Tuning[17], EFL[18])。

  MAML(Model-Agnostic Meta-Learning)是一種經典的,可應用于任何使用梯度下降訓練的模型,并可以適用于包括分類、回歸、強化學習等多種任務的小樣本學習方法。MAML 不引入新的模塊,僅使用先驗知識調整目標模型的參數,使之具備出色的泛化性能,可以在很有限的幾步梯度下降之后快速學習適應新任務[10]。

  ANIL(Almost No Inner Loop)是一種針對 MAML 算法的分析與改進。MAML 算法對于目標模型的參數在外層循環(outer loop)與內層循環(inner loop)都進行了調整,而 ANIL 則在內層循環固定了模型的主體部分參數,僅對最后一層進行微調(fine-tune)。該方法使用更少的計算開銷得到了與 MAML 同樣好的效果,并同時證明了 MAML 的方法讓模型取得了特征復用(feature reuse)的效果[11]。

  ProtoNet(Prototypical Networks)是一種更為經典的、簡單有效的小樣本方法。它利用極少的帶標簽樣本,讓模型學得另一個參數空間的原型特征(prototype),然后比對待分類樣本的原型特征和已知類別原型特征的距離,從而做出分類決策。該方法思路簡單,計算復雜度低,且在分類問題上有著非常不錯的表現,并且可以延伸至零樣本學習(zero-shot learning)[12]。

  RelationNet(Relation Network)是一種在 ProtoNet 基礎上的提升改進。在使用目標模型學習到另一個參數空間的原型特征后,該方法增加了一個關系網絡(relation network)用以專門學習比較待分類樣本原型特征和已知類別原型特征的相似性,而不需要重新調整已知網絡[13]。

  Siamese (Siamese Networks)是一種早期的小樣本學習方法。該方法設計了一種孿生結構,很自然地學習如何更好地度量輸入內容的相似度,從而使用極少的標簽樣本來獲得預測新樣本的能力[14]。

  我們在 paddlefsl.model_zoo 中實現了上述五種算法的完整的訓練和測試邏輯。以 MAML 為例,用戶僅需傳入待測數據集和相關的算法超參和訓練配置,即可直接開始訓練或測試,并自動保存訓練得到的模型參數:

此外,我們還在樣例(examples)中提供了 PET[16]、P-Tuning[17]和 EFL[18]在 FewCLUE 任務上的實現。FewCLUE 的任務將額外地依賴 paddlenlp 包,其實現過程中使用了百度的中文 NLP 預訓練模型 ERNIE1.0,并匯報了三種算法的效果。

  我們利用本項目實現的經典算法高層次接口測試了所有數據集上的效果,并與原論文或其他論文復現的效果做了比對。結果顯示,我們的實現均達到了原論文方法使用其他機器學習框架匯報的結果,在多數任務上提升了原有的效果。具體的結果數據在樣例(examples)中給出(https://github.com/tata1661/FSL-Mate/tree/master/PaddleFSL/examples)

  低層次常用工具函數

  除了完整的訓練和測試實現接口外,本項目還提供了豐富的低層次工具函數,用以實現常用的小樣本學習基本操作,例如原型特征(prototype)的計算、模型的克隆(clone)、固定步長的單步梯度下降等等。

原型特征的計算和比較由 ProtoNet 提出(如上圖),因此該功能在 paddlefsl.model_zoo.protonet 中封裝并提供接口 get_prototype ()。該函數傳入所有帶標簽樣本的特征,以及其對應的標簽,即可返回按標簽順序排列的各個類別對應原型特征。以 RelationNet 為例:

模型的克隆和單步梯度下降是 MAML 及其改進型 ANIL 所依賴的操作。該方法不引入其他模塊,僅僅通過梯度對目標模型做調整,目標模型的參數將被通過外層循環和內層循環兩次調整。在內層循環中,對于模型的調整不可以直接作用于原目標模型的所有參數,而是需要累積多個任務的梯度,最終對原模型加以調整,這就要求模型的梯度保留,最上層微調,而主體部分參數在累積后再做調整(如上圖)。

  因此,我們引入了模型克?。╟lone)的功能:與機器學習框架中張量的克隆相同,被克隆的新模型并不與原模型共享內存,從而實現獨立的調整,但同時要和原模型共享計算圖,從而實現梯度的關聯與累積。該功能在 paddlefsl.utils 中封裝為接口 clone_model ():

同樣是在基于梯度的 MAML 與 ANIL 方法中,由于模型主體參數梯度累積后調整與微調最上層的矛盾,在內層循環的微調中不可以直接使用模型的優化器進行梯度下降,而應該手動設置固定的步長(inner_loop_learning_rate)進行不干預優化器的梯度下降。該功能封裝在 paddlefsl.utils 中,提供接口 gradient_descent ():

除了舉例的三種低層次操作接口外,paddlefsl 還提供了更多豐富的工具函數。用戶可以在源碼或樣例中查看并體驗(https://github.com/tata1661/FSL-Mate/tree/master/PaddleFSL/paddlefsl/utils)

  小樣本學習資源庫

PaddleFSL 代碼整合在小樣本學習綜述與前沿論文追蹤項目 FSL-Mate 中共同開源發布。FSL-Mate 項目是一個旨在整合小樣本學習研究成果與最新研究進展的資源倉庫,該項目基于王雅晴博士于 2020 年 6 月發表在 ACM Computing Surveys (CSUR)上的小樣本學習綜述文章 Generalizing from a few examples: A survey on few-shot learning 擴展而來。CSUR 是計算機領域權威頂刊,JCR1 區,Core A* ,該小樣本學習綜述為 CSUR 2019-2021 年間最高引論文,也是 ESI 2021 高引論文。我們將持續更新和維護該倉庫,攜手對小樣本學習感興趣的開發者和研究人員,共同推進小樣本學習領域的發展,敬請關注與下載體驗!

  歡迎大家點開 Github 鏈接學習源碼或獲取工具包!

  項目鏈接:

  https://github.com/tata1661/FSL-Mate/tree/master/PaddleFSL

  (另外,鏈接內附贈高質量領域理解手冊【小樣本學習綜述】 ESI 2021 高引論文 / CSUR 2019-2021 最高引論文)

  項目作者:

  王雅晴,PaddleFSL 負責人、飛槳高級開發者技術專家(高級 PPDE)。2019 年博士畢業于香港科技大學計算機科學及工程學系。通過百度公司 AIDU 計劃加入百度研究院商業智能實驗室,現任資深研發工程師及研究員。研究方向為機器學習,并主要聚焦小樣本學習、稀疏和低秩學習、生物計算等方向?,F有多篇一作成果發表在 ICML、NeurIPS、WWW、EMNLP、TIP 等頂會頂刊上。

參考文獻:

  [1] Wang Y, Yao Q, Kwok J T, Ni L M. Generalizing from a few examples: A survey on few-shot learning[J]. ACM Computing Surveys (CSUR), 2020, 53(3): 1-34.

  [2] Arnold S M R, Mahajan P, Datta D, et al. learn2learn: A library for meta-learning research[J]. arXiv preprint arXiv:2008.12284, 2020.

  [3] Lake B M, Salakhutdinov R, Tenenbaum J B. Human-level concept learning through probabilistic program induction[J]. Science, 2015, 350(6266): 1332-1338.

  [4] Vinyals O, Blundell C, Lillicrap T, et al. Matching networks for one shot learning[J]. Advances in neural information processing systems, 2016, 29: 3630-3638.

  [5] Ren M, Triantafillou E, Ravi S, et al. Meta-learning for semi-supervised few-shot classification[J]. arXiv preprint arXiv:1803.00676, 2018.

  [6] Bertinetto L, Henriques J F, Torr P H S, et al. Meta-learning with differentiable closed-form solvers[J]. arXiv preprint arXiv:1805.08136, 2018.

  [7] Oreshkin B N, Rodriguez P, Lacoste A. Tadam: Task dependent adaptive metric for improved few-shot learning[J]. arXiv preprint arXiv:1805.10123, 2018.

  [8] Wah C, Branson S, Welinder P, et al. The caltech-ucsd birds-200-2011 dataset[J]. 2011.

  [9] Han X, Zhu H, Yu P, et al. Fewrel: A large-scale supervised few-shot relation classification dataset with state-of-the-art evaluation[J]. arXiv preprint arXiv:1810.10147, 2018.

  [10] Finn C, Abbeel P, Levine S. Model-agnostic meta-learning for fast adaptation of deep networks[C]//International Conference on Machine Learning. PMLR, 2017: 1126-1135.

  [11] Raghu A, Raghu M, Bengio S, et al. Rapid learning or feature reuse? towards understanding the effectiveness of maml[J]. arXiv preprint arXiv:1909.09157, 2019.

  [12] Snell J, Swersky K, Zemel R S. Prototypical networks for few-shot learning[J]. arXiv preprint arXiv:1703.05175, 2017.

  [13] Sung F, Yang Y, Zhang L, et al. Learning to compare: Relation network for few-shot learning[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 1199-1208.

  [14] Koch G, Zemel R, Salakhutdinov R. Siamese neural networks for one-shot image recognition[C]//ICML deep learning workshop. 2015, 2.

  [15] Li Y, Zhao Y, Hu B, et al. GlyphCRM: Bidirectional Encoder Representation for Chinese Character with its Glyph[J]. arXiv preprint arXiv:2107.00395, 2021.

  [16] Liu, Xiao, Yanan Zheng, Zhengxiao Du, Ming Ding, Yujie Qian, Zhilin Yang, and Jie Tang. “GPT Understands, Too.” ArXiv:2103.10385 [Cs], March 18, 2021.

  [17] Wang, Sinong, Han Fang, Madian Khabsa, Hanzi Mao, and Hao Ma. “Entailment as Few-Shot Learner.” ArXiv:2104.14690 [Cs], April 29, 2021.

  [18] Wang, S., Fang, H., Khabsa, M., Mao, H., and Ma, H., “Entailment as Few-Shot Learner”, ArXiv:2001.07676 [Cs], 2021.

 

 

責任編輯:張燕妮 來源: 量子位
相關推薦

2020-10-06 16:28:49

AI

2023-11-30 18:25:57

數據訓練

2024-03-18 09:22:43

AI模型

2010-05-28 14:30:15

ibmdw業務應用

2021-01-27 11:36:34

代碼開發工具

2022-10-30 15:00:40

小樣本學習數據集機器學習

2021-07-28 11:54:09

阿里云AI自然語言理解

2021-08-19 15:48:05

增量攻擊網絡安全網絡攻擊

2025-01-27 00:57:43

2019-05-13 09:22:21

微軟開源機器學習

2021-03-25 15:32:21

深度學習編程人工智能

2022-01-26 07:18:57

工具GoGo 項目

2022-02-09 07:44:30

Go源碼工具

2018-05-03 09:03:16

微軟工具包Windows

2013-07-08 10:08:40

海量樣本篩選大數據

2019-11-04 15:00:01

DatatableR語言數據科學

2018-12-27 10:52:10

Facebook 開發開源

2020-07-29 10:55:07

數據庫工具技術

2020-12-07 10:59:01

Python數據工具

2020-06-18 15:45:54

AWS機器學習人工智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费黄色成人 | 亚洲精品电影 | 中文字幕国产 | 国产二区三区 | 久久精品久久久久久 | 亚洲日韩中文字幕一区 | 久久亚洲经典 | 国产精品揄拍一区二区 | 成人福利网站 | 人干人人 | 亚洲色图综合网 | 69福利影院| 涩涩导航| 日本高清在线一区 | 91精品国产91久久久久久 | 成年人在线观看 | 伦理午夜电影免费观看 | 午夜综合 | 国产精品一区二区三区久久 | 在线免费看黄 | 欧美国产精品一区二区 | 久久久免费毛片 | 欧美精品一区二区三区四区五区 | 好姑娘高清在线观看电影 | 成人国产在线观看 | 激情一区二区三区 | 午夜视频网站 | 国产精品99999999 | 男女免费观看在线爽爽爽视频 | 国产精品成人一区二区三区夜夜夜 | 91精品导航 | 精品国产一区二区 | 在线免费观看亚洲 | 国产一区二区视频免费在线观看 | 日本一区二区高清视频 | 日日夜夜免费精品 | 日本一卡精品视频免费 | 成人av网站在线观看 | www.久久久 | 日韩成人av在线播放 | 亚洲精品av在线 |