Why we use activation function after convolution layer in Convolution Neural Network? I'm new to machine learning and one of the things that I don't understand about Convolution neural networks, is that why we perform activation after convolution layer. 
 A: The purpose of activation functions is mainly to add non-linearity to the network, which otherwise would be only a linear model.
A convolutional layer by itself is linear exactly like the fully connected layer. 
In fact if you visualize each pixel of the input and output images as a node, then you would obtain a fully connected layer with a lot less edges. Or, in other words, the input values get multiplied by coefficients. Following a complex logic, but nothing more.
Here I am talking about the ReLu that in general it is used after each convolutional layer, but there are other uses of activation functions in CNNs. For example, if you are performing binary classification, then you would need a softmax to regularize your output.
A: I know your concern and reasoning is this: Kernels(like for blurring etc) extract/identify certain features they are designed for in normal image processing tasks and so, why the need for them in CNN since their use in CNN is to extract/identify features as well?
The answer is simply this: in CNN, you don't know the kernel to use before hand, it is created on-the-fly based on the errors back propagation. Now, the kernels can be in the position of having to extract complex features. What do you think now? Do you think simple multiplication and addition as in the convolutional process is enough to extract complex features? Atleast you need complex functions and hence, the need for non-linearity of activation functions after convolution.
A: One very simple reason for the very start is that e.g. ReLU sets all inputs below zero to exactly zero. Because image inputs are usually standardized so that below average intensity of some color will have negative values, you'd more or less treat all below average values as the same (=0), if you applied ReLU on the input image. By first applying the convolutional layer, you give it the "chance" to create features based on important local combinations of pixels that have values >0 and don't get "squashed" by the activation function. Thereafter, architectures like VGG-16 or similar just keep alternating convolutional layers and ReLU activations with the occasional pooling layer thrown in (until you get to some final pooling + collapsing into dense layers).
Another reason is that (like with many things in deep learning), people experimented with many different ways of doing things and some particular approaches happened to work well (i.e. compared with what else was tried, of course some things may have been overlooked, which is where it helps that this is a pretty active field with many people trying many different ideas).
