相信不少開發者已經或多或少對百度EasyDL有所耳聞或有所嘗試,作為零算法基礎實現圖像分類和物體檢測的”神器”,支持使用少量訓練數據,使用通用算法訓練,就能很快得到一個圖像分類模型。最近百度EasyDL又增加了新的算法AutoDL Transfer (高精度算法)。AutoDL Transfer是百度研發的AutoDL技術之一,結合模型網絡結構搜索、遷移學習技術、並針對用戶數據進行自動優化的模型,與通用算法相比,訓練時間稍長,但更適用於圖像的細分類場景,例如,通用算法可適用於區分貓和狗,但如果要區分不同品種的貓,則AutoDL效果會更好。下面我們通過實例來看下這兩種算法的應用場景。
不知道大家平時養不養狗,現在大街上狗的品種是真的多,很多都是看着眼熟,如果想准確的叫出名字還真不太容易。筆者利用手里的一些狗的數據來進行訓練,看看高精度算法和通用算法的區別。
第一步,登錄百度EasyDL,ai.baidu.com/easydl。里面有使用的步驟,還是挺清楚的;
第二步,創建模型、創建數據集。相信使用過EasyDL的朋友對如何創建已經了解了,本文就不詳細介紹操作步驟了;
第三步,訓練模型,筆者先只添加2個分類共400多張圖像(單個分類數據量較豐富)作為訓練數據,分別是薩摩耶和博美,在筆者看來這兩種犬類從外觀特征來看差異很小(忽略體型大小),經常會分不清。
算法上選擇通用算法,訓練方式默認,然后點擊訓練。因為數據量較少,不出1個小時,模型就訓練好了,我們來看看效果。
Top1的准確率達到了98.49%,通用算法的表現非常不錯。那使用AutoDL高精度算法會不會表現得更好呢。接下來我們使用AutoDL算法進行訓練看看。
選擇百度AutoDL Transfer算法,點擊訓練。原以為AutoDL會慢一些,結果還是不出一小時就很快完成了訓練,我們來看一下效果是不是更好。
結果讓筆者很意外,Top1准確率是87.94%,比通用算法的准確率要低一點了。
筆者決定再通過增加分類數量來檢驗一下兩種算法的效果。這次的分類數量提高到了100多種,包含了上萬張圖像。我們分別用通用算法和百度AutoDL高精度算法進行了訓練,因為數據量比較大,這次訓練的時間稍微有些長。
采用通用算法的模型准確率是84.25%,而采用百度AutoDL高精度算法的模型准確率是86.88%,這次從准確率來看,高精度算法效果更好。
百度AutoDL算法是以遷移學習為基礎的,而遷移學習是機器學習的明天,相比深度學習可以用少量的數據訓練出適合的模型。
筆者從網上搜了一張全新的博美狗圖像,然后分別用通用和高精度算法來檢驗模型效果,結果發現采用高精度算法兩個訓練版本(V2&V4)要比采用通用算法兩個版本(V1&V3)准確度更高,這說明 AutoDL高精度算法的分類效果還是非常出色的。
在區分貓和狗這樣差異較大的樣本時,通用算法性價比更高。而在區分狗的品種這樣有大量分類且樣本差異更小的場景下,通用算法“舉一反三”的能力就相對較弱了,這時候百度AutoDL高精度算法的效果更出色。
作者:郭晶