0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

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

新機器視覺 ? 來源:Orhan G. Yal??n ? 2023-04-23 18:08 ? 次閱讀

導讀

使用SOTA的預訓練模型來通過遷移學習解決現(xiàn)實的計算機視覺問題。

849ea7fe-daf8-11ed-bfe3-dac502259ad0.png

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

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

現(xiàn)在,如果你計劃建立一個利用深度學習人工智能系統(tǒng),你要么(i)有一個非常大的預算用于培訓優(yōu)秀的人工智能研究人員,或者(ii)可以從遷移學習中受益。

什么是遷移學習?

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

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

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

總而言之,遷移學習是一個讓你不必重復發(fā)明輪子的領域,并幫助你在很短的時間內(nèi)構建AI應用。

遷移學習的歷史

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

遷移學習將是繼監(jiān)督學習之后機器學習商業(yè)成功的下一個驅(qū)動因素

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

84d70df6-daf8-11ed-bfe3-dac502259ad0.png

遷移學習是如何工作的?

實現(xiàn)遷移學習有三個要求:

由第三方開發(fā)開源預訓練模型

重用模型

對問題進行微調(diào)

開發(fā)開源預訓練模型

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

重用模型

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

TensorFlow Hub

Keras Applications

PyTorch Hub

你可以使用上面的一個源來加載經(jīng)過訓練的模型。它通常會有所有的層和權重,你可以根據(jù)你的意愿調(diào)整網(wǎng)絡。

對問題進行微調(diào)

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

這樣我們可以達到更高的精度。

我們的微調(diào)模型可以產(chǎn)生正確的格式的輸出。

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

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

在我們將自定義層添加到預先訓練好的模型之后,我們可以用特殊的損失函數(shù)和優(yōu)化器來配置它,并通過額外的訓練進行微調(diào)。

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

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

VGG19

Inceptionv3 (GoogLeNet)

ResNet50

EfficientNet

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

VGG-19

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

大小:549 MB

Top-1 準確率:71.3%

Top-5 準確率:90.0%

參數(shù)個數(shù):143,667,240

深度:26

84e90ede-daf8-11ed-bfe3-dac502259ad0.jpg

Inceptionv3 (GoogLeNet)

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

尺寸:92 MB

Top-1 準確率:77.9%

Top-5 準確率:93.7%

參數(shù)數(shù)量:23,851,784

深度:159

850261ae-daf8-11ed-bfe3-dac502259ad0.jpg

ResNet50 (Residual Network)

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

尺寸:98 MB

Top-1 準確率:74.9%

Top-5 準確率:92.1%

參數(shù)數(shù)量:25,636,712

如果你比較ResNet50和VGG19,你會發(fā)現(xiàn)ResNet50實際上比VGG19性能更好,盡管它的復雜性更低。你也可以使用更新的版本,如ResNet101,ResNet152,ResNet50V2,ResNet101V2,ResNet152V2。

8510ac00-daf8-11ed-bfe3-dac502259ad0.jpg

EfficientNet

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

85210df2-daf8-11ed-bfe3-dac502259ad0.png

EfficientNetB0的特性簡要介紹如下:

尺寸:29 MB

Top-1 準確率:77.1%

Top-5 準確率:93.3%

參數(shù)數(shù)量:~5,300,000

深度:159

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

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

85359d9e-daf8-11ed-bfe3-dac502259ad0.png

總結

在一個我們可以很容易地獲得最先進的神經(jīng)網(wǎng)絡模型的世界里,試圖用有限的資源建立你自己的模型就像是在重復發(fā)明輪子,是毫無意義的。

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





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:4個計算機視覺領域常用遷移學習模型

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    計算機視覺有哪些優(yōu)缺點

    計算機視覺作為人工智能領域的一重要分支,旨在使計算機能夠像人類一樣理解和解釋圖像和視頻中的信息。這一技術的發(fā)展不僅推動了多個行業(yè)的變革,也
    的頭像 發(fā)表于 08-14 09:49 ?649次閱讀

    計算機視覺技術的AI算法模型

    計算機視覺技術作為人工智能領域的一重要分支,旨在使計算機能夠像人類一樣理解和解釋圖像及視頻中的信息。為了實現(xiàn)這一目標,
    的頭像 發(fā)表于 07-24 12:46 ?539次閱讀

    計算機視覺的五大技術

    計算機視覺作為深度學習領域最熱門的研究方向之一,其技術涵蓋了多個方面,為人工智能的發(fā)展開拓了廣闊的道路。以下是對計算機
    的頭像 發(fā)表于 07-10 18:26 ?1136次閱讀

    計算機視覺的工作原理和應用

    計算機視覺(Computer Vision,簡稱CV)是一門跨學科的研究領域,它利用計算機和數(shù)學算法來模擬人類視覺系統(tǒng)對圖像和視頻進行識別、
    的頭像 發(fā)表于 07-10 18:24 ?1496次閱讀

    計算機視覺與人工智能的關系是什么

    引言 計算機視覺是一門研究如何使計算機能夠理解和解釋視覺信息的學科。它涉及到圖像處理、模式識別、機器學習等多個
    的頭像 發(fā)表于 07-09 09:25 ?483次閱讀

    計算機視覺與智能感知是干嘛的

    引言 計算機視覺(Computer Vision)是一門研究如何使計算機能夠理解和解釋視覺信息的學科。它涉及到圖像處理、模式識別、機器學習
    的頭像 發(fā)表于 07-09 09:23 ?653次閱讀

    計算機視覺和機器視覺區(qū)別在哪

    計算機視覺和機器視覺是兩密切相關但又有明顯區(qū)別的領域。 一、定義 計算機
    的頭像 發(fā)表于 07-09 09:22 ?383次閱讀

    計算機視覺在人工智能領域有哪些主要應用?

    與分類是計算機視覺的基礎應用之一。通過訓練機器學習模型,計算機可以識別和分類各種圖像,如動物、植物、物體等。這種技術在許多
    的頭像 發(fā)表于 07-09 09:14 ?1091次閱讀

    計算機視覺屬于人工智能嗎

    屬于,計算機視覺是人工智能領域的一重要分支。 引言 計算機視覺是一門研究如何使
    的頭像 發(fā)表于 07-09 09:11 ?1021次閱讀

    深度學習計算機視覺領域的應用

    隨著人工智能技術的飛速發(fā)展,深度學習作為其中的核心技術之一,已經(jīng)在計算機視覺領域取得了顯著的成果。計算機
    的頭像 發(fā)表于 07-01 11:38 ?634次閱讀

    機器視覺計算機視覺的區(qū)別

    在人工智能和自動化技術的快速發(fā)展中,機器視覺(Machine Vision, MV)和計算機視覺(Computer Vision, CV)作為兩重要的分支
    的頭像 發(fā)表于 06-06 17:24 ?1174次閱讀

    計算機視覺的主要研究方向

    計算機視覺(Computer Vision, CV)作為人工智能領域的一重要分支,致力于使計算機能夠像人眼一樣理解和解釋圖像和視頻中的信息
    的頭像 發(fā)表于 06-06 17:17 ?769次閱讀

    計算機視覺的十大算法

    隨著科技的不斷發(fā)展,計算機視覺領域也取得了長足的進步。本文將介紹計算機視覺領域的十大算法,包括它
    的頭像 發(fā)表于 02-19 13:26 ?1176次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>的十大算法

    什么是計算機視覺?計算機視覺的三種方法

    計算機視覺是指通過為計算機賦予人類視覺這一技術目標,從而賦能裝配線檢查到駕駛輔助和機器人等應用。計算機缺乏像人類一樣憑直覺產(chǎn)生
    的頭像 發(fā)表于 11-16 16:38 ?4408次閱讀
    什么是<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>?<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>的三種方法

    最適合AI應用的計算機視覺類型是什么?

    計算機視覺是指為計算機賦予人類視覺這一技術目標,從而賦能裝配線檢查到駕駛輔助和機器人等應用。計算機缺乏像人類一樣憑直覺產(chǎn)生
    的頭像 發(fā)表于 11-15 16:38 ?407次閱讀
    最適合AI應用的<b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>類型是什么?