Antreas Antoniou
Computer Engineer/Data Scientist
Education
Lancaster University
BEng Computer Systems Engineering 2014
Strong Upper Second 16.6/24
Lancaster University
MSc Data Science 2015
Distinction 79.33%
University of Edinburgh
MScR Data Science 2017
Distinction 74.44%
University of Edinburgh
PhD Data Science 2020
Currently in year 1
Summary

The universe is a very weird, complicated and often unpredictable place.  We, as humans, have always invented tools that allow us to reach further, and acquire more insights and deeper understanding of both the inner and outer universe. Artificial Intelligence is one such tool, with the promise of automating the understanding, exploration and exploitation of data in the universe. Current cutting-edge A.I technologies can solve very specific tasks very well, due to the manual invention of very specific tools and people with vast amounts of experience that can build and train such systems.

What if we could create a tool that could automate the discovery of machine learning components? What if we could build systems that can learn 'how' to learn. This is what my research is currently about, a field called meta-learning in deep neural networks. Meta-learning can be broadly defined as a machine learning paradigm, where models are trained to become more proficient at learning with more experience, thus learning *how* to learn.

Projects
PhD Project: Meta Learning in Deep Neural Networks
Sept. 2017 to Current
MScR Thesis: "Data Augmentation Generative Adversarial Networks". Grade: First Class
May 2017 to Oct. 2017

Undertaken research into low-data training for neural networks and few-shot learning. In order to enhance the performance of such systems, I designed a novel Generative Adversarial Network training scheme which involved using an image conditional GAN to meta-learn to generate images that come from the same cardinality as the input image, yet are different enough to be considered a different sample. By leveraging the input noise one could use the DAGAN to generate multiple plausible variations of the input image, thus augmenting the data using augmentations that are learned from the data. Undertaking this work required a strong understanding of deep neural network classifiers and few shot learners and the problems that may be causing them to fail in low data regimes. Furthermore, it required a deep understanding of GANs and deep generative models as well as the ability to build very complex graphs in tensorflow and fine tune both the hyperparameters and the efficiency (using a Multi-GPU system) under the constraint of a few computational resources.

MSc Thesis: "A novel object recognition and classification surveillance system". Grade: First Class
Apr. 2015 to Sept. 2015

A deep learning driven system with 3 pipelines was implemented which could identify moving objects using advanced background subtraction based algorithms and then classify said objects with accuracy exceeding 90% over several categories (e.g. Cat, Dog, Car, Human). Then another stage in the system would make a decision based on the users preferences (e.g. if used for home security the activation classes would be humans and vehicles). The system was efficient and robust enough to be implemented for an Android device and allows the device to send SMS messages and emails containing pictures of potential issues. This required a good understanding of deep neural network classifiers and transfer learning. Furthermore, it required fluency in Java, Android SDK, Caffe and Unix. Additionally it required the understanding of embedding device's constraints and optimization of performance on Android devices.

Final year Dissertation: “Fault Tolerant , Self Monitoring Sensors”. Grade: First Class
Dec. 2013 to Mar. 2014

Got 86% in my final year dissertation research project by researching the methods / implementing simulations / designing / building apparatus / proving technique experimentally and finally designing a professional grade sensing system capable of converting any sensor into a self-monitoring sensor with the abilities to validate it's own sensor elements / pinpoint faulty element / compensate for fault using machine learning and finally predicting statistically faults before they occur so that the sensor may be replaced before it fails. This project required a good understanding of sensor electronics and electromagnetic theory as well as fluency in C++ and embedded system performance optimization. Furthermore, it required design, experimentation and research on complex electronic systems. Finally, it required good project management skills as not only were the original targets achieved but multiple extra objectives were achieved enough to actually produce a professional grade PCB printed circuit that had the system implemented on it, ready to be used on any resistive sensors.

Skills
Programming Languages: Python, Java, C/C++, R, Matlab, Lua, Assembly
Data Mining/Machine Learning Skills: Feature Extraction, Preprocessing, Data Cleaning, Clustering:K-Means, Hierarchical clustering, Fuzzy C-Means, Subtractive clustering and evolutionary clustering, Classification: Random Trees/Neural Networks, Evolutionary and Genetic Algorithms, Regression Models
Deep Learning: Frameworks: Pytorch, Tensorflow, Keras, Chainer and Torch7, Experience: Implementation and Research with many architecture types such as RNNs, CNNs, GANs, VAEs, Skip Connection and Wide-Networks, as well as combinations. These have been applied in a variety of settings including, supervised, unsupervised and reinforcement learning, as well as N-Shot learning.
Statistics Skills: Statistical Models, Statistical Estimation/Hypothesis testing, Regression Models, Statistical Inference
General Engineering Skills: Control and Systems Engineering, Engineering Mathematics
Data Visulisation Skills: R and ggplot2,plot3D, Python and matplotlib, bokeh, plot.ly, Excel
Software Engineering Skills: Distributed Systems Development: Java RMI, JGroups, P2P, ReST, LoST, ChordNodes, Android Development, Java Software Development , Networks Programming Knowledge and Experience, Python Development
Embedded Systems Engineering and Programming Skills: Experience and knowledge of programming low level platforms such as Arduino, Raspberry Pi, PIC microcontrollers, ARM based microcontrollers and Android
Electronics Engineering Skills: Digital Electronics Engineering, Advanced Electronics Theory Knowledge, Signal Processing, Hardware Design (Look at Employment Section), Integrated Circuit Engineering
Operating Systems Used For Development: Windows 7 , Windows 8, Windows 10, Ubuntu Linux, Unix
Languages: English: Proficient/Fluent, Greek: Native language, Japanese: Intermediate
Teaching
Machine Learning Practical Course · Teaching Assistant and Demonstrator
Sept. 2017 to Current

I am the teaching assistant in the popular course of MLP at the University of Edinburgh. The course trains students in the craft of designing, training, evaluating and debugging deep neural networks. My responsibilities as a TA include providing the code and ipython notebooks for the weekly assignments, answering student questions and making sure the assignments are error-free. Furthermore, along with the course lecturers, I form the team that designs the coursework and implements it. As a demonstrator, my duties include attending weekly lab sessions, answering student questions, helping with code problems and helping students learn and grow through constructive feedback.

Lancaster University · Teaching Assistant
Apr. 2015 to May 2015

I was a teaching assistant for a first year computer science course called "Digital Innovation" in which the students were taught how to use Arduino microcontrollers and build electronic devices using the Shrimp-Kit. 

Employment
Amazon
Cambridge
Speech Scientist Intern (Research)
Feb. 2016 to Sept. 2016

Working in Evi-Technologies, Amazon as a Speech Scientist intern. Worked on improving and extending the capabilities of Amazon Echo using solutions drawn from data science, machine learning, Deep Learning, signal processing and cloud computing

Lancaster University
Lancaster
Research Associate
Sept. 2015 to Feb. 2016

I was a research associate in the Deep Online Cognition project in which a new component based language "Dana" is used to create modular software that can self-adapt to changing states. The current system is a webserver that can automatically change it's structure to maximize it's performance. I am the machine learning engineer of the team and I have implemented Deep-Q Reinforcement learning to allow the system to optimize itself to an ever changing world.

Infolab21-Graduate Academy
Lancaster University
Software Developer
Oct. 2014 to Dec. 2014

I worked in the Strategic Innovation Support Program in which I undertook a project to develop an android application. The app when completed was able to be enabled by a pre-determined phone shake, and then it would send SMS messages, record video, or audio, and transmit the GPS coordinates via email, to preselected contacts in case of danger. In addition it had the option to be activated automatically after a specified timeframe had the user not disabled the service. This was done in 1, 5 month, reaching and exceeding the supervisor’s initial objectives. The customer was delighted and support was provided throughout the next 3 months to allow the company to manage the app and its statistics.

Infolab21-Computing and Communications Department
Lancaster
Embedded Systems Research Intern
July 2014 to Sept. 2014

I was handpicked by one of my professors to design / build and program new hardware for Blackpool Illuminations. The project involved researching current technologies and designing hardware device capable of driving LEDS using PWM and pumps using a special technique we researched that allows for frequency control for high voltage devices. The hardware device was based on raspberry PI but offered extended capabilities by including an on board PIC Micro for more refined hardware control. The RPi is used for networking and image processing so that the device may be programmed with wifi from an online cloud-like programmer which will allow hard to reach places(top of the building LEDs) to be programmed without any hassle. Additional support is supplied for future development of mobile device remote controls. 

Lancaster University
Lancaster
Software Developer Intern
July 2013 to Aug. 2013

During my studies I was selected to be a software developer intern through the Lancaster University Internship program in which I had to design, implement, test, and finalize a system. The system had to be able of letting mobile devices communicate with a server in order to create a multiple choice test interaction between a server and a large amount of users and also support a chat engine between users and server. The end product had met and exceeded initial targets set by the supervisor.

Awards
Lancaster University - Sponsored by IBM · The IBM Prize for Best Data Science Dissertation 2014-2015
Nov. 2015

My MSc thesis was selected as the best dissertation of 2014-2015 in the Data Science class

Lancaster UniversityMsc Data Science Scholarship
Oct. 2014
Lancaster University Computing and Communications Department · Second Place in CS Hackathon 2014 competition
June 2014

Made a robot used for teaching computer science to kids

More info at http://scc-intranet.lancs.ac.uk/OutreachHackathon/Projects/Robuino