从零实现多层人工神经网络及TensorFlow加速训练
1. 多层人工神经网络的初步探索
在图像分类任务中,我们会遇到一些具有挑战性的图像,即使对于人类来说,正确分类也并非易事。例如,子图8中的数字6看起来像随意绘制的0,子图23中的数字8由于下部较窄且线条较粗,可能会被误认为是9。
2. 训练人工神经网络
在了解了神经网络的基本运作并查看相关代码后,我们深入探讨一些关键概念,如逻辑成本函数和用于学习权重的反向传播算法。
2.1 计算逻辑成本函数
逻辑成本函数在神经网络中起着重要作用,它用于衡量模型预测结果与真实标签之间的差异。最初的逻辑成本函数表达式为:
[J(w) = -\sum_{i=1}^{n}[y^{[i]}\log(a^{[i]}) + (1 - y^{[i]})\log(1 - a^{[i]})]]
其中,(a^{[i]}) 是数据集中第 (i) 个样本的Sigmoid激活值,通过前向传播步骤计算得出:
[a^{[i]} = \phi(z^{[i]})]
为了减少过拟合的程度,我们引入L2正则化项:
[L2 = \lambda|\mathbf{w}| 2^2 = \lambda\sum {j=1}^{m}w_j^2]
将L2正则化项添加到逻辑成本函数中,得到新的成本函数:
[J(w) = -\left[\sum_{i=1}^{n}[y^{[i]}\log(a^{[i]}) + (1 - y^{[i]})\log(1 - a^{[i]})\right] + \frac{\lambda}{2}|\mathbf{w}| 2^
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



