神经网络训练细节系列笔记:
这一篇将介绍如何在训练中调整学习速率,以及对超参数优化的问题。
一、Babysitting the learning process
简单描述下神经网络的训练的几个步骤:
Step 1 :数据预处理
在神经网络训练细节(数据预处理、权重初始化)这篇博客中有详细的介绍数据预处理的几种方式。
Step 2:选择你要训练的神经网络的结构
以上图为例是一个两层的神经网络,我们选择32*32*3的CIFAR-10图片作为输入数据,10个分类,隐藏层中有50个神经元。
如果我们想要保证预测结果正确就是神经网络正常工作,第一件事就是初始化一个两层的神经网络,神经网络的权重和偏置值都是最简单的初始值:
def init_two_layer_model(input_size,hidden_size,output_size):
model={}
model['W1'] = 0.0001 * np.random.randn(input_size, hidden_size)
model['b1'] = np.zeros(hidden_size)