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

歡迎訪問 生活随笔!

生活随笔

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

pytorch

深度学习(二十)——Ultra Deep Network, 图像超分辨率算法

發布時間:2023/12/20 pytorch 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习(二十)——Ultra Deep Network, 图像超分辨率算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://antkillerfarm.github.io/

Ultra Deep Network

FractalNet

論文:

《FractalNet: Ultra-Deep Neural Networks without Residuals》

Resnet in Resnet

論文:

《Resnet in Resnet: Generalizing Residual Architectures》

Highway

論文:

《Training Very Deep Networks》

Resnet對于殘差的跨層傳遞是無條件的,而Highway則是有條件的。這種條件開關被稱為gate,它也是由網絡訓練得到的。

DenseNet

DenseNet是康奈爾大學博士后黃高(Gao Huang)、清華大學本科生劉壯(Zhuang Liu)、Facebook人工智能研究院研究科學家Laurens van der Maaten 及康奈爾大學計算機系教授Kilian Q. Weinberger于2016年提出的。論文當選CVPR 2017最佳論文。

論文:

《Densely Connected Convolutional Networks》

代碼:

https://github.com/liuzhuang13/DenseNet

原始版本是Torch寫的,官網上列出了其他框架的實現代碼的網址。

上圖是DenseNet的整體網絡結構圖。從整體層面來看,DenseNet主要由3個dense block組成。

上圖就是dense block的結構圖。與Resnet的跨層加法不同,這里采用的是Concatenation,也就是將不同層的幾個tensor組合成一個大的tensor。

這里的Concatenation是作用在channel上的,即dense block中的所有層的feature map都是等大的,只不過在channel數上,不僅包含本層生成的channel,還包含上層的channel。

這實際上帶來了兩個問題:

1.feature map的縮小問題。檢測網絡最后的FC是一定無法接收原始尺寸的feature map的。

2.channel數只增不減顯然也是問題。

因此,在兩個dense block之間,DenseNet還定義了一個transition layer。該layer包含兩個操作:

1.1x1的conv用于降維。

2.avg pool用于縮小feature map。

DenseNet的設計思想

以下是原作者的訪談片段:

DenseNet的想法很大程度上源于我們去年發表在ECCV上的一個叫做隨機深度網絡(Deep networks with stochastic depth)工作。當時我們提出了一種類似于Dropout的方法來改進ResNet。我們發現在訓練過程中的每一步都隨機地“扔掉”(drop)一些層,可以顯著的提高ResNet的泛化性能。這個方法的成功至少帶給我們兩點啟發:

首先,它說明了神經網絡其實并不一定要是一個遞進層級結構,也就是說網絡中的某一層可以不僅僅依賴于緊鄰的上一層的特征,而可以依賴于更前面層學習的特征。想像一下在隨機深度網絡中,當第l層被扔掉之后,第l+1層就被直接連到了第l-1層;當第2到了第l層都被扔掉之后,第l+1層就直接用到了第1層的特征。因此,隨機深度網絡其實可以看成一個具有隨機密集連接的DenseNet。

其次,我們在訓練的過程中隨機扔掉很多層也不會破壞算法的收斂,說明了ResNet具有比較明顯的冗余性,網絡中的每一層都只提取了很少的特征(即所謂的殘差)。實際上,我們將訓練好的ResNet隨機的去掉幾層,對網絡的預測結果也不會產生太大的影響。既然每一層學習的特征這么少,能不能降低它的計算量來減小冗余呢?

DenseNet 的設計正是基于以上兩點觀察。我們讓網絡中的每一層都直接與其前面層相連,實現特征的重復利用;同時把網絡的每一層設計得特別“窄”,即只學習非常少的特征圖(最極端情況就是每一層只學習一個特征圖),達到降低冗余性的目的。這兩點也是DenseNet與其他網絡最主要的不同。需要強調的是,第一點是第二點的前提,沒有密集連接,我們是不可能把網絡設計得太窄的,否則訓練會出現欠擬合(under-fitting)現象,即使 ResNet 也是如此。

DenseNet的優點

省參數。在 ImageNet 分類數據集上達到同樣的準確率,DenseNet 所需的參數量不到 ResNet 的一半。對于工業界而言,小模型可以顯著地節省帶寬,降低存儲開銷。

省計算。達到與 ResNet 相當的精度,DenseNet 所需的計算量也只有 ResNet 的一半左右。

**抗過擬合。**DenseNet 具有非常好的抗過擬合性能,尤其適合于訓練數據相對匱乏的應用。這一點從論文中 DenseNet 在不做數據增強(data augmentation)的 CIFAR 數據集上的表現就能看出來。

由于DenseNet不容易過擬合,在數據集不是很大的時候表現尤其突出。在一些圖像分割和物體檢測的任務上,基于DenseNet的模型往往可以省略在ImageNet上的預訓練,直接從隨機初始化的模型開始訓練,最終達到相同甚至更好的效果。由于在很多應用中實際數據跟預訓練的ImageNet自然圖像存在明顯的差別,這種不需要預訓練的方法在醫學圖像,衛星圖像等任務上都具有非常廣闊的應用前景。

DenseNet的優化問題

當前的深度學習框架對DenseNet的密集連接沒有很好的支持,我們只能借助于反復的拼接(Concatenation)操作,將之前層的輸出與當前層的輸出拼接在一起,然后傳給下一層。對于大多數框架(如Torch和TensorFlow),每次拼接操作都會開辟新的內存來保存拼接后的特征。這樣就導致一個L層的網絡,要消耗相當于L(L+1)/2層網絡的內存(第l層的輸出在內存里被存了(L-l+1)份)。

解決這個問題的思路其實并不難,我們只需要預先分配一塊緩存,供網絡中所有的拼接層(Concatenation Layer)共享使用,這樣DenseNet對內存的消耗便從平方級別降到了線性級別。

參考

https://www.leiphone.com/news/201708/0MNOwwfvWiAu43WO.html

CVPR 2017最佳論文作者解讀:DenseNet 的“what”、“why”和“how”

https://zhuanlan.zhihu.com/p/28124810

為什么ResNet和DenseNet可以這么深?一文詳解殘差塊為何有助于解決梯度彌散問題

https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2651988934&idx=2&sn=0e5ffa195ef67a1371f3b5b223519121

ResNets、HighwayNets、DenseNets:用TensorFlow實現超深度神經網絡

Dual Path Networks

DPN是馮佳時和顏水成團隊的Yunpeng Chen的作品。

馮佳時,中國科學技術大學自動化系學士,新加坡國立大學電子與計算機工程系博士。現任新加坡國立大學電子與計算機工程系助理教授。

論文:

《Dual Path Networks》

代碼:

https://github.com/cypw/DPNs

這篇論文首先從拓撲關系的角度分析了ResNet、DenseNet和HORNN(Higher Order RNN)之間的聯系。

如上所示,RNN相當于共享權值的串聯的ResNet,而DenseNet則相當于并聯的RNN。

更進一步的,上述三者都可表述為以下通式:

hk=gk[t=0k?1fkt(ht)]hk=gk[∑t=0k?1ftk(ht)]

其中,htht表示t時刻的隱層狀態;索引k表示當前時刻;xtxt表示t時刻的輸入;fkt(?)ftk(?)表示特征提取;gkgk表示對提取特征做輸出前的變換。

如果fkt(?)ftk(?)gk(?)gk(?)每個Step都共享,那么就是HORNN,如果只有fkt(?)ftk(?)共享,那么就是ResNet,兩者都不共享,那就是DenseNet。

上圖展示的是ResNet和DenseNet的示意圖。圖中用線填充的柱狀體,表示的是主干結點的tensor的大小。

ResNet由于跨層和主干之間是element-wise的加法運算,因此每個主干結點的tensor都是一樣大的。

而DenseNet的跨層和主干之間是Concatenation運算,因此主干越往下,tensor越大。

通過上面的分析,我們可以認識到 :

ResNet: 側重于特征的再利用,但不善于發掘新的特征;

DenseNet: 側重于新特征的發掘,但又會產生很多冗余;

為了綜合二者的優點,作者設計了DPN網絡:

參考:

http://blog.csdn.net/scutlihaoyu/article/details/75645551

《Dual Path Networks》筆記

http://www.cnblogs.com/mrxsc/p/7693316.html

Dual Path Networks

http://blog.csdn.net/u014380165/article/details/75676216

DPN(Dual Path Network)算法詳解

圖像超分辨率算法

如上圖所示,一張低分辨率的小圖(Low Resolution,LR)如果采用簡單的插值算法進行圖片放大的話,圖像中物體的邊緣會比較模糊。如何用算法將這種LR的圖片放大成HR的圖片,這就是Super Resolution(SR)的目標了。

SR目前主要有兩個用途:

1.提升設備的測量精度。這個在天文和醫療圖像方面用的比較多,比如Google和NASA利用AI探測太陽系外的行星,還有癌癥的早期診斷。

2.Image Signal Processor。上面的兩個應用比較高端,SR最主要的用途恐怕還是相機的ISP領域。ISP的基本概念參見《圖像處理理論(四)》。

這里主要討論DL在SR領域的應用。

總結

以上是生活随笔為你收集整理的深度学习(二十)——Ultra Deep Network, 图像超分辨率算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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