『壹』 神經網路預測中關於目標值的確定,一般是怎麼設置的啊可不可以舉例幫助說明
看你是什麼問題。如果是分類問題,目標是3類,那麼可以設置成:0 0 1 -----第一類,0 1 0 ----第二類。
『貳』 如何訓練神經網路
1、先別著急寫代碼
訓練神經網路前,別管代碼,先從預處理數據集開始。我們先花幾個小時的時間,了解數據的分布並找出其中的規律。
Andrej有一次在整理數據時發現了重復的樣本,還有一次發現了圖像和標簽中的錯誤。所以先看一眼數據能避免我們走很多彎路。
由於神經網路實際上是數據集的壓縮版本,因此您將能夠查看網路(錯誤)預測並了解它們的來源。如果你的網路給你的預測看起來與你在數據中看到的內容不一致,那麼就會有所收獲。
一旦從數據中發現規律,可以編寫一些代碼對他們進行搜索、過濾、排序。把數據可視化能幫助我們發現異常值,而異常值總能揭示數據的質量或預處理中的一些錯誤。
2、設置端到端的訓練評估框架
處理完數據集,接下來就能開始訓練模型了嗎?並不能!下一步是建立一個完整的訓練+評估框架。
在這個階段,我們選擇一個簡單又不至於搞砸的模型,比如線性分類器、CNN,可視化損失。獲得准確度等衡量模型的標准,用模型進行預測。
這個階段的技巧有:
· 固定隨機種子
使用固定的隨機種子,來保證運行代碼兩次都獲得相同的結果,消除差異因素。
· 簡單化
在此階段不要有任何幻想,不要擴增數據。擴增數據後面會用到,但是在這里不要使用,現在引入只會導致錯誤。
· 在評估中添加有效數字
在繪制測試集損失時,對整個測試集進行評估,不要只繪制批次測試損失圖像,然後用Tensorboard對它們進行平滑處理。
· 在初始階段驗證損失函數
驗證函數是否從正確的損失值開始。例如,如果正確初始化最後一層,則應在softmax初始化時測量-log(1/n_classes)。
· 初始化
正確初始化最後一層的權重。如果回歸一些平均值為50的值,則將最終偏差初始化為50。如果有一個比例為1:10的不平衡數據集,請設置對數的偏差,使網路預測概率在初始化時為0.1。正確設置這些可以加速模型的收斂。
· 人類基線
監控除人為可解釋和可檢查的損失之外的指標。盡可能評估人的准確性並與之進行比較。或者對測試數據進行兩次注釋,並且對於每個示例,將一個注釋視為預測,將第二個注釋視為事實。
· 設置一個獨立於輸入的基線
最簡單的方法是將所有輸入設置為零,看看模型是否學會從輸入中提取任何信息。
· 過擬合一個batch
增加了模型的容量並驗證我們可以達到的最低損失。
· 驗證減少訓練損失
嘗試稍微增加數據容量。
『叄』 神經網路如何外推:從前饋網路到圖網路
How Neural Networks Extrapolate: From Feedforward to Graph Neural Networks
ICLR2021最高分論文 https://arxiv.org/abs/2009.11848
52頁論文,正文佔9頁,主要都是附錄,不過附錄里很多圖片(一頁就一兩張圖),排除這些一頁一圖的,只有40頁
我們研究用梯度下降法訓練的神經網路如何外推,也就是說,它們在訓練分布的支持之外學習什麼。以前的工作報告了使用神經網路進行外推時混合的實證結果:雖然前饋神經網路,即多層感知器(MLP)在某些簡單任務中外推效果不好,但圖形神經網路(GNN)——帶有MLP模塊的結構化網路——在更復雜的任務中取得了一些成功。為了得到理論解釋,我們確定了MLPs和GNNs外推良好的條件。首先,我們量化了ReLU-MLPs從原點沿任意方向快速收斂到線性函數的觀測結果,這意味著ReLU-MLPs不能外推大多數非線性函數。但是,當訓練分布足夠「多樣化」時,他們可以證明學習線性目標函數。其次,在分析GNNs的成功和局限性時,這些結果提出了一個假設,我們提供了理論和經驗證據:GNNs在將演算法任務外推到新數據(例如。,較大的圖或邊權重)依賴於編碼體系結構或特徵中特定於任務的非線性。我們的理論分析建立在過度參數化網路與神經切線核的聯繫上。根據經驗,我們的理論適用於不同的培訓環境
1簡介
人類在許多任務中推斷得很好。例如,我們可以對任意大的數應用算術。人們可能想知道,神經網路是否也能做到這一點,並將其推廣到任意遠離訓練數據的示例中(Lake et al.,2017)。奇怪的是,以前的工作報告混合外推結果與神經網路。早期的工作表明,前饋神經網路,又稱多層感知器(MLPs),在學習簡單多項式函數時不能很好地進行外推(Barnard&Wessels,1992;Haley&Soloway,1992年)。然而,最近的研究表明,圖神經網路(GNNs)(Scarselli et al.,2009)是一類具有MLP構建塊的結構化網路,在具有挑戰性的演算法任務中,如預測物理系統的時間演化(Battaglia et al.,2016),可以推廣到比訓練圖大得多的圖,學習圖形演算法(Velickovic et al.,2020),求解數學方程(Lample&Charton,2020)。
為了解釋這個難題,我們正式研究了梯度下降(GD)訓練的神經網路是如何外推的,即它們在訓練分布的支持之外學習什麼。我們說,如果一個神經網路在訓練分布之外學習了一個任務,它就能很好地進行外推。乍一看,似乎神經網路可以在訓練分布之外任意行為,因為它們具有高容量(Zhang et al.,2017),並且是通用逼近器(Cybenko,1989;Funahashi,1989年;Hornik等人,1989年;庫爾科娃,1992年)。然而,神經網路受到梯度下降訓練的限制(Hardt等人,2016;Soudry等人,2018年)。在我們的分析中,我們通過類比過參數化神經網路的訓練動態和通過神經切線核(NTK)的核回歸,明確考慮了這種隱式偏差(Jacot等人,2018)。
從前饋網路、最簡單的神經網路和更復雜的體系結構(如GNNs)的構建塊開始,我們建立了由GD訓練的具有ReLU激活的過參數mlp的預測從原點沿任意方向收斂到線性函數。我們證明了兩層網路的收斂速度,並從經驗上觀察到收斂經常發生在訓練數據附近(圖1),這表明ReLU-MLPs不能很好地外推大多數非線性任務。我們強調,我們的結果並不是基於ReLU網路具有有限多個線性區域的事實(Arora et al.,2018;Hanin&Rolnick,2019年;Hein等人,2019年)。雖然有有限多個線性區域意味著ReLU MLPs最終會變為線性,但MLPs是否會學習到接近訓練分布的正確目標函數並沒有說明。相比之下,我們的結果是非漸近的,並且量化了MLPs將學習什麼樣的函數接近於訓練分布。其次,我們確定了mlp外推良好的條件:任務是線性的,訓練分布的幾何結構是充分「多樣化」的。據我們所知,我們的結果是這種前饋神經網路的第一個外推結果。
然後,我們將我們對前饋神經網路的見解與GNNs聯系起來,以解釋GNNs在某些演算法任務中外推得好的原因。先前的工作報告了可以通過動態規劃(DP)解決的任務的成功外推(Bellman,1966),其計算結構與GNNs一致(Xu等人,2020)。DP更新通常可以分解為非線性和線性步驟。因此,我們假設GD訓練的GNN可以在DP任務中很好地外推,如果我們在架構和輸入表示中編碼適當的非線性(圖2)。重要的是,編碼非線性可能不需要GNNs插值,因為MLP模塊可以很容易地學習訓練分布中的許多非線性函數(Cybenko,1989;Hornik等人,1989年;Xu等人,2020),但GNNs正確外推至關重要。我們使用圖NTK(Du等人,2019b)證明了簡化情況下的這一假設。在經驗上,我們驗證了三個DP任務的假設:最大度、最短路徑和n體問題。我們證明了具有適當結構、輸入表示和訓練分布的GNNs可以很好地預測具有未知大小、結構、邊權值和節點特徵的圖。我們的理論解釋了以往工作的經驗成功,並指出了它們的局限性:成功的外推依賴於編碼任務特定的非線性,這需要領域知識或廣泛的模型搜索。從更廣泛的角度來看,我們的見解超越了GNNs,並廣泛應用於其他神經網路。
總之,我們研究神經網路如何外推。首先,由GD訓練的ReLU-mlp以O(1/t)的速率沿原點方向收斂為線性函數。其次,為了解釋為什麼GNNs在一些演算法任務中可以很好地外推,我們證明了ReLU-MLPs在線性任務中可以很好地外推,從而引出一個假設:當適當的非線性被編碼到結構和特徵中時,神經網路可以很好地外推。我們用一個簡化的例子證明了這個假設,並為更一般的情況提供了經驗支持。
1.1相關工作
早期的工作顯示了MLP不能很好地外推的示例任務,例如學習簡單多項式(Barnard&Wessels,1992;Haley&Soloway,1992年)。相反,我們展示了ReLU MLPs如何外推的一般模式,並確定MLPs外推良好的條件。最近的工作研究了在NTK和平均場兩種情況下,梯度下降對MLP產生的隱性偏差(Bietti和Mairal,2019;Chizat&Bach,2018年;Song等人,2018年)。與我們的結果相關,一些工作表明MLP預測收斂於「簡單」分段線性函數,例如,具有很少的線性區域(Hanin&Rolnick,2019;Maennel等人,2018年;Savarese等人,2019年;威廉姆斯等人,2019年)。我們的工作不同之處在於,這些工作都沒有明確研究外推法,有些只關注一維輸入。最近的研究還表明,在NTK區域的高維環境中,MLP在某些標度極限下至多是一個漸近線性預測因子(Ba等人,2020;Ghorbani等人,2019年)。我們研究不同的設置(外推),我們的分析是非漸近性質,不依賴於隨機矩陣理論。
先前的工作通過在較大的圖上進行測試來探索GNN外推(Battaglia et al.,2018;Santoro等人,2018年;薩克斯頓等人,2019年;Velickovic等人,2020年)。我們是第一個從理論上研究GNN外推法的人,我們完成了外推法的概念,包括看不見的特徵和結構。
2准備工作
3前饋神經網路如何外推
前饋網路是最簡單的神經網路和更復雜的體系結構(如GNNs)的構建塊,因此我們首先研究它們在GD訓練時是如何外推的。在本文中,我們假設ReLU激活。第3.3節包含其他激活的初步結果。
3.1 RELU MLP的線性外推行為
通過架構,ReLU網路學習分段線性函數,但是在訓練數據的支持之外,這些區域究竟是什麼樣的呢?圖1舉例說明了當GD對各種非線性函數進行訓練時,ReLU MLP如何進行外推。這些例子表明,在訓練支持之外,預測很快就會沿著原點的方向線性化。我們通過線性回歸對MLPs的預測進行了系統的驗證:決定系數(R2)總是大於0.99(附錄C.2)。也就是說,ReLU MLPs幾乎立即在訓練數據范圍之外「線性化」。
我們使用GD通過神經切線核(NTK)訓練的神經網路的隱式偏差來形式化這個觀察:GD訓練的過參數化網路的優化軌跡等價於具有特定神經切線核的核回歸的軌跡,在一系列被稱為「NTK制度」的假設下(Jacot等人,2018年)。我們在這里提供了一個非正式的定義;更多詳情,請參閱Jacot等人(2018)和附錄A。
定義2。
(非正式)在NTK區域訓練的神經網路是無限寬的,以一定的比例隨機初始化,並且由GD以無窮小的步長訓練。
先前的工作通過NTK分析過參數化神經網路的優化和分布泛化(Allen-Zhu等人,2019a;b類;Arora等人,2019a;b類;曹顧,2019;杜等人,2019c;一個;李亮,2018;日田和鈴木,2021年)。相反,我們分析外推。
定理1將我們從圖1中觀察到的結果形式化:在訓練數據范圍之外,沿著原點的任何方向tv,兩層ReLU MLP的預測迅速收斂為速率為O(1/t)的線性函數。線性系數β收斂速度中的常數項依賴於訓練數據和方向v。證據見附錄B.1
定理1
ReLU網路具有有限多個線性區域(Arora等人,2018;漢寧和羅爾尼克,2019),因此他們的預測最終成為線性。相反,定理1是一個更細粒度的分析MLP如何外推,並提供了收斂速度。雖然定理1假設兩層網路處於NTK狀態,但實驗證實,線性外推行為發生在具有不同深度、寬度、學習速率和批量大小的網路上(附錄C.1和C.2)。我們的證明技術也可能擴展到更深層次的網路。
圖4a提供了一個更積極的結果:MLP在許多不同的超參數上很好地外推了線性目標函數。雖然學習線性函數一開始似乎非常有限,但在第4節中,這一見解將有助於解釋GNN在非線性實際任務中的外推特性。在此之前,我們首先從理論上分析了MLPs外推的好時機。
3.2當RELU MLPS可證明外推井
圖4a顯示,當目標函數為線性時,MLP可以很好地外推。然而,這並不總是正確的。在本節中,我們展示了成功的外推依賴於訓練數據的幾何結構。直觀地說,訓練分布必須足夠「多樣化」,以便進行正確的推斷
我們提供了兩個條件,將訓練數據的幾何結構與外推聯系起來。引理1指出,過參數化的mlp只需二維例子就可以學習線性目標函數。
實驗:訓練數據的幾何結構影響外推。
定理2中的條件形式化了一種直覺,即訓練分布必須是「多樣的」,才能成功地進行外推,例如,D包括所有方向。從經驗上講,當滿足定理2的條件時(圖4b中的「all」),外推誤差確實很小。相反,當訓練示例僅限於某些方向時,外推誤差要大得多(圖4b和圖3)。
與之前的工作相關,定理2提出了為什麼虛假相關性可能會損害外推,補充了因果關系論點(Arjovsky et al.,2019;Peters等人,2016年;Rojas Carulla等人,2018年)。當訓練數據具有虛假相關性時,某些特徵組合丟失;e、 例如,駱駝可能只出現在沙漠中的圖像收集。因此,定理2的條件不再成立,模型可能外推錯誤。定理2也類似於線性模型的可辨識條件,但更為嚴格。如果訓練數據具有全(特徵)秩,我們可以唯一地識別一個線性函數。mlp更具表現力,因此識別線性目標函數需要附加約束。
綜上所述,我們分析了ReLU-MLPs是如何外推的,並提供了兩個啟示:(1)MLPs由於其線性外推而不能外推大多數非線性任務(定理1);當目標函數是線性函數時,如果訓練分布是「多樣的」(定理2),mlp可以很好地外推。在下一節中,這些結果將幫助我們理解更復雜的網路是如何外推的。
3.3具有其他激活功能的MLPS
在繼續討論GNNs之前,我們通過對其他激活函數tanh的實驗來完成MLPs的描述σ(x) =tanh(x),餘弦σ(x) =cos(x)(Lapedes&Farber,1987年;McCaughan,1997年;Sopena和Alquezar,1994),和σ(x) =x2(杜和李,2018;Livni等人,2014年)。詳情見附錄C.4。當激活函數和目標函數相似時,MLPs外推效果較好;e、 例如,當學習tanh時,tanh激活可以很好地推斷,但不能推斷其他功能(圖5)。而且,每個激活函數都有不同的局限性。要用tanh激活外推tanh函數,訓練數據范圍必須足夠寬。當學習具有二次激活的二次函數時,只有兩層網路可以很好地進行外推,而更多的層可以得到更高階的多項式。對於高維數據,餘弦激活很難優化,因此我們只考慮一維/二維餘弦目標函數。
4圖形神經網路如何外推
上面,我們看到非線性任務中的外推對於MLP來說是困難的。盡管存在這一局限性,GNNs在一些非線性演算法任務中表現出了很好的外推能力,如直觀物理(Battaglia et al.,2016;Janner等人,2019),圖演算法(Battaglia等人,2018;Velickovic等人,2020)和符號數學(Lample&Charton,2020)。為了解決這個差異,我們建立在MLP結果的基礎上,研究GD訓練的GNNs是如何外推的。
4.1假設:線性演算法對齊有助於外推
我們從一個例子開始:訓練GNNs來解決最短路徑問題。對於這項任務,先前的工作觀察到,具有最小聚集的改進GNN架構可以推廣到比訓練集中的圖更大的圖(Battaglia et al.,2018;Velickovic等人,2020):
我們首先提供一個直觀的解釋(圖2a)。最短路徑可通過Bellman-Ford(BF)演算法(Bellman,1958)求解,並進行以下更新
其中w(v,u)是邊(v,u)的權重,d[k][u]是k步內到節點u的最短距離。這兩個方程可以很容易地對齊:如果GNNs的MLP模塊學習一個線性函數d[k],那麼它將模擬BF演算法−1] [v]+w(v,u)。由於mlp可以外推線性任務,這種「對齊」可以解釋為什麼GNNs可以在這個任務中很好地外推。
為了進行比較,我們可以解釋為什麼我們不希望GNN使用更常用的和聚合(Eqn。1) 在這項任務中推斷得很好。對於和聚合,MLP模塊需要學習一個非線性函數來模擬BF演算法,但定理1表明,它們不會在訓練支持之外外推大多數非線性函數。
我們可以將上述直覺推廣到其他演算法任務。許多GNNs外推良好的任務可以通過動態規劃(DP)來解決(Bellman,1966),這是一種具有類似GNNs(Eqn)的遞歸結構的演算法範式。1) (Xu等人,2020年)。
定義3。動態規劃(DP)是一個帶有更新的遞歸過程
其中答案[k][s]是迭代k和狀態s索引的子問題的解決方案,DP Update是一個任務特定的更新函數,它基於上一次迭代解決子問題。從更廣泛的角度出發,我們假設:如果我們將適當的非線性編碼到模型結構和輸入表示中,使MLP模塊只需要學習接近線性的步驟,那麼所得到的神經網路就可以很好地外推。
假設1。
我們的假設建立在(Xu等人,2020)的演算法對齊框架之上,該框架指出,如果模塊「對齊」以便於學習(可能是非線性)函數,則神經網路插值良好。成功的外推更難:模塊需要與線性函數對齊。
線性演算法對準的應用。
一般來說,線性演算法對准不局限於GNN,廣泛應用於神經網路。為了滿足這種情況,我們可以在結構或輸入表示中編碼適當的非線性操作(圖2)。使用GNNs學習DP演算法是在體系結構中編碼非線性的一個例子(Battaglia等人,2018;Corso等人,2020年)。另一個例子是對體系結構中的日誌和exp變換進行編碼,以幫助外推算術任務中的乘法(Trask等人,2018;Madsen&Johansen,2020年)。神經符號程序進一步發展,並對符號操作庫進行編碼,以幫助推斷(Johnson等人,2017年;Mao等人,2019年;易等,2018年)。
對於某些任務,更改輸入表示可能更容易(圖2b)。有時,我們可以將目標函數f分解為f=g◦ 將h嵌入特徵嵌入h和一個簡單的目標函數g中,我們的模型可以很好地推斷。我們可以通過使用領域知識通過專門的特徵或特徵轉換獲得h(Lample&Charton,2020;Webb等人,2020年),或通過X\D中未標記的未標記的未標記的分發數據的表示學習(例如,BERT)(Chen等人,2020年);Devlin等人,2019年;胡等,2020;Mikolov等人,2013b;Peters等人,2018年)。這為表示如何幫助在不同應用領域進行外推提供了新的視角。例如,在自然語言處理中,預處理表示(Mikolov等人,2013a;Wu&Dredze,2019)和使用領域知識進行特徵轉換(袁等,2020年;Zhang等人,2019)幫助模型在語言之間進行概括,這是一種特殊的外推。在定量金融中,確定正確的「因素」或特徵對於深入學習模型至關重要,因為金融市場可能經常處於外推制度中(Banz,1981;法蘭西,1993年;羅斯,1976)。
線性演算法對齊解釋了文獻中成功的外推,並指出外推一般更難:編碼適當的非線性通常需要領域專家或模型搜索。其次,我們為我們的假設提供理論和實證支持。
4.2理論和經驗支持
我們驗證了我們對三個DP任務的假設:最大度、最短路徑和n-體問題,並證明了最大度假設。我們強調了圖結構在外推中的作用。
理論分析。
我們從一個簡單而基本的任務開始:學習一個圖的最大度,一個DP的特例。作為定理1的推論,常用的基於和的GNN(Eqn。1) 無法很好地推斷(證據見附錄B.4)。
推論1。
具有和聚集和和和讀出的GNNs在最大程度上不能很好地外推。為了實現線性演算法對齊,我們可以對讀出器中唯一的非線性max函數進行編碼。定理3證實了具有最大讀數的GNN在這個任務中可以很好地外推。
定理3並不是緊跟定理2,因為GNNs中的MLP模塊只接受間接的監視。我們分析圖NTK(Du等人,2019b)來證明附錄B.5中的定理3。雖然定理3假設相同的節點特徵,但我們在經驗上觀察到相同和不相同特徵的相似結果(附錄中的圖16)。
條件的解釋。
定理3中的條件類似於定理2中的條件。這兩個定理都需要不同的訓練數據,用定理3中的圖結構或定理2中的方向來度量。在定理3中,如果所有訓練圖都具有相同的最大或最小節點度,例如,當訓練數據來自以下族之一時,違反了該條件:路徑、C-正則圖(具有C度的正則圖)、圈和階梯。
實驗:有助於推斷的架構。
我們用兩個DP任務來驗證我們的理論分析:最大度和最短路徑(詳見附錄C.5和C.6)。而以前的工作只測試不同大小的圖(Battaglia et al.,2018;Velickovic等人,2020),我們還測試了具有不可見結構、邊權重和節點特徵的圖。結果支持了我們的理論。對於最大度,具有最大讀數的GNNs優於具有和讀數的GNNs(圖6a),證實了推論1和定理3。對於最短路徑,具有最小讀數和最小聚集的GNN優於具有和讀數的GNN(圖6a)。
實驗證實了訓練圖結構的重要性(圖7)。有趣的是,這兩個任務支持不同的圖結構。對於最大度,如定理3所預測的,當訓練在樹、完全圖、擴張圖和一般圖上時,GNNs外推效果很好,當訓練在4-正則圖、圈圖或梯形圖上時,外推誤差更大。對於最短路徑,當我們改變訓練圖的稀疏性時,外推誤差遵循U形曲線(附錄中的圖7b和圖18)。直覺上,在稀疏或稠密圖上訓練的模型可能學習退化解。
實驗:有助於推斷的表徵。
最後,我們展示了一個很好的輸入表示幫助外推。我們研究了n體問題(Battaglia等人,2016;Watters等人,2017年)(附錄C.7),即預測重力系統中n個物體的時間演化。根據之前的工作,輸入是一個完整的圖形,其中節點是對象(Battaglia等人,2016)。
5與其他分布外設置的連接
我們討論幾個相關的設置。直觀地說,從我們上述結果的觀點來看,相關設置中的方法可以通過1)學習超出訓練數據范圍的有用非線性和2)將相關測試數據映射到訓練數據范圍來改進外推。
領域適應研究對特定目標領域的泛化(Ben-David等人,2010;Blitzer等人,2008年;Mansour等人,2009年)。典型的策略會調整訓練過程:例如,使用來自目標域的未標記樣本來對齊目標和源分布(Ganin等人,2016;趙等,2018)。在訓練期間使用目標域數據可能會導致有用的非線性,並可能通過匹配目標和源分布來減輕外推,盡管學習映射的正確性取決於標簽分布(Zhao等人,2019)。
對大量未標記數據的自監督學習可以學習超出標記訓練數據范圍的有用非線性(Chen et al.,2020;Devlin等人,2019年;He等人,2020年;Peters等人,2018年)。因此,我們的結果提出了一個解釋,為什麼像BERT這樣的預訓練表示可以提高分布外魯棒性(Hendrycks et al.,2020)。此外,自監督學習可以將語義相似的數據映射到相似的表示,因此映射後的一些域外實例可能會落入訓練分布中。
不變模型旨在學習在多個訓練分布中尊重特定不變性的特徵(Arjovsky et al.,2019;Rojas Carulla等人,2018年;周等人,2021)。如果模型真的學習到了這些不變性,這可能發生在線性情況下,當存在混雜或反因果變數時(Ahuja等人,2021;Rosenfeld等人,2021),這可能從本質上增加了訓練數據范圍,因為模型可以忽略不變特徵的變化。
分布魯棒性考慮了數據分布的小干擾,並確保模型在這些干擾下表現良好(Goh&Sim,2010;Sagawa等人,2020年;Sinha等人,2018年;Staib&Jegelka,2019年)。相反,我們看的是更多的全局擾動。盡管如此,人們還是希望,有助於外推的修改通常也能提高對局部擾動的魯棒性。
6結論
本文是一個初步的步驟,正式了解如何神經網路訓練梯度下降外推。我們確定了MLPs和GNNs按期望外推的條件。我們還提出了一種解釋,說明GNNs在復雜的演算法任務中是如何能夠很好地進行外推的:在架構和特性中編碼適當的非線性可以幫助外推。我們的結果和假設與本文和文獻中的實證結果一致
『肆』 matlab 神經網路參數設置問題
net=newff(pr,[25 1],{'logsig' ,'purelin'},'traingdx','learngdm');
'logsig' 與'purelin'中間忘記加逗號了,你加上試試行不~
『伍』 SPSS的神經網路模型參數設置疑問
1神經網路對於定量數據也能用
2因子根據具體研究面對確定
3比例3:7,也可以cross
4驗證集必須
5這些就多了,有數學公式
『陸』 神經網路輸入的每一組離散點的離散點個數都不一致,神經網路怎麼設置
以可能達到的最多離散點的個數為准,其他樣本中長度不足的補零
『柒』 BP神經網路中初始權值和閾值的設定
1、首先需要了解BP神經網路是一種多層前饋網路。
『捌』 神經網路演算法中,參數的設置或者調整,有什麼方法可以採用
若果對你有幫助,請點贊。
神經網路的結構(例如2輸入3隱節點1輸出)建好後,一般就要求神經網路里的權值和閾值。現在一般求解權值和閾值,都是採用梯度下降之類的搜索演算法(梯度下降法、牛頓法、列文伯格-馬跨特法、狗腿法等等),這些演算法會先初始化一個解,在這個解的基礎上,確定一個搜索方向和一個移動步長(各種法算確定方向和步長的方法不同,也就使各種演算法適用於解決不同的問題),使初始解根據這個方向和步長移動後,能使目標函數的輸出(在神經網路中就是預測誤差)下降。 然後將它更新為新的解,再繼續尋找下一步的移動方向的步長,這樣不斷的迭代下去,目標函數(神經網路中的預測誤差)也不斷下降,最終就能找到一個解,使得目標函數(預測誤差)比較小。
而在尋解過程中,步長太大,就會搜索得不仔細,可能跨過了優秀的解,而步長太小,又會使尋解過程進行得太慢。因此,步長設置適當非常重要。
學習率對原步長(在梯度下降法中就是梯度的長度)作調整,如果學習率lr = 0.1,那麼梯度下降法中每次調整的步長就是0.1*梯度,
而在matlab神經網路工具箱里的lr,代表的是初始學習率。因為matlab工具箱為了在尋解不同階段更智能的選擇合適的步長,使用的是可變學習率,它會根據上一次解的調整對目標函數帶來的效果來對學習率作調整,再根據學習率決定步長。
機制如下:
if newE2/E2 > maxE_inc %若果誤差上升大於閾值
lr = lr * lr_dec; %則降低學習率
else
if newE2 < E2 %若果誤差減少
lr = lr * lr_inc;%則增加學習率
end
詳細的可以看《神經網路之家》nnetinfo里的《[重要]寫自己的BP神經網路(traingd)》一文,裡面是matlab神經網路工具箱梯度下降法的簡化代碼
若果對你有幫助,請點贊。
祝學習愉快
『玖』 神經網路gradient怎麼設置
梯度是計算得來的,不是「設置」的。
傳統的神經網路通過前向、後向兩步運算進行訓練。其中最關鍵的就是BP演算法,它是網路訓練的根本方式。在運行BP的過程中,你需要先根據定義好的「代價函數」分別對每一層的參數(一般是W和b)求偏導(也就是你說的gradient),用該偏導數在每一次迭代中更新對應的W和b,直至演算法收斂。
具體實現思路和細節可以參考:http://deeplearning.stanford.e/wiki/index.php/%E5%8F%8D%E5%90%91%E4%BC%A0%E5%AF%BC%E7%AE%97%E6%B3%95
『拾』 深度神經網路dnn怎麼調節參數
深度神經網路(DNN)目前是許多現代AI應用的基礎。
自從DNN在語音識別和圖像識別任務中展現出突破性的成果,使用DNN的應用數量呈爆炸式增加。這些DNN方法被大量應用在無人駕駛汽車,癌症檢測,游戲AI等方面。
在許多領域中,DNN目前的准確性已經超過人類。與早期的專家手動提取特徵或制定規則不同,DNN的優越性能來自於在大量數據上使用統計學習方法,從原始數據中提取高級特徵的能力,從而對輸入空間進行有效的表示。
然而,DNN超高的准確性是以超高的計算復雜度為代價的。
通常意義下的計算引擎,尤其是GPU,是DNN的基礎。因此,能夠在不犧牲准確性和增加硬體成本的前提下,提高深度神經網路的能量效率和吞吐量的方法,對於DNN在AI系統中更廣泛的應用是至關重要的。研究人員目前已經更多的將關注點放在針對DNN計算開發專用的加速方法。
鑒於篇幅,本文主要針對論文中的如下幾部分詳細介紹:
DNN的背景,歷史和應用
DNN的組成部分,以及常見的DNN模型
簡介如何使用硬體加速DNN運算
DNN的背景
人工智慧與深度神經網路
深度神經網路,也被稱為深度學習,是人工智慧領域的重要分支,根據麥卡錫(人工智慧之父)的定義,人工智慧是創造像人一樣的智能機械的科學工程。深度學習與人工智慧的關系如圖1所示:
圖1:深度神經網路與人工智慧的關系
人工智慧領域內,一個大的子領域是機器學習,由Arthur Samuel在1959年定義為:讓計算機擁有不需要明確編程即可學習的能力。
這意味著創建一個程序,這個程序可以被訓練去學習如何去做一些智能的行為,然後這個程序就可以自己完成任務。而傳統的人工啟發式方法,需要對每個新問題重新設計程序。
高效的機器學習演算法的優點是顯而易見的。一個機器學習演算法,只需通過訓練,就可以解決某一領域中每一個新問題,而不是對每個新問題特定地進行編程。
在機器學習領域,有一個部分被稱作brain-inspired computation。因為人類大腦是目前學習和解決問題最好的「機器」,很自然的,人們會從中尋找機器學習的方法。
盡管科學家們仍在探索大腦工作的細節,但是有一點被公認的是:神經元是大腦的主要計算單元。
人類大腦平均有860億個神經元。神經元相互連接,通過樹突接受其他神經元的信號,對這些信號進行計算之後,通過軸突將信號傳遞給下一個神經元。一個神經元的軸突分支出來並連接到許多其他神經元的樹突上,軸突分支和樹突之間的連接被稱為突觸。據估計,人類大腦平均有1014-1015個突觸。
突觸的一個關鍵特性是它可以縮放通過它的信號大小。這個比例因子可以被稱為權重(weight),普遍認為,大腦學習的方式是通過改變突觸的權重實現的。因此,不同的權重導致對輸入產生不同的響應。注意,學習過程是學習刺激導致的權重調整,而大腦組織(可以被認為是程序)並不改變。
大腦的這個特徵對機器學習演算法有很好的啟示。
神經網路與深度神經網路
神經元的計算是輸入值的加權和這個概念啟發了神經網路的研究。這些加權和對應於突觸的縮放值以及神經元所接收的值的組合。此外,神經元並不僅僅是輸入信號的加權和,如果是這樣的話,級聯的神經元的計算將是一種簡單的線性代數運算。
相反的是,神經元組合輸入的操作似乎是一種非線性函數,只有輸入達到某個閾值的時候,神經元才會生成輸出。因此,通過類比,我們可以知道神經網路在輸入值的加權和的基礎上應用了非線性函數。
圖2(a)展示了計算神經網路的示意圖,圖的最左邊是接受數值的「輸入層」。這些值被傳播到中間層神經元,通常也叫做網路的「隱藏層」。通過一個或更多隱藏層的加權和最終被傳播到「輸出層」,將神經網路的最終結果輸出給用戶。
圖2:神經網路示意圖
在神經網路領域,一個子領域被稱為深度學習。最初的神經網路通常只有幾層的網路。而深度網路通常有更多的層數,今天的網路一般在五層以上,甚至達到一千多層。
目前在視覺應用中使用深度神經網路的解釋是:將圖像所有像素輸入到網路的第一層之後,該層的加權和可以被解釋為表示圖像不同的低階特徵。隨著層數的加深,這些特徵被組合,從而代表更高階的圖像特徵。
例如,線可以被組合成形狀,再進一步,可以被組合成一系列形狀的集合。最後,再訓練好這些信息之後,針對各個圖像類別,網路給出由這些高階特徵組成各個對象的概率,即分類結果。
推理(Inference)與訓練(Training)
既然DNN是機器學習演算法中的一員,那麼它的基本編程思想仍然是學習。DNN的學習即確定網路的權重值。通常,學習過程被稱為訓練網路(training)。一旦訓練完成,程序可以使用由訓練確定的權值進行計算,這個使用網路完成任務的操作被被稱為推斷(inference)。
接下來,如圖3所示,我們用圖像分類作為例子來展示如何訓練一個深度神經網路。當我們使用一個DNN的時候,我們輸入一幅圖片,DNN輸出一個得分向量,每一個分數對應一個物體分類;得到最高分數的分類意味著這幅圖片最有可能屬於這個分類。
訓練DNN的首要目標就是確定如何設置權重,使得正確分類的得分最高(圖片所對應的正確分類在訓練數據集中標出),而使其他不正確分類的得分盡可能低。理想的正確分類得分與目前的權重所計算出的得分之間的差距被稱為損失函數(loss)。
因此訓練DNN的目標即找到一組權重,使得對一個較大規模數據集的loss最小。
圖3:圖像分類
權重(weight)的優化過程類似爬山的過程,這種方法被稱為梯度下降(gradient decent)。損失函數對每個權值的梯度,即損失函數對每個權值求偏導數,被用來更新權值(例:第t到t+1次迭代:,其中α被稱為學習率(Learning rate)。梯度值表明權值應該如何變化以減小loss。這個減小loss值的過程是重復迭代進行的。
梯度可以通過反向傳播(Back-Propagation)過程很高效地進行計算,loss的影響反向通過網路來計算loss是如何被每個權重影響的。
訓練權重有很多種方法。前面提到的是最常見的方法,被稱為監督學習,其中所有的訓練樣本是有標簽的。
無監督學習是另一種方法,其中所有訓練樣本都沒有標簽,最終目標是在數據中查找結構或聚類。半監督學習結合了兩種方法,只有訓練數據的一小部分被標記(例如,使用未標記的數據來定義集群邊界,並使用少量的標記數據來標記集群)。
最後,強化學習可以用來訓練一個DNN作為一個策略網路,對策略網路給出一個輸入,它可以做出一個決定,使得下一步的行動得到相應的獎勵;訓練這個網路的過程是使網路能夠做出使獎勵(即獎勵函數)最大化的決策,並且訓練過程必須平衡嘗試新行為(Exploration)和使用已知能給予高回報的行為(Exploitation)兩種方法。
用於確定權重的另一種常用方法是fine-tune,使用預先訓練好的模型的權重用作初始化,然後針對新的數據集(例如,傳遞學習)或新的約束(例如,降低的精度)調整權重。與從隨機初始化開始相比,能夠更快的訓練,並且有時會有更好的准確性。