计算机视觉与神经网络及TensorFlow基础入门
1. 神经网络训练基础
1.1 训练迭代与梯度下降
一次对整个训练集的迭代(步骤1到4)被称为一个轮次(epoch)。当 n = 1 且训练样本从剩余图像中随机选择时,这个过程被称为随机梯度下降(SGD)。SGD易于实现和可视化,但速度较慢(更新次数更多)且噪声较大。人们通常更喜欢小批量随机梯度下降,即使用更大的 n 值(受计算机性能限制),这样梯度会在每个包含 n 个随机训练样本的小批量(或简称为批量)上进行平均,从而减少噪声。如今,无论 n 的值是多少,术语SGD都被广泛使用。
1.2 网络分类实现
1.2.1 更新全连接层类
为了实现反向传播和优化,我们更新 FullyConnectedLayer 类,代码如下:
class FullyConnectedLayer(object):
# [...] (code unchanged)
def __init__(self, num_inputs, layer_size, activation_fn,
d_activation_fn):
# [...] (code unchanged)
self.d_activation_fn = d_activation_fn # Deriv. activation function
超级会员免费看
订阅专栏 解锁全文
4万+

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



