通常,卷积神经网络(CNN)的输入由给定width*height*channels
的图像描述。对于批量大小的不同数量,输入节点的数量是否也会不同?意思是,输入节点的数量会变为batch_size*width*height*channels
吗?
答案 0 :(得分:0)
从this excellent answer批量大小定义将通过网络传播的样本数。批量大小对网络架构没有影响,包括输入数量。
假设您有1,000张RGB图像,大小为32x32,并且您将批量大小设置为100.您的卷积网络应具有32x32x3的输入形状。为了训练网络,训练算法从总数1,000中挑选100个图像的样本,并在该子集中的每个单独图像上训练网络。那是你的批次'。网络架构并不关心您的子集(批处理)有100,200或1,000个图像,它只关心单个图像的形状,因为它一次只能看到它。当网络已经训练了所有100个图像时,它已经完成了一个纪元,并且网络参数被更新。
训练算法将为每个时期选择不同批次的图像,但上述内容始终成立:网络一次只能看到一个图像,因此图像形状必须与输入图层形状匹配,不考虑该特定批次中的图像数量。
至于为什么我们有批次而不是仅对整套进行培训(即将批量大小设置为100%并培训一个时期),使用GPU可以使培训更快,同时也意味着参数更新更少培训,使收敛更顺畅,更可靠。