Skip to content

Commit

Permalink
Add further Overleaf changes
Browse files Browse the repository at this point in the history
  • Loading branch information
mcttn22 committed Mar 24, 2024
1 parent ed22b16 commit ac44dce
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 24 deletions.
Binary file modified project-report/project-report.pdf
Binary file not shown.
Binary file added project-report/src/images/deep-ann-diagram-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 9 additions & 1 deletion project-report/src/latex/analysis.tex
Original file line number Diff line number Diff line change
Expand Up @@ -115,12 +115,20 @@ \subsubsection{How Artificial Neural Networks learn}
\item Having a 'Vanishing Gradient', where the gradient value decreases to a very small value or zero, resulting in a lack of updating values during training.
\end{itemize}

\vspace{5mm}
\pagebreak

\subsection{Theory Behind Deep Artificial Neural Networks}
\vspace{5mm}

\subsubsection{Network Architecture and Training}

\begin{figure}[h!]
\centering
\includegraphics[width=1\textwidth]{./project-report/src/images/deep-ann-diagram-2.png}
\caption{This shows an Artificial Neural Network with multiple hidden layers and is known as a Deep Neural Network.}
\label{fig:abstract-network}
\end{figure}

Figure \ref{fig:abstract-network} below shows a simplified view of an Artificial Neural Network with multiple hidden layers, known as a Deep Neural Network, where:

\pagebreak
Expand Down
84 changes: 61 additions & 23 deletions project-report/src/latex/evaluation.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,29 @@
\clearpage
\section{Evaluation}

\subsection{Third Party Feedback}

I demonstrated the final version of my program to the same third party that I interviewed in the analysis, and their response is shown below:

\vspace{5mm}

"In my opinion, Max has definitely met the primary and secondary goals of this project. Firstly, and most importantly, he has researched and implemented, from first
principles, an Artificial Neural Network that is flexible and abstracted to the point that it can tackle a range of problems. Max started the analysis for this
project from a very theoretical and mathematical point of view before implementing code which has allowed him to extend its implementation to a range of datasets
from the XOR problem to image analysis.

I was particularly impressed at the level of analysis he undertook into how Artificial Neural Networks work and the impact that different kinds of design decisions can have on
implementation. He took on board suggestions to explore different types of transfer functions such as the ReLu function to increase the speed of training and it was nice
to see comparative studies of this and other techniques. It was also great to see the ability to save and load trained models which has allowed him to train models
on a desktop PC equipped with a graphics card to be utilized on a lower power laptop.

The analysis section exploring the impact on both learning rates and epoch count was very nice to see, as well as the identification of an optimal learning rate
suitable for the image dataset he was working with.

In summary, it was fantastic to see a true maths-to-code example of implementing Artificial Neural Networks that didn't rely on the use of external AI libraries. I
am certain he has learned a great deal regarding the fundamental properties and limitations of Artificial Neural Networks. I was also impressed by the usage of
software engineering tools such as GitHub and Jupyter Notebook throughout the project."

\subsection{Project Objectives Evaluation}

\subsubsection{Project Objectives}
Expand Down Expand Up @@ -59,28 +82,43 @@ \subsubsection{Project Objective Evaluations}
\hline
\end{tabular}

\subsection{Third Party Feedback}

I demonstrated the final version of my program to the same third party that I interviewed in the analysis, and their response is shown below:

\vspace{5mm}

"In my opinion, Max has definitely met the primary and secondary goals of this project. Firstly, and most importantly, he has researched and implemented, from first
principles, an Artificial Neural Network that is flexible and abstracted to the point that it can tackle a range of problems. Max started the analysis for this
project from a very theoretical and mathematical point of view before implementing code which has allowed him to extend its implementation to a range of datasets
from the XOR problem to image analysis.

I was particularly impressed at the level of analysis he undertook into how Artificial Neural Networks work and the impact that different kinds of design decisions can have on
implementation. He took on board suggestions to explore different types of transfer functions such as the ReLu function to increase the speed of training and it was nice
to see comparative studies of this and other techniques. It was also great to see the ability to save and load trained models which has allowed him to train models
on a desktop PC equipped with a graphics card to be utilized on a lower power laptop.

The analysis section exploring the impact on both learning rates and epoch count was very nice to see, as well as the identification of an optimal learning rate
suitable for the image dataset he was working with.

In summary, it was fantastic to see a true maths-to-code example of implementing Artificial Neural Networks that didn't rely on the use of external AI libraries. I
am certain he has learned a great deal regarding the fundamental properties and limitations of Artificial Neural Networks. I was also impressed by the usage of
software engineering tools such as GitHub and Jupyter Notebook throughout the project."
\subsection{Requirements Evaluation}

\begin{tabular}{|p{0.03\linewidth}|p{0.69\linewidth}|p{0.12\linewidth}|p{0.16\linewidth}|}
\hline
\textbf{ID} & \textbf{Description} & \textbf{Status} & \textbf{3rd Party Evaluation} \\
\hline
1 & Learn how Artificial Neural Networks work & Fully met & Fully met \\
\hline
2 & Develop Artificial Neural Networks from first principles & & \\
\hline
2.1 & Provide utilities for creating Artificial Neural Networks & Fully met & Fully met \\
\hline
2.2 & Allow for the saving and loading of trained models' weights and biases & Fully met & Fully met \\
\hline
2.3 & Allow use of Graphics Cards for faster training & Fully met & Fully met \\
\hline
3 & Implement the Artificial Neural Networks on image datasets & & \\
\hline
3.1 & Allow input of unique hyper-parameters & Fully met & Fully met \\
\hline
3.2 & Allow unique datasets and train dataset size to be loaded & Fully met & Fully met \\
\hline
4 & Use a database to store a model's features and the location of its weights and biases & Fully met & Fully met \\
\hline
5 & Develop a Graphical User Interface & & \\
\hline
5.1 & Provide controls for hyper-parameters of models & Fully met & Fully met \\
\hline
5.2 & Display details of models' training & Fully met & Fully met \\
\hline
5.3 & Display the results of each model's predictions & Fully met & Fully met \\
\hline
5.4 & Allow for the saving of trained models & Fully met & Fully met \\
\hline
5.5 & Allow for the loading of saved trained models & Fully met & Fully met \\
\hline
\end{tabular}

\subsection{Future Improvements}

Expand All @@ -96,4 +134,4 @@ \subsection{Future Improvements}
\item Utilising a standardized file format for storing trained Artificial Neural Networks, so that they can be integrated with other machine learning libraries.
\end{itemize}

\end{document}
\end{document}

0 comments on commit ac44dce

Please sign in to comment.