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