自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10 大深度學(xué)習(xí)架構(gòu):計(jì)算機(jī)視覺優(yōu)秀從業(yè)者必備(附代碼實(shí)現(xiàn))

開發(fā) 開發(fā)工具
本文包括深度學(xué)習(xí)領(lǐng)域的最新進(jìn)展、keras 庫中的代碼實(shí)現(xiàn)以及論文鏈接。為保證文章簡明,我只總結(jié)了計(jì)算機(jī)視覺領(lǐng)域的成功架構(gòu)。

近日,F(xiàn)aizan Shaikh 在 Analytics Vidhya 發(fā)表了一篇題為《10 Advanced Deep Learning Architectures Data Scientists Should Know!》的文章,總結(jié)了計(jì)算機(jī)視覺領(lǐng)域已經(jīng)成效卓著的 10 個(gè)深度學(xué)習(xí)架構(gòu),并附上了每篇論文的地址鏈接和代碼實(shí)現(xiàn)。

時(shí)刻跟上深度學(xué)習(xí)領(lǐng)域的最新進(jìn)展變的越來越難,幾乎每一天都有創(chuàng)新或新應(yīng)用。但是,大多數(shù)進(jìn)展隱藏在大量發(fā)表的 ArXiv / Springer 研究論文中。

為了時(shí)刻了解最新動(dòng)態(tài),我們創(chuàng)建了一個(gè)閱讀小組,在 Analytics Vidhya 內(nèi)部分享學(xué)習(xí)成果。我想和大家分享的是一項(xiàng)關(guān)于研究社區(qū)開發(fā)出的高級(jí)架構(gòu)的調(diào)查。

本文包括深度學(xué)習(xí)領(lǐng)域的最新進(jìn)展、keras 庫中的代碼實(shí)現(xiàn)以及論文鏈接。為保證文章簡明,我只總結(jié)了計(jì)算機(jī)視覺領(lǐng)域的成功架構(gòu)。

什么是高級(jí)架構(gòu)?

相比于單一的傳統(tǒng)機(jī)器學(xué)習(xí)算法,深度學(xué)習(xí)算法由多樣化的模型組成;這是由于神經(jīng)網(wǎng)絡(luò)在構(gòu)建一個(gè)完整的端到端的模型時(shí)所提供的靈活性。

神經(jīng)網(wǎng)絡(luò)有時(shí)可比作樂高塊,借助想象力你幾乎可以用它建構(gòu)從簡單到復(fù)雜的任何結(jié)構(gòu)。

高級(jí)架構(gòu)

我們可以把高級(jí)架構(gòu)定義為一個(gè)具有良好記錄的成功模型;這主要見于挑戰(zhàn)賽中,比如 ImageNet,其中你的任務(wù)是借助給定的數(shù)據(jù)解決圖像識(shí)別等問題。

正如下文所描述的每一個(gè)架構(gòu),其中每一個(gè)都與常見的模型有細(xì)微不同,在解決問題時(shí)這成了一種優(yōu)勢。這些架構(gòu)同樣屬于「深度」模型的范疇,因此有可能比淺層模型表現(xiàn)更好。

計(jì)算機(jī)視覺任務(wù)的類型

本文主要聚焦于計(jì)算機(jī)視覺,因此很自然地描述了計(jì)算機(jī)視覺任務(wù)的分類。顧名思義,計(jì)算機(jī)視覺即通過創(chuàng)建人工模型來模擬本由人類執(zhí)行的視覺任務(wù)。其本質(zhì)是人類的感知與觀察是一個(gè)過程,它可在人工系統(tǒng)中被理解和實(shí)現(xiàn)。

計(jì)算機(jī)視覺任務(wù)的主要類型如下:

  • 物體識(shí)別/分類:在物體識(shí)別中,給出一張?jiān)紙D像,你的任務(wù)是識(shí)別出該圖像屬于哪個(gè)類別。
  • 分類+定位:如果圖像中只有一個(gè)物體,你的任務(wù)是找到該物體在圖像中的位置,一個(gè)更專業(yè)的稱謂是定位。
  • 物體檢測:在物體檢測中,你的任務(wù)是找到圖像中多個(gè)物體的各自位置。這些物體可能屬于同一類別,或者各自不同。
  • 圖像分割:圖像分割是一個(gè)稍微復(fù)雜的任務(wù),其目標(biāo)是將每一個(gè)像素映射到正確的分類。

計(jì)算機(jī)視覺任務(wù)的類型

深度學(xué)習(xí)架構(gòu)清單

現(xiàn)在我們明白了什么是高級(jí)架構(gòu),并探討了計(jì)算機(jī)視覺的任務(wù)分類,現(xiàn)在讓我們列舉并描述一下最重要的深度學(xué)習(xí)架構(gòu)吧。

1. AlexNet

AlexNet 是首個(gè)深度架構(gòu),它由深度學(xué)習(xí)先驅(qū) Geoffrey Hinton 及其同僚共同引入。AlexNet 是一個(gè)簡單卻功能強(qiáng)大的網(wǎng)絡(luò)架構(gòu),為深度學(xué)習(xí)的開創(chuàng)性研究鋪平了道路。下圖是論文作者提出架構(gòu)的示圖。

架構(gòu)的示圖

如圖所示,分解后的 AlexNet 像是一個(gè)簡單的架構(gòu),卷積層和池化層層疊加,最上層是全連接層。這是一個(gè)非常簡單的架構(gòu),其早在 80 年代就已被概念化。但是該模型的突出特征是其執(zhí)行任務(wù)的規(guī)模與使用 GPU 進(jìn)行訓(xùn)練。20 世紀(jì) 80 年代,訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用的是 CPU,而 AlexNet 借助 GPU 將訓(xùn)練提速了 10x。

論文:ImageNet Classification with Deep Convolutional Neural Networks

  • 鏈接:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf
  • 代碼實(shí)現(xiàn):https://gist.github.com/JBed/c2fb3ce8ed299f197eff

2. VGG Net

VGG 網(wǎng)絡(luò)由牛津可視化圖形組(Visual Graphics Group)開發(fā),因此其名稱為 VGG。該網(wǎng)絡(luò)的特點(diǎn)是金字塔形,與圖像最近的底層比較寬,而頂層很深。

VGG Net

如上圖所示,VGG 包含池化層之后的卷積層,池化層負(fù)責(zé)使層變窄。他們在論文中提出多個(gè)此類網(wǎng)絡(luò),不同之處在于架構(gòu)深度的變化。

VGG

VGG 的優(yōu)勢:

  • 適合在特定任務(wù)上進(jìn)行基準(zhǔn)測試。
  • VGG 的預(yù)訓(xùn)練網(wǎng)絡(luò)可在互聯(lián)網(wǎng)上免費(fèi)獲取,因此被廣泛用于各種應(yīng)用。

另一方面,它的主要缺陷在于如果從頭訓(xùn)練,則過程緩慢。即使在性能很好的 GPU 上,也需要一周多的時(shí)間才能完成訓(xùn)練。

論文:Very Deep Convolutional Networks for Large-Scale Image Recognition

  • 鏈接:https://arxiv.org/abs/1409.1556
  • 代碼實(shí)現(xiàn):https://github.com/fchollet/keras/blob/master/keras/applications/vgg16.py

3. GoogleNet

GoogleNet(或 Inception 網(wǎng)絡(luò))是谷歌研究者設(shè)計(jì)的一種架構(gòu)。GoogleNet 是 ImageNet 2014 的冠軍,是當(dāng)時(shí)最強(qiáng)大的模型。

該架構(gòu)中,隨著深度增加(它包含 22 層,而 VGG 只有 19 層),研究者還開發(fā)了一種叫作「Inception 模塊」的新型方法。

如上圖所示,它與我們之前看到的序列架構(gòu)發(fā)生了很大改變。單個(gè)層中出現(xiàn)了多種「特征抽取器(feature extractor)」。這間接地改善了該網(wǎng)絡(luò)的性能,因?yàn)樵摼W(wǎng)絡(luò)在訓(xùn)練過程中有多個(gè)選項(xiàng)可以選擇,來解決該任務(wù)。它可以選擇與輸入進(jìn)行卷積,也可以直接將其池化。

最終架構(gòu)包括堆疊在一起的多個(gè) inception 模塊。GoogleNet 的訓(xùn)練過程也有稍許不同,即最上層有自己的輸出層。這一細(xì)微差別幫助模型更快地進(jìn)行卷積,因?yàn)槟P蛢?nèi)存在聯(lián)合訓(xùn)練和層本身的并行訓(xùn)練。

GoogleNet 的優(yōu)勢在于:

  • GoogleNet 訓(xùn)練速度比 VGG 快。
  • 預(yù)訓(xùn)練 GoogleNet 的規(guī)模比 VGG 小。VGG 模型大于 500 MB,而 GoogleNet 的大小只有 96MB。

GoogleNet 本身沒有短期劣勢,但是該架構(gòu)的進(jìn)一步改變使模型性能更佳。其中一個(gè)變化是 Xception 網(wǎng)絡(luò),它增加了 inception 模塊的發(fā)散極限(我們可以從上圖中看到 GoogleNet 中有 4 個(gè) inception 模塊)。現(xiàn)在從理論上講,該架構(gòu)是無限的(因此又叫極限 inception!)。

論文:Rethinking the Inception Architecture for Computer Vision

  • 鏈接:https://arxiv.org/abs/1512.00567
  • 代碼實(shí)現(xiàn):https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py

4. ResNet

ResNet 是一個(gè)妖怪般的架構(gòu),讓我們看到了深度學(xué)習(xí)架構(gòu)能夠有多深。殘差網(wǎng)絡(luò)(ResNet)包含多個(gè)后續(xù)殘差模塊,是建立 ResNet 架構(gòu)的基礎(chǔ)。下圖是殘差模塊的表示圖:

殘差模塊的表示圖

簡言之,一個(gè)殘差模塊有兩個(gè)選擇:完成輸入端的一系列函數(shù),或者跳過此步驟。

類似于 GoogleNet,這些殘差模塊一個(gè)接一個(gè)地堆疊,組成了完整的端到端網(wǎng)絡(luò)。

ResNet 引入的新技術(shù)有:

  • 使用標(biāo)準(zhǔn)的 SGD,而非適應(yīng)性學(xué)習(xí)技術(shù)。它聯(lián)通一個(gè)合理的初始化函數(shù)(保持訓(xùn)練的完整性)做到的這一點(diǎn)。
  • 輸入預(yù)處理的變化,輸入首先被區(qū)分到圖像塊中,然后輸送到網(wǎng)絡(luò)中。

ResNet 主要的優(yōu)勢是數(shù)百,甚至數(shù)千的殘差層都能被用于創(chuàng)造一個(gè)新網(wǎng)絡(luò),然后訓(xùn)練。這不同于平常的序列網(wǎng)絡(luò),增加層數(shù)量時(shí)表現(xiàn)會(huì)下降。

論文:Deep Residual Learning for Image Recognition

  • 鏈接:https://arxiv.org/abs/1512.03385
  • 代碼實(shí)現(xiàn):https://github.com/fchollet/keras/blob/master/keras/applications/resnet50.py

5. ResNeXt

ResNeXt 據(jù)說是解決目標(biāo)識(shí)別問題的最先進(jìn)技術(shù)。它建立在 inception 和 resnet 的概念上,并帶來改進(jìn)的新架構(gòu)。下圖是對 ResNeXt 模塊中的殘差模塊的總結(jié)。

對 ResNeXt 模塊中的殘差模塊的總結(jié)

圖 1. 左:ResNet 塊。右:基數(shù)=32 的 ResNeXt 塊,復(fù)雜度大致相同。層顯示為(# in channels, filter size, # out channels)。

論文:Aggregated Residual Transformations for Deep Neural Networks

  • 鏈接:https://arxiv.org/pdf/1611.05431.pdf
  • 代碼實(shí)現(xiàn):https://github.com/titu1994/Keras-ResNeXt

6. RCNN (基于區(qū)域的 CNN)

基于區(qū)域的 CNN 架構(gòu)據(jù)說是所有深度學(xué)習(xí)架構(gòu)中對目標(biāo)檢測問題最有影響力的架構(gòu)。為了解決檢測問題,RCNN 嘗試在圖像中所有物體上畫出邊界框,然后識(shí)別圖像中的物體。工作原理如下:

 RCNN

RCNN 結(jié)構(gòu)如下:

RCNN 結(jié)構(gòu)

論文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

  • 鏈接:https://arxiv.org/abs/1506.01497
  • 代碼實(shí)現(xiàn):https://github.com/yhenon/keras-frcnn

7. YOLO (You Only Look once)

YOLO 是當(dāng)前深度學(xué)習(xí)領(lǐng)域解決圖像檢測問題最先進(jìn)的實(shí)時(shí)系統(tǒng)。如下圖所示,YOLO 首先將圖像劃分為規(guī)定的邊界框,然后對所有邊界框并行運(yùn)行識(shí)別算法,來確定物體所屬的類別。確定類別之后,yolo 繼續(xù)智能地合并這些邊界框,在物體周圍形成最優(yōu)邊界框。

這些步驟全部并行進(jìn)行,因此 YOLO 能夠?qū)崿F(xiàn)實(shí)時(shí)運(yùn)行,并且每秒處理多達(dá) 40 張圖像。

盡管相比于 RCNN 它的表現(xiàn)有所降低,但在日常實(shí)時(shí)的問題中它還是有優(yōu)勢的。下圖是 YOLO 架構(gòu)的示圖:

YOLO 架構(gòu)的示圖

論文:You Only Look Once: Unified, Real-Time Object Detection

  • 鏈接:https://pjreddie.com/media/files/papers/yolo.pdf
  • 代碼實(shí)現(xiàn):https://github.com/allanzelener/YAD2K

8. SqueezeNet

SqueeNet 架構(gòu)是在移動(dòng)平臺(tái)這樣的低寬帶場景中極其強(qiáng)大的一種架構(gòu)。這種架構(gòu)只占用 4.9 MB 的空間,而 Inception 架構(gòu)大小為 100MB。這種巨大的差距由一種名為 Fire Module 的特殊結(jié)構(gòu)引起。下圖是 Fire Module 的表示圖:

Fire Module 的表示圖

SqueezeNet 的完整架構(gòu)如下:

SqueezeNet 的完整架構(gòu)

論文:SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE

  • 鏈接:https://arxiv.org/abs/1602.07360
  • 代碼實(shí)現(xiàn):https://github.com/rcmalli/keras-squeezenet

9. SegNet

SegNet 是一個(gè)用于解決圖像分割問題的深度學(xué)習(xí)架構(gòu)。它包含處理層(編碼器)序列,之后是對應(yīng)的解碼器序列,用于分類像素。下圖是 SegNet 解析圖:

SegNet 解析圖

SegNet 的一個(gè)主要特征是在編碼器網(wǎng)絡(luò)的池化指標(biāo)與解碼器網(wǎng)絡(luò)的池化指標(biāo)連接時(shí),分割圖像保留高頻細(xì)節(jié)。簡言之,直接進(jìn)行信息遷移,而非卷積它們。在處理圖像分割問題時(shí),SgeNet 是最好的模型之一。

論文:SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

  • 鏈接:https://arxiv.org/abs/1511.00561
  • 代碼實(shí)現(xiàn):https://github.com/imlab-uiip/keras-segnet

10. GAN

GAN 是神經(jīng)網(wǎng)絡(luò)架構(gòu)中完全不同的類別。GAN 中,一種神經(jīng)網(wǎng)絡(luò)用于生成全新的、訓(xùn)練集中未曾有過的圖像,但卻足夠真實(shí)。例如,以下是 GAN 工作原理的解析圖。

GAN 工作原理的解析圖

論文:Generative Adversarial Networks

  • 鏈接:https://arxiv.org/abs/1406.2661
  • 代碼實(shí)現(xiàn):https://github.com/bstriner/keras-adversarial

原文:

https://www.analyticsvidhya.com/blog/2017/08/10-advanced-deep-learning-architectures-data-scientists/

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】

 

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2018-09-06 11:25:46

機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)人工智能

2020-07-15 07:42:12

人工智能

2017-11-24 14:32:29

反向傳播遷移學(xué)習(xí)人工智能

2011-06-13 20:44:06

SEO

2017-02-15 20:05:28

網(wǎng)絡(luò)安全工具信息安全

2010-12-01 11:44:56

IT從業(yè)者

2017-03-21 10:44:00

AI深度學(xué)習(xí)

2020-03-04 14:16:45

安全從業(yè)者甲方乙方

2024-12-20 09:14:31

2014-01-23 10:27:59

2019-08-29 11:10:34

深度學(xué)習(xí)神經(jīng)架構(gòu)人工智能

2018-02-25 05:23:11

區(qū)塊鏈求職招聘

2019-12-11 13:24:57

深度學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)軟件

2010-11-24 10:59:40

跳槽

2014-07-28 09:47:16

游戲游戲收入游戲從業(yè)

2018-11-19 07:10:04

安全從業(yè)者網(wǎng)絡(luò)安全信息安全

2009-01-12 14:47:57

經(jīng)濟(jì) 互聯(lián)網(wǎng)

2015-06-24 14:29:07

PaaSPaaS困境

2017-01-03 14:43:52

大數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)分析

2021-03-29 11:52:08

人工智能深度學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)