細粒度分類中雙線性卷積

2021-10-03 13:46:05 字數 3454 閱讀 8074

細粒度分類中雙線性卷積摘要

本文使用了兩個cnn提取特徵的池化輸出來代表影象,並且在一定規則下定位特徵互動。但是在工作中發現,雙cnn提取的特徵有些冗餘,可以在精度不下降的前提下減少某些特徵,雙cnn在其他的分類任務中也是有效的,比如紋理和場景識別。

現存的深度紋理表達有一些缺點,本文的關鍵方式是紋理表達可以可以寫成兩種適用網路設計特徵的池化輸出,網路的結構主要是兩個cnn網路提取特徵並連線乙個bilinear 層以及 乙個pooling層,然後後面跟隨乙個全連線層進行分類。其中bilinear層是量個區別特徵組合一起產生輸出,這和二階導數池化的方法非常像,這種池化常常被應用在語義分割中。和其他的與訓練模型不同,b-cnn可以從頭開始訓練,使用不大的計算消耗可以超越其他使用imagenet與訓練的網路。

b-cnn可以看成乙個特殊的attention model因為輸出產品根據乙個特徵處理另乙個特徵 ,和對特徵互動的attention機制特別的像,儘管這種特徵並沒有進行直接對比。

紋理表達和二階特徵

二階特徵,在影象分類和語義分割階段是十分有效的。無序的紋理表達以及深度特徵之間的研究是乙個非常重要的話題,本文的工作和cross-layer pooling, 就是從不同的卷積層,提取特徵。

cnn 的特徵的gram matrix對紋理表達具有很好的效果

gram 矩陣

但是這種在識別的時候非常有效,但是在合成方面沒有效果

模型變體與擴充套件

和以往bilinear模型用於風格遷移相比,本文的bilnear模型用於分類,bilinear feature的缺陷是高維度特徵儲存視訊記憶體的開銷,比如對於512*512的影象,需要512個高維度限量表示,但是前期的工作發現,所有的表達能夠壓縮到512*64的維度。在大多數情況下可以降低8-32x 並且沒有明顯的精度降低。

模型結構

首先看一下b-cnn的結構,然後看一下b-cnns

b-cnn的結構由四個部分組成,b = (fa, fb, p, c)其中p是池化函式,c是分類函式,其中feature function 是對映f : l x i à r (k*d)其中i是, l是locations 輸出的大小k*d, 根據定位和大小,每個定位的特徵合道一起使用,其中特徵通道融合的公式如下

fa 和fb必須有相同的特徵維度k, 其中k的值與模型是相關的,pooling層,使用融合所有定位後的特徵,或得乙個全域性的表達表示如下,其中在實驗中使用了加和池化。

由於特徵的位置在pooling的時候被忽略到,所以bilinear特徵是乙個無序的表達。如果fa和fb的大小是k*m 和 k*n,那麼得到的大小就是m*n 那麼這種特徵就認為是影象表達,可以並用來做分類。

卷積網路提取特徵,這些特徵根據影象定位和特徵通道索引。

正則化和分類

其中歸一化方法

分類方法使用一般是svm或者邏輯回歸。

端到端的訓練

由於網路結構是有向無環圖,可以根據分類誤差的反向傳播實現。如果兩個網路的輸出是a和b分別是l*m和l*n那麼bilinear feature就是x = m*n。

反向傳播一般流程如下

傳統問題表達

這一部分主要展示大量的無序紋理可以用於bilinear form獲得end-to-end訓練表達器。

b-cnns試驗

使用了多種卷積抽取,第一種 使用兩個vgg-m網路提取relu5layer

(2) 乙個vgg-d, 乙個vgg-m 網路分別使用relu5-3層以及relu5層,

(3)使用vgg-d網路,抽取relu5-3層。

輸入的影象是448*448 特徵提取使用兩個cnn 分別生成28*28 以及vgg-m 27*27,所以需要28*28的下取樣一次。

微調

微調主要是增加乙個k全連線加softmax層,其中k是分類的數量。

線性層的初始化是隨機的,使用兩步訓練過程來訓練,首先訓練線性層使用邏輯回歸,然後在微調整個網路固定的epoch(一般是45-100epoch)學習率是0.001,因為先訓練線性鏈結層可以能提公升準確率。

svm的訓練和驗證

在所有的試驗之前,以及微調後,訓練集合驗證機是融合到一起的,並且一對多的線性svms在提取的特徵上,超參csvm=1的條件下進行訓練。我們的特徵是l2標準化。

訓練分類被校準通過放縮權重變數,比如正樣本和負樣本的分數,在1和-1之間。

並且使用了影象增強。其中svm對vgg-d網路是負增長的,但是對vgg-m能夠增長1%-3%個百分點,同樣影象增強也是對vgg-d網路負增長對vgg-m網路能夠增長0.5%.

紋理和背景識別

b-cnn對於紋理的識別是要優於cnn+fv pooling

在紋理上也能夠取得相比於其他模型更好的效果

維度縮減

cnn特徵的輸出生成了非常高維度的影象表達,在早期的工作中發現,特徵是高度冗餘的,他們的維度可以數量級的遞減,在沒有精度減少的前提下,早期的工作中,得出高緊湊的表達能夠獲得。

這一部分主要研究在紋理細粒度分類模型中精度和特徵維度之間的關係, 對於b-cnns來說,它的輸出是根據特徵x和y計算而來,有多重辦法來減少模型特徵維度。

( 1 ) 將特徵對映到低緯,使用下面公式

其中vec將菊展轉化成乙個向量的形式,p是乙個矩陣。

(2) 將兩個特徵都降低到較低的維度

(3) 將其中乙個feature降低維度

在每乙個例項中,每乙個方案,可以使用pca初始化,儘管這中放啊十分直接,但是計算pca是乙個非常巨大的工作。

在早期的研究過程中發現,使用輸出兩個特徵的pca對精度會有顯著的下降,研究發現,只對其中的乙個feature進行pca的話能夠有較好的效果,相比於cbp演算法,pca演算法的效果相對更差一點,但是它們的速度,是pca的1.5倍。其中cbp演算法是compact bilinear polling演算法。

基於多尺度分層雙線性池化網路的細粒度表情識別

題目 作者年份鏈結 基於多尺度分層雙線性池化網路的細粒度表情識別 蘇志明,王烈,藍崢傑 2021 卷積神經網路 細粒度表情識別 多尺度 分層雙線性池化 多層特徵融合 由於人臉表情細微的類間差異和顯著的類內變化使得人臉表情識別困難而導致識別率低,為此提出了乙個基於多尺度雙線性池化神經網路的模型。首先,...

引入注意力機制的細粒度實體分類

這篇 來自ucl自然語言處理實驗室,發表於2016年。細粒度實體分類是在構建知識圖譜過程中非常重要的內容,關於實體分類相關的文獻也比較多,也有不少分類方法,但是我們如何在非結構化的文字中確定出乙個我們想要的細粒度實體,並把它分入相應的大類中去呢?舉個例子,掘金勝森林狼,約基奇準三雙助球隊贏下爭八關鍵...

shiro細粒度許可權控制以及開發中碰到的bug

spring aop 預設動態 方式為jdk 在進行shiro細粒度許可權控制 即控制方法 時,要將動態 方式改為cglib的 因為cglib產生的動態 物件與原物件是繼承關係,這樣寫在原物件上的註解在動態 物件上才會有效 而預設的jdk動態 產生的 物件與原物件實現同乙個介面,類似於兄弟關係,所以...