# Machine Learning Notes: Convolutional Neural Networks

*
*

## Convolutional Neural Networks

Say we have a image that is composed of multiple atomic elements, and we want to be able to identifty specific groupings of those elements within a specific image? How could we achieve this through Machine Learning?

It turns out there is one approach that can achieve this - Convolutional Neural Networks (CNN). These allow us to take a input image, generate feature maps and given a set of parameters build up combinations of these features to (similarlly to LRs and MLPs), to determine a confidence rate of a specific combination being present in a given image.

## Math Model

The below demonstrates how the model is built up, where @M_n, L_n, G_n@ are the feature maps generated by each layer, @\phi_K, \psi_K, \omega_K@ are the parameters for each layer, and @\ell_n@ is the prediction strength. @@ \displaylines{ M_n = f(I_n; \phi_1, …, \phi_K) \\ L_n = f(M_n; \Psi_1, …,\Psi_K ) \\ G_n = f(L_n; \omega_1, …,\omega_K ) \\ \ell_n = \ell(G_n; W) } @@

## How this Model learns?

Assuming we have labelled data: @{I_n, y_n}(n=1, N)@, and those labels are binary @\in \{ +1, -1 \}@.

We can use the energy function of the model parameters: @@ E(\phi, \Psi, \omega, W) = 1/N \sum loss(y_n, \ell_n) @@

Which will generate the loss between the prediction label and the generated prediction for a given image.

The parameters will then need to be estimated by finding @\hat{\phi}, \hat{\Psi}, \hat{\omega}, \hat{W}@ that minimises @E(\phi, \Psi, \omega, W)@.

This is the difficult part, estimation of the parameters can be difficult depending on the amount of parameters, and the dataset can have multiple Local Optimal Solutions (areas in the loss value vs parameter value dataset where the loss is minimised most).