How and what do I train in my Convolutional Neural Network I have been trying to research and implement a convolution neural network in c++, and I think I understand the basic architecture of it.
My problem is that I am incredibly confused as to what is supposed to be trained and how I can train it. Some sources say that the filters themselves must be trained and others say that you should train the activation function at the very end of the network. I feel like you would need to train both of these things, but how can I train two separate things at once? How do I know when I am finished training the filters, and can move on to training the activation at the end?
I am very confused about this, so any help at all would be beneficial!
*note that I have absolutely no formal experience with machine learning, so forgive me if there are gaps in my knowledge.
 A: I will try to answer some of your questions by quoting them.

How do I train:

the answer is usually Stochastic Gradient Descent. Of course that contains many things (such as your objective function, or the regularization method(s)) and parameters to play with.

what do I train:

you are right, you train the filters. maybe also the biases.

.. and others say that you should train the activation function

well, for convolutional layers, the activation function itself is a convolution with the filter, so when you train the filters, you train the function.

at the very end of the network

why not update all? the ones at the end are usually fully-connected layers, so that part is more similar to a simple neural network. so updating the filters correctly is also important.

How do I know when I am finished training

you can supply a validation data (that is not used in the training) and after each epoch you can feed this data to your network to get the classification (or whatever your final layer is doing) performance to see if (and how quickly) the validation error/objective is decreasing. Usually after some point it will stagnate or start to draw zig-zags around a certain level. That's when you know it's time to stop :)
hope it helps.
