参数
batch epoch shuffle
batch:梯度损失的计算并不是使用全部数据来计算,而是分成多个batch,每次用一个batch来update
shuffle:每个epoch内划分batch是不同的
epoch:全部数据集都使用过一次
计算多少次update:数据集个数/batch size * epoch size
小的batch size更好点?频繁更新,更容易走出狭窄的
adam
梯度下降的时候,动态调整学习率分母(防止震荡或者学习率太小根本训练不完,可以根据过往梯度平方之和,越大说明越陡峭,学习率需要下降),梯度方向(走出point,可以根据过往梯度之和,考虑过往梯度方向),此外学习率分子也有优化方式,比如从大到小或者warm up 先上升后下降。pytorch已经封装好了
LSTM
四个inputs,三个门还有其他参数
除了input的weights,还需要三个门的weights,参数是普通神经网络的四倍。
LSTM 与 RNN 关系
将memory也就是ct ,上一层的未完全输出ht 也和x一起作为输入,体现出来了rnn,这些综合的输入经过transform成四个向量,分别作为三个门的输入和普通的输入经过LSTM神经元的作用输出得到y