conv2d is linear. leaky_relu is your nonlinearity in this case.
choose basing on the nonlinear activation. if that is sigmoid, use sigmoid.
init matters. it matters more in certain tasks and less in others.