(1)为什么算法有时候会陷入局部最优?
通常情况下,目标函数是权值的复杂的非线性函数,往往存在多个局部极小点。梯度下降法如果收敛到一个局部极小值点,梯度就等于或接近于0,无法进一步改进目标函数,导致学习过程无法收敛到全局最优解。
(2)如何选择合适的初始权值?
BP算法的最终收敛结果有时受初始权值的影响很大。各个初始权值不能为0,也不能都相同,而是应该采用较小的随机数。在实验应用中,如果算法很难收敛,可以尝试改变初值。
(3)如何选择学习率?
如果学习率太大,可能刚开始收敛速度比较快,但很容易出现震荡而不能收敛或收敛很慢;如果学习率太小,则权值调整会比较慢,导致算法收敛太慢,容易陷入局部极小。
为了兼顾训练过程和训练精度,有时采用变学习率的办法,开始时采用较大的学习率,随着学习的进行逐渐减小学习率。
(4)过拟合和欠拟合:
过拟合:过强的学习能力可能导致神经网络的推广能力弱,即虽然训练误差很快收敛到很小,但是在新的独立样本上的测试误差却很大,这种情况称作过拟合;
欠拟合:如果隐层节点数量过少,则神经网络的能力就越小,无法构造复杂的非线性分类面,对于复杂的数据很难得到小的训练误差,在测试样本上也无法得到满意的表现。这种情况称作欠拟合。
(5)CNN 在进行卷积操作的计算:
(1)进行卷积操作时,采用向下取整策略。(即:9/2=4)
(2)卷积时的参数量和连接量:
参数量:PCN=前一层的 channel 数*(核宽度^2)*本次卷积核数量
如果有偏置,PBN=本次卷积核的数量;
总的参数量:PN=PCN+PBN。
连接量:CN=PN*卷积后特征层宽度^2
(3)池化时的参数量和计算量:
(如果是参数池化)参数量:特征的 channel 数量*(池化参数量+1)
(如果是最大池化,则池化层没有参数。)连接量:特征的 channel 数量*(池化核宽度^2,如果存在偏置,则+1)*池化后特征层
宽度^2
(4)全连接时的参数量和计算量:
1)卷积层-全连接层:
参数量:FCN=卷积层的 channel 数*卷积层宽度^2*全连接层单元数
如果有偏置:FBN=全连接层单元数
总的参数量:FN=FCN+FBN;
连接量:FN;
2)全连接层 P-全连接层 B:
参数量:FFN=P 的单元个数*B 的单元个数;
如果有偏置:FBN=B 的单元个数;
总的参数量:FN=FFN+FBN
连接量:FN