- Sample:樣本,數據集中的一條數據。例如圖片數據集中的一張圖片,語音數據中的一段音頻。
- Batch:中文為批,一個batch由若干條數據構成。batch是進行網絡優化的基本單位,網絡參數的每一輪優化需要使用一個batch。batch中的樣本是被並行處理的。與單個樣本相比,一個batch的數據能更好的模擬數據集的分布,batch越大則對輸入數據分布模擬的越好,反應在網絡訓練上,則體現為能讓網絡訓練的方向“更加正確”。但另一方面,一個batch也只能讓網絡的參數更新一次,因此網絡參數的迭代會較慢。在測試網絡的時候,應該在條件的允許的范圍內盡量使用更大的batch,這樣計算效率會更高。
- Epoch,epoch可譯為“輪次”。如果說每個batch對應網絡的一次更新的話,一個epoch對應的就是網絡的一輪更新。每一輪更新中網絡更新的次數可以隨意,但通常會設置為遍歷一遍數據集。因此一個epoch的含義是模型完整的看了一遍數據集。 設置epoch的主要作用是把模型的訓練的整個訓練過程分為若干個段,這樣我們可以更好的觀察和調整模型的訓練。當指定了驗證集時,每個epoch執行完后都會運行一次驗證集以確定模型的性能。另外,我們可以使用回調函數在每個epoch的訓練前后執行一些操作,如調整學習率,打印目前模型的一些信息等。