DNNGP、DeepGS 和 DLGWAS模型構成對比

一、DNNGP

?DNNGP 是基于深度卷積神經網絡,這個結構包括一個輸入層,三個卷積層,一個批標準化層,兩個dropout層,一個平坦化層,一個 dense層。

dropout層:在神經網絡中,dropout層是一個非常有效的正則化技術,主要作用是防止模型過擬合。dropout層在訓練時會隨機將一些網絡單元暫時“屏蔽”,即將其輸出值設置為0。各個迭代訓練時屏蔽的單元是隨機的。這樣可以阻止單元間形成強依賴關系,網絡被迫更多地考慮不同的特征,而不是依賴少數關鍵單元的組合。在測試時,dropout層并不發生隨機屏蔽,而是保持全連接,但同時縮減所有權重(比如乘以0.5)。這等效于在訓練時迭代地訓練多個稍微不同的“子網絡”,測試時對它們進行平均。綜上,dropout在訓練時增加噪聲,測試時 ensemble,具有很好的正則化效果,可以顯著提高模型的泛化能力,防止過擬合。?Dropout比率通常設置在0.2到0.5之間。Ratio太小正則化效果弱,太大會損害模型擬合能力。需針對具體問題進行調參選擇合適的比率。Dropout已成為深度學習中標準的正則化技術之一。

Flattern層:在卷積神經網絡(CNN)中, Flatten 層的作用是將前一層的多維輸出(通常是3D 或 4D 張量)展平成1D 的向量,以便用于接下來的全連接層。其原理很簡單:假設前一層輸出為一個[batch_size, h, w, c] 的4D 張量,其中:- batch_size:一個批次中的樣本數?- h:特征圖高度- w:特征圖寬度- c: 特征圖通道數那么Flatten層會將其展平為[batch_size, h * w * c] 的2D 張量。幾何意義上是將多通道的2D特征圖打平成1D 向量。這個過程不包含任何可學習參數,僅僅是對數據形狀的改變。但意義非常重大:- 將多維輸入映射到一維,以適應全連接層的輸入。- 在網絡金字塔結構中,提高上下層網絡信息的融合效果。- 減少參數量,有利于訓練較大網絡。所以,Flatten層在CNN中起著極其重要的過渡作用,把卷積層提取出的特征映射到適合全連接層處理的形狀,是一個不可或缺的組成部分,所以根據其作用其放置的順序是永遠在dense層前的,Flattern層可以把卷積層提取出的特征映射到適合全連接層處理的形狀。

dense層:在神經網絡中,dense層又稱作全連接層(fully connected layer)。它的主要特點是:- 每個輸出節點都與上一層的所有節點有連接。- 對輸入數據做線性變換+激活函數。- 參數可學習,通過反向傳播更新。dense層的計算公式如下:output = activation(dot(input, weights) + bias)其中weights和bias都是可學習的參數。dense層主要用在網絡的最后幾層,將前面提取到的高級特征映射到最終的輸出,實現分類或回歸任務。相比卷積層extract低級到高級特征,dense層更強調分類決策。但過多的dense層也容易導致過擬合。所以一個典型的卷積神經網絡往往是:卷積層提取特征,全連接層分類決策。這種組合使模型能夠同時具備擬合復雜模式和實現決策判別的能力。Dense層作為“大腦”的角色,與前面的“感官”卷積層互相配合,共同完成圖像分類等視覺任務。

卷積層在網絡中的分布位置會對模型的效果產生一定的影響。1. 前置的卷積層可以提取低級特征,這樣后續層可以基于這些特征提取高級特征。2. 網絡深處的卷積層可以利用前面提取的特征進行更復雜的特征組合,表達更抽象的高級特征。3. 如果太多卷積層前置,可能導致過擬合和梯度消失。4. 如果太多卷積層在后面,可能無法有效提取低級特征,后面過于依賴前面的結果。5. 殘差網絡的跳過連接需要確保兩邊形狀一致,所以會影響卷積層的分布。6. 一般將最大池化層插入卷積層之間,用于縮小特征圖尺寸。7. 網絡后半段可以逐步減小特征圖大小,加速計算。所以通常的做法是:- 前半段較多小卷積核提取基礎特征
- 中間利用池化層減小特征圖
- 后半段卷積核數目增加,融合不同特征
- 殘差連接要注意兩側形狀需一致需要根據具體問題和網絡結構進行調整。適當實驗不同分布對效果的影響。

二、DeepGS

?DeepGS模型是采用具有 8-32-1 架構的深度學習卷積神經網絡架構組成的,這個模型包括一個輸入層,一個包括八個神經元的卷積層,一個采樣層,三個 dropout 層,兩個全連接層和一個輸出層。

DeepGS模型使用了以下結構的深度卷積神經網絡(CNN):- 輸入層:輸入原始數據(如圖像)。- 卷積層:1個卷積層,包含8個過濾器,用于從輸入中提取底層特征。- 采樣層:對卷積層輸出進行下采樣。- Dropout層:3個dropout層用于正則化。- 全連接層:2個全連接層,包含32個和1個神經元。- 輸出層:最終輸出預測的層。總結一下,該CNN的核心結構是:- 1個輸入層
- 1個卷積層(8個過濾器)?
- 1個采樣層
- 3個dropout層
- 2個全連接層(分別有32個和1個神經元)
- 1個輸出層這個8-32-1的整體架構,從原始輸入中提取特征,通過dropout正則化,然后將特征展平到全連接層進行預測。這是一個簡單有效的CNN架構,充分發揮了卷積層和全連接層的互補優勢,同時利用dropout防止過擬合。

卷積層中的過濾器個數(filter數)決定了網絡提取特征的能力。過濾器越多,可以學習到更豐富的特征表示。這個模型中的卷積層過濾器數比較少,只有8個,所以它的特征提取能力相對有限。這可能是由于數據量較小的限制。具體來說:
- 輸入數據通過每個過濾器進行卷積,獲取8個特征圖。
- 每個過濾器包含一組可學習的參數,用來提取某種特征。
- 8個過濾器就可以同時提取8種不同的特征。之后,這8個特征圖會作為卷積層的輸出,傳入后續層進行處理。雖然這個卷積層只有8個過濾器,但已足以對輸入提取一些底層特征,為后續的分類任務提供有效的特征表示。需要注意避免設置過多的過濾器數,導致過擬合。(在卷積神經網絡中,"convolutional layer (eight neurons)" 中的 "neurons" 對應到中文通常翻譯成“過濾器”。具體對應關系:- neurons -> 過濾器(filter)- convolutional layer -> 卷積層- eight neurons -> 8個過濾器所以,“one convolutional layer (eight neurons)” 的中文翻譯為:“1個卷積層(8個過濾器)”之所以這么翻譯,是因為每個過濾器包含一組卷積核,可以看作是一個特征提取器,功能類似于神經元。但考慮到“神經元”通常指全連接層中的節點,為避免混淆,在卷積層中一般將“neurons” 翻譯成 “過濾器”。)

采樣層:在卷積神經網絡中,采樣層(Pooling Layer)通常在卷積層之后,其主要功能是降采樣,有以下幾個作用:1. 減少數據量,降低模型參數,簡化計算量。2. 提取主要特征,去除不重要細節。3. 提高特征的空間不變性。常見的采樣方式有:- 最大值采樣(Max Pooling):取感受野內的最大值作為輸出。可以提取主要特征,去除不重要細節。- 平均值采樣(Average Pooling):取感受野內平均值作為輸出。保留背景信息,避免過度丟失信息。- 隨機采樣(Stochastic Pooling):隨機選取感受野內一個值作為輸出。增加模型的隨機性和多樣性。采樣層不改變數據通道數,只降低數據的空間尺寸。這樣可大大減少參數量,減輕過擬合,同時保留主要特征信息。所以采樣層也被稱作下采樣層,在CNN中起到補充卷積層的作用,共同構建有效的特征提取器。

最大值采樣的主要思想是:1. 將輸入特征圖分成多個小的感受野(通常是2x2或3x3)。2. 在每個感受野內找出最大激活值。3. 將該最大值作為感受野的輸出。這樣做可以提取感受野內的主要特征,同時去除細微特征。原因有兩個:1. 最大值激活通常對應最明顯的特征。2. 去除非最大值可以增加特征的空間移動不變性。舉個例子,在圖像處理中,最大值池化可以提取出圖像的明顯邊緣特征,而過濾掉細微紋理。所以您的理解是正確的,最大值采樣保留主要特征,移除不重要細節,這正是其作用所在。這種下采樣方式很好地補充了卷積層的特征提取能力。

采樣層在卷積神經網絡中是否可有可無,以及為何有的網絡中沒有采樣層,這需要考慮以下幾個方面:1. 采樣層的功能是降采樣,減少計算量和過擬合風險,但同時也會損失細節信息。2. 對小數據集或簡單任務,模型參數較少,過擬合風險不大,此時可以不用采樣層。3. 一些網絡設計加入了大量過濾器,可以通過增加深度來降低每個層的計算,此時也可以不用采樣層。例如VGGNet。4. 有的網絡使用稀疏連接來減小參數量,此時也可以不用采樣層,例如Inception Net。5. 對一些需要保留精細信息的任務,如語義分割,不能使用過多下采樣,需要減少或不使用采樣層。6. 采樣層也可以在中間層使用,而不是每層后面都使用。總之,采樣層是否使用以及使用多少,需要根據具體網絡結構和任務來權衡計算量、精度需求和過擬合風險。不是所有網絡和任務都一定需要采樣層,它可以是可有可無的。

感受野(Receptive Field)是一個非常重要的概念,用于描述卷積神經網絡中每個神經元的輸入范圍。具體來說,對于卷積層中的某一個特征圖(Feature Map)而言,它的感受野指的是在輸入層中,影響到該特征圖某一位置值的輸入區域。一般來說,卷積層的感受野shape是方形的,邊長等于卷積核尺寸。例如,如果卷積核是3x3,那么每個神經元的感受野shape就是3x3。隨著網絡層數的加深,后層神經元的感受野會逐步擴大,因為它受到前層特征圖的影響,所以其感受野等于自身卷積核尺寸與前層感受野大小的結合。感受野大小直接影響網絡提取信息的范圍和能力。開始層感受野小,只能提取局部信息;深層感受野大,可以提取全局信息。合適的感受野對卷積網絡至關重要。一般后期會逐漸擴大感受野,以獲取全局特征和上下文信息。這是卷積網絡能提取層次特征的重要原理。

三、DLGWAS

?該模塊包括一個輸入層,一個雙CNN層,其中包括兩個并行CNN分流,和一個匯總層將兩個CNN分支流合并。

獨熱編碼方式:輸入層包含對基因型進行onehot編碼后的輸入,表示方式更具體一點是:1. 假設基因型由N個基因位點組成,在每個位點上可能的等位基因形態有M種。2. 則對于每個樣本,其基因型可以表示為一個長度為N的向量,向量中的每個元素表示對應的位點上等位基因的類型。3. 對這個長度為N的向量進行onehot編碼,就是將其轉化為一個N行M列的二維矩陣。其中只有一列對應的元素值為1,其他均為0。4. 這樣onehot編碼后的矩陣就包含了該樣本基因型中各個位點的等位基因信息,即該基因型的完整信息。5. 將這個編碼矩陣作為輸入層的輸入,輸入到后續的雙CNN層中。輸入層對基因型進行了onehot編碼,作為模型的輸入,以提供完整的基因型信息。這種編碼方式很好地把基因型轉化為了計算機可處理的輸入格式。?

根據以上信息,我們將三種基因型和一個缺失值使用 one-hot 編碼方式進行編碼并作為輸入向量,每個標記被一個四維向量所代替,可以看如上圖所示對AA,Aa,aa的編碼方式的不同。?

?這一模塊包含輸入層、雙CNN層和匯總層。輸入層包含對基因型進行onehot編碼后的輸入。雙CNN層包含兩個并行的CNN分支流。匯總層則將兩個CNN分支流合并。輸入的編碼基因組標記同時傳入雙CNN層。在雙CNN層,我們應用了殘差學習的思想。殘差學習最初是為圖像識別和分類而提出,用于解決梯度消失問題。殘差連接是從前一層的快捷連接,被添加到身份映射中形成殘差映射。這種方法已被應用于預測蛋白質主鏈扭轉角和蛋白質接觸圖。總之,關鍵點有:?一熱編碼輸入基因型數據
- 使用雙CNN分支并行提取特征
- 匯總層融合雙分支特征
- 在CNN中使用殘差結構避免梯度消失

殘差結構的作用是讓深層網絡中的梯度可以直接傳遞至底層,避免在網絡深處造成的梯度消失。具體來說:1. 在CNN的兩個連續層之間,添加一個殘差塊(residual block)。2. 殘差塊包含一個身份映射(identity mapping),即跳過一個卷積層的直接連接。3. 通過這個直接連接,深層的梯度可以不經變換直接回傳到底層。4. 所以中間卷積層的權重更新不會因梯度消失而停止,起到防止梯度消失的作用。5. 這種殘差學習結構成功應用于很深的CNN網絡,避免了網絡深化時的梯度消失問題。6. 在基因序列建模中,當CNN網絡較深時,也可以考慮使用殘差結構來避免梯度消失。

身份映射(Identity Mapping)指在殘差網絡(ResNet)中,從前一層到后一層構建的直接連接路徑。其主要作用是:1. 在兩個連續的卷積層之間,跳過一個卷積層,建立一個直接的恒等映射(F(x) = x)。2. 這樣來自后層的梯度可以直接通過這個跳過連接回傳到前層。3. 不需要經過中間卷積層的鏈式法則,從而避免了中間層帶來的梯度衰減或累積誤差。4. 所以可以穩定地進行很深的網絡訓練,不會出現梯度消失或爆炸。5. 這個直接路徑實現了輸入和輸出之間的恒等映射,所以稱為“身份映射”。6. 整個模塊稱為殘差模塊,包含卷積層和身份映射兩條路徑。綜上,身份映射在殘差網絡中起到非常關鍵的作用,它保證了深層網絡中的梯度可以無障礙地直接回傳到淺層,防止梯度消失,是殘差網絡的核心概念之一。

四、應對梯度消失的解決方法

針對深層神經網絡中的梯度消失問題,常見的應對方法包括:

1. 殘差網絡(ResNet):使用跳過連接,實現梯度直傳。這是目前應對梯度消失最有效的結構。

2. 批標準化(BatchNormalization):通過標準化層內激活的分布,減緩梯度消失。

3. 權重初始化技巧:如Xavier初始化,可以保證各層梯度大小相近,延緩消失。

4. 非飽和激活函數:如ReLU,可以確保正區域梯度等于1,不會衰減。

5. 門控遞歸單元(GRU/LSTM):通過設計記憶單元結構,記錄長時依賴信息。

6. 梯度裁剪(Gradient Clipping):裁剪超出閾值的梯度,防止梯度爆炸。

7. 調整優化算法:如使用Adam優化器,可以自適應調整學習率,穩定梯度。

8. 加深網絡結構:增加層數而不改參數,稀釋每層的變化,緩解消失。

9. 特征標準化:標準化特征分布,可以一定程度抑制消失。綜合使用這些方法,可以顯著減輕深層神經網絡中的梯度消失問題,使其更穩定有效地訓練。

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

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

相關文章

信息與通信工程面試準備——數學知識|正態分布|中心極限定理

目錄 正態分布 正態分布的參數 正態分布的第一個參數是均值 正態分布的第二個參數是標準差SD 所有正態分布的共同特征 標準正態分布:正態分布的特例 中心極限定理 理解定義 示例# 1 示例# 2 知道樣本均值總是正態分布的實際含義是什么? 正態分…

Scala 如何調試隱式轉換--隱式轉換代碼的顯示展示

方法1 在需要隱式轉換的地方,把需要的參數顯示的寫出。 略方法2,查看編譯代碼 在terminal中 利用 scalac -Xprint:typer xxx.scala方法打印添加了隱式值的代碼示例。 對于復雜的工程來說,直接跑到terminal執行 scalac -Xprint:typer xxx.…

JVM——類文件結構

文章目錄 一 概述二 Class 文件結構總結2.1 魔數2.2 Class 文件版本2.3 常量池2.4 訪問標志2.5 當前類索引,父類索引與接口索引集合2.6 字段表集合2.7 方法表集合2.8 屬性表集合 一 概述 在 Java 中,JVM 可以理解的代碼就叫做字節碼(即擴展名為 .class …

winform 封裝unity web player 用戶控件

環境: VS2015Unity 5.3.6f1 (64-bit) 目的: Unity官方提供的UnityWebPlayer控件在嵌入Winform時要求讀取的.unity3d文件路徑(Src)必須是絕對路徑,如果移動代碼到另一臺電腦,需要重新修改src。于是考慮使…

elementUI 的上傳組件<el-upload>,自定義上傳按鈕樣式

方法一&#xff1a; 原理&#xff1a;調用<el-upload>組件的方法喚起選擇文件事件 效果&#xff1a; 頁面代碼&#xff1a; 1、選擇圖片按鈕 <div class"flex_row_spacebetween btn" click"chooseImg"><span class"el-icon-plus ic…

matlab機器人工具箱基礎使用

資料&#xff1a;https://blog.csdn.net/huangjunsheng123/article/details/110630665 用vscode直接看工具箱api代碼比較方便&#xff0c;代碼說明很多 一、模型設置 1、基礎效果 %采用機器人工具箱進行正逆運動學驗證 a[0,-0.3,-0.3,0,0,0];%DH參數 d[0.05,0,0,0.06,0.05,…

教育行業軟文怎么寫,媒介盒子無償分享

隨著產業升級和技術變革、信息的智能化、數字化發展&#xff0c;也為教育行業帶來了新的增長點&#xff0c;在線教育課程類型豐富多元&#xff0c;新課程不斷涌現。在激烈的市場競爭環境下&#xff0c;教育機構如何根據市場實行差異化戰略并加強自身品牌建成為挑戰。 如今&…

微服務-Ribbon(負載均衡)

負載均衡的面對多個相同的服務的時候&#xff0c;我們選擇一定的策略去選擇一個服務進行 負載均衡流程 Ribbon結構組成 負載均衡策略 RoundRobinRule&#xff1a;簡單的輪詢服務列表來選擇服務器AvailabilityFilteringRule 對兩種情況服務器進行忽略&#xff1a; 1.在默認情…

Php“牽手”拼多多商品詳情頁數據采集方法,拼多多API接口申請指南

拼多多詳情接口 API 是開放平臺提供的一種 API 接口&#xff0c;它可以幫助開發者獲取商品的詳細信息&#xff0c;包括商品的標題、描述、圖片等信息。在電商平臺的開發中&#xff0c;詳情接口API是非常常用的 API&#xff0c;因此本文將詳細介紹詳情接口 API 的使用。 一、拼…

315官方點贊!多燕瘦或將成酵素選購唯一標準

食用酵素及其衍生產品&#xff0c;是近年來國內主流電商平臺的主要增長類目之一。在全球范圍內&#xff0c;酵素的流行由來已久&#xff0c;其中在日本、北美、歐洲等發達國家和地區尤為風靡。據不完全統計&#xff1a;歐洲酵素市場規模約占全球酵素市場份額的40%以上&#xff…

【Linux】一切皆文件

Linux 下一切皆為文件&#xff0c; 文件包括頭文件&#xff0c;庫文件&#xff08;靜態庫和共享庫&#xff09;&#xff0c;可執行文件&#xff0c;目錄文件&#xff0c;軟鏈接文件&#xff0c;配置文件等。 每個文件都依據權限分為用戶、用戶組和其他人三個身份&#xff0c;…

webpack相關面試

運行 npm run xxx 的時候發生了什么&#xff1f; npm run xxx的時候&#xff0c;首先會去項目的package.json文件里找scripts 里找對應的xxx&#xff0c;然后執行 xxx的命令 npm i 的時候&#xff0c;npm 讀到該配置后&#xff0c;就將該文件軟鏈接到 ./node_modules/.bin 目錄…

vscode conda activate激活環境出錯

vscode conda activate 出錯 conda-script.py: error: argument COMMAND: invalid choice: ‘activate’ To initialize your shell, run$ conda init <SHELL_NAME>Currently supported shells are:- bash- fish- tcsh- xonsh- zsh- powershellSee conda init --help f…

自定義Android滑塊拼圖驗證控件

自定義Android滑塊拼圖驗證控件 拼圖認證視圖默認策略工具類參考 1、繼承自AppCompatImageView&#xff0c;兼容ImageView的scaleType設置&#xff0c;可設置離線/在線圖片。 2、通過設置滑塊模型&#xff08;透明背景的圖形塊&#xff09;設置滑塊&#xff08;和缺省塊&#x…

【HarmonyOS北向開發】-01 HarmonyOS概述

飛書原文鏈接-【HarmonyOS北向開發】-01 HarmonyOS概述https://fvcs2dhq8qs.feishu.cn/docx/TDf2d2KMaoPSUUxnvg2cASDdnCe?fromfrom_copylink

Leetcode-每日一題【劍指 Offer 20. 表示數值的字符串】

題目 請實現一個函數用來判斷字符串是否表示數值&#xff08;包括整數和小數&#xff09;。 數值&#xff08;按順序&#xff09;可以分成以下幾個部分&#xff1a; 若干空格一個 小數 或者 整數&#xff08;可選&#xff09;一個 e 或 E &#xff0c;后面跟著一個 整數若干空…

xcode把包打到高版本的iPhone里

打開xcode CTRLb build工程&#xff0c;build成功 把手機連到mac&#xff0c;在xcode選項卡里面的window里面選中device and simulator 打開對應的手機的頁面 然后在工程目錄下build成功過后有一個product的文件夾里面&#xff0c;直接把app拖到對應的手機的窗口就可以不用…

指針和數組簡單填空題合集(純刷題:60道)

前言 本篇文章適合初學指針和數組的朋友&#xff0c;如果您看了前幾組題覺得很簡單&#xff0c;可以看一看我的另一篇文章。 通過本篇文章&#xff0c;你可以清晰的區分出strlen和sizeof的區別&#xff0c;&#xff08;題目類型包括一維數組、二維數組&#xff09;并提高自己…

Linux NTP原理及配置使用

一、NTP簡介 1.NTP簡介 NTP&#xff08;Network Time Protocol&#xff0c;網絡時間協議&#xff09;是用來使網絡中的各個計算機時間同步的一種協議。它的用途是把計算機的時鐘同步到世界協調時UTC&#xff0c;其精度在局域網內可達0.1ms&#xff0c;在互聯網上絕大多數的…

CSS自學框架之動畫

這一節&#xff0c;自學CSS動畫。主要學習了淡入淡出、淡入縮放、縮放、移動、旋轉動畫效果。先看一下成果。 優雅的過渡動畫&#xff0c;為你的頁面添加另一份趣味&#xff01; 在你的選擇器里插入 animation 屬性&#xff0c;并添加框架內置的 keyframes 即可實現&#xff0…