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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习(二十三)——Fast Image Processing, SVDF, LCNN, LSTM进阶

發布時間:2023/12/20 pytorch 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习(二十三)——Fast Image Processing, SVDF, LCNN, LSTM进阶 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://antkillerfarm.github.io/

Fast Image Processing(續)

這個課題一般使用MIT-Adobe FiveK Dataset作為基準數據集。網址:

http://groups.csail.mit.edu/graphics/fivek_dataset/

這個數據集包含了5K張原始照片,并雇用了5個專業修圖師,對每張圖片進行修圖。

眾所周知,多層神經網絡只要有足夠的深度和寬度,就可以任意逼近任意連續函數。然而從Fast Image Processing的目的來說,神經網絡的深度和寬度注定是有限的,否則肯定快不了。而這也是該課題的研究意義所在。

本文只使用了MIT-Adobe數據集中的原始圖片,并使用了10種常用的算子對圖片進行處理。因此,該網絡訓練時的輸入是原始圖片,而輸出是處理后的圖片。

上圖是本文模型的網絡結構圖。它的設計特點如下:

1.采用Multi-Scale Context Aggregation作為基礎網絡。MCA的內容參見《深度學習(九)》。

2.傳統MCA一般有下采樣的過程,但這里由于網絡輸入和輸出的尺寸維度是一樣的,因此,所有的feature maps都是等大的。

3.借鑒FCN的思想,去掉了池化層和全連接層。

4.L1~L3主要用于圖片的特征提取和升維,而L4~L5則用于特征的聚合和降維,并最終和輸出數據的尺寸維度相匹配。

在normalization方面,作者發現有的operators經過normalization之后,精度會上升,而有的精度反而會下降,因此為了統一模型,定義如下的normalization運算:

Ψs(x)=λsx+μsBN(x)Ψs(x)=λsx+μsBN(x)

Loss函數為:

l(,)=i1Nif??(Ii;,)?f(Ii)2l(K,B)=∑i1Ni‖f^(Ii;K,B)?f(Ii)‖2

這實際上就是RGB顏色空間的MSE誤差。

為了檢驗模型的泛化能力,本文還使用RAISE數據集作為交叉驗證的數據集。該數據集的網址:

http://mmlab.science.unitn.it/RAISE/

RAISE數據集包含了8156張高分辨率原始照片,由3臺不同的相機拍攝,并給出了相機的型號和參數。

TNG

Tiny Network Graphics是圖鴨科技推出一種基于深度學習的圖片壓縮技術。由于商業因素,這里沒有論文,技術細節也不詳,但是下圖應該還是有些用的。

參考:

https://mp.weixin.qq.com/s/WYsxFX4LyM562bZD8rO95w

圖鴨發布圖片壓縮TNG,節省55%帶寬

SVDF

SVDF是UCB和Google Speech Group的作品,主要用于簡化Speech模型的計算量。

論文:

《Compressing Deep Neural Networks using a Rank-Constrained Topology》

代碼:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/speech_commands/models.py

音頻數據通常是一個[time, frequency]的二維tensor,直接放入FC網絡,會導致較大的計算量。(下圖左半部分所示)

SVDF將每個time的frequency作為一組,進行FC之后,再和其他組的結果進一步FC。上圖右半部分所示的是time的filters為1的時候的SVDF。當然filters也可以為其他值,和CNN類似,filters越多,提取的特征越多。

從原理來說,SVDF相當于用兩層FC來擬合1層FC,即:

w(m)i,jα(m)iβ(m)iwi,j(m)≈αi(m)βi(m)

SVDF將運算量從CdCd變為(C+d)k(C+d)k,這里的k為filters numbers。

這實際上就是2維tensor的SVD,只不過SVD是線性變換,而這里是非線性變換而已。(參見《機器學習(十五)》中的ALS算法部分)

實際上,SVDF和之前在《深度學習(十六)》中提到的Fast R-CNN的FC加速,原理是基本一致的。

LCNN

LCNN是華盛頓大學和Allen AI研究所的作品。后者是微軟創始人Paul Allen投資興建的研究機構。

論文:

《LCNN: Lookup-based Convolutional Neural Network》

代碼:

https://github.com/hessamb/lcnn

我們知道一個Conv層的weight是一個n×m×kw×khn×m×kw×kh的tensor,這里的m,n分別是input和output的channel數,kw,khkw,kh則是kernel的寬和高。

LCNN將這個巨大的weight tensor拆解成若干小tensor的運算:

1.建立一個包含k個m×kw×khm×kw×kh大小的tensor的字典D。

2.一個用于選擇字典條目的矩陣I。

3.權值矩陣C。

然后按照下圖所示的方法,計算得到W:

用數學公式表示,則為:

W[:,r,c]=t=1sC[t,r,c]?D[I[t,r,c],:],?r,cW[:,r,c]=∑t=1sC[t,r,c]?D[I[t,r,c],:],?r,c

上圖是LCNN的前向運算示意圖,其中:

S[i,:,:]=X?D[i,:]S[i,:,:]=X?D[i,:]

這個過程實際上等效于S?PS?P,而參數P就是我們需要訓練的模型參數。

可以看出LCNN和SVDF都是采用稀疏表示的方法來減少運算量,只是實現方式和用途略有不同而已。

參考:

http://blog.csdn.net/feynman233/article/details/69785592

LCNN論文閱讀筆記

LSTM進階

《Long short-term memory》

這是最早提出LSTM這個概念的論文。這篇論文偏重數學推導,實話說不太適合入門之用。但既然是起點,還是有列出來的必要。

《LSTM Neural Networks for Language Modeling》

這也是一篇重要的論文。

《Sequence to Sequence - Video to Text》

https://vsubhashini.github.io/s2vt.html

《Long-term Recurrent Convolutional Networks for Visual Recognition and Description》

Long-term Recurrent Convolutional Networks是LSTM的一種應用方式,它結合了LSTM、CNN、CRF等不同網絡組件。

上圖展示了LSTM在動作識別、圖片和視頻描述等任務中的網絡結構。

上圖展示了圖片描述任務中幾種不同的網絡連接方式:

1.單層LRCN。

2.雙層LRCN。CNN連接在第一個LSTM層。傳統的LSTM只有一個輸入,這里的CNN是第二個輸入,也就是所謂的靜態輸入。可參看caffe的LSTM實現。

2.雙層LRCN。CNN連接在第二個LSTM層。

這是視頻描述任務中LSTM和CRF結合的示例。

《Training RNNs as Fast as CNNs》

這篇論文提出了如下圖所示的Simple Recurrent Unit(SRU)的新結構:

由于普通LSTM計算步驟中,很多當前時刻的計算都依賴ht?1ht?1的值,導致整個網絡的計算無法并行化。SRU針對這一點去掉了當前時刻計算對于ht?1ht?1的依賴,而僅保留Ct?1Ct?1(這個計算較為廉價)以記憶信息,大大改善了整個RNN網絡計算的并行性。

但是SRU的精度沒有LSTM高,需要通過增加layer和filter的數量來達到相同的精度,當然即使這樣,計算時間仍然小于LSTM。

《Neural Machine Translation in Linear Time》

該論文是Deepmind的作品,它提出的ByteNet,計算復雜度為線性,也是LSTM的優化方案之一。

《Long Short-Term Memory Based Recurrent Neural Network Architectures for Large Vocabulary Speech Recognition》

it=δ(Wixxt+Wimmt?1+Wicct?1+bi)ft=δ(Wfxxt+Wfmmt?1+Wfcct?1+bi)ct=ftct?1+itg(Wcxxt+Wcmmt?1+bc)ot=δ(Woxxt+Wommt?1+Wocct+bo)mt=oth(ct)yt=Wymmt+byit=δ(Wixxt+Wimmt?1+Wicct?1+bi)ft=δ(Wfxxt+Wfmmt?1+Wfcct?1+bi)ct=ft⊙ct?1+it⊙g(Wcxxt+Wcmmt?1+bc)ot=δ(Woxxt+Wommt?1+Wocct+bo)mt=ot⊙h(ct)yt=Wymmt+by

上式是LSTM的公式(其中的最后一步在多數模型中,往往直接用yt=mtyt=mt代替。),從中可以看出類似Wixxt+Wimmt?1+Wicct?1+biWixxt+Wimmt?1+Wicct?1+bi的FC運算占據了LSTM的絕大部分運算量。其中W的參數量為:

W=nc×nc×4+ni×nc×4+nc×no+nc×3W=nc×nc×4+ni×nc×4+nc×no+nc×3

為了精簡相關運算,Google的Hasim Sak于2014年提出了LSTMP。

Hasim Sak,土耳其伊斯坦布爾海峽大學博士,Google研究員。

LSTMP的結構圖如下:

改寫成數學公式就是:

it=δ(Wixxt+Wimrt?1+Wicct?1+bi)ft=δ(Wfxxt+Wfmrt?1+Wfcct?1+bi)ct=ftct?1+itg(Wcxxt+Wcmrt?1+bc)ot=δ(Woxxt+Womrt?1+Wocct+bo)mt=oth(ct)rt=Wrmmtpt=Wpmmtyt=Wyrrt+Wyppt+byit=δ(Wixxt+Wimrt?1+Wicct?1+bi)ft=δ(Wfxxt+Wfmrt?1+Wfcct?1+bi)ct=ft⊙ct?1+it⊙g(Wcxxt+Wcmrt?1+bc)ot=δ(Woxxt+Womrt?1+Wocct+bo)mt=ot⊙h(ct)rt=Wrmmtpt=Wpmmtyt=Wyrrt+Wyppt+by

LSTMP的主要思想是對mtmt做一個映射,只有部分數據rtrt參與recurrent運算,其余部分ptpt直接輸出即可(這一步是可選項,所以用虛框表示)。

這樣W的參數量為:

W=nc×nr×4+ni×nc×4+nr×no+nc×nr+nc×3W=nc×nr×4+ni×nc×4+nr×no+nc×nr+nc×3

參數量公式用藍色和紅色標出修改前后對應的部分,可以看出計算量有了明顯下降。

參考:

http://blog.csdn.net/xmdxcsj/article/details/53326109

模型壓縮lstmp

《Video Summarization with Long Short-term Memory》

這是一篇用于提取視頻關鍵幀(也叫靜態視頻摘要)的論文,是南加州大學沙飛小組的作品。

上圖是該文提出的DPP LSTM的網絡結構圖。它的主體是一個BiLSTM,算是中規中矩吧。

該文的創新點在于提出了DPP loss的概念。上圖中的ytyt表示幀的分值(越大表示越重要),?t?t表示幀之間的相似度。該文的實驗表明,將兩個特征分開抽取,有助于提升模型的準確度。

這篇論文主要用到了3個數據集:

TVSum dataset:

https://github.com/yalesong/tvsum

這個需要Yahoo賬號和一個高校的郵件地址才行。

SumMe dataset:

https://people.ee.ethz.ch/~gyglim/vsum/#benchmark

OVP and YouTube datasets:

https://sites.google.com/site/vsummsite/

需要翻墻。

IndRNN

https://mp.weixin.qq.com/s/cAqpclkkeVrTiifz07HC1g

新型循環神經網絡IndRNN:可構建更長更深的RNN

https://mp.weixin.qq.com/s/7-K-nZTijoYCaprRNYXxFg

新型RNN:將層內神經元相互獨立以提高長程記憶

參考

https://mp.weixin.qq.com/s/4IHzOAvNhHG9c8GP0zXVkQ

Simple Recurrent Unit For Sentence Classification

https://mp.weixin.qq.com/s/h3fF6Zvr1rSzSMpqdu8B0A

電子科大提出BT-RNN:替代全連接操作而大幅度提升LSTM效率

https://mp.weixin.qq.com/s/fCzHbOi7aJ8-W9GzctUFNg

LSTM文本分類實戰

http://mp.weixin.qq.com/s/3nwgft9c27ih172ANwHzvg

從零開始:如何使用LSTM預測匯率變化趨勢

https://mp.weixin.qq.com/s/M18c3sgvjV2b2ksCsyOxbQ

Nested LSTM:一種能處理更長期信息的新型LSTM擴展

https://www.zhihu.com/question/62399257

如何理解LSTM后接CRF?

https://mp.weixin.qq.com/s/XAbzaMXP3QOret_vxqVF9A

用深度學習LSTM炒股:對沖基金案例分析

https://mp.weixin.qq.com/s/eeA5RZh35BvlFt45ywVvFg

可視化LSTM網絡:探索“記憶”的形成

https://mp.weixin.qq.com/s/h-MYTNTLy7ToPPEZ2JVHpw

阿里巴巴論文提出Advanced LSTM:關于更優時間依賴性刻畫在情感識別方面的應用

https://mp.weixin.qq.com/s/SeR_zNZTu4t7kqB6ltNrmQ

從循環到卷積,探索序列建模的奧秘

https://mp.weixin.qq.com/s/_q69BV1r46S9X5wnLuFPSw

關于序列建模,是時候拋棄RNN和LSTM了

總結

以上是生活随笔為你收集整理的深度学习(二十三)——Fast Image Processing, SVDF, LCNN, LSTM进阶的全部內容,希望文章能夠幫你解決所遇到的問題。

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