🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
残差连接 * 是让前面某层的输出作为后面某层的输入,从而在序列网络中有效地创造了一条捷径。 * 前面层的输出没有与后面层的激活连接在一起,而是与后面层的激活相加(这里假设两个激活的形状相同)。 * 如果它们的形状不同,我们可以用一个线性变换将前面层的激活改变成目标形状(例如,这个线性变换可以是不带激活的 `Dense` 层;对于卷积特征图,可以是不带激活 1×1 卷积)。 ``` from keras import layers x = ... y = layers.Conv2D(128, 3, activation='relu', padding='same')(x) y = layers.Conv2D(128, 3, activation='relu', padding='same')(y) y = layers.MaxPooling2D(2, strides=2)(y) residual = layers.Conv2D(128, 1, strides=2, padding='same')(x) #使用1×1卷积,将原始x张量线性下采样为与y具有相同的形状 y = layers.add([y, residual]) #将残差张量与输出特征相加 ```