a = tf.random_uniform([5, 3, 5])
b = tf.random_uniform([5, 1, 6])
tiled_b = tf.tile(b, [1, 3, 1])
c = tf.concat([a, tiled_b], 2)
d = tf.layers.dense(c, 10, activation=tf.nn.relu)
Here the output shape turned out to be 5x3x10. The input shape is 5x3x11. I've seen the source code of this operation and found that the weights matrix is of shape 11x10. I also understand that the operation is similar to res = np.tensordot(input,weights,axes=([2],[0])). What I don't understand is how this is happening. How do I visualize this operation in a neural network? Since, the dense layer is just a single layer with 10 neurons, how can the weight matrix be 11x10?
for a dense layer every input channel is connected to each output neuron with a weight. So here
input_channel=11andouput_channel=10, so number of weights11x10.