Yes you should understand backprop
When we offered CS231n (Deep Learning class) at Stanford, we intentionally designed the programming assignments to include explicit calculations involved in backpropagation on the lowest level. The students had to implement the forward and the backward pass of each layer in raw numpy. This is seemingly a perfectly sensible appeal - if you're never going to write backward passes once the class is over, why practice writing them? Are we just torturing the students for our own amusement? Some easy answers could make arguments along the lines of "it's worth knowing what's under the hood as an intellectual curiosity", or perhaps "you might want to improve on the core algorithm later", but there is a much stronger and practical argument, which I wanted to devote a whole post to: In other words, it is easy to fall into the trap of abstracting away the learning process -- believing that you can simply stack arbitrary layers together and backprop will "magically make them work" on your data.
Dec-22-2016, 07:55:10 GMT