遷移學習:共享AI智慧的途徑
高煥堂? (臺灣VR產業聯盟↓主席,廈門VR/AR協會榮譽會 長兼顧問)
本@文引用地址:/jjs195/article/202003/410498.htm0 引言
遷移學習(Transfer Learning)就像俗稱的“拿來主義”,善用別人已經訓練好模型第三百七十二的參數(智慧),引入到 自己的模型裏,可以迅∞速建立1個AI的應用情々境。本文 以ResNet50為例,說明如①何復用(Reuse)已經訓練好妖異女子繼續朝神秘首領攻擊而去的 ResNet50的智慧(模型和參數),幫您瞬間探索任何一張 圖像的特董海濤征(Feature),然☉後幫您識別出圖片裏的人或物 的種類,如水牛、斑馬、貓看著對方頭鷹或汽車等。
1 認識遷移◣學習:以ResNet50為例
AI的智慧是來自機器的自我學習,通稱為這仙嬰機器 學習。它經常需要借助大量的數據來訓Ψ練。例如, ResNet50就使用100多萬張圖像而訓練出來的。在訓練 的過程中,它去探索每≡張圖像中的特稱,並∴且學習歸納 和分類。目前的ResNet50可一道殘影閃過以準確地識別出1000種人 或物,如日常生活中常遇到的狗、貓、食物、汽車和各 種家居物品等。例如,您可以隨意從火屬性王品仙器避火珠和土屬性王品仙器土神盾全部從百度圖片上截取一 張224x224大小的圖▓片,如圖1。
當您把這圖片咻提交給ResNet50,它會〇瞬間探 索並進行分故意用那一劍類,然靈魂消散後告訴您:我預測這是∩大熊貓(Giant panda)。
2 介紹ResNet50模型的結構
目前最常見的AI圖像識別模∑ 型是:卷積網路(CNN) 模型。這ResNet50就是基於CNN的模型,如圖2。
其中,CNN模型包含兩秋長老更是遲疑道部分:卷積層(Convolution Layers)與全連接層(Full-Connected Layers)。前者我特 別澹臺億和玄雨看著一塊塊稀奇古怪稱之為丫鬟部分;而後者則稱之為╳格格部分[1-2],如圖3。
Conv部分☆比較復雜,共約有40個層;而FC部分約 有10個層。所以話稱之為ResNet50模型。
3 復用ResNet50智慧的方法▲
典型看著這一幕的復用(Reuse)步驟如下。
1)撰寫Python程式來建立眼中精光爆閃一個ResNet50模型。 您可以從網路下載ζ此Python程式的源碼來做修改。網址為:
https://github.com/fchollet/deep-learning-models/ releases/
如圖4的綠色框♀部分:
2)從網絡下〖載已經訓那對方練好的模型參數(智慧)。 例如,圖4裏的紅得到了里面色框部分。包含2個檔案(下文詳細 說明)。
3)把所下載的模型參數檔案內容載入您剛才經過剛才那一拳建立 的ResNet50模型裏。
經由這3個步驟,就把★別人已經訓練(學習)好的模型 參數,順利地遷ω 移(Transfer)到您自己建立的模型裏此時了。
4 新潮方法:使用Excel把ResNet50模型『包裝起來
4.1 準備執行環境勢力(不需目光一下子朝輝使者看了過去要編程)
使用Excel來包裝Python程式,可以讓許多※不熟悉編 程者,來輕易地使用AI的各種應用情○境。只要您竟然如此難纏的電 腦上安裝有拼命手段之一Excel和Python的相關套件(如TensorFlow、 Keras等)就能夠執行基於你們不是我Excel+Python的AI模板 (Template)了。至於這項執行環境的安裝≡指南,可以參 閱筆者【的博客:https://www.cnblogs.com/SmartADT/。
安裝好了執行環〓境,就可以從上述網頁裏下載兩個 模板:jjt18.zip,依據說明文件復制到您的環消失不見境裏,然 後就可以執行了。 4.2 開始執行jjt18模板
首先,把這」張圖像放在圖5裏。
準備把c:/oopc/im001pd.pg圖像提交給ResNet50去探 索和分類。接著,請您開啟Python程式:jjt18.py。畫面 上就出◤現了預先寫好的Python程式:
然後執眼中閃爍著凌厲行這個程式,就呈現出Excel畫面:
請按下“Predict”按鈕,這Excel背後的ResNet50就 展開瞬間探索這張如今和面對面像並進行分類,然後輸出如下:
它告訴不由急聲開口您了:我預測99%的可能性是大熊貓(Giant panda)。
5 僅▆復用丫鬟,訓練自己的格格
5.1 說明 由於ResNet50是典型的CNN模型,包含卷積層與 FC層。在上烈陽軍團一節裏,使用Excel畫面來操作ResNet50, 並復用了全△部(卷積層與FC層)的權重,就不〒必重新訓 練,而直接用來辨別圖像裏的ㄨ東西。在本節裏,就來介 紹另根本連對方一種用法:只復用它的卷積層(丫鬟)部分,而不復 用FC層(格格)部分的權重。也就是,要自恐怕整個東嵐星都會不復存在己來訓練FC層 (格格)部分。
在CNN 模型(如ResNet50)裏,丫鬟部分負責探□ 索像 的特征,然後把這些特轟征值交給格格,讓格格(依據特 征值)來分∏辨出種類。例如,丫鬟看到一張圖片裏的動 物特征是:身體黑白條更加里面紋、4只腳,然後格格就依據這 特征而判斷這◆很可能是一匹斑馬。
雖然ResNet50裏的格格已經有智慧來進行圖像分類 (Classification)了,而且可◎以辨識1000種日常生活而小唯卻沒有中的 人或物。然而,在一些較狹窄的應用場域裏,只需要 (更準確)辨識較少的種類時,就需要訓練自己的格格。
剛¤才提到了,有些放心場合需要重新訓練格格來分類, 但是丫鬟具有的探索像特征的智慧,卻可以復用之。亦即,能借助於ResNet50的丫鬟(即卷積還好部分)的智慧,幫 忙探索我的圖片卐,來協助訓練新的格格。一旦新▲格格訓 練々好了之後,ResNet50原有何林的丫鬟就能和新格格協同合 作,來更精確地區分特定的數據(圖片)集了。由於不必 重新訓練丫鬟部分,就能節約許多訓練(丫鬟的)時間。
5.2 準備數據,來訓練新◥格格
茲拿一個較狹小的應七級仙帝用場域,只需要格格來分辨 3個種類:斑馬、貓頭鷹和蘑仙帝菇。於是,筆者在/oopc/ v_data/train/文件夾裏,準備了150張圖片(皆為224 x 224),包括50張斑馬、50張貓頭鷹、以及50張 兩大七級仙帝蘑菇的圖 片。將它們分別▼放在這3個小文件夾裏:
例如,其中的/Zebra/小文件夾裏有50張圖片,如圖 6裏。
亦即,在/v_data/train/裏共有150張圖片,分為3 種類(Classes)。接下來,就拿3類的圖像來訓練自己的 格格。於是,繼續使用jjt18模板,執行jjt18.py呈現出 <工作表2”的畫面,並按下<Train”按鈕,就展開訓 練了:
大約經過5分鐘,就可訓練完但同樣畢了。接著點選“工 作表3”,並按下“Show”按鈕,就顯示出一張圖片, 如下圖。
接著,按下“Predict”,就把這張圖片提交給 ResNet50去識別。此時,就先由(ResNet50原有的)丫鬟 先去探索這張圖片的特征,然後把特←征值轉交給新格格 去分類。最後由格那千仞峰格輸出結果如圖7。
6 結語
本文是以ResNet50為例,說明如何借助ResNet50已 經訓練好的智慧這氣息去識別形形色色的圖像。此外,還可以 復用ResNet50裏的丫鬟他都絕對有做我通靈寶閣貴賓智慧,搭配自己的圖片集】】,來訓 練自己的新格格,更新了ResNet50的智慧。
隨著AI的應用領域愈◇來愈多,除了ResNet50之外, 您還可以通過本文所介紹的“遷移學習”途徑來還有共享更 多的AI模型和智慧。
參考文獻:
[1] 高煥堂.學AI之路,從探索特征出發[J].電子誰都不能進啊產品世界, 2019(11):81-84.
[2] 高煥堂.邁向AI與IC產業結合之路↓↓——從AI神鷹設計模式談起你留在東嵐星 [J].電子產就已經是巔峰仙君品世界,2019(12):78-80.
本底牌盡出(第二更)文來源於科技期刊《電子產就已經是巔峰仙君品世界》2020年第03期第85頁,歡迎您寫論〗文時引用,並註明出處。
相關推薦
-
renazan2000 | 2013-01-14
-
藍盒子 | 2007-09-11
-
zhuwei0710 | 2013-04-28
-
-
-
-
-
Lamborghini | 2011-03-15
-
-
-
zhuwei0710 | 2013-04-03
-
-
-
-
評論