chemdraw怎么連接兩個結構_利用神經結構搜索構建快速準確輕量級的超分辨率網絡...

介紹

我們知道,把神經網絡拆解,可以把它歸結為幾個元素的排列組合而成,例如,以卷積神經網絡為例,其主要由卷積層,池化層,殘差連接,注意力層,全連接層等組成,如果我們把它們抽象,就可抽象為一個個cell塊拼接而成。每個cell塊內部可由卷積操作(例如分組卷積,分組數為2或者4),卷積后通道數,卷積核大小,內部殘差連接,復制前面模塊的數量等參數構成。而cell塊之間又可相互連接構成稀疏或者稠密連接構成整體的網絡。

神經結構搜索(NAS)能夠自動搜索構建神經網絡結構,它以上述的cell塊組成部分以及cell塊之間的關聯關系作為搜索空間,自動探測符合任務的神經網絡結構。這篇論文就是基于神經結構搜索自動搜索構建出超分辨率網絡結構,主要以遺傳算法進行建模優化。

模型建立

模型的結構示意圖如下:

8bafa655679e0235093df35a6b5f8332.png

輸入為低分辨率圖像,中間特征抽取由一個個cell模塊組成,最后輸出利用亞像素上采樣獲取。亞像素采樣可由如下圖操作方式處理:

6f825dc332e659a511a3d64549936a4b.png

將最后一層卷積層輸出的通道平鋪開來,得到最終的高分辨率圖像。

神經架構搜索主要是自動搜索出特征抽取層。從宏觀上看,搜索空間主要為cell間的連接關系。定義

表示第
個cell(表示為
)與第
個cell(表示為
)間的連接關系,為1表示存在連接,為0表示不存在連接。而
會與它后續的cell間會存在連接或者不連接的關系,以
表示。則從宏觀上編碼如下:

從微觀上看,先從cell內部上看,設計由以下幾個部分組成搜索空間:

1.卷積,其中卷積采用分組卷積,分組數可選為[2,4]。輸出的形狀類似于倒置的瓶狀,擴展率為2

2.通道數選擇為:[16,32,48,64]

3.卷積核大小選擇為:[1,3]

4.是否帶有內部的殘差連接:[true,false]

5.重復的塊數:[1,2,4]

那么,總共會有:

種選擇。該選擇空間定義為

ps:論文中說有192種,論文中選擇的搜索空間組成如下圖,沒理解出怎么會有192種,而且卷積的選擇inverted bottleneck block with an expansion rate of 2也不確定到底怎么處理,具體代碼也沒放出來。這些不影響我們對整體算法思想的理解,如果有了解的,請評論講解下。。。

0ef0c01d10bbbed35d87ce09286c1c90.png

總共有

個cell,以
表示
選擇的內部組成結構,則微觀上的編碼為:

故整體網絡的編碼由

組成。

模型生成

模型生成過程以遺傳算法為主,具體為帶精英策略的非支配排序的遺傳算法(NSGA-II)。具體算法步驟如下:

1.初始化。初始化種群

,種群數量為
。每個個體由
個cell塊組成,cell塊隨機采樣從
中采樣取得,而cell塊之間的連接為:生成[0,1]之間的隨機數
,若
,在采用隨機連接,若
,則采用密度連接,若
,則不連接。進行非支配排序和選擇、交叉、變異后得到第一代種群
。設

2.得到新父種群。對

進行快速非支配排序,計算擁擠度距離,選擇出
個個體。

這里介紹下Paerot支配關系

對于最小化多目標問題,對于多目標向量

,任意給定兩個向量

若對于

,都有
,則A支配B

若對于

,都有
,且
,有
,則A弱支配B。

若對于

,都有
,且
,有
,則A與B互不支配。

快速支配排序算法步驟如下:

(1)依次遍歷每個個體,記錄下非支配個體數量

和支配個體集合
。設

(2)取

的個體,設置其排序號為

(3)對序號為

的個體的支配集合中的所有個體做
加1,重復步驟(2),直到排序完畢。

支配排序用到下面這三個量組成的向量

(1)PSNR(峰值信噪比),對于兩幅圖像,計算方法如下:

其中n為每像素的比特數.

(2)計算的花費

(3)參數的數量

之后計算擁擠度距離,這里的擁擠度距離計算方法如下:

(1):對于排序號為

的個體,初始化

(2):針對目標函數排序,如果排序后個體在邊界,則設置擁擠度距離為inf,否則按下式計算:

具體看參見論文Improved Crowding Distance for NSGA-II。

先按

的大小取個體,對于同級,按擁擠度距離的大小取,共取出
個。

3.選擇。選擇使用二進制錦標賽法,即從種群中隨機選擇2個個體,更優的留下。

4.交叉。選擇得到的個體,隨機選擇位置交互編碼的元素,例如,

對于模型A,其編碼為

對于模型B,其編碼為

而生成的模型C,則分別對

進行交叉,得

5.變異

對于個體中的每個需要變異的cell塊,隨機生成一個隨機數

,則采用隨機變異的方式,即隨機從
$S$中選擇一個cell。

,則利用基于FLOPS(每秒浮點運算次數)歸一化的賭輪盤方式進行選擇變異。

,則利用基于參數數量歸一化的賭輪盤方式進行選擇變異。

而對于整體的cell組成連接結構,則利用RNN構成的控制器作為強化模型進行選擇變異。結構圖如下:

2048f9cd0d0e65006a9ae1a2949f54b2.png

最后一層輸入由前面所有的嵌入層向量拼接而成,通過一個三層的全連接網絡輸出,最后輸出的全連接神經元數量為

,表示連接的概率關系。

模型由兩個參數組成,LSTM參數

和全連接層參數
,最后的梯度函數如下:

其中

表示原始連接狀態,
為輸出,
為獎勵,可為其他變量不變的情況,替換對于的cell或者宏觀連接方式的PNSR值。

訓練得到的網絡分別對宏觀結構進行變異。

6.令

,將得到的種群與新父種群合并,得到種群
,重復步驟2

總結

NAS可以幫助我們自動構建神經網絡結構,只要數據足夠,就能夠得到足夠優秀的網絡。人也不失為經歷這一過程,通過數據,自動識別各種物體,然后最后把識別的知識綜合起來做推理。

這篇論文提供了NAS的一種設計方式,以cell塊為主,從微觀和宏觀空間上,定義搜索空間,并對其進行編碼,以NSGA-II算法作為優化算法,之后組合得到理想的網絡結構。

參考文獻

Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search

https://www.jianshu.com/p/ae5157c26af9

https://www.cnblogs.com/bnuvincent/p/5268786.html

https://blog.csdn.net/weixin_43202635/article/details/82708916

Improved Crowding Distance for NSGA-II

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277659.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277659.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277659.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Unity3D學習筆記之六創建更多的Prefab

在寫完第五篇后,因為不知名的原因,我突然不能夠上傳100KB以上的圖片在博客中了。等了幾天還是這樣,所以我用PS把圖片的分辨率一張張調低,讓圖片的大小都在100左右,將積攢了四篇的學習筆記一起發上來,也算彌…

iOS底層探索(二) - 寫給小白看的Clang編譯過程原理

iOS底層探索(一) - 從零開始認識Clang與LLVM 寫在前面 編譯器是屬于底層知識,在日常開發中少有涉及,但在我的印象中,越接近底層是越需要編程基本功,也是越復雜的。但要想提升技術卻始終繞不開要對底層原理的探究,很多資…

四、構建Node Web程序

---恢復內容開始--- 一、HTTP 服務器的基礎知識 1、Node如何向開發者呈現HTTP請求 2、一個用“Hello World”做響應的HTTP服務器 它用了默 認的狀態碼200(表明成功)和默認的響應頭 3、讀取請求頭及設定響應頭 Node提供了幾個修改HTTP響應頭的方法&#x…

datagrid 什么時候結束編輯_2020年中考結束后,什么時候出分?什么時候報志愿?...

導語7月19日下午16:00,2020年北京中考正式落下帷幕。考試結束后,很多家長和考生都會長舒一口氣,但北京中考在線團隊提醒你,現在還不是放松的時刻,中考結束后,還有成績查詢和填報志愿等重要事件等著你。那么…

Unity3D學習筆記之七創建自己的游戲場景

到現在為止我們已經擁有了比較完備的Prefab,已經可以創建宏大的游戲場景,并以第一人稱視角在場景中漫游了。這里給大家做個小的示范,建一個小場景大家在創建場景的時候需要自由發揮,做個盡量大的場景出來。這一系列教程以及素材均…

excel if in函數_【Excel函數】Small+Index+IF 一對N返回

通常情況下,Vlookup和lookup函數只能返回滿足條件的第一個,剩余的都不會返回。 這也是其函數的一個弊端之一。 若是按照條件,返回所有滿足條件的數據(1->N)的,可是適用組合函數。 Index返回位置&#xf…

Unity3D學習筆記之八為場景添加細節(一)

這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity游戲引擎的基礎入門視頻教程》,下載鏈接附在第二篇學習筆記中。我花了30分鐘做了一個中等大小的迷宮場景,不知道大家自己發揮,做的場景大小如何。在完成場景之后&#xff0c…

mysql數據庫表的管理(增刪改)

表字段管理1. 添加到末尾alter table 表名 add 字段名 數據類型;2 添加到開頭alter table 表名 add 數據類型 first;3. 添加到指定位置alter table 表名 add 新字段名 數據類型 after 原有字段名;4. 刪除字段alter table 表名 drop 字段名;5. 修改數據類型alter ta…

哪個app最費電_微波爐和烤箱,買哪個劃算?

微波爐和烤箱不能說買哪個劃算,而是看哪個更適合?我家微波爐和烤箱兩個都有,所以這個問題我來回答一下。雖然外形上看起來,微波爐和烤箱似乎沒有多大的區別,從功能上看,它們也都是加熱,但它們側…

MATLAB數值計算與符號運算

符號計算 存放的是精確數據,耗存儲空間 ,運行速度慢,但結果精度高; 數值計算則是以一定精度來計算的,計算結果有誤差,但是運行速度快。轉載于:https://www.cnblogs.com/shawnchou/p/10927680.html

Unity3D學習筆記之九為場景添加細節(二)

上節為場景中添加了第一塊帶有碰撞器的石頭,本節我們來利用Prefab,將場景細節都添加進去,并且做的更完善。這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity游戲引擎的基礎入門視頻教程》,下載鏈接附在第二篇學習…

vux Cell組件

Cell 組件一 <style lang"scss">.cell {padding-top: 15px;padding-bottom: 15px;color: #333;img {display: block;margin-right: 15px;}} </style><template><Group><cell class"cell" title"錢包" :border-intent…

wifi名稱可以有空格嗎_收購公司后可以變更公司名稱嗎,變更公司名稱和股權如何處理?...

【點擊文末小程序&#xff0c;免費咨詢法律問題】公司收購是指二手設備收購&#xff0c;指向目標公司的二手設備&#xff0c;廢舊物資&#xff0c;進而獲取目標公司的全部或部分業務&#xff0c;取得對拆除的控制權。那么&#xff0c;收購公司后可以變更公司名稱嗎&#xff0c;…

震驚的網站,都是干貨

分享15個鮮為人知的的小眾網站&#xff0c;每一個可以讓你打開新世界的大門&#xff0c;讓你震驚。 1&#xff1a;仿知網 https://www.cn-ki.net/ 仿知網是一個完全可以代替知網的精品網站&#xff1b;是一個非常強大的論文搜索網站。 首先這個網站的論文檢索結果和知網的搜索結…

Kinect開發筆記之二Kinect for Windows 2.0新特性

這是本博客的第一篇翻譯文檔&#xff0c;筆者已經苦逼的竭盡全力的在翻譯了&#xff0c;但無奈英語水平也是很有限&#xff0c;不對或者不妥當不準確的地方必然會有&#xff0c;還懇請大家留言或者郵件我以批評指正&#xff0c;我會虛心接受。謝謝大家。 原文網址&#xff1a;h…

持久化的基于L2正則化和平均滑動模型的MNIST手寫數字識別模型

持久化的基于L2正則化和平均滑動模型的MNIST手寫數字識別模型 覺得有用的話,歡迎一起討論相互學習~Follow Me 參考文獻Tensorflow實戰Google深度學習框架 實驗平臺: Tensorflow1.4.0 python3.5.0MNIST數據集將四個文件下載后放到當前目錄下的MNIST_data文件夾下 定義模型框架與…

怎樣制作滴滴截圖_滴滴老了嗎?

作者 / 薛靜 來源 / 盒飯財經(ID&#xff1a;daxiongfan)滴滴最近有點忙。6月11日&#xff0c;滴滴地圖與公交事業部負責人柴華還在忙于解答消費者對于滴滴司機繞路的質疑&#xff0c;網上就流傳出了滴滴司機直播性侵的消息。當晚&#xff0c;滴滴急忙在官方微博中做出回應稱已…

mysql Backup recovery

如果您要在MySQL數據庫中存儲任何您不想丟失的內容&#xff0c;那么定期備份數據以保護數據免受損失非常重要。本教程將向您展示兩種簡單的方法來備份和恢復MySQL數據庫中的數據。您還可以使用此過程將數據移動到新的Web服務器。 從命令行備份&#xff08;使用mysqldump&#x…

Kinect開發筆記之三Kinect開發環境配置詳解

0、前言&#xff1a;首先說一下我的開發環境&#xff0c;Visual Studio是2013的&#xff0c;系統是win8的64位版本&#xff0c;SDK是Kinect for windows SDK 1.8版本。雖然前一篇博文費了半天勁&#xff0c;翻譯了2.0SDK的新特性&#xff0c;但我還是決定要回退一個版本。其實我…

opencv python 圖像縮放/圖像平移/圖像旋轉/仿射變換/透視變換

Geometric Transformations of Images 1圖像轉換 OpenCV提供了兩個轉換函數cv2.warpAffine和cv2.warpPerspective&#xff0c;可以使用它們進行各種轉換。 cv2.warpAffine采用2x3變換矩陣&#xff0c;而cv2.warpPerspective采用3x3變換矩陣作為輸入。 2圖像縮放 縮放只是調整圖…