维度总结:
如果在Tensorflow中构建一个自己的神经网络,框架会自动进行后向传播,所以只需要搭建好前向传播的部分,这里面维度必须对应好,其他的调用函数就行,现在总结一下维度问题。
从最简单的说:如下图,X是一个全是像素值的列向量(将一幅图flatten得到),它的大小是(64*64*3,1),则W是(64*64*3,1),那么W的转置与X相乘得到的维度是(1,1),b是(1,1)。
下面举另一个例子:如下图,这是个含有一层隐藏层的网络。输入是坐标(x1,x2),所以维度是(2,1),如果隐藏层被设计为含有4个神经元,那么a就是(4,1),所以反推第一层权重W1为(4,2),b1为(4,1)。然后由于输出为(1,1),所以反推第二层权重W2为(1,4),b2为(1,1)。