計算機視覺八大任務全概述:PaddlePaddle工程師詳解熱門視覺模型

2021-02-13 量子位
本文轉載自 PaddlePaddle 微信公眾號

編者按:

來自百度的深度學習工程師,圍繞計算機視覺領域的八大任務,包括:圖像分類、目標檢測、圖像語義分割、場景文字識別、圖像生成、人體關鍵點檢測、視頻分類、度量學習等,進行了較為詳細的綜述並形成此文。

這篇綜述中,介紹了這些任務的基本情況,以及目前的技術進展、主要的模型和性能對比等。而且還逐一附上了GitHub傳送門,用於更進一步的學習與安裝實踐指南。其中不少教程還是用中文寫成,非常友好。

總之,這篇綜述全程乾貨,推薦收藏閱讀。

上篇

計算機視覺(Computer Vision)是研究如何使機器「看」的科學,更進一步的說,是使用攝像機機和電腦代替人眼對目標進行識別、跟蹤和測量等的機器視覺,並通過電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。

形象地說,就是給計算機安裝上眼睛(攝像機)和大腦(算法),讓計算機像人一樣去看、去感知環境。計算機視覺技術作為人工智慧的重要核心技術之一,已廣泛應用於安防、金融、硬體、營銷、駕駛、醫療等領域。本文上篇中,我們將介紹基於PaddlePaddle的四種計算機視覺技術及其相關的深度學習模型。

一、圖像分類

圖像分類是根據圖像的語義信息對不同類別圖像進行區分,是計算機視覺中重要的基礎問題,是物體檢測、圖像分割、物體跟蹤、行為分析、人臉識別等其他高層視覺任務的基礎。

圖像分類在許多領域都有著廣泛的應用。如:安防領域的人臉識別和智能視頻分析等,交通領域的交通場景識別,網際網路領域基於內容的圖像檢索和相冊自動歸類,醫學領域的圖像識別等。

得益於深度學習的推動,圖像分類的準確率大幅度提升。在經典的數據集ImageNet上,訓練圖像分類任務常用的模型,包括AlexNet、VGG、GoogLeNet、ResNet、Inception-v4、MobileNet、MobileNetV2、DPN(Dual Path Network)、SE-ResNeXt、ShuffleNet等。

△ AlexNet 

△ VGG

△ GoogLeNet

△ ResNet

△ Inception-v4

△ MobileNet

△ SE-ResNeXt

△ ShuffleNet 

模型的結構和複雜程度都不一樣,最終得到的準確率也有所區別。下面這個表格中,列出了在ImageNet 2012數據集上,不同模型的top-1/top-5驗證準確率。

△ 圖像分類系列模型評估結果

在我們的GitHub頁面上,提供上述與訓練模型的下載。以及詳細介紹了如何使用PaddlePaddle Fluid進行圖像分類任務。包括安裝、數據準備、模型訓練、評估等等全部過程。還有將Caffe模型轉換為PaddlePaddle Fluid模型配置和參數文件的工具。

上述頁面的傳送門在此:

https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleCV/image_classification

二、目標檢測

目標檢測任務的目標是給定一張圖像或是一個視頻幀,讓計算機找出其中所有目標的位置,並給出每個目標的具體類別。

對於人類來說,目標檢測是一個非常簡單的任務。然而,計算機能夠「看到」的是圖像被編碼之後的數字,很難解圖像或是視頻幀中出現了人或是物體這樣的高層語義概念,也就更加難以定位目標出現在圖像中哪個區域。

與此同時,由於目標會出現在圖像或是視頻幀中的任何位置,目標的形態千變萬化,圖像或是視頻幀的背景千差萬別,諸多因素都使得目標檢測對計算機來說是一個具有挑戰性的問題。

在目標檢測任務中,我們主要介紹如何基於PASCAL VOC、MS COCO數據訓練通用物體檢測模型,包括SSD模型、PyramidBox模型、R-CNN模型。

SSD模型,Single Shot MultiBox Detector,是一種單階段的目標檢測器。與兩階段的檢測方法不同,單階段目標檢測並不進行區域推薦,而是直接從特徵圖回歸出目標的邊界框和分類概率。SSD 運用了這種單階段檢測的思想,並且對其進行改進:在不同尺度的特徵圖上檢測對應尺度的目標,是目標檢測領域較新且效果較好的檢測算法之一,具有檢測速度快且檢測精度高的特點。

△ SSD目標檢測模型結構

△ SSD目標檢測可視化

△ 目標檢測SSD模型評估結果

在GitHub上,我們更詳細的介紹了如何下載、訓練、使用這一模型。

傳送門在此:

https://github.com/PaddlePaddle/models/blob/develop/fluid/PaddleCV/object_detection

PyramidBox模型,百度自主研發的人臉檢測模型,是一種語境輔助的單次人臉檢測新方法,能夠解決在不受控制的環境中檢測小的、模糊的及部分遮擋的人臉時的問題,模型於18年3月份在WIDER Face數據集上取得第一名。

△ Pyramidbox 人臉檢測模型 

△ Pyramidbox 預測可視化

△ PyramidBox模型評估結果

如果想進一步了解這個模型,傳送門在此(而且是全中文指導):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/face_detection

R-CNN系列模型,區域卷積神經網絡(R-CNN)系列模型是典型的兩階段目標檢測器,相較於傳統提取區域的方法,R-CNN中RPN網絡通過共享卷積層參數大幅提高提取區域的效率,並提出高質量的候選區域。Faster R-CNN和Mask R-CNN是R-CNN系列的典型模型。

Faster R-CNN 區域生成網絡(RPN)+Fast R-CNN的實現,將候選區域生成、特徵提取、分類、位置精修統一到一個深度網絡框架,大大提高運行速度。

Mask R-CNN在原有Faster R-CNN模型基礎上添加分割分支,得到掩碼結果,實現了掩碼和類別預測關係的解藕,是經典的實例分割模型。

△ Faster R-CNN 結構

 

△ Faster R-CNN 預測可視化

△ Mask R-CNN結構 

△ Mask R-CNN 預測可視化

△ Faster R-CNN評估結果

△ Mask R-CNN評估結果

同樣,如果你想進一步學習R-CNN安裝、準備、訓練等,可以前往下面這個傳送門:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/rcnn

三、圖像語義分割

圖像語意分割,顧名思義是將圖像像素按照表達的語義含義的不同進行分組/分割。

圖像語義是指對圖像內容的理解,例如,能夠描繪出什麼物體在哪裡做了什麼事情等,分割是指對圖片中的每個像素點進行標註,標註屬於哪一類別。近年來用在無人車駕駛技術中分割街景來避讓行人和車輛、醫療影像分析中輔助診斷等。

分割任務主要分為實例分割和語義分割,實例分割是物體檢測加上語義分割的綜合體,上文介紹的Mask R-CNN是實例分割的經典網絡結構之一。在圖像語義分割任務中,我們主要介紹兼顧準確率和速度的ICNet,DeepLab中最新、執行效果最好的DeepLab v3+。

DeepLab v3+,DeepLab語義分割系列網絡的最新作,通過encoder-decoder進行多尺度信息的融合,同時保留了原來的空洞卷積和ASSP層, 其骨幹網絡使用了Xception模型,提高了語義分割的健壯性和運行速率,在 PASCAL VOC 2012 dataset取得新的state-of-art performance,89.0mIOU。

△ DeepLab v3+ 基本結構

△ DeepLab v3+ 評估結果

照例,GitHub傳送門在此(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/deeplabv3%2B

ICNet,Image Cascade Network,主要用於圖像實時語義分割,主要思想是將輸入圖像變換為不同的解析度,然後用不同計算複雜度的子網絡計算不同解析度的輸入,然後將結果合併。ICNet由三個子網絡組成,計算複雜度高的網絡處理低解析度輸入,計算複雜度低的網絡處理解析度高的網絡,通過這種方式在高解析度圖像的準確性和低複雜度網絡的效率之間獲得平衡。

△ ICNet網絡結構

△ ICNet可視化

△ ICNet評估結果

進一步上手實踐的傳送門在此(也是中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/icnet

四、場景文字識別

許多場景圖像中包含著豐富的文本信息,對理解圖像信息有著重要作用,能夠極大地幫助人們認知和理解場景圖像的內容。場景文字識別是在圖像背景複雜、解析度低下、字體多樣、分布隨意等情況下,將圖像信息轉化為文字序列的過程,可認為是一種特別的翻譯過程:將圖像輸入翻譯為自然語言輸出。場景圖像文字識別技術的發展也促進了一些新型應用的產生,如通過自動識別路牌中的文字幫助街景應用獲取更加準確的地址信息等。

在場景文字識別任務中,我們介紹如何將基於CNN的圖像特徵提取和基於RNN的序列翻譯技術結合,免除人工定義特徵,避免字符分割,使用自動學習到的圖像特徵,完成字符識別。這裡主要介紹CRNN-CTC模型和基於注意力機制的序列到序列模型。

CRNN-CTC模型,採取CNN+RNN+CTC架構,卷積層使用CNN,從輸入圖像中提取特徵序列、循環層使用RNN,預測從卷積層獲取的特徵序列的標籤(真實值)分布、轉錄層使用CTC,把從循環層獲取的標籤分布通過去重整合等操作轉換成最終的識別結果。

基於注意力機制的序列到序列模型,提出了基於attention機制的文本識別方法,不需要檢測,直接輸入圖片進行識別,對於識別字符類別數很少的場景很實用,例如車牌識別、自然場景圖片的主要關鍵詞提取等。同時也不要求識別文本必須單行排列,雙行排列,多行排列都可以。在訓練過程中則不需要文本框的標註,訓練數據的收集變得很方便。

△ CRNN-CTC模型結構

△ 基於注意力機制的序列到序列模型結構

△ OCR模型評估結果

GitHub傳送門在此(中文友好): 

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/ocr_recognition

下篇

上篇中我們介紹了計算機視覺技術在圖像分類、目標檢測、圖像語義分割、場景文字識別四大基本任務場景下,如何幫助計算機從單個或者一系列的圖片中提取分析和理解的關鍵信息。當下,視頻在人們生活中越來越重要,伴隨著技術成熟度的提高,計算機視覺技術的突破也從靜態圖像識別的「看到」轉向了視頻理解的「看懂」。

接下來,我們一起探索基於PaddlePaddle的圖像生成、人體關鍵點檢測、視頻分類相關的深度學習模型。

一、圖像生成

圖像生成是指根據輸入向量,生成目標圖像。這裡的輸入向量可以是隨機的噪聲或用戶指定的條件向量。具體的應用場景有:手寫體生成、人臉合成、風格遷移、圖像修復、超分重建等。當前的圖像生成任務主要是藉助生成對抗網絡(GAN)來實現。

生成對抗網絡(GAN)由兩種子網絡組成:生成器和識別器。生成器的輸入是隨機噪聲或條件向量,輸出是目標圖像。識別器是一個分類器,輸入是一張圖像,輸出是該圖像是否是真實的圖像。在訓練過程中,生成器和識別器通過不斷的相互博弈提升自己的能力。

在圖像生成任務中,我們主要介紹如何使用DCGAN和ConditioanlGAN來進行手寫數字的生成,另外還介紹了用於風格遷移的CycleGAN。

ConditioanlGAN,顧名思義是帶條件約束的生成對抗模型,它在生成模型和判別模型的建模中均引入了額外的條件變量,對於生成器對數據的生成具有指導作用。ConditioanlGAN是把無監督的GAN變成有監督模型的改進,為後續的工作提供了指導作用。

△ ConditioanlGAN結構

△ ConditioanlGAN預測效果圖

傳送門(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/gan/c_gan

DCGAN,為了填補CNN在監督學習和無監督學習之間的gap,此篇論文提出了將CNN和GAN結合的DCGAN(深度卷積生成對抗網絡),並且DCGAN在無監督學習中取得不錯的結果。

 DCGAN結構

△ DCGAN預測效果圖

傳送門(中文):

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/gan/c_gan

CycleGAN,將一類圖片轉換成另一類圖片。傳統的 GAN 是單向生成,CycleGAN 是互相生成,本質上是兩個鏡像對稱的GAN,構成了一個環形網絡,所以命名為 Cycle。風格遷移類任務一般都需要兩個域中具有相同內容的成對圖片作為訓練數據,CycleGAN的創新點就在於其能夠在沒有成對訓練數據的情況下,將圖片內容從源域遷移到目標域。

△ CycleGAN 結構

△ CycleGAN預測可視化

傳送門(中文): 

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/gan/cycle_gan

二、人體關鍵點檢測

人體關鍵點檢測,通過人體關鍵節點的組合和追蹤來識別人的運動和行為,對於描述人體姿態,預測人體行為至關重要,是諸多計算機視覺任務的基礎,例如動作分類,異常行為檢測,以及自動駕駛等等,也為遊戲、視頻等提供新的交互方式。

在人體關鍵點檢測任務中,我們主要介紹網絡結構簡單的coco2018關鍵點檢測項目的亞軍方案。

Simple Baselines for Human Pose Estimation in Fluid,coco2018關鍵點檢測項目的亞軍方案,沒有華麗的技巧,僅僅是在ResNet中插入了幾層反卷積,將低解析度的特徵圖擴張為原圖大小,以此生成預測關鍵點需要的Heatmap。沒有任何的特徵融合,網絡結構非常簡單,但是達到了state of the art效果。

△ 視頻Demo: Bruno Mars - That’s What I Like [官方視頻]

△ Simple Baselines for Human Pose Estimation in Fluid 評估結果

GitHub傳送門:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/human_pose_estimation

三、視頻分類

視頻分類是視頻理解任務的基礎,與圖像分類不同的是,分類的對象不再是靜止的圖像,而是一個由多幀圖像構成的、包含語音數據、包含運動信息等的視頻對象,因此理解視頻需要獲得更多的上下文信息,不僅要理解每幀圖像是什麼、包含什麼,還需要結合不同幀,知道上下文的關聯信息。

視頻分類方法主要包含基於卷積神經網絡、基於循環神經網絡、或將這兩者結合的方法。

在視頻分類任務中,我們主要介紹視頻分類方向的多個主流領先模型,其中Attention LSTM,Attention Cluster和NeXtVLAD是比較流行的特徵序列模型,TSN和StNet是兩個End-to-End的視頻分類模型。

Attention LSTM模型速度快精度高,NeXtVLAD是2nd-Youtube-8M比賽中最好的單模型, TSN是基於2D-CNN的經典解決方案。Attention Cluster和StNet是百度自研模型,分別發表於CVPR2018和AAAI2019,是Kinetics600比賽第一名中使用到的模型。

Attention Cluster模型為ActivityNet Kinetics Challenge 2017中最佳序列模型,通過帶Shifting Opeation的Attention Clusters處理已抽取好的RGB、Flow、Audio數據。

△ Attention Cluster模型結構

Attention LSTM 模型,採用了雙向長短記憶網絡(LSTM),將視頻的所有幀特徵依次編碼。與傳統方法直接採用LSTM最後一個時刻的輸出不同,該模型增加了一個Attention層,每個時刻的隱狀態輸出都有一個自適應權重,然後線性加權得到最終特徵向量。

△ Attention LSTM 模型結構

NeXtVLAD模型,第二屆Youtube-8M視頻理解競賽中效果最好的單模型,提供了一種將楨級別的視頻特徵轉化並壓縮成特徵向量,以適用於大尺寸視頻文件的分類的方法。其基本出發點是在NetVLAD模型的基礎上,將高維度的特徵先進行分組,通過引入attention機制聚合提取時間維度的信息,這樣既可以獲得較高的準確率,又可以使用更少的參數量。

△ NeXtVLAD模型結構

StNet模型,框架為ActivityNet Kinetics Challenge 2018中奪冠的基礎網絡框架,提出「super-image」的概念,在super-image上進行2D卷積,建模視頻中局部時空相關性。另外通過temporal modeling block建模視頻的全局時空依賴,最後用一個temporal Xception block對抽取的特徵序列進行長時序建模。

△ StNet模型結構

Temporal Segment Network (TSN) ,視頻分類領域經典的基於2D-CNN的解決方案,主要解決視頻的長時間行為判斷問題,通過稀疏採樣視頻幀的方式代替稠密採樣,既能捕獲視頻全局信息,也能去除冗餘,降低計算量。最終將每幀特徵平均融合後得到視頻的整體特徵,並用於分類。

△ TSN模型結構

△ 基於Youtube-8M數據集的視頻分類模型 評估結果

△ 基於Kinetics數據集的視頻分類模型 評估結果

這部分的詳情,可以移步GitHub,全程中文。傳送門:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/video

四、度量學習

度量學習也稱作距離度量學習、相似度學習,通過學習對象之間的距離,度量學習能夠用於分析對象時間的關聯、比較關係,在實際問題中應用較為廣泛,可應用於輔助分類、聚類問題,也廣泛用於圖像檢索、人臉識別等領域。

以往,針對不同的任務,需要選擇合適的特徵並手動構建距離函數,而度量學習可根據不同的任務來自主學習出針對特定任務的度量距離函數。度量學習和深度學習的結合,在人臉識別/驗證、行人再識別(human Re-ID)、圖像檢索等領域均取得較好的性能,在這個任務中我們主要介紹基於Fluid的深度度量學習模型,包含了三元組、四元組等損失函數。

△ 度量學習模型 評估結果

GitHub的頁面上有安裝、準備、訓練等方面的指導,傳送門:

https://github.com/PaddlePaddle/models/tree/develop/fluid/PaddleCV/metric_learning

量子位AI社群開始招募啦,量子位社群分:AI討論群、AI+行業群、AI技術群;

歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字「微信群」,獲取入群方式。(技術群與AI+行業群需經過審核,審核較嚴,敬請諒解)

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

相關焦點

  • PaddlePaddle入門:從對話系統中的情感分析談起
    若你正好是開發該智能導購機器人的算法工程師,應該怎樣應對這種情況呢? 為了展現paddle使用的靈活性以及便捷性,本文將使用三種模型來解決情感分析。3.3.2 模型搭建paddle中一個模型的搭建需要完成從數據到輸出整個網絡的定義。本文所選的三種模型均可以由神經網絡模型來表示,只是在隱層(hidden layer)以及全連接層(full connected layer)有所區別而已。
  • 快到沒朋友的YOLO v3有了PaddlePaddle 預訓練模型
    我們將在下文中為大家詳解實現的具體過程。 CV領域的核心問題之一就是目標檢測(object detection),它的任務是找出圖像當中所有感興趣的目標(物體),確定其位置和大小(包含目標的矩形框)並識別出具體是哪個對象。Faster R-CNN及在其基礎上改進的Mask R-CNN在實例分割、目標檢測、人體關鍵點檢測等任務上都取得了很好的效果,但通常較慢。
  • 深度學習與PaddlePaddle的應用-個性化推薦
    目標函數的優化使用線性回歸模型,對何:個用戶而言,該線性回歸模型的成本函數為預測誤差(預測評分和真實評分的差值)的平方和,再加上正則化項:構建一個推薦系統,需要預測所有用戶對不同電影的喜好,因此推薦系統需要學習優化所有用戶的電影類型喜好參數 向量,推薦系統模型的全局成本函$等於毎個用戶對應的線性回歸模型$成$函數之和:
  • PaddlePaddle 2.0.0 Beta 發布,API 體系升級,命令式編程完善
    paddle.nn 跟組網相關的API,比如:Linear, Conv2d,損失函數,卷積,LSTM等,激活函數等 paddle.static.nn 靜態圖下組網專用API,比如:輸入佔位符data, 全連接層fc, 控制流while_loop/
  • 【深度學習系列】用PaddlePaddle和Tensorflow實現經典CNN網絡GoogLeNet
    點擊上圖,立即開啟AI急速修煉作者:Charlotte    高級算法工程師 ,博客專家;擅長用通俗易懂的方式講解深度學習和機器學習算法三個月教你從零入門深度學習【深度學習系列】PaddlePaddle之手寫數字識別【深度學習系列】卷積神經網絡CNN原理詳解(一)——基本原理【深度學習系列】PaddlePaddle之數據預處理  【深度學習系列】卷積神經網絡詳解(二)——自己手寫一個卷積神經網絡  【深度學習系列】用PaddlePaddle和Tensorflow進行圖像分類
  • 23個系列分類網絡,10萬分類預訓練模型,這是飛槳PaddleClas百寶箱
    機器之心機器之心發布機器之心編輯部如何訓練出優秀的圖像分類模型?飛槳圖像分類套件 PaddleClas 來助力。今天咱們來聊聊計算機視覺領域最核心的技術之一——圖像分類。
  • 一行命令啟動,十分鐘完成部署,PaddleServing開放模型即服務功能
    總的來說,Paddle Serving 具有如下四大特點:簡單易用:為了讓使用飛槳的用戶能夠以極低的成本部署模型,Paddle Serving 設計了一套與飛槳開源框架無縫打通的預測部署 API。對於不需要較為複雜的數據預處理過程的普通模型來說,每一位模型算法工程師僅使用一行命令就可以輕鬆部署自己的模型服務。
  • 【深度學習系列】關於PaddlePaddle的一些避「坑」技巧
    點擊上圖,立即開啟AI急速修煉作者:Charlotte    高級算法工程師 ,博客專家;擅長用通俗易懂的方式講解深度學習和機器學習算法博客專欄:https://www.cnblogs.com/charlotte77/前文傳送門:【好書推薦&學習階段】三個月教你從零入門深度學習【深度學習系列】PaddlePaddle之手寫數字識別【深度學習系列】卷積神經網絡CNN原理詳解(一)——基本原理【深度學習系列】PaddlePaddle之數據預處理
  • 用PaddlePaddle 和 Tensorflow 實現經典 CNN 網絡 GoogLeNet
    不過尷尬的是,現在的計算機體系結構更善於稠密數據的計算,而在非均勻分布的稀疏數據上的計算效率極差,比如稀疏性會導致的緩存 miss 率極高,於是需要一種方法既能發揮稀疏網絡的優勢又能保證計算效率。像 NIN 一樣使用 Global Average Pooling,使得 Top 1 準確率提高 0.6%,但由於 GAP 與類別數目有關係,為了方便大家做模型 fine-tuning,最後加了一個全連接層;與前面的 ResNet 類似,實驗觀察到,相對淺層的神經網絡層對模型效果有較大的貢獻,訓練階段通過對 Inception(4a、4d) 增加兩個額外的分類器來增強反向傳播時的梯度信號
  • PaddlePaddle深度學習開源平臺:等待眾人划槳的中國AI大船
    PaddlePaddle當然也是這樣,它有自己一套較為詳實的輔助材料:http://www.paddlepaddle.org/ 單從文檔形態的角度,相較於TensorFlow和keras的中文文檔基本是愛好者翻譯而成,paddle的文檔來自於百度一線的工程師,多少會覺得親切和信賴稍多一些不?
  • 【深度學習系列】用PaddlePaddle和Tensorflow實現經典CNN網絡AlexNet
    F6全連接層該層為全連接層 + Dropout 使用4096個節點; 激活函數:採用ReLU; 採用參數為0.5的Dropout操作 最終輸出數據為4096個神經元節點。  F7全連接層該層為全連接層 + Dropout 使用4096個節點; 激活函數:採用ReLU; 採用參數為0.5的Dropout操作 最終輸出為4096個神經元節點。
  • 乘風破浪的Paddle之LSTM
    自然語言處理(NLP)主要是研究實現人與計算機之間用自然語言進行有效通信的各種理論和方法。基於神經網絡的深度學習技術具有強大的表達能力、端到端解決問題的能力,因而在NLP任務的應用上越來越廣泛和有效。長短期記憶網絡是一種時間循環神經網絡,是為了解決一般的RNN存在的長期依賴問題而專門設計出來的,所有的RNN都具有一種重複神經網絡模塊的鏈式形式。
  • PaddlePaddle升級解讀 | PaddleHub輕鬆完成遷移學習
    遷移學習(Transfer Learning)是屬於深度學習的一個子研究領域,該研究領域的目標在於利用數據、任務、或模型之間的相似性,將在舊領域學習過的知識,遷移應用於新領域中。任務中包含了執行該任務相關的program以及和任務相關的一些度量指標(如分類準確率accuracy、precision、 recall、 F1-score等)、模型損失等。運行配置 RunConfig:在PaddleHub中,RunConfig代表了在對Task進行Fine-tune時的運行配置。包括運行的epoch次數、batch的大小、是否使用GPU訓練等。
  • 雲腦科技-實習僧文本匹配模型及基於百度PaddlePaddle的應用
    作者簡介:李瀚立,本科畢業於武漢大學數學與統計學院,普渡大學統計碩士,達特茅斯學院計算機碩士。曾就職於 Amazon AWS,IBM Cloud。現為雲腦科技算法團隊成員。1.對一個由 n 個詞組成的語句,傳統語言模型通過對條件概率進行建模,來估計整個語句的概率分布:然而很多時候稀疏的數據,對上下文長度有限的覆蓋,離散的概率分布空間局限了傳統語言模型的效果。在深度學習中,基於詞向量和循環神經網絡 (RNN) 的語言模型很好的解決了這些問題。
  • 基於PaddlePaddle的圖片分類實戰 | 深度學習基礎任務教程系列
    圖像相比文字能夠提供更加生動、容易理解及更具藝術感的信息,圖像分類是根據圖像的語義信息將不同類別圖像區分開來,是圖像檢測、圖像分割、物體跟蹤、行為分析等其他高層視覺任務的基礎。圖像分類在安防、交通、網際網路、醫學等領域有著廣泛的應用。
  • 深度學習系列:PaddlePaddle之手寫數字識別
    上周在搜索關於深度學習分布式運行方式的資料時,無意間搜到了paddlepaddle,發現這個框架的分布式訓練方案做的還挺不錯的,想跟大家分享一下。不過呢,這塊內容太複雜了,所以就簡單的介紹一下paddlepaddle的第一個「hello word」程序----mnist手寫數字識別。下一次再介紹用PaddlePaddle做分布式訓練的方案。
  • 深度學習CPU加速方案,飛槳全流程開發工具PaddleX 打通OpenVINO...
    飛槳全流程開發工具PaddleX,在打通深度學習全流程開發的基礎上,為產業開發者提供了多種高性能部署方案及詳細的示例工程。  事不宜遲,讓我帶您快速了解一下這套方案吧!目前,飛槳已凝聚超230萬開發者,服務企業9萬家,基於飛槳開源深度學習平臺產生了31萬個模型 。  而PaddleX 是飛槳產品矩陣中的一個重要工具組件,它提供了一套極其易用的開發方案,使開發者可以快速完成多種計算機視覺算法的開發、優化、並實現高效部署上線。
  • 基於PaddlePaddle的詞向量實戰 | 深度學習基礎任務教程系列(二)
    為了做這樣的比較,我們往往把詞表示成計算機適合處理的方式。最自然的方式莫過於向量空間模型(vector space model)。在這種方式裡,每個詞被表示成一個實數向量(one-hot vector),其長度為字典大小,每個維度對應一個字典裡的每個詞,除了這個詞對應維度上的值是1,其他元素都是0。One-hot vector雖然自然,但是用處有限。
  • 從零學Paddle系列-1 Paddle框架CNN相關API詳解
    x = fluid.layers.dropout(x, 0.5)Linear這是全連接層的 下面我們介紹細粒度更高的API系列paddle.fluid.layerspaddle.fluid.layerselement_wise_add(sub/mul/div/max等等)這是對應元素操作系列,包含加減乘除 你可以使用這個api,也可以直接使用運算符+ - ,paddle已經重載了運算符 參數如下 - x 多維tensor - y 多維tensor
  • 教程| 如何用百度深度學習框架PaddlePaddle做數據預處理
    本文作者胡曉曼是一名高級算法工程師,熱衷寫通俗易懂的深度學習入門文章。的操作都會很耗時,如果採取這種方式的話,我們可以對某些同一類的特徵做成一張表,數據存放的地址存為一個變量名,每次跑模型的時候想選取幾類特徵,就創建幾個 reader,用 reader decorator 組合起來,最後再 shuffle 灌倒模型裡去訓練。