Alzheimer's disease is a currently irreversible progressive neurological disease, and the most common kind of dementia. It starts usually by worsening your memory and thinking, and by the end stops you even doing basic tasks or even motor functions.
What does it do to the brain to achieve this? Well, we don't yet know exactly for sure, but we know that in the brains of Alzheimer's patients, there are build-ups of amyloid protein plaques and neurofibrillary tangles. It is also associated with the destruction of neuron connections, which are what allow our brain to send information through the body.
Think back to where I talked about how Alzheimer's disease visibly shrinks the brain, and if you've read some earlier articles or have a bit of knowledge in AI already, you may realize how we can diagnose it with AI.
Since we are dealing with images, the best thing to use would be a Convolutional Neural Network, or a CNN.
CNN's are exceptionally good at working with images, especially classifying them. Put simply, they run a sort of filter over an image (essentially just going pixel by pixel through the image, and overlaying filters meant to detect things from curves and edges to whole objects), and try to use that information to make predictions on what the image is.
Using the power of CNNs, we can predict whether a given MRI scan should be classified as an Alzheimer's affected brain or a healthy brain. But how does it even know whether a given MRI scan is either one? Well, it actually learns on its own, however, it still needs data to be able to do this.
I found a dataset of MRI images on the ADNI website, which is the Alzheimer's Disease Neuroimaging Initiative. I separated the healthy and unhealthy brain MRI scans, and then I took some of the images from each dataset and created a validation and training set of images.
This means I had four sections, the healthy validation and training image sets, and the unhealthy ones. But what are they? The training set is easy to understand, it's the data the algorithm learns from, and it's labeled as being healthy or unhealthy. Since we have healthy and unhealthy sets, the algorithm can learn the differences between them.
The validation set may be harder to understand from the name itself, but this is as important as the training set. It, simply put, allows us to check our results. We have different images from the training set here which aren't labeled since when the AI will be used later on after training it won't get the same training images, and if the AI had enough data and trained enough, it will be able to predict whether the image is healthy or unhealthy.
The above picture shows the output of my neural network. These results are pretty good actually, the important thing is the validation accuracy here. That shows how good the network is at predicting whether an image in the validation dataset was healthy or unhealthy, and we see by the end, it had an accuracy of around 80 percent, which is great since it means its right 80 percent of the time.
Of course, being right 80 percent of the time is not enough for actual use, it should be as accurate as possible. Even diagnosing 1 person per hundred wrongly can be disastrous. I'm currently in the process of integrating more data into my CNN to up this percentage.