卷积神经网络:从基础到架构
1. 卷积层神经元输出计算
卷积层神经元的输出计算是卷积神经网络(CNN)的基础操作之一。其计算公式如下:
[
z_{i,j,k} = b_k + \sum_{u=0}^{f_h - 1} \sum_{v=0}^{f_w - 1} \sum_{k’=0}^{f_{n’} - 1} x_{i’,j’,k’}. w_{u,v,k’,k}
]
其中:
- (z_{i,j,k}) 是卷积层(第 (l) 层)特征图 (k) 中位于第 (i) 行、第 (j) 列的神经元的输出。
- (x_{i’,j’,k’}) 是第 (l - 1) 层中位于第 (i’) 行、第 (j’) 列、特征图 (k’) 的神经元的输出。
- (b_k) 是特征图 (k)(在第 (l) 层)的偏置项,可以看作是调整特征图 (k) 整体亮度的旋钮。
- (w_{u,v,k’,k}) 是第 (l) 层特征图 (k) 中的任意神经元与其位于第 (u) 行、第 (v) 列(相对于神经元的感受野)、特征图 (k’) 的输入之间的连接权重。
- (i’ = i \times s_h + u),(j’ = j \times s_w + v),(s_h) 和 (s_w) 分别是垂直和水平步幅,(f_h) 和 (f_w) 是感受野的高度和宽度,(f_{n’}) 是前一层(第 (l - 1) 层)的特征图数量。
2. TensorFlow 实现
在 TensorFlow 中,每个输入图像通常表示为形状为 [height, width, channels] 的 3D 张量,小批量表示为形状为
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



