日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MobileNet_v2

發布時間:2025/4/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MobileNet_v2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

研究動機: 神經網絡徹底改變了機器智能的許多領域,實現了超人的準確性。然而,提高準確性的驅動力往往需要付出代價:現代先進網絡需要高度計算資源,超出許多移動和嵌入式應用的能力。

主要貢獻: 發明了一個新的層模塊, 具有線性瓶頸的倒置殘差(inverted residual)。

相關工作: 里面介紹了近來整個領域的發展概況, 看論文就看介紹的吧.

基本概念

深度可分離卷積

Depthwise Separable Convolutions = depthwise + pointwise

如果卷積核大小為 3x3, 深度可分離卷積的計算量為常規卷積的 (1/9, 1/8)

流形(manifold)

花書 <> 介紹:

\(\color{red}{流形(manifold)}\) 指連接在一起的區域。數學上,它是指一組點,且每個點都 有其鄰域。給定一個任意的點,其流形局部看起來像是歐幾里得空間。日常生活中, 我們將地球視為二維平面,但實際上它是三維空間中的球狀流形。

每個點周圍鄰域的定義暗示著存在變換能夠從一個位置移動到其鄰域位置。例 如在地球表面這個流形中,我們可以朝東南西北走。

盡管術語 “流形’’ 有正式的數學定義, 但是機器學習傾向于更松散地定義一組 點,只需要考慮少數嵌入在高維空間中的自由度或維數就能很好地近似。每一維都對應著局部的變化方向。如圖 5.11 所示, 訓練數據位于二維空間中的一維流形中。 在機器學習中,我們允許流形的維數從一個點到另一個點有所變化。這經常發生于流形和自身相交的情況中。例如,數字 "8" 形狀的流形在大多數位置只有一維,但 在中心的相交處有兩維。

\(\color{red}{流形學習(manifold\space learning)}\) 算法假設: 該假設認為 \(R^n\) 中大部分區域都是無效的輸入,有意義的輸入只分布在包 含少量數據點的子集構成的一組流形中,而學習函數的輸出中,有意義的變化都沿著流形的方向或僅發生在我們切換到另一流形時。

數據位于低維流形的假設并不總是對的或者有用的。我們認為在人工智能的一 些場景中,如涉及到處理圖像、聲音或者文本時,流形假設至少是近似對的。

Linear Bottlenecks

Linear Bottlenecks 理論支持:

考慮由 n 層 \(L_i\) 組成的深層神經網絡,其中每一層都具有尺寸為 \(h_i×w_i×d_i\)的激活張量。在本節中,我們將討論這些激活張量的基本屬性,我們將其視為具有 \(d_i\) 維度的 \(h_i×w_i\)“像素”的容器。非正式地說,對于輸入的一組真實圖像,我們說層激活(對于任何層 \(L_i\))形成一個“流形”。由于這種流形通常不能用分析方法描述,因此我們將憑經驗研究它們的性質。例如,長期以來一直認為神經網絡中感興趣的流形可以嵌入到低維子空間中。換句話說,當我們查看深卷積層的所有單個通道像素時,這些值中編碼的信息實際上位于某個流形中,而這又可嵌入到低維子空間中。

乍一看,這樣的事實可以通過簡單地減少層的維度來捕獲和利用,從而降低操作空間的維度。這已經被 MobileNetV1 成功利用,通過寬度乘法器參數在計算和精度之間進行有效的折中. 遵循這種直覺,寬度乘法器方法允許減小激活空間的維度,直到感興趣的流形橫跨整個空間為止。然而,當我們回想到深度卷積神經網絡實際上具有非線性的坐標變換(例如ReLU)時,這種直覺就會崩潰。例如,ReLU應用于1D空間中的線會產生'射線',在 \(R^n\) 空間中,其通常導致具有 n 截的分段線性曲線。

insight:

  • 如果流形在ReLU變換后保持非零卷 (no-zero volume),則它對應于線性變換.
  • ReLU能夠保留關于輸入流形的完整信息,但只有當輸入流形位于輸入空間的低維子空間時。
  • 這兩個見解為我們提供了一個優化現有神經架構的經驗提示:假設感興趣的流形是低維的,我們可以通過將線性瓶頸層插入卷積模塊來捕獲這一點。 實驗證據表明,使用線性層非常重要,因為它可以防止非線性破壞太多的信息。

    Inverted residuals


    We will refer to the ratio between the size of the input bottleneck and the inner size as the expansion ratio.

    \(\color{red}{由于 Inverted \space residuals 兩邊 thin, 所以該設計想比較傳統殘差設計更加節省內存}\)

    論文觀點

    架構的一個有趣特性是它在構建塊(瓶頸層)的輸入/輸出域與層轉換(這是一種將輸入轉換為輸出的非線性函數)之間提供了自然分離. 前者(層輸入/輸出)可以看作是網絡在每一層的容量,而后者(層轉換)則是表達力。這與常規和可分離的傳統卷積塊相反,其中表現力和容量都纏結在一起,并且是輸出層深度的函數。

    \(\color{red}{在論文的最后提出}\):

    On the theoretical side: the proposed convolutional block has a unique property that allows to separate the network expressivity (encoded by expansion layers) from its capacity (encoded by bottleneck inputs). Exploring this is an important direction for future research.

    這種解釋使我們能夠獨立于其容量研究網絡的表現力,并且我們認為需要進一步探索這種分離,以便更好地理解網絡性質.

    我的理解:

  • 由于文中在前面提到, 當流型存在于高維輸入空間的低緯空間時, 通過 Relu 幾乎可以保留全部信息
  • 在 bottleneck inputs 之后的 expansion layers 會有 1x1 卷積升維操作, 所以認為經過 Relu 沒有損失信息, 即模型的容量不變, expansion layers的操作可以看做是層的表達力, 然后通過 Linear Bottlenecks, 也沒有損失信息, 故全程保持模型的容量不變, 可以通過調節 expansion ratio, t 來調節模型的表達力
  • ## 網絡結構

    實現細節:

    base learning rate = 0.045 weight decay = 0.00004 t = 5 - 10 dropout + bn + relu6 RMSPropOptimizer momentum = 0.9 decay = 0.9

    網絡結構

    表中錯誤已修正

    內存節約型 inference

    計算圖 G, 在推導時(inference ), 內存總量和邊界如下:

    \[ \begin{align*} M(G) &= \max_{op \in G}\left[\sum_{A\in op_{input}}A + \sum_{B\in op_{output}}B + |op| \right] \\ \end{align*} \]
    內存占用量是所有操作對應輸入和輸出張量的總大小與操作本身所占內存之和決定。 如果我們將瓶頸殘差塊視為單一操作(并將內部卷積視為一次性張量[即用完就丟]),則總內存量將由瓶頸張量的大小決定,而不是瓶頸內部張量的大小決定

    轉載于:https://www.cnblogs.com/nowgood/p/MobileNetv2.html

    總結

    以上是生活随笔為你收集整理的MobileNet_v2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。