最近一段時間multitask網路比較流行,比如做人臉檢測的時候,乙個網路完成(人臉和非人臉)二分類任務的同時也要進行boudingbox回歸或者人臉關鍵點回歸。
以人臉檢測mtcnn為例,乙個網路包含三個任務。訓練的時候,乙個batch中的,一部分用於二分類、一部分用於boundingbox 回歸,一部分用於關鍵點回歸。這種較複雜的樣本組合完全可以通過slice和concat層來快速實現。
concat層實現輸入資料的拼接。
該層有兩個相同作用的引數:
message concatparameter
caffe中資料通常為4個維度,即 nu
m×ch
anne
ls×h
eigh
t×wi
dth(function ()
}除了拼接維度外的其它維度都必須相等。比如上面,輸入影象均為 (t
his)
.tex
t().
spli
t(′\n
′).l
engt
h;va
r
既然有合併,那麼相應的也有拆分。slice層共有三個引數:
message sliceparameter
現在我們就要把之前concat合併的資料按照原樣拆分:
layer
}
其中slice_point的個數必須等於top的個數減一。輸入的data_all維度為
250×3×
24×24下面直接給一張網路結構圖,大家就應該知道怎麼實現多資料multitask了。
多工學習
以人臉特徵點定位中的tcdcn模型 1 為例子,該模型思想 通過一些多樣的精細的任務,來優化提公升特徵點定位精度。就是在人臉特徵點檢測的時候,同時進行多個任務的學習,這些子任務包括 是否帶眼鏡,是否微笑和臉部的朝向等分類任務。使用這些輔助的屬性不僅可以起到一次性獲取感興趣的屬性,更重要的是子任務更好...
多工學習
什麼叫 多工 呢?簡單地說,就是作業系統可以同時執行多個任務。打個比方,你一邊在用瀏覽器上網,一邊在聽 一邊在用word趕作業,這就是多工,至少同時有3個任務正在執行。還有很多任務悄悄地在後台同時執行著,只是桌面上沒有顯示而已。現在,多核cpu已經非常普及了,但是,即使過去的單核cpu,也可以執行多...
2 8 多工學習
在遷移學習中,你的步驟是序列的,你從任務a裡學習只是然後遷移到任務b。在多工學習中,你是同時開始學習的,試圖讓單個神經網路同時做幾件事情,然後希望這裡每個任務都能幫到其他所有任務。假設你在研發無人駕駛車輛,那麼你的無人駕駛車可能需要同時檢測不同的物體,比如檢測行人 車輛 停車標誌,還有交通燈各種其他...