神經網路常見術語之 Batch與Epoch

2021-10-07 10:38:49 字數 1132 閱讀 3711

batch大小是乙個超引數,用於定義在更新內部模型引數之前要處理的樣本數。將批處理視為迴圈迭代乙個或多個樣本並進行**。在批處理結束時,將**與預期輸出變數進行比較,並計算誤差。從該錯誤中,更新演算法用於改進模型,例如沿誤差梯度向下移動。訓練資料集可以分為乙個或多個batch。當所有訓練樣本用於建立乙個batch時,學習演算法稱為批量梯度下降。當批量是乙個樣本的大小時,學習演算法稱為隨機梯度下降。當批量大小超過乙個樣本且小於訓練資料集的大小時,學習演算法稱為小批量梯度下降。

epoch數是乙個超引數,它定義了學習演算法在整個訓練資料集中的工作次數。乙個epoch意味著訓練資料集中的每個樣本都有機會更新內部模型引數。epoch由乙個或多個batch組成。例如,如上所述,具有一批的epoch稱為批量梯度下降學習演算法。您可以將for迴圈放在每個需要遍歷訓練資料集的epoch上,在這個for迴圈中是另乙個巢狀的for迴圈,它遍歷每批樣本,其中乙個批次具有指定的「批量大小」樣本數。

epochs 數量傳統上很大,通常是數百或數千,允許學習演算法執行直到模型的誤差被充分地最小化了。您可能會看到文獻和教程設定為10,100,500,1000和更大的時期數量的示例。通常建立線圖,其顯示沿x軸的時間以及模型在y軸上的誤差或技能。這些圖有時被稱為學習曲線。這些圖可以幫助診斷模型是否已經過度學習,學習不足或者是否適合訓練資料集。

batch大小是在更新模型之前處理的多個樣本。epoch數是通過訓練資料集的完整傳遞次數。批處理的大小必須大於或等於1且小於或等於訓練資料集中的樣本數。可以將epoch設定為1和無窮大之間的整數值。您可以根據需要執行演算法,甚至可以使用除固定數量的epoch之外的其他條件來停止演算法,例如模型錯誤隨時間的變化(或缺少變化)。它們都是整數值,並且它們都是學習演算法的超引數,例如學習過程的引數,而不是學習過程找到的內部模型引數。您必須為學習演算法指定batch大小和epoch數。如何配置這些引數沒有固定的規則。您必須嘗試不同的值,看看哪種方法最適合您的問題。

假設您有乙個包含200個樣本(資料行)的資料集,並且您選擇的batch大小為5和1,000個epoch。

這意味著資料集將分為40個batch,每個batch有5個樣本。每批五個樣品後,模型權重將更新。

這也意味著乙個epoch將涉及40個batch或40個模型更新。

有1000個epoch,模型將暴露或傳遞整個資料集1,000次。在整個培訓過程中,總共有40,000batch。

神經網路,25個術語

從神經網路說起 深度學習初學者不可不知的25個術語和概念 上 1,神經元 2,權重 3,偏置 用來改變輸入的範圍。4,啟用函式f x 將輸入訊號翻譯成輸出訊號。最常用的啟用函式有sigmoid relu 和softmax。5,神經網路 訓練神經網路,更新偏置值,目標是找到未知函式的乙個近似值。6,輸...

常見的神經網路

由於新的神經網路架構無時無刻不在湧現,想要記錄所有的神經網路是很困難的事情。要把所有這些縮略語指代的網路 dcign,iilstm,dcgan等 都弄清,一開始估計還無從下手。下表包含了大部分常用的模型 大部分是神經網路還有一些其他的模型 雖然這些架構都是新奇獨特的,但當我開始把它們的結果畫下來的時...

神經網路學習之 Hopfield神經網路

1982年,美國加州理工學院的優秀物理學家hopfield提出了hopfield神經網路。hopfield神經網路引用了物理力學的分析方法,把網路作為一種動態系統並研究這種網路動態系統的穩定性。dhnn 離散型hopfield神經網路 這是一種單層全反饋網路,共有n個神經元。其特點是任一神經元的輸出...