Aivia uses a wide range of AI techniques (e.g. random forest, support vector machines and deep learning) to solve image-related tasks. For more demanding applications, Aivia uses a specific type of deep learning, known as fully convolutional neural networks (CNN).
CNNs are particularly well-suited for capturing non-linear relationships between large volumes of paired image sets (e.g. raw image and manually annotated image in the case of image segmentation tasks) thus allowing for a level of accuracy that rivals human experts (1,2).
![](https://static.wixstatic.com/media/a27d24_6024128603654282933e52428441d51a~mv2.png/v1/fill/w_980,h_551,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/a27d24_6024128603654282933e52428441d51a~mv2.png)
A neural network is composed of multiple artificial "neurons" organized in interconnected layers. Similarly to their biological counterparts, the neurons in artificial neural networks respond to specific stimuli, image patterns or features.
![](https://static.wixstatic.com/media/8e351a_8b16ac914a154169aa24c98f7f90ba1a~mv2.png/v1/fill/w_980,h_551,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/8e351a_8b16ac914a154169aa24c98f7f90ba1a~mv2.png)
When stimulated, a neuron (both real and artificial) affects connected neurons in deeper layers until the output layer is reached where a prediction is made.
![](https://static.wixstatic.com/media/8e351a_55ccb0f2fa02495c9ee220abb9c81d4b~mv2.gif)
By comparing the prediction to the ground truth an error is calculated. The network is updated to minimize the error before a new round of learning (i.e. feeding a new input image to the CNN) takes place.
![](https://static.wixstatic.com/media/8e351a_d504517d45e34636b410cc1b590eb0f4~mv2.gif)
Initially, all neuron connections have equivalent weights and biases but during the process of learning the neuron paths that produce lower error values strengthen (i.e. connection weights are increased) while the ones with higher error values weaken.
![](https://static.wixstatic.com/media/8e351a_8800f09973494641a33c7f2a2cb67c56~mv2.gif)
The key processes responsible for learning in CNNs are gradient descent and back-propagation. Gradient descent helps determine how the weights and biases that govern the connections between different layers should be adjusted to minimize error.
![](https://static.wixstatic.com/media/8e351a_24696f7c8ace4b74834675e544b4c5c2~mv2.gif)
Back-propagation implements the changes suggested by gradient descent, thus spreading the updates across the connected elements in the network.
![](https://static.wixstatic.com/media/8e351a_f954a2344d2d4a168f8168800c5386a6~mv2.gif)
The trained deep learning model includes the entire network with optimized weights and biases. It can be applied to "out of network" images (i.e. images that have not been used for training) similar to the ones used for training.
References
Esteva et al., Nature, 2017
Zeng, Wu and Ji,Bioinformatics, 2017
Comments