【人工智能实战2019-何峥】第6次作业

调节神经网络超参数

作业要求

项目 内容
课程 人工智能实战2019
作业要求 修改Level3中的超参,训练MNIST数据集,令测试结果的准确度大于97%
我的课程目标 掌握相关知识和技能,获得项目经验
本次作业对我的帮助 理解神经网络的基本原理,并掌握代码实现的基本方法
作业正文 【人工智能实战2019-何峥】第6次作业
其他参考文献 B6-神经网络基本原理简明教程

作业正文

改变隐层神经元数与学习率 (m_epoch = 16; batch_size = 16; flag = 2;)

(1) n_hidden1 = 32; n_hidden2 = 16;

learning rate accuracy rate
0.01 0.9518
0.02 0.9633
0.03 0.9676
0.04 0.9692
0.05 0.9691
0.06 0.9672
0.07 0.9684
0.08 0.9675
0.09 0.9653

(2)n_hidden1 = 64; n_hidden2 = 32;

learning rate accuracy rate
0.01 0.9567
0.02 0.9665
0.03 0.9703
0.04 0.9717
0.05 0.974
0.06 0.9744
0.07 0.9741
0.08 0.9733
0.09 0.9725

改变参数初始化方法

(n_hidden1 = 64; n_hidden2 = 32; m_epoch = 16; batch_size = 16; learning rate = 0.06)

flag accuracy rate
0 0.1135
1 0.9209
2 0.9744

改变初始化方法发现,当参数全部初始化为0时,神经网络失效。这是由于每一层中的所有参数初值相同,更新值相同,故而更新后的参数值也相同,同层的多个节点值相当于一个节点,失去了网络学习特征的意义,导致结果无法收敛。

2. 最终的参数列表

在调试的多组参数中对比得出最优组合为:

n_hidden1 n_hidden2 m_epoch batch_size flag learning rate accuracy rate
64 32 16 16 0.06 2 0.9744

3. 最终的loss下降曲线

4. 最终准确度结果

Testing...
rate=9744 / 10000 = 0.9744
posted @ 2019-04-21 22:23  He-z  阅读(250)  评论(0编辑  收藏  举报