
Overview: Trained a client (Global Head of Conduct for a major investment bank) to implement a Multi-Layer Perceptron Neural Network for a self-driving robot as part of her MSc in Artificial Intelligence at the University of Essex
Objective: Program the robot to guide itself to follow a wall on its left, and turn around corners
Ethics: Client obtained permission from Course Director to obtain training for her
programming skills
Results: Client received a mark of 70% for the project; robot demonstration was successful,
and written report communicated that the client understood the underlying material
Client also requested mathematics training to assist in preparation for the related exams; she received marks of 75% for both Robotics and Neural Networks exams
Inputs: Distance from left sonar sensor to wall, distance from front sonar sensor to wall
Outputs: Left wheel speed, right wheel speed
Architecture: 2-4-2 Topology (2 input layer nodes, 4 hidden layer nodes, 2 output layer nodes)
with tanh activation functions
Language: C++ (Neural Network), Matlab (Data Cleaning)
Steps: Client adapted a vanilla network to track and output the error (average RMS error
after each training example) to determine when to stop training (minimised
validation error over epochs)
Also needed to perform data "de-duplication" and splitting into training, validation and test sets, and normalisation / de-normalisation of data
Client could have improved the smoothness by training over more epochs but the client was more than satisfied.