关于转换神经网络:CNN的输入大小是否会根据批次大小而变化?

Does the input size to CNN change depending on the batch size?

通常,卷积神经网络(CNN)的输入由具有给定width*height*channels的图像描述。 对于不同数量的批次大小,输入节点的数量也会有所不同吗? 意思是,输入节点的数量会变成batch_size*width*height*channels吗?


从这个出色的答案中,批处理大小定义了将通过网络传播的样本数量。批大小不会影响网络的体系结构,包括投入的数量。

假设您有1000张RGB图像,尺寸为32x32,并且将批处理大小设置为100。卷积网络的输入形状应为32x32x3。为了训练网络,训练算法从总数为1,000的图像中选择100个图像的样本,然后在该子集中的每个图像上训练网络。那是你的"批次"。网络体系结构并不关心您的子集(批次)具有100、200或1,000个图像,它只关心单个图像的形状,因为这一次即可看到。当对网络进行所有100张图像的训练后,便完成了一个时期,并且更新了网络参数。

训练算法将为每个时期选择不同批次的图像,但是以上情况始终成立:网络一次只能看到一个图像,因此图像形状必须与输入层形状匹配,而不必考虑有多少个图像在该特定批次中。

关于为什么要进行批处理而不是仅对整个集合进行批处理(即,将批处理大小设置为100%并针对一个时期进行训练),借助GPU,它可以使训练更快,并且还意味着在训练时更新参数的频率降低了,更平滑,更可靠的融合。