全连接神经网络相邻层的神经元之间全部存在连接,如图2.2所示为一个BP神经网络。
图2.2 BP神经网络
下一层的所有网络节点与前一层的所有网络节点存在连接,这会导致以下几个问题。
1.巨大的计算量
全连接神经网络始于BP算法的提出,发展于20世纪90年代,那时候的计算机内存容量有限,无法存储神经网络中的大量参数。
如果一个隐藏层特征图大小为100×100,输入层的特征图大小为100×100,这意味着学习这一层需要100×100×100×100=10 8 个参数。这些参数如果以32位的浮点数进行存储,就需要4×10 8 字节的存储量,约等于400MB的参数量。仅仅这样的一个网络层,其模型参数量已经超过了AlexNet网络的参数量,而100×100的特征图的分辨率已经低于很多任务能够成功解决的下限。
除了需要存储海量参数,在计算过程中还需要海量的计算,这些都超过了当时硬件的能力,因此大大限制了全连接神经网络的大小,尤其是对于一些大的图像。
2.结构信息的缺失
全连接神经网络的输入没有考虑图像中的结构信息,从而丢失了平移等操作的不变性。为了学习如偏移等微小的变化,需要有足够多的参数和足够丰富的样本,最终学习到的权重,很可能在不同的位置还会有非常相似的权重。
由于以上两个缺陷,传统的全连接神经网络不可能解决大量的实际应用问题。