表1 CNN经典模型的内存,计算量和参数数量对比
| AlexNet | VGG16 | Inception-v3 |
模型内存(MB) | >200 | >500 | 90-100 |
参数(百万) | 60 | 138 | 23.2 |
计算量(百万) | 720 | 15300 | 5000 |
1. CNN模型具体分析(以AlexNet网络模型为例)
1.1 网络结构
图1 AlexNet网络结构
AlexNet有5个卷积层和3个全连接层
C1:96×11×11×3 (卷积核个数/宽/高/深度) 34848个
C2:256×5×5×48(卷积核个数/宽/高/深度) 307200个
C3:384×3×3×256(卷积核个数/宽/高/深度) 884736个
C4:384×3×3×192(卷积核个数/宽/高/深度) 663552个
C5:256×3×3×192(卷积核个数/宽/高/深度) 442368个
R1:4096×6×6×256(卷积核个数/宽/高/深度) 37748736个
R2:4096×4096 16777216个
R3:4096×1000 4096000个
共6000万个参数
1.2 AlexNet模型内存大小计算
6000万(个参数)×32位(float32)=19.2亿位≈228.88MB
1.3 AlexNet模型计算力消耗
图2 AlexNet模型每层每秒浮点运算次数及参数数量
1.4 AlexNet网络模型配置
AlexNet网络模型获得了2012年ImageNet比赛的冠军。AlexNet使用两块GTX580显卡进行训练,两块GPU各训练网络的一部分,在第二个卷积层和全连接层两块GPU之间才进行互相通信。