我在阅读AlphaGo Zero的网络结构时,遇到了这张备忘单:
我很难理解跳跃连接在维度上是如何工作的。
具体来说,似乎每个残差层最终都会得到输入的两份堆叠副本。这不会导致输入大小随着网络深度的增加而呈指数增长吗?
通过改变conv2d滤波器的输出通道大小是否可以避免这种情况?我在pytorch中看到in_C和out_C不必相同,但我不知道这些值不同会有什么影响。
回答:
使用跳跃连接时,确实可能导致每个连接的通道数翻倍。这是在将通道连接在一起时发生的情况。然而,如果你控制输出通道的数量(你称之为out_C
),它并不一定会呈指数增长。
例如,如果跳跃连接提供了总共n
个通道,而卷积层接收in_C
个通道作为输入。那么你可以将out_C
定义为n
,这样连接后的通道总数等于2*n
。最终,你决定每个卷积的输出通道数,这一切都与网络容量和它能够学习多少有关。