计算机视觉领域最全汇总(第1部分)
計算機視覺是人工智能(AI)中的熱門研究課題,它已經存在多年。然而,計算機視覺仍然是人工智能面臨的最大挑戰之一。在本文中,我們將探討使用深度神經網絡來解決計算機視覺的一些基本挑戰。特別是,我們將研究神經網絡壓縮,細粒度圖像分類,紋理合成,圖像搜索和對象跟蹤等應用。
1、神經網絡壓縮
盡管深度神經網絡具有令人難以置信的性能,但它們對計算能力和存儲的需求對其在實際應用中的部署提出了重大挑戰。研究表明,神經網絡中使用的參數可能非常多余。因此,在提高精度的同時還需要投入大量的工作來降低了網絡的復雜性。
低秩近似用于接近原始權重矩陣。例如,SVD可用于獲得矩陣的最佳低秩近似,或者Toeplitz矩陣可與Krylov分析結合使用以近似的原始矩陣。
1.1:修剪
一旦訓練完成,一些不相關的神經元連接(可以在損失算法中加權值平衡和稀疏約束)或者將所有這些連接過濾掉,然后執行幾輪微調。在實際應用中,修剪神經元連接的級別將使結果稀疏,難以緩存,并且難以從存儲器訪問。有時,我們需要特別設計一個合作運營數據庫。
相比之下,過濾級修剪可以直接在已經存在的操作數據庫上運行,過濾級修剪的關鍵是確定如何平衡過濾器的重要性。例如,我們可以使用卷積結果的稀疏性、濾波器對損失算法的影響或者卷積對下一層結果的影響進行平衡。
1.2:量化
我們可以將權重值分成組,然后使用組中的中值來替換原始權重,并通過霍夫曼編碼運行它。但是,如果我們只考慮權重本身,則可以減少量化過程的誤差偏差。隨后,分類操作的誤差偏差將顯著增加。因此,量化CNN的優化目標是重構以最小化誤差偏差。此外,我們可以使用哈希編碼并投影相同的哈希權重(hash bucket weights)來共享相同的值。
1.3:減少數據值的范圍
在默認情況下,數據由單精度浮點組成,占32位。研究人員發現,使用半精度浮點(16位)對性能的影響幾乎為零。谷歌的TPU使用8位整數來表示數據,這種情況是值的范圍是兩個或三個值(0/1或-1/0/1)。僅使用位進行操作可以使我們快速完成各種計算,但是訓練兩個或三個價值網絡是一個至關重要的問題。
傳統方法是使用兩個或三個值作為前饋過程并在更新過程中傳遞實數。此外,研究人員認為兩個值的表達能力是有限的,因此可以使用額外的浮點縮放二進制卷積結果來改善網絡表示。
1.4:簡化的結構設計
研究人員一直致力于創建簡化的網絡結構,例如:
1.?1x1卷積:這種設計理念已經在Inception和ResNet系列網絡設計中得到了廣泛應用;
2.?分組卷積;
3.?擴展卷積:只要值不變,使用擴展卷積就可以擴展感知域。
知識蒸餾(Knowledge distillation)訓練小網絡接近廣泛的網絡。但是,目前還不清楚如何正確地接近龐大的網絡。
1.5:硬件-軟件協議設計
常用硬件:
1.?常見硬件,如CPU(低延遲,復雜操作)和GPU(高吞吐量,適合并發,簡單過程);
2.?專用硬件,包括ASIC(專用集成電路,例如Google的TPU)和FPGA(現場可編程門陣列,靈活但效率較低)。
2、細粒度圖像分類
與(普通)圖像分類相比,細粒度圖像分類在確定圖像類別時需要更高的精度。例如,我們可能需要確定目標鳥的確切種類、汽車的品牌和型號、飛機的型號。通常,這些類之間的差異很小。例如,波音737-300和波音737-400之間唯一明顯不同的區別就是窗戶的數量。因此,細粒度圖像分類比標準圖像分類更具挑戰性。
細粒度圖像分類的經典方法是首先在圖像上定義不同的位置,例如,鳥的頭部、腳部或翅膀。然后我們必須從這些位置提取特征,最后,組合這些特征并使用它們來完成分類。這種方法具有非常高的準確性,但它需要大量的數據集和手動標記位置信息。細粒度分類的一個主要趨勢是沒有額外監督信息的訓練,而不是僅使用圖像筆記,該方法由雙線性CNN方法表示。
2.1:雙線性(Bilinear)CNN
首先計算卷積描述符的外積,以找出不同維度之間的相互關系。因為不同描述符的維度對應于卷積特征的不同通道,并且不同的通道提取不同的語義特征,所以使用雙線性操作允許我們捕獲輸入圖像上的不同語義元素之間的關系。
2.2:流線型雙線性匯合(Streamlined Bilinear Confluence)
雙線性匯合的結果是非常高維的,這需要大量的計算和存儲資源,也明顯增加了下一個完全連接層上的參數數量。后續研究旨在制定簡化雙線性匯合的戰略,其結果包括以下內容:
1.?PCA維數減少:在雙線性匯合出現之前,我們會在深度描述符上使用PCA投影維數減少,但這會影響影響性能的每個維度。一個折中的方案是僅將PCA降維應用于一條線。
2.?近似核估計:證明在雙線性收斂之后使用線性SVM分類與在描述符上使用多項式核一樣有價值。因為兩個描述符的向外投影等于兩個獨立描述符的卷積投影,所以一些研究集中于使用隨機矩陣來近似描述符投影。此外,通過近似核估計,我們可以捕獲超過二階信息(見下圖)。
3.?低秩近似:使用來自全連接層的參數矩陣進行低秩近似使得不必明確地計算雙線性匯合的結果。
3、圖像描述
圖像描述是生成圖像的一個或兩個句子描述的過程。這是一項涉及計算機視覺和自然語言處理的跨學科任務。
3.1:編碼器-解碼器網絡
設計圖像字幕網絡背后的基本思想基于自然語言處理領域中機器翻譯的概念。在具有圖像CNN編碼網絡的機器翻譯器中替換源語言編碼網絡并提取圖像的特征之后,我們可以使用解碼器網絡作為目標語言來創建文本描述。
3.2:Show Attend and Tell
注意力機制是機器翻譯器用來捕獲遠程依賴關系的標準技術,也可以用于圖像字幕。在解碼器網絡中,除了預測下一個單詞之外,在每個時刻,我們還需要輸出二維注意力圖像并將其用于深度卷積特征的加權收斂。使用注意力機制的另一個好處是網絡可以被可視化,這樣我們就可以輕松地看到網絡在生成每個單詞時所看到的圖像部分。
3.3:Adaptive Attention(自適應注意力機制)
先前的注意力機制將為每個預測的單詞產生二維注意圖像(圖像(a))。但是,對于一些停止詞,我們不需要使用圖像中的線索。相反,某些單詞可以根據上下文生成,完全獨立于圖像本身。這項工作在LSTM上進行了擴展,并產生了“視覺哨兵”機制,該機制確定是否應根據上下文或圖像信息(圖像(b))預測當前單詞。
此外,與先前在根據隱藏層的狀態計算注意圖像的先前方法不同,該方法根據隱藏層的當前狀態執行計算。
4、視覺問答
給定圖像和與該圖像相關的問題,視覺問答旨在從選擇的候選答案中回答該問題。從本質上講,這是一個分類任務,有時它使用遞歸神經網絡解碼來產生文本答案。視覺問答也是一項涉及視覺和自然語言處理的跨學科任務。
4.1:基本思想過程
問題概念是使用CNN從圖像中提取特征,RNN從文本問題中提取文本特征,然后組合視覺和文本特征,最后使用完全連接后進行分類。這項任務的關鍵是弄清楚如何連接這兩種類型的功能。直接組合這些特征的方法將它們轉換為矢量,或者通過添加或乘以元素來添加或生成視覺和文本矢量。
注意使用注意力機制的圖像字幕系統可提高視覺問答的性能。注意力機制包括視覺注意(“我在哪里看”)和文本注意力(“我在看哪個詞?”)HieCoAtten可以同時或依次創建視覺和文本注意力。DAN在同一空間內投射視覺和文本注意力的結果;?然后它同時產生視覺和文本注意力的下一步。
4.2:雙線性整合
該方法使用視覺特征向量和文本特征向量的外積來捕獲每個維度上這些狀態的特征之間的關系。為了避免明確地計算雙線性匯合的高維度結果,我們可以將在細粒度識別中發現的流線型雙線性匯合背后的思想應用于視覺問題回答。例如,MFB使用低速率近似背后的概念以及視覺和文本注意機制。
5、神經網絡可視化與神經網絡理解
下文提供了許多可視化方法,以幫助理解卷積和神經網絡。
5.1:直接可視化第一個過濾器
由于第一個卷積層上的濾鏡在輸入圖像上滑動,我們可以直接在第一層上顯示濾鏡。我們可以看到第一層權重集中在特定方向的邊緣和指定的顏色組合,這類似于視覺生物學機制。但是,由于高級過濾器不直接用于輸入圖像,因此直接可視化只能應用于第一層上的過濾器。
5.2:T-SNE
此方法在圖像的fc7和pool5特征上使用低維嵌入。例如,將它們縮小到2維并允許它們在2維平面上繪制,具有類似語義信息的圖像應該產生與t-SNE類似的結果。該方法與PCA之間的區別在于t-SNE是一種非線性減少方法,可以保留地點之間的距離。我們得到以下圖像,該圖像是將t-SNE應用于原始MNIST圖像的結果。我們可以看到MNIST是一個相對簡單的數據集,其中不同分類的圖像之間的差異是顯而易見的。
5.3:可視化中間層激活值
我們可以看到,即使ImageNet沒有人臉類別,網絡仍將學會區分這種語義信息并捕獲未來的分類。
5.4:最大化響應圖像區域
為了阻止這種情況,在中間層選擇一個指定的神經元,然后將多個不同的圖像輸入網絡,以找到導致神經元最大響應的圖像區域。這允許我們觀察神經元對應的語義特征,我們使用“圖像區域”而不是“完整圖像”的原因是中間層神經元的感受野受限并且不能覆蓋整個圖像。
5.5:梯度上升優化
該方法選擇特定的神經元,然后計算該神經元對輸入圖像的反應產生的偏導數,然后使用梯度上升優化圖像直到收斂。此外,我們需要一些標準化的項目來使生成的圖像更接近自然模型。除了優化輸入圖像,我們還可以優化fc6功能并創建所需的圖像。
6、對抗性的例子
選擇圖像和不正確的分類。然后,系統計算該分類對圖像的偏導數,然后對圖像應用梯度上升優化。實驗表明,在使用小的,幾乎察覺不到的變化之后,我們可以使網絡以高可信度對模型實現不正確的類。
在實際應用中,對抗性示例在金融和安全領域非常有用。研究人員發現,這是因為圖像空間的維度非常高。即使有大量的訓練數據,我們也只能覆蓋該空間的一小部分。如果輸入圖像從該不同空間稍微變化,那么網絡將難以做出合理的決定。
總結
以上是生活随笔為你收集整理的计算机视觉领域最全汇总(第1部分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霍夫变换(hough transform
- 下一篇: 计算机视觉领域最全汇总(第2部分)