深度學習演算法有多種多樣化的模型組成,這是由於神經網路在構建乙個完整的端到端的模型時所提供的靈活性。1.定義:通過建立人工模型來由人類執行的視覺任務。其本質是人類的感知與觀察是乙個過程,它可在人工系統中被理解和實現。
2.計算機視覺任務的主要型別:
1)物體識別/分類:在物體識別中,給出一張原始影象,你的任務就是識別出該影象屬於哪個類別。
2)分類+定位:如果影象中只有乙個物體,你的任務是找到該物體在影象中的位置,乙個更專業的稱為是定位。
3)物體檢測:在物體檢測中,你的任務是找到影象中多個位置的各自位置,這些物體可能屬於同一型別,或者各自不同。
4)影象分割:影象分割是乙個稍微複雜的任務,其目標是將每乙個畫素對映到正確的分類。
以上的特徵如下如所示:
首個深度學習框架,alenet是乙個簡單的框架,卷積層和池化層層層疊加,最上層是全連線層,這是乙個非常簡單的架構。
資料查詢:
1) **:imagenet classification with deep convolutional neural networks
3)**實現:
網路特點是:金字塔型,與影象的最近底層比較寬,而頂層很深。
網路架構:
vgg 包含池化層之後的卷積層,池化層負責使層變窄。他們在**中提出多個此類網路,不同之處在於架構深度的變化。
vgg net網路的優勢:
vgg 網路缺陷:
-從開始進行訓練,過程緩慢,在效能較好的gpu上進行訓練,也需要一周的時間才能完成。
資料查詢:
1)**:very deep convolutional networks for large-scale image recognition
goolener(或 inception 網路)是谷歌研究者設計的一種架構。googlenet 是 imagenet 2014 的冠軍,是當時最強大的模型。深度進一步增加,共有22層,vgg net有19層。
特點:單層出現了多種[特徵抽取器(feature extractor)],這間接的改善了網路的效能,因為該網路在訓練過程中,有多個選項可以選擇,來解決該任務。他可以選擇輸入進行卷積,也可以直接將其池化。
最終架構包括堆疊在一起的多個 inception 模組。googlenet 的訓練過程也有稍許不同,即最上層有自己的輸出層。這一細微差別幫助模型更快地進行卷積,因為模型內存在聯合訓練和層本身的並行訓練。
goolenet 的優勢
1)googlenet訓練速度比vgg快。
2)預訓練goolenet 的規模比vgg小,vgg規模大於500mb,而goolenet的大小只有96mb。
googlenet 本身沒有短期劣勢,但是該架構的進一步改變使模型效能更佳。其中乙個變化是 xception 網路,它增加了 inception 模組的發散極限(我們可以從上圖中看到 googlenet 中有 4 個 inception 模組)。現在從理論上講,該架構是無限的(因此又叫極限 inception!)。
資料查詢:
1)**:rethinking the inception architecture for computer vision
resnet(殘差網路)包括後續殘差模組,是建立resnet框架的基礎。
網路框架:
乙個殘差模組有兩個選擇:完成輸入端的一系列函式,或者跳過此步驟。
類似於 googlenet,這些殘差模組乙個接乙個地堆疊,組成了完整的端到端網路。
resnet 引入的新技術有:
-使用標準的 sgd,而非適應性學習技術。它聯通乙個合理的初始化函式(保持訓練的完整性)做到的這一點。
-輸入預處理的變化,輸入首先被區分到影象塊中,然後輸送到網路中。
resnet 主要的優勢:
甚至數千的殘差層都能被用於創造乙個新網路,然後訓練。這不同於平常的序列網路,增加層數量時表現會下降。
資料查詢:
1)**:deep residual learning for image recognition
當前解決目標識別問題的最先進技術。它建立在inception 和resnet的概念上,並帶來改進的新構架。
框架圖:
資料查詢:
1)**:aggregated residual transformations for deep neural networks
3)**實現:
基於區域的cnn架構據說是所有深度學習架構中對目標檢測問題最有影響的架構,為了解決問題,rcnn嘗試在影象所有物體上畫出邊界框,然後識別影象中的物體。工作原理如下圖所示:
faster rcnn架構圖:
資料查詢:
1)**:faster r-cnn: towards real-time object detection with region proposal networks
3)**實現:
yolo 是當前深度學習領域解決影象檢測問題最先進的實時系統。yolo首先將影象劃分為規定的邊界框,然後對所有的邊界框進行並行執行識別演算法。來確定類別之後,yolo繼續智慧型地合併這些邊界框,在物體周圍形成→最優邊界框。
資料查詢:
1)**:you only look once: unified, real-time object detection
3)**實現:
squeenet架構是在移動平台這樣的第寬頻場景中極其強大的一種架構,這種架構只占用4.9m的空間,而inception架構大小為100m,這種差距有一種名為fire module的特殊結構構成。
架構圖:
資料查詢:
1)**:squeezenet: alexnet-level accuracy with 50x fewer parameters and <0.5mb model size
3)**實現:
segnet 是乙個用於解決影象分割問題的深度學習架構。它包含處理層(編碼器)序列,之後是對應的解碼器序列,用於分類畫素。下圖是 segnet 解析圖:
segnet 的乙個主要特徵是在編碼器網路的池化指標與解碼器網路的池化指標連線時,分割影象保留高頻細節。簡言之,直接進行資訊遷移,而非卷積它們。在處理影象分割問題時,sgenet 是最好的模型之一。
資料查詢:
1)**:segnet: a deep convolutional encoder-decoder architecture for image segmentation
3)**實現:
gan 是神經網路架構中完全不同的類別。gan 中,一種神經網路用於生成全新的、訓練集中未曾有過的影象,但卻足夠真實。如下gan 工作原理的解析圖。
資料查詢:
1)**:generative adversarial networks
3)**實現:
神經網路 卷積神經網路
這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...
神經網路 卷積神經網路
1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...
卷積神經網路 基礎篇
import torch 定義輸入 輸出通道 in channels,out channels 5,10 定義影象尺寸 width,height 100,100 定義卷積核的大小,下式表示大小為3 3的正方形,同時,卷積核的通道數與輸入影象的通道數一致,均為5 kernel size 3 定義一次輸...