From what I understand about convolutional neural networks.. Through a training process, convolutional filters start with random values that find random small/basic features. This result is pooled and then consumed by the next layer which finds combinations of these features. The process repeats, each time building a more complex feature representation of the original image. Then using back-propagation the filters are adjusted in a way that reduces error and steps closer towards the predictive goal.
My question is why don't we just set the first layer with static filters that find various angles of lines, and only train the rest? It seems as though the training process is just doing that anyways and we are making it work hard to find the same end result.
Note: I'm familiar with transfer learning, but I'm asking more about "artificially" set values.