在深度學習中,使用mini batch,在每一個mini batch內是否要求資料排列的隨機性?

在深度學習中,使用mini batch,在每一個mini batch內是否要求資料排列的隨機性?紅凳哥2018-03-01 15:49:13

首先,我認為先要理解mini_batch和batch的區別以及為什麼要用mini_batch?

在深度學習中,引數的最佳化演算法主要使用梯度下降來處理。透過計算訓練樣本的損失然後進行梯度下降獲取引數之後再次更具引數進行梯度下降更新引數以達到最優結果的引數。

在深度學習中,使用mini batch,在每一個mini batch內是否要求資料排列的隨機性?

這樣就產生了第一種就是batch梯度,也就是把所有的訓練樣本給到模型進行一次梯度下降。從這就能看出明顯是由效能問題的,如果資料量很大的話,就會造成每次梯度要耗費很多的時間。

針對這個問題,專家們想出了隨機梯度下降,這種方式有利於線上模型的訓練,因為每次就訓練一個樣本,但是這種方式的不利於模型的收斂,在訓練過程中容易來回波動。

在深度學習中,使用mini batch,在每一個mini batch內是否要求資料排列的隨機性?

所以為了解決這兩個問題,minibatch的方法就提出了!很多最佳化演算法都是基於他的。其實就是把資料批次化成小塊資料進行學習。

為什麼需要隨機,這樣可以讓資料分佈的更均勻,方便與收斂最佳化。

可以關注我私信我如果有疑惑