11 月 5 日,在 Wave Summit+2019 深度學習開發者峰會上,飛槳全新發布和重要升級了最新的 21 項進展,在深度學習開發者社區引起了巨大的反響。
很多未到場的開發者覺得遺憾,希望可以了解飛槳發布會背後的更多技術細節,因此我們特別策劃了一個系列稿件,分別從核心框架、基礎模型庫、端到端開發套件、工具組件和服務平臺五個層面分別詳細解讀飛槳的核心技術與最新進展,敬請關注。
今天給大家帶來的是系列文章之飛槳的基礎模型庫解讀。
飛槳模型庫,包含智能視覺(PaddleCV),智能文本處理(PaddleNLP),智能語音(PaddleSpeech)和智能推薦(PaddleRec)四大領域,飛槳官方支持 100 多個經過產業實踐長期打磨的主流模型,其中包括在國際競賽中奪得冠軍的模型;同時開源開放 200 多個預訓練模型,助力快速的產業應用。核心內容 1562 字,預計閱讀時間 3 分鐘。全文 7659 字,強烈建議收藏備查。
飛槳全景圖,本文主要針對基礎模型庫部分進行深度解讀。
第一部分,首先看一下最新版本模型庫的主要更新點。
本次主要更新點
1.1. PaddleCV
發布訓練部署端到端的圖像分割庫 PaddleSeg,圖像分類新增 EfficientNet 等 43 個預訓練模型。PaddleDetection 新增 2019 Objects365 Full Track 冠軍模型、BlazeFace 等人臉檢測小模型,行人檢測和車輛檢測的預訓練模型。PaddleVideo 新增 ActivityNet Challenge 2019 奪冠模型,擴展包含 video caption、video grounding 等模型。
1.2. PaddleNLP
發布全新 seq2seq 相關 API 和文本生成模型樣例。語義表示庫新增 XLNet 預訓練模型;開源 EMNLP 2019 閱讀理解競賽冠軍模型 D-NET,同時支持 18 個不同抽取式閱讀理解數據集打榜。發布飛槳多任務學習庫 PALM (PAddLe Multi-task learning),更便捷支持多任務機器學習調研。
1.3. PaddleSpeech
全新發布,包含語音識別模型 DeepSpeech 和語音合成模型 DeepVoice3。
1.4. PaddleRec
增加 PaddleRec 的更多模型覆蓋。
以上可以看到,本次的升級點中,飛槳提供了更多的官方支持模型和預訓練模型,同時也開源多個國際冠軍模型,截至目前,飛槳已官方支持超過 100 個模型和 200 多個預訓練模型,極大的方便開發者的快速應用實踐。
飛槳模型庫發布全新完整解讀
本次新版發布,飛槳模型庫增加了 8 類任務下的 40 多個算法模型,覆蓋任務門類更全面,算法模型更豐富,基本可以滿足產業應用的各種業務需求,快速助力開發者實際項目的落地實現。
▲ 官方支持100多個算法,200多個預訓練模型
飛槳的模型庫已經比較完備地支持了自然語言處理,計算機視覺、推薦和語音四大領域。官方支持的模型從 60 個擴充到了 100 多個,新增了對於語音算法的支持。截至目前,飛槳已經可以支持人工智慧領域應用主流算法模型的。開發者在工業應用項目落地中,可以利用飛槳模型庫中快速實現。
具體來看,在計算機視覺領域,飛槳在圖像分類、生成、檢測、視頻理解、圖像分割等領域都有新增的模型。在自然語言處理領域,飛槳在語義表示、閱讀理解和問答上有升級,同樣,在推薦、語音方面,都做了進一步的完善和升級。
除了對於經典模型的支持,飛槳還開源了多項百度在國際競賽中奪冠的算法模型,這裡面既包括在計算機視覺領域的視頻理解、人像分割,也包含自然語言處理領域的閱讀理解。
值得一提的是,在近期剛剛召開的 NLP 領域頂級會議 EMNLP 中,飛槳的 D-NET 模型,擊敗眾多重量級參賽玩家,在這次競賽當中得了 10 項閱讀理解的冠軍。這個模型飛槳也毫無保留的開放給廣大開發者。
下面,我們將從主流四大領域分別為開發者介紹飛槳模型庫的一些核心內容,因為算法模型數量眾多且受限於篇幅,僅對算法模型的分類及名稱、簡介和應用場景、以及在不同數據集上的評價指標進行了整理。
一方面,對於剛入門的開發者,可以提供模型庫的整體宏觀視角,另一方面,本文也可以作為一個速查手冊,強烈建議收藏,供開發者快速根據需求選用。
如果迫不及待想了解某個算法的詳細內容,可以直接傳送門走起!
https://github.com/PaddlePaddle/models
智能視覺PaddleCV
3.1. 圖像分類
圖像分類是根據圖像的語義信息對不同類別圖像進行區分,是計算機視覺中重要的基礎問題,是物體檢測、圖像分割、物體跟蹤、行為分析、人臉識別等其他高層視覺任務的基礎,在許多領域都有著廣泛的應用。如:安防領域的人臉識別和智能視頻分析等,交通領域的交通場景識別,網際網路領域基於內容的圖像檢索和相冊自動歸類,醫學領域的圖像識別等。
更多圖像分類模型請參考 Image Classification:
https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/image_classification
3.2. 目標檢測
目標檢測任務的目標是給定一張圖像或是一個視頻幀,讓計算機找出其中所有目標的位置,並給出每個目標的具體類別。對於計算機而言,能夠「看到」的是圖像被編碼之後的數字,但很難解圖像或是視頻幀中出現了人或是物體這樣的高層語義概念,也就更加難以定位目標出現在圖像中哪個區域。
目標檢測模型請參考 PaddleDetection:
https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/PaddleDetection
3.3. 圖像分割
圖像語義分割顧名思義是將圖像像素按照表達的語義含義的不同進行分組/分割,圖像語義是指對圖像內容的理解,例如,能夠描繪出什麼物體在哪裡做了什麼事情等,分割是指對圖片中的每個像素點進行標註,標註屬於哪一類別。近年來用在無人車駕駛技術中分割街景來避讓行人和車輛、醫療影像分析中輔助診斷等。
3.4.關鍵點檢測
人體骨骼關鍵點檢測 (Pose Estimation) 主要檢測人體的一些關鍵點,如關節,五官等,通過關鍵點描述人體骨骼信息。人體骨骼關鍵點檢測對於描述人體姿態,預測人體行為至關重要。是諸多計算機視覺任務的基礎,例如動作分類,異常行為檢測,以及自動駕駛等等。
3.5. 圖像生成
圖像生成是指根據輸入向量,生成目標圖像。這裡的輸入向量可以是隨機的噪聲或用戶指定的條件向量。具體的應用場景有:手寫體生成、人臉合成、風格遷移、圖像修復等。PaddleGAN 包含和圖像生成相關的多個模型。
3.6. 場景文字識別
場景文字識別是在圖像背景複雜、解析度低下、字體多樣、分布隨意等情況下,將圖像信息轉化為文字序列的過程,可認為是一種特別的翻譯過程:將圖像輸入翻譯為自然語言輸出。
3.7. 度量學習
度量學習也稱作距離度量學習、相似度學習,通過學習對象之間的距離,度量學習能夠用於分析對象時間的關聯、比較關係,在實際問題中應用較為廣泛,可應用於輔助分類、聚類問題,也廣泛用於圖像檢索、人臉識別等領域。
3.8. 視頻分類和動作定位
視頻分類和動作定位是視頻理解任務的基礎。
視頻數據包含語音、圖像等多種信息,因此理解視頻任務不僅需要處理語音和圖像,還需要提取視頻幀時間序列中的上下文信息。
視頻分類模型提供了提取全局時序特徵的方法,主要方式有卷積神經網絡 (C3D, I3D, C2D 等),神經網絡和傳統圖像算法結合 (VLAD 等),循環神經網絡等建模方法。
視頻動作定位模型需要同時識別視頻動作的類別和起止時間點,通常採用類似於圖像目標檢測中的算法在時間維度上進行建模。
智能文本處理PaddleNLP
PaddleNLP 是基於飛槳深度學習框架開發的自然語言處理 (NLP) 工具,算法,模型和數據的開源項目。百度在 NLP 領域十幾年的深厚積澱為 PaddleNLP 提供了強大的核心動力。使用 PaddleNLP,您可以得到:
豐富而全面的 NLP 任務支持:PaddleNLP 為您提供了多粒度,多場景的應用支持。涵蓋了從分詞,詞性標註,命名實體識別等 NLP 基礎技術,到文本分類,文本相似度計算,語義表示,文本生成等 NLP 核心技術。同時,PaddleNLP 還提供了針對常見 NLP 大型應用系統(如閱讀理解,對話系統,機器翻譯系統等)的特定核心技術和工具組件,模型和預訓練參數等,讓您在 NLP 領域暢通無阻。 穩定可靠的 NLP 模型和強大的預訓練參數:PaddleNLP 集成了百度內部廣泛使用的 NLP 工具模型,為您提供了穩定可靠的 NLP 算法解決方案。基於百億級數據的預訓練參數和豐富的預訓練模型,助您輕鬆提高模型效果,為您的 NLP 業務注入強大動力。 持續改進和技術支持,零基礎搭建 NLP 應用:PaddleNLP 為您提供持續的技術支持和模型算法更新,為您的 NLP 業務保駕護航。
4.1. NLP基礎技術
4.1.1. 中文詞法分析 LAC (Lexical Analysis of Chinese)
百度自主研發中文特色模型詞法分析任務,集成了中文分詞、詞性標註和命名實體識別任務。輸入是一個字符串,而輸出是句子中的詞邊界和詞性、實體類別。
4.1.2.詞向量(Word2vec)
提供單機多卡,多機等分布式訓練中文詞向量能力,支持主流詞向量模型(skip-gram,cbow 等),可以快速使用自定義數據訓練詞向量模型。
4.1.3. 語言模型 (Language_model)
給定一個輸入詞序列(中文需要先分詞、英文需要先 tokenize),計算其生成概率。語言模型的評價指標 PPL (困惑度),用於表示模型生成句子的流利程度。
4.2. NLP 核心技術
4.2.1. 語義表示
PaddleLARK (Paddle LAngauge Representation ToolKit) 是傳統語言模型的進一步發展,通過在大規模語料上訓練得到的通用的語義表示模型,可以助益其他自然語言處理任務,是通用預訓練 + 特定任務精調範式的體現。PaddleLARK 集成了 ELMO,BERT,ERNIE 1.0,ERNIE 2.0,XLNet 等熱門中英文預訓練模型。
4.2.2. 文本相似度計算
SimNet (Similarity Net) 是一個計算短文本相似度的框架,主要包括 BOW、CNN、RNN、MMDNN 等核心網絡結構形式。SimNet 框架在百度各產品上廣泛應用,提供語義相似度計算訓練和預測框架,適用於信息檢索、新聞推薦、智能客服等多個應用場景,幫助企業解決語義匹配問題。
4.2.3. 文本生成
PaddleTextGEN (Paddle Text Generation) ,一個基於飛槳的文本生成框架,提供了一些列經典文本生成模型案例,如 vanilla seq2seq,seq2seq with attention,variational seq2seq 模型等。
4.3. NLP 系統應用
4.3.1. 情感分析
4.3.2. 閱讀理解
PaddleMRC (Paddle Machine Reading Comprehension),集合了百度在閱讀理解領域相關的模型,工具,開源數據集等一系列工作。
4.3.3. 機器翻譯
PaddleMT ,全稱為 Paddle Machine Translation,基於 Transformer 的經典機器翻譯模型,基於論文《Attention Is All You Need》:https://arxiv.org/abs/1706.03762
4.3.4. 對話系統
PaddleDialogue 包含對話系統方向的模型、數據集和工具。
百度最新前沿工作開源,請參考 Research:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research
智能推薦PaddleRec
個性化推薦,在當前的網際網路服務中正在發揮越來越大的作用,目前大部分電子商務系統、社交網絡,廣告推薦,搜尋引擎,都不同程度的使用了各種形式的個性化推薦技術,幫助用戶快速找到他們想要的信息。PaddleRec 包含的模型如下。
智能語音PaddleSpeech
PaddleSpeech 包含語音識別和語音合成相關的模型。
如果您想詳細了解更多飛槳 PaddlePaddle 的相關內容,請參閱以下文檔。
官網地址:
https://www.paddlepaddle.org.cn/
項目地址:
https://github.com/PaddlePaddle/models