习题4-1 习题4-1对于一个神经元o(w'x + b),并使用梯度下降优化参数w时,如果输入x恒大于0,其收敛速度会比零均值化的输入更慢
在训练神经网络时,输入数据的分布会影响优化算法的性能。如果输入数据都是正数,那么梯度下降优化算法的收敛速度会比零均值化的输入更慢。这是因为梯度下降优化算法的性能取决于数据分布的方差,而正数输入数据的方差为常数,因此梯度下降优化算法的性能会降低。
相反,如果输入数据是零均值化的,那么梯度下降优化算法的性能会更好。这是因为零均值化的输入数据的方差会随着训练的进行而逐渐减小,这使得梯度下降优化算法能够更快地收敛。
因此,为了提高神经网络的训练速度和性能,通常需要对输入数据进行预处理,例如进行零均值化和归一化处理。
习题4-5 如果限制一个神经网络的总神经元数量(不考虑输入层)为N+1,输入层大小为M,输出层大小为1,隐藏层的层数为L,每个隐藏层的神经元数量为N/L,试分析参数数量和隐藏层层数L的关系.
输入层与第一层隐藏层全连接,参数数量为,每两个个隐藏层之间也全连接,参数数量为,共有L层隐藏层,参数数量一共为,最后一个隐藏层与输出层也全连接,参数数量为,所以参数数量一共为。
习题4-7 为什么在神经网络模型的结构化风险函数中不对偏置b进行正则化?
-
偏置b的作用是调整神经元的激活阈值,影响模型的决策边界。在训练过程中,通过反向传播算法,偏置b会根据损失函数的梯度自动调整,以最小化损失函数。因此,对偏置b进行正则化可能会干扰模型的训练过程,导致过拟合或欠拟合。
-
在一些神经网络模型中,偏置b通常被视为模型的“可学习参数”,与权重w一起进行调整。通过对偏置b进行正则化,可能会影响模型的表达能力,导致模型难以拟合复杂的非线性关系。
习题4-8 为什么在用反向传播算法进行参数学习时要采用随机参数初始化的方式而不是直接令w =0, b = 0?
-
随机初始化可以引入随机性,帮助算法跳出局部最小值。如果直接将所有参数设为0,那么在刚开始训练的时候,所有的梯度更新都将为0,这会导致所有的参数更新停滞不前,只能得到局部最优解,而不能达到全局最优解。随机初始化可以使得参数的初始值不为0,从而使得在刚开始训练的时候,梯度更新不会全部为0,可以帮助算法跳出局部最小值。
-
随机初始化可以加快收敛速度。如果直接将所有参数设为0,那么在刚开始训练的时候,所有的梯度更新都将为0,这意味着需要更多的训练次数才能使模型收敛。而随机初始化可以使参数的初始值不为0,从而使得在刚开始训练的时候,梯度更新不会全部为0,这可以加快模型的收敛速度。
-
随机初始化可以防止过拟合。如果直接将所有参数设为0,那么模型的所有参数都会向着0进行更新,这可能会导致模型无法拟合复杂的非线性关系,从而出现欠拟合的情况。而随机初始化可以使参数的初始值不为0,从而使得模型有可能拟合复杂的非线性关系,防止过拟合的情况发生。
习题4-9 梯度消失问题是否可以通过增加学习率来缓解?
梯度消失问题不可以通过增加学习率来缓解。因为梯度消失不是指梯度太小,而是指梯度在最后一层往前传的过程中不断减小。如果增大了学习率,底层的学习可能确实更加有效了,但高层的梯度就可能爆炸。