本文由腾讯云 社区自动同步,原文地址 https://stackoverflow.club/article/implement_neural_network_using_python/
P39 为了优化这么多参数,训练集必须很大,和参数数量在一个数量级上
P54 一般采用多次随机初始化参数,观察损失值分布,如果方差较小,说明网络规模较大;如果方差过大,说明网络规模过小,需要增加网络规模
P92 VGG是简单的卷积层、池化层和全连接层的串联,Inception和Residual Net连接模式复杂,但是网络参数更少,学习效率更高
P97 小批量样本的数量是一个超参数,一般取32、64、128等,数据量是2的指数,运算效率会更高。
P106 学习率退火 每当验证集错误率停止下降时,就把学习率降低到原来的1/10
P107 参数初始化 使用1/sqrt(n)来校准方差,使输出神经元你的方差为1,这样参数初始化为w=np.random.randn(n)/sqrt(n), 其中n是神经元连接的输入神经元数量。实践证明,这样可以提高收敛速度。 注意小数随机初始化并不一定会得到好的结果,因为在梯度反向传播的时候,会计算出非常小的梯度,减慢收敛速度。
P154 参数的更新比例 如果更新比例在10^-3左右正常,大于这个比例说明学习率过大,否则学习率过小