簡體   English   中英

神經網絡擴展學習領域

[英]Neural Networks Extending Learning Domain

我有一個簡單的 function f : R -> R ,f(x) = x 2 + a,我想創建一個神經網絡來盡可能完整地學習 function。 目前,我有一個 pytorch 實現,它當然接受有限范圍的輸入,從 x0 到 xN 具有特定數量的點。 每個時期,訓練數據都被隨機擾動,努力不僅每次都學習相同網格點上的關系。

目前,它在 function 的訓練范圍內學習得很好,但是以一種可以將這種學習擴展到訓練范圍之外的方式進行訓練是否可行? 目前,訓練范圍外的行為似乎取決於激活 function。例如,使用 ReLU,與 .networks 預測(藍色)相比,真實的 function(橙色)如下: 在此處輸入圖像描述

我知道如果我將輸入向量轉換為包含更高 x 次方的更高維度,它可能會很好地工作,但對於一般情況以及我計划如何在未來實現它它不會在非-多項式函數。

想到的一個想法來自支持向量機和 kernel 的選擇,以及徑向基 kernel 如何解決這個泛化問題,但我不確定這是否可以在沒有 svm 的內積屬性的情況下應用在這里。

您想要的稱為外推法(與預測訓練域/范圍內的值的內插法相反)。 外推從來沒有好的解決方案,使用更高的冪可以更好地解決特定問題,但是如果您稍微更改擬合曲線(改變其 x 和 y 截距,其中一個冪等),則外推又會很糟糕。

這也是為什么 neural.networks 使用大數據集(以最大化其輸入范圍並依賴於插值)以及為什么過度訓練/過度擬合(這是你正在嘗試做的)是一個壞主意; 在一般情況下,它永遠無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM