我目前正在遵循TensorFlow的多层卷积网络教程。
在不同的层次中,重量被初始化如下:
因此,我对有疑问,我们如何知道上述权重变量的形状?
是他们用来为他们寻找形状的数学吗?
发布于 2016-01-12 13:59:32
答案在同一页上作了解释:
卷积将计算每个5x5补丁的32个特征。其重量张量为5,5,1,32。
没有所谓的数学标准,但这些术语需要解释。
5X5。这意味着有一个5X5矩阵,它通过在图像周围移动来与输入图像进行卷积。请查看此链接,以了解小型5X5矩阵如何在28X28图像上移动,以及如何将图像矩阵的不同单元格与其自身相乘。这给出了[5, 5, 1, 32]的前两个方面1。这些是BW图像,因此有一个输入通道。大多数彩色图像都有3个通道,因此在其他卷积网络中需要一个3来处理图像。实际上,对于第二层,W_conv2,输入通道的数量是32,与第一层的输出通道数相同。5X5矩阵,并复制它32次!这32件东西中的每一件都叫做channels。为了完成讨论,这32个5X5矩阵中的每一个都被随机权值初始化,并在网络的前向/反向传播过程中独立地进行训练。更多的频道学习图像的不同方面,从而给你的网络带来额外的力量。如果你总结这3点,你就会得到第1层所需的尺寸。后续的层是一个扩展--在本例中,前两个维度是内核大小(5X5)。第三维空间等于输入通道的大小,等于前一层的输出通道的大小。( 32,因为我们声明了第1层的32个输出通道)。最终尺寸是当前层输出通道的大小(64,甚至第二层更大!)同样,保持大量独立的5X5内核也有帮助!)。
最后,最后两层:最后的稠密层是唯一需要计算的东西:
所以,
28 X 2814 X 1414 X 147 X 7当然,我们有64通道,因为conv2 -池不影响它们。因此,我们得到了7X7X64的最终密集输入。然后创建完全连接的1024隐藏层,并为10数字添加10输出类。
https://stackoverflow.com/questions/34745196
复制相似问题