4個計算機視覺領域常用遷移學習模型

2021-03-02 OpenCV學堂

如果你試過構建高精度的機器學習模型,但還沒有試過遷移學習,這篇文章將改變你的生活。至少,對我來說是的。

我們大多數人已經嘗試過,通過幾個機器學習教程來掌握神經網絡的基礎知識。這些教程非常有助於了解人工神經網絡的基本知識,如循環神經網絡,卷積神經網絡,GANs和自編碼器。但是這些教程的主要功能是為你在現實場景中實現做準備。

現在,如果你計劃建立一個利用深度學習的人工智慧系統,你要麼(i)有一個非常大的預算用於培訓優秀的人工智慧研究人員,或者(ii)可以從遷移學習中受益。

什麼是遷移學習?

遷移學習是機器學習和人工智慧的一個分支,其目的是將從一個任務(源任務)中獲得的知識應用到一個不同但相似的任務(目標任務)中。

例如,在學習對維基百科文本進行分類時獲得的知識可以用於解決法律文本分類問題。另一個例子是利用在學習對汽車進行分類時獲得的知識來識別天空中的鳥類。這些樣本之間存在關聯。我們沒有在鳥類檢測上使用文本分類模型。

遷移學習是指從相關的已經學習過的任務中遷移知識,從而對新的任務中的學習進行改進

總而言之,遷移學習是一個讓你不必重複發明輪子的領域,並幫助你在很短的時間內構建AI應用。

遷移學習的歷史

為了展示遷移學習的力量,我們可以引用Andrew Ng的話:

遷移學習將是繼監督學習之後機器學習商業成功的下一個驅動因素

遷移學習的歷史可以追溯到1993年。Lorien Pratt的論文「Discriminability-Based Transfer between Neural Networks」打開了潘多拉的盒子,向世界介紹了遷移學習的潛力。1997年7月,「Machine Learning」雜誌發表了一篇遷移學習論文專刊。隨著該領域的深入,諸如多任務學習等相鄰主題也被納入遷移學習領域。「Learning to Learn」是這一領域的先驅書籍之一。如今,遷移學習是科技企業家構建新的人工智慧解決方案、研究人員推動機器學習前沿的強大源泉。

遷移學習是如何工作的?

實現遷移學習有三個要求:

開發開源預訓練模型

預訓練的模型是由其他人創建和訓練來解決與我們類似的問題的模型。在實踐中,幾乎總是有人是科技巨頭或一群明星研究人員。他們通常選擇一個非常大的數據集作為他們的基礎數據集,比如ImageNet或Wikipedia Corpus。然後,他們創建一個大型神經網絡(例如,VGG19有143,667,240個參數)來解決一個特定的問題(例如,這個問題用VGG19做圖像分類。)當然,這個預先訓練過的模型必須公開,這樣我們就可以利用這些模型並重新使用它們。

重用模型

在我們掌握了這些預先訓練好的模型之後,我們重新定位學習到的知識,包括層、特徵、權重和偏差。有幾種方法可以將預先訓練好的模型加載到我們的環境中。最後,它只是一個包含相關信息的文件/文件夾。然而,深度學習庫已經託管了許多這些預先訓練過的模型,這使得它們更容易訪問:

你可以使用上面的一個源來加載經過訓練的模型。它通常會有所有的層和權重,你可以根據你的意願調整網絡。

對問題進行微調

現在的模型也許能解決我們的問題。對預先訓練好的模型進行微調通常更好,原因有兩個:

一般來說,在神經網絡中,底層和中層通常代表一般的特徵,而頂層則代表特定問題的特徵。由於我們的新問題與原來的問題不同,我們傾向於刪除頂層。通過為我們的問題添加特定的層,我們可以達到更高的精度。

在刪除頂層之後,我們需要放置自己的層,這樣我們就可以得到我們想要的輸出。例如,使用ImageNet訓練的模型可以分類多達1000個對象。如果我們試圖對手寫數字進行分類(例如,MNIST classification),那麼最後得到一個只有10個神經元的層可能會更好。

在我們將自定義層添加到預先訓練好的模型之後,我們可以用特殊的損失函數和優化器來配置它,並通過額外的訓練進行微調。

計算機視覺中的4個預訓練模型

這裡有四個預先訓練好的網絡,可以用於計算機視覺任務,如圖像生成、神經風格轉換、圖像分類、圖像描述、異常檢測等:

讓我們一個一個地深入研究。

VGG-19

VGG是一種卷積神經網絡,深度為19層。它是由牛津大學的Karen Simonyan和Andrew Zisserman在2014年構建和訓練的,論文為:Very Deep Convolutional Networks for large Image Recognition。VGG-19網絡還使用ImageNet資料庫中的100多萬張圖像進行訓練。當然,你可以使用ImageNet訓練過的權重導入模型。這個預先訓練過的網絡可以分類多達1000個物體。對224x224像素的彩色圖像進行網絡訓練。以下是關於其大小和性能的簡要信息:

Inceptionv3 (GoogLeNet)

Inceptionv3是一個深度為50層的卷積神經網絡。它是由谷歌構建和訓練的,你可以查看這篇論文:「Going deep with convolutions」。預訓練好的帶有ImageNet權重的Inceptionv3可以分類多達1000個對象。該網絡的圖像輸入大小為299x299像素,大於VGG19網絡。VGG19是2014年ImageNet競賽的亞軍,而Inception是冠軍。以下是對Inceptionv3特性的簡要總結:

ResNet50 (Residual Network)

ResNet50是一個卷積神經網絡,深度為50層。它是由微軟於2015年建立和訓練的,論文:[Deep Residual Learning for Image Recognition](http://deep Residual Learning for Image Recognition /)。該模型對ImageNet資料庫中的100多萬張圖像進行了訓練。與VGG-19一樣,它可以分類多達1000個對象,網絡訓練的是224x224像素的彩色圖像。以下是關於其大小和性能的簡要信息:

如果你比較ResNet50和VGG19,你會發現ResNet50實際上比VGG19性能更好,儘管它的複雜性更低。你也可以使用更新的版本,如ResNet101,ResNet152,ResNet50V2,ResNet101V2,ResNet152V2。

EfficientNet

EfficientNet是一種最先進的卷積神經網絡,由谷歌在2019年的論文「efficient entnet: Rethinking Model Scaling for convolutional neural Networks」中訓練並發布。EfficientNet有8種可選實現(B0到B7),甚至最簡單的EfficientNet B0也是非常出色的。通過530萬個參數,實現了77.1%的最高精度性能。

EfficientNetB0的特性簡要介紹如下:

其他的計算機視覺問題的預訓練模型

我們列出了四種最先進的獲獎卷積神經網絡模型。然而,還有幾十種其他模型可供遷移學習使用。下面是對這些模型的基準分析,這些模型都可以在Keras Applications中獲得。

總結

在一個我們可以很容易地獲得最先進的神經網絡模型的世界裡,試圖用有限的資源建立你自己的模型就像是在重複發明輪子,是毫無意義的。

相反,嘗試使用這些訓練模型,在上面添加一些新的層,考慮你的特殊計算機視覺任務,然後訓練。其結果將比你從頭構建的模型更成功。

相關焦點

  • 快速掌握計算機視覺大部分領域,學習人臉圖像是唯一選擇
    但筆者想說的是,如果你想快速系統地串聯計算機視覺領域的知識,人臉圖像應該是唯一選擇,沒有其他類型的圖像可以覆蓋底層圖像特徵,目標檢測與跟蹤,圖像分類和檢索,圖像濾波,圖像分割,三維重建,風格遷移等方向,並且能夠做到相互融合從而進行工業界落地。如果你還不知道人臉圖像能做什麼,不如看一看上面的1分鐘視頻,然後我們接下來細看到底都有些什麼。
  • 計算機視覺八大任務全概述:PaddlePaddle工程師詳解熱門視覺模型
    本文轉載自 PaddlePaddle 微信公眾號編者按:來自百度的深度學習工程師,圍繞計算機視覺領域的八大任務,包括:圖像分類、目標檢測
  • 一文全覽深度學習在計算機視覺領域的應用
    已經是很熱的深度學習,大家都看到不少精彩的故事,我就不一一重複。簡單的回顧的話,2006年Geoffrey Hinton的論文點燃了「這把火」,現在已經有不少人開始潑「冷水」了,主要是AI泡沫太大,而且深度學習不是包治百病的藥方。計算機視覺不是深度學習最早看到突破的領域,真正讓大家大吃一驚的顛覆傳統方法的應用領域是語音識別,做出來的公司是微軟,而不是當時如日中天的谷歌。
  • 腦洞大開的機器視覺多領域學習模型結構 | CVPR 2018論文解讀
    論文亮點這篇論文來自於牛津大學 VGG 組,該研究小組在機器視覺和遷移學習領域發表多篇重磅論文並且都被各類頂會錄用,作者之一的 Andrea Vedaldi 就是輕量級視覺開源框架 VLFeat 的主要作者。 平常工程中或者參加過 Kaggle 比賽的都知道遷移學習對模型效果提升、訓練效率提升的好處。
  • 圖像也能做情感遷移?羅切斯特大學團隊提出計算機視覺新任務
    機器之心報導編輯:魔王圖像風格遷移?語音情感遷移?不,是圖像情感遷移。計算機視覺領域中有很多任務,如目標檢測、圖像轉換、風格遷移等,但你聽說過「圖像情感遷移」嗎?羅切斯特大學羅傑波教授團隊提出了這項研究任務 [1]。
  • 入門 | 簡述遷移學習在深度學習中的應用
    遷移學習是一種機器學習方法,就是把為任務 A 開發的模型作為初始點,重新使用在為任務 B 開發模型的過程中。深度學習中在計算機視覺任務和自然語言處理任務中將預訓練的模型作為新模型的起點是一種常用的方法,通常這些預訓練的模型在開發神經網絡的時候已經消耗了巨大的時間資源和計算資源,遷移學習可以將已習得的強大技能遷移到相關的的問題上。
  • 14個案例實戰!入門計算機視覺OpenCV
    人臉識別、手勢解鎖、以圖搜圖、無人駕駛、AI醫療……以計算機視覺為代表的人工智慧在各行各業大放異彩,在很多領域都取得了超過人類專家的水平。達爾聞項目實戰系列第4季由TE獨家冠名——TE雲端公開課,6節實戰課帶你快速入門OpenCV。
  • 科研進階 | 加州大學伯克利分校 | 人工智慧、計算機科學:數據科學與AI深度學習:應用計算機視覺(2021.4.24開課)
    千禧年後,大數據的蓬勃發展和算力的指數級增長賦予了深度學習新的生機。深度學習如破竹之勢將機器輔助功能變為可能,讓人工智慧在各個應用領域實現落地。其中,人工智慧一個重要的研究方面就是計算機視覺。「計算機視覺是一門研究如何使機器『看』的科學,更進一步的說,就是指用攝影機和計算機代替人眼對目標進行識別、跟蹤和測量,其本質是模擬人類的感知與觀察的一個過程。」
  • 來了解下計算機視覺的八大應用
    ,當然也包括了目前很火的 CNNs 算法了這些算法各有各的優缺點和適用的領域,了解熟悉它們是很有必要的,但如何應用它們還需要具體問題具體分析,而機器學習常見的應用方向,包括以下幾個:計算機視覺(CV)自然語言處理(NLP)語音識別推薦系統廣告等等更詳細的可以參考之前推薦過的一個網站:
  • 與計算機視覺跳一曲華爾茲
    中國已經成為計算機視覺領域研究與應用的領先國家,據估計2020年中國計算機視覺市場規模有望突破1000億。IDC定義的計算機視覺是指從單張或者連續的圖像中提取信息,分析、理解並應用信息的技術。視覺與學習青年學者研討會(Vision And Learning SEminar, VALSE)作為中國在計算機視覺研究領域最有影響力的組織之一,發起於2011年,名曰VALSE,取意華爾茲的優雅與和諧,秉承自由、平等之學術精神,為國內計算機視覺、圖像處理、模式識別與機器學習等研究領域的青年學者、學生搭建一個高水平、強互動的學術交流舞臺
  • 常用機器學習算法的目前主要有深度學習領域的各種模型及框架
    中國人工智慧四個代表職位之一的「算法工程師」——數據科學家,是近年來在網際網路和人工智慧領域顯示出極大發展潛力的新興職位,是在計算機科學、工程技術等諸多領域中分別涉及的領域內的一個綜合領域。很多初期從事人工智慧相關工作的人,受限於對本專業知識認識有限,在對人工智慧了解尚淺之時,就開始應聘。甚至有人剛開始著手做招聘工作時,就拿數據科學家這個工作的名稱誤導了初入門人工智慧行業的從業者。
  • 吳恩達計算機視覺:12堂課學習心得
    AI 前線在本文的基礎上亦做了一些批註,方便讀者理解並掌握一些概念,在深度學習少走彎路。大數據和算法的發展促使智能系統的測試誤差收斂到貝葉斯最優誤差,這就使得人工智慧在所有領域中表現,超越了人類的水平,包括自然感知任務。開源軟體 TensorFlow 使你能夠使用遷移學習(teansfer learning)實現能夠快速檢測任何物體的目標檢測系統。
  • 深度學習在計算機視覺領域(包括圖像,視頻,3-D點雲,深度圖)的應用一覽
    已經是很熱的深度學習,大家都看到不少精彩的故事,我就不一一重複。簡單的回顧的話,2006年Geoffrey Hinton的論文點燃了「這把火」,現在已經有不少人開始潑「冷水」了,主要是AI泡沫太大,而且深度學習不是包治百病的藥方。計算機視覺不是深度學習最早看到突破的領域,真正讓大家大吃一驚的顛覆傳統方法的應用領域是語音識別,做出來的公司是微軟,而不是當時如日中天的谷歌。
  • 在知識爆炸的時代,「知識遷移學習方法」你get了嗎?
    在過去二、三十年中,知識遷移已在包括文本挖掘、語音識別、計算機視覺、評價系統等諸多領域獲得成功,並在許多實際場景中取得良好應用。如百科文檔到博客文本、搜索圖像到網頁頁面、書籍評價到電影評價等一系列不同領域間知識的提煉、轉換與映射,均從屬於知識遷移理論。 心理學認為,知識遷移是反映人類心理認知過程的一種概念;是人類學習的一種方法;通過一種學習影響另一種學習。
  • 一文帶你讀懂計算機視覺
    ,這裡介紹了在該領域學習和使用過程中有意思的內容。它建議你重新訓練一個初始模型,從而去訓練未知的花類。在進行遷移學習時,該選擇哪一層來重新訓練,以下地址提供了很好的指導:https://medium.com/@14prakash/transfer-learning-using-keras-d804b2e04ef8
  • 獨家| 人工智慧學習篇4:計算機視覺開源框架
    在將近四十年的發展中,該學科經歷了四個主要發展階段:馬爾計算視覺、主動和目的視覺、多視幾何與分層三維重建和以神經網絡為代表的基於學習的視覺。圖1總結了近四十年來計算機視覺發展過程中具有代表性的理論技術和開源軟體。
  • NLP/CV模型跨界,視覺Transformer趕超CNN?
    機器之心報導機器之心編輯部在計算機視覺領域中,卷積神經網絡(CNN)一直佔據主流地位。不過,不斷有研究者嘗試將 NLP 領域的 Transformer 進行跨界研究,有的還實現了相當不錯的結果。10 月 2 日,深度學習領域頂級會議 ICLR 2021 論文投稿結束,一篇將 Transformer 應用於圖像識別的論文引起了廣泛關注。特斯拉 AI 負責人 Andrej Karpathy 轉發了該論文,並表示「樂見計算機視覺和 NLP 領域日益融合」。
  • NLP領域中的遷移學習現狀
    圖2:遷移學習過程的說明在過去一年多的時間裡,以預訓練的語言模型形式進行的遷移學習已經在NLP領域中普及,為許多不同的任務帶來了新的最好成績。然僅僅兩年前,大多數任務上表現最佳的模型都還是2-3層的深度BiLSTM,只有機器翻譯領域表現最好的模型是與眾不同的16層(Wu 等人, 2016)。相比之下,目前的模型如BERT-Large和GPT-2由24個Transformer模塊組成,而最新的模型甚至會更深。4、預訓練vs目標設定預訓練和目標任務的選擇密切相關。
  • 計算機視覺:從入門到精通,極限剖析圖像識別學習算法
    本次課程將圍繞著計算機視覺中最常見的RCNN圖像識別算法進行極限剖析,從數學理論, 模型框架到實踐實操,讓你在短時間內從理論到實踐,掌握深度學習的基本知識和學習方法。· 目的:掌握神經網絡的基本原理,知其然亦知其所以然(從數學實踐到代碼的熟練和精通); · 手段:科學的方法。
  • 商湯科技曹旭東:為何深度學習幾乎成了計算機視覺研究的標配?|...
    首先,最重要的原因是深度學習可以做到傳統方法無法企及的精度,這是關鍵中的關鍵,如果說這個優點是1的話,其它的優點都是1後面的0。深度學習革命爆發在2011~2012年,11年的時候在語音識別領域有重大突破,12年的時候在圖像識別領域有重大突破。深度學習革命,使得計算機視覺在很多應用領域達到了實用水平,催生了工業界的大量應用。