女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使神經網絡在智能手機上實時運行的技術

電子工程師 ? 來源:阿里云云棲社區 ? 2021-03-29 09:14 ? 次閱讀

計算機具有高儲量的硬盤和強大的CPUGPU。但是智能手機卻沒有,為了彌補這個缺陷,我們需要技巧來讓智能手機高效地運行深度學習應用程序。

介紹

深度學習是一個令人難以置信的靈活且強大的技術,但運行的神經網絡可以在計算方面需要非常大的電力,且對磁盤空間也有要求。這通常不是云空間能夠解決的問題,一般都需要大硬盤服務器上運行驅動器和多個GPU模塊。

不幸的是,在移動設備上運行神經網絡并不容易。事實上,即使智能手機變得越來越強大,它們仍然具有有限的計算能力、電池壽命和可用磁盤空間,尤其是對于我們希望保持盡可能輕的應用程序。這樣做可以實現更快的下載速度、更小的更新時間和更長的電池使用時間,這些都是用戶所欣賞的。

為了執行圖像分類、人像模式攝影、文本預測以及其他幾十項任務,智能手機需要使用技巧來快速,準確地運行神經網絡,而無需使用太多的磁盤空間。

在這篇文章中,我們將看到一些最強大的技術,使神經網絡能夠在手機上實時運行。

使神經網絡變得更小更快的技術

基本上,我們對三個指標感興趣:模型的準確性、速度以及它在手機上占用的空間量。由于沒有免費午餐這樣的好事,所以我們必須做出妥協。

對于大多數技術,我們會密切關注我們的指標并尋找我們稱之為飽和點的東西。這是一個指標的收益停止而其他指標損失的時刻。通過在飽和點之前保持優化值,我們可以獲得最佳值。

使神經網絡在智能手機上實時運行的技術

在這個例子中,我們可以在不增加錯誤的情況下顯著減少昂貴的操作次數。但是,在飽和點附近,錯誤變得太高而無法接受。

1. 避免完全連接的層

完全連接的層是神經網絡最常見的組成部分之一,它們曾經創造奇跡。然而,由于每個神經元都連接到前一層的所有神經元,因此它們需要存儲和更新眾多參數。這對速度和磁盤空間是不利的。

卷積層是利用輸入中的局部一致性(通常是圖像)的層。每個神經元不再連接到前一層的所有神經元。這有助于在保持高精度的同時減少連接/重量的數量。

使神經網絡在智能手機上實時運行的技術

完全連接層中的連接/權重比卷積層中多得多。

使用很少或沒有完全連接的層可以減少模型的大小,同時保持高精度。這可以提高速度和磁盤使用率。

在上面的配置中,具有1024個輸入和512個輸出的完全連接層,這個完全連接層大約有500k個參數。如果是具有相同特征和32個卷積層特征映射,那么它將只具有50K參數,這是一個10倍的改進!

2. 減少通道數量和內核大小

這一步代表了模型復雜性和速度之間的一個非常直接的折衷。卷積層中有許多通道允許網絡提取相關信息,但需付出代價。刪除一些這樣的功能是節省空間并使模型變得更快的簡單方法。

我們可以用卷積運算的接受域來做同樣的事情。通過減小內核大小,卷積對本地模式的了解較少,但涉及的參數較少。

使神經網絡在智能手機上實時運行的技術

較小的接受區域/內核大小計算起來更便宜,但傳達的信息較少。

在這兩種情況下,通過查找飽和點來選擇地圖/內核大小的數量,以便精度不會降低太多。

3. 優化縮減采樣(Optimizing the downsampling)

對于固定數量的層和固定數量的池操作,神經網絡可以表現得非常不同。這來自于一個事實,即表示該數據以及計算量的依賴于在池操作完成:

當池化操作提早完成時,數據的維度會降低。越小的維度意味著網絡處理速度越快,但意味著信息量越少,準確性越差。

當聯網操作在網絡后期完成時,大部分信息都會保留下來,從而具有很高的準確性。然而,這也意味著計算是在具有許多維度的對象上進行的,并且在計算上更昂貴。

在整個神經網絡中均勻分布下采樣作為一個經驗有效的架構,并在準確性和速度之間提供了一個很好的平衡。

使神經網絡在智能手機上實時運行的技術

早期的池化速度很快,晚期的池化是準確的,均勻間隔的池化是有點兩者。

4. 修剪重量(Pruning the weights)

在訓練完成的神經網絡中,一些權重對神經元的激活起著強烈作用,而另一些權重幾乎不影響結果。盡管如此,我們仍然對這些弱權重做一些計算。

修剪是完全去除最小量級連接的過程,以便我們可以跳過計算。這可能會降低了準確性,但使網絡更輕、更快。我們需要找到飽和點,以便盡可能多地刪除連接,而不會過多地損害準確性。

使神經網絡在智能手機上實時運行的技術

除去最薄弱的連接以節省計算時間和空間。

5. 量化權重(Quantizing the weights)

為了將網絡保存在磁盤上,我們需要記錄網絡中每個單一權重的值。這意味著為每個參數保存一個浮點數,這代表了磁盤上占用的大量空間。作為參考,在C中,一個浮點占用4個字節,即32個比特。一個參數在數億的網絡(例如GoogLe-Net或VGG-16)可以輕松達到數百兆,這在移動設備上是不可接受的。

為了保持網絡足跡盡可能小,一種方法是通過量化它們來降低權重的分辨率。在這個過程中,我們改變了數字的表示形式,使其不再能夠取得任何價值,但相當受限于一部分數值。這使我們只能存儲一次量化值,然后參考網絡的權重。

使神經網絡在智能手機上實時運行的技術

量化權重存儲鍵而不是浮動。

我們將再次通過查找飽和點來確定要使用多少個值。更多的值意味著更高的準確性,但也是更大的儲存空間。例如,通過使用256個量化值,每個權重可以僅使用1個字節 即 8個比特來引用。與之前(32位)相比,我們已將大小除以4!

6. 編碼模型的表示

我們已經處理了關于權重的一些事情,但是我們可以進一步改進網絡!這個技巧依賴于權重不均勻分布的事實。一旦量化,我們就沒有相同數量的權值來承載每個量化值。這意味著在我們的模型表示中,一些引用會比其他引用更頻繁地出現,我們可以利用它!

霍夫曼編碼是這個問題的完美解決方案。它通過將最小占用空間的密鑰歸屬到最常用的值以及最小占用空間的值來實現。這有助于減小設備上模型的誤差,最好的結果是精度沒有損失。

使神經網絡在智能手機上實時運行的技術

最頻繁的符號僅使用1 位的空間,而最不頻繁的使用3 位。這是由后者很少出現在表示中的事實所平衡的。

這個簡單的技巧使我們能夠進一步縮小神經網絡占用的空間,通常約為30%。

注意:量化和編碼對于網絡中的每一層都是不同的,從而提供更大的靈活性

7. 糾正準確度損失(Correctiong the accuracy loss)

使用我們的技巧,我們的神經網絡已經變得非常粗糙了。我們刪除了弱連接(修剪),甚至改變了一些權重(量化)。雖然這使得網絡超級輕巧,而且速度非常快,但其準確度并非如此。

為了解決這個問題,我們需要在每一步迭代地重新訓練網絡。這只是意味著在修剪或量化權重后,我們需要再次訓練網絡,以便它能夠適應變化并重復這個過程,直到權重停止變化太多。

結論

雖然智能手機不具備老式桌面計算機的磁盤空間、計算能力或電池壽命,但它們仍然是深度學習應用程序非常好的目標。借助少數技巧,并以幾個百分點的精度為代價,現在可以在這些多功能手持設備上運行強大的神經網絡。這為數以千計的激動人心的應用打開了大門。

責任編輯:lq6

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18609

    瀏覽量

    183040
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11033

    瀏覽量

    215996
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4910

    瀏覽量

    130654
  • 計算機
    +關注

    關注

    19

    文章

    7628

    瀏覽量

    90174
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    卷積神經網絡與傳統神經網絡的比較

    深度學習領域,神經網絡模型被廣泛應用于各種任務,如圖像識別、自然語言處理和游戲智能等。其中,卷積神經網絡(CNNs)和傳統神經網絡是兩種常
    的頭像 發表于 11-15 14:53 ?1598次閱讀

    LSTM神經網絡語音識別中的應用實例

    語音識別技術是人工智能領域的一個重要分支,它使計算機能夠理解和處理人類語言。隨著深度學習技術的發展,特別是長短期記憶(LSTM)神經網絡的引
    的頭像 發表于 11-13 10:03 ?1688次閱讀

    BP神經網絡和卷積神經網絡的關系

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種人工智能和機器
    的頭像 發表于 07-10 15:24 ?2276次閱讀

    全連接前饋神經網絡與前饋神經網絡的比較

    隨著人工智能技術的飛速發展,神經網絡作為其核心組成部分,各個領域展現出了強大的應用潛力和價值。眾多神經網絡類型中,全連接前饋
    的頭像 發表于 07-09 10:31 ?1.8w次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    : 循環神經網絡的基本概念 循環神經網絡是一種具有時間序列特性的神經網絡,它能夠處理序列數據,具有記憶功能。與傳統的前饋神經網絡不同,循環神經網絡
    的頭像 發表于 07-05 09:52 ?938次閱讀

    遞歸神經網絡是循環神經網絡

    。 遞歸神經網絡的概念 遞歸神經網絡是一種具有短期記憶功能的神經網絡,它能夠處理序列數據,如時間序列、文本、語音等。與傳統的前饋神經網絡不同,遞歸
    的頭像 發表于 07-04 14:54 ?1404次閱讀

    循環神經網絡和卷積神經網絡的區別

    結構。它們處理不同類型的數據和解決不同問題時具有各自的優勢和特點。本文將從多個方面比較循環神經網絡和卷積神經網絡的區別。 基本概念 循環神經網絡是一種具有循環連接的
    的頭像 發表于 07-04 14:24 ?1920次閱讀

    深度神經網絡與基本神經網絡的區別

    探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需
    的頭像 發表于 07-04 13:20 ?1650次閱讀

    人工智能神經網絡的結構是什么

    人工智能神經網絡是一種模擬人腦神經網絡的計算模型,其結構和功能非常復雜。 引言 人工智能神經網絡是一種模擬人腦
    的頭像 發表于 07-04 09:37 ?993次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    神經網絡許多領域都有廣泛的應用,如語音識別、圖像識別、自然語言處理等。然而,BP神經網絡也存在一些問題,如容易陷入局部最優解、訓練時間長、對初始權重敏感等。為了解決這些問題,研究者們提出了一些改進的BP
    的頭像 發表于 07-03 11:00 ?1149次閱讀

    神經網絡和人工智能的關系是什么

    神經網絡和人工智能的關系是密不可分的。神經網絡是人工智能的一種重要實現方式,而人工智能則是神經網絡
    的頭像 發表于 07-03 10:25 ?1909次閱讀

    bp神經網絡和卷積神經網絡區別是什么

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡,它們
    的頭像 發表于 07-03 10:12 ?2448次閱讀

    卷積神經網絡和bp神經網絡的區別

    化能力。隨著深度學習技術的不斷發展,神經網絡已經成為人工智能領域的重要技術之一。卷積神經網絡和BP神經
    的頭像 發表于 07-02 14:24 ?5875次閱讀

    神經網絡圖像識別中的應用

    隨著人工智能技術的飛速發展,神經網絡圖像識別領域的應用日益廣泛。神經網絡以其強大的特征提取和分類能力,為圖像識別帶來了革命性的進步。本文將詳細介紹
    的頭像 發表于 07-01 14:19 ?1095次閱讀

    神經網絡自然語言處理中的應用

    自然語言處理(NLP)是人工智能領域中的一個重要分支,它研究的是如何使計算機能夠理解和生成人類自然語言。隨著人工智能技術的飛速發展,神經網絡
    的頭像 發表于 07-01 14:09 ?839次閱讀