Personal Statement

Highly motivated individual with extensive experience in Artificial Intelligence through projects, internships, and education

Passionate about making a positive contribution to society through solving problems with Artificial Intelligence

Enjoy doing work that challenges me

Education

National University of Singapore (August 2017 - April 2021)

Bachelor of Computer Engineering

Honours (Highest Distinction)

Area of specialization: Artificial Intelligence and Machine Learning

Qualities

  • Critical Thinker
  • Independent Learner
  • Hard Working
  • Positive Attitude
  • Responsible

Interests & Extra Activities

  • Boxing
  • Muay Thai
  • Mentoring
  • Dog Shelter Volunteer
  • Toastmasters
  • Snowboarding
  • Caving

Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com

Objective

I had to do research on hyperparameter optimization algorithms

Accomplishments

  • Read research papers on the state-of-the-art hyperparameter optimization algorithms such as Bayesian optimization, HyperBand, and gradient-based optimization
  • Presented the algorithms to researchers in the lab
  • Discussed and designed ways to improve the algorithms with my professor
  • Ran experiments to explore the how the data noise, target complexity, model complexity, and number of training examples affects the bias and variance.

Objective

I had to train unsupervised machine learning models to detect modifications in DNA using the raw signal outputs from the genome sequencing device.

Accomplishments

  • Implemented GAN and variants such as FGAN, WGAN, DC-GAN
  • Implemented Variational AutoEncoders
  • Implemented Triplet loss
  • Implemented nanoDOC
  • Implemented Explainable Deep One-Class Classification

Objective

I had to create a Multi-Speaker Text-To-Speech model, which aims to replicate a person's voice using 3 seconds of their audio recording.

Accomplishments

  • Trained a speaker embedding model which takes in the 3 seconds of audio recording and outputs a speaker embedding vector that captures the person’s voice
  • Trained a Text-To-Speech model conditioned on the speaker embedding vector

Objective

I had to train an object detection model to detect humans, vehicles and cyclists.

Accomplishments

  • Downloaded a general pre-trained object detection model
  • Used transfer learning to train the model for the task
  • Ran hyper-parameter tuning on Amazon Web Services
  • Coded out custom loss functions and classification evaluation metrics

Objective

I had to guide the year 1 students through the computer engineering lab sessions.

Accomplishments

  • Prepare teaching materials. This includes Raspberry PI, Arduino, Code Complexity, Git, Soldering, GPIO Programming, Interrupts, Pulse Width Modulation, Timers, Analog to Digital Conversion, LIDAR and SLAM.
  • Teach concepts to students
  • Guide students through lab sessions
  • Help to debug
  • Mark assignments

Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com

Objective

We had to train a model learns to generate medical X-ray reports written by radiologists from the radiograph images.

Accomplishments

  • Image Augmentation
  • Text pre-processing
  • Train CNN to predict key tag words
  • Trained an encoder-decoder LSTM model with Bahdanau attention to generate the report from the key tag words
  • Used teacher forcing for more efficient training of the model
  • Coded out custom evaluation metrics

Results

We obtained a BERT cosine similarity score of 0.79

Objective

I had to build a model to classify whether a sentence is an important fact, an unimportant fact, or a non-factual statement.

Accomplishments

  • Text pre-processing
  • Feature engineering such as count matrices, tf-idf weighting, and sentence to vector (BERT)
  • Ran hyperparameter optimization using hyperopt

Results

I obtained 2nd in ranking out of the cohort of 100 students

Objective

For this project, I had to build an AI relationship manager for DBS that helps to recommend stocks to users.

Accomplishments

  • Coded out a content-filtering algorithm to group similar stocks together
  • Coded out a collaborative filtering algorithm to group similar users together
  • Trained a model to predict the stock price
  • Combined the results to generate recommended stocks to users

Results

My team got into the semi-finalist for this hackathon

Objective

For this project, I had to train a model to detect the translation initiation sites in mRNA, which indicates the start of the translation of mRNA into proteins.

Accomplishments

  • Extracted raw data from .fasta file
  • Extracted n-gram features
  • Used chi-square test for feature selection
  • Trained support vector machines
  • Built decision trees
  • Trained feed forward neural networks

Results

  • 10-fold cross validation sensitivity: 0.719
  • 10-fold cross validation precision: 0.767
  • 10-fold cross validation accuracy: 0.877

Objective

For this project, we had to produce a wearable device for gaming that can be used to predict the dance moves that is performed by the user.

Accomplishments

  • Performed data collection (Me and my team actually had to wear the device, which was fitted with an accelerometer and a gyroscope, and dance with it for hours!)
  • Performed feature extraction. I used the sliding window technique to split the continuous data into fixed time steps. From there, I extracted 462 features such as the AR coefficients, Entropy, Band Energy, etc.
  • Performed feature selection. I removed the correlated features and ran feature extraction using the Random Forest Classifier. This is because having too many features will lead to the curse of dimensionality
  • Performed training and testing of the feed forward neural network. (The FFNN was chosen so that it could be easily implemented onto the FPGA, as compared to using CNNs or RNNs)
  • Helped with the integration of the model onto the FPGA device for real-time predictions
  • Helped with the integration all the different components (Hardware sensors, BLE Chip, FPGA, Backend and Frontend Server) for the final product

Results

  • 10-fold cross validation accuracy of 93.5% with 11 classes to predict
  • Got an A+ for this project

Objective

For this project, I had to train a model to diagnosis what Leukemia subtype a patient has based on the measurements of their gene expression using the Affymetrix GeneChip.

Accomplishments

  • Performed data cleaning. This was required as not all of the gene expression values were measured accurately.
  • Used chi-square test for feature selection. This was crucial as there were 265 genes (features) with only 216 training examples. The curse of dimensionality would result in very poor generalization performance.
  • Trained a support vector machine for classification

Results

  • Using just 216 training examples and having 10 subtype classes to predict, I obtained an accuracy of 63%.

Objective

For this project, I had to train a model for head-pose estimation and to classify the presence of human facial expressions

Accomplishments

  • Trained a neural network for head-pose estimation
  • Implemented a decision tree
  • Trained a support vector machine with the linear, polynomial, and RBF kernel for binary classification of facial expression

Results

  • Obtain a MSE of 26.8 for head-pose estimation
  • Obtain a F-measure of 91.67% for the classification of facial expression

Objective

For this project, I wanted to build a model to predict the prices of stocks, to use it for my personal investing.

Accomplishments

  • Performed data collection. This was difficult as it is very hard to find clean market data. I had to try working with data from multiple sources before I managed to find one that I could work with
  • Performed data cleaning. This is very important as the data collected can be very inconsistent and messy. Different companies have different accounting standards, different currencies, incorrect values.
  • Performed feature extraction. A lot of different features can be extracted from the raw data. I extracted the features based on what I had read on investing.
  • Performed model training. I trained feed forward neural networks and recurrent neural networks.
  • Coded out model testing, where I'm able to use the model in simulations and see what returns I'm able to obtain.
Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com

Objective

For this project, we had to create an reinforcement AI agent that learns to solve the OpenAI Gym Grid Driving problem, where the agent has to drive across the road to the finish point without crashing into other cars.

Accomplishments

  • Implemented deep Q-Learning with function approximation using a convolutional neural network
  • Implemented experience replay
  • Implemented reward shaping
  • Implemented a curriculum for incremental learning
  • Tried Monte Carlo Tree Search
  • Tried Value Iteration

Results

  • Obtained a reward of 9.4/10.

Objective

For this project, we had to create an reinforcement AI agent that learns to play Pac-Man.

Accomplishments

  • Implemented deep Q-Learning with function approximation using a feed forward neural network from extracted features

Results

  • The AI was able to learn to successfully win the game all the time.

Objective

For this project, we had to create an AI agent that can solve Sudoku puzzles

Accomplishments

  • Modelled the problem as a constraint satisfaction problem and implemented the backtracking search algorithm to solve it
  • Implemented heuristics such as the Most Contrained Variable and the Least Constrained Value
  • Implemented inference algorithms such as Forward Check and K-Consistency
  • Ran experiments to measure the runtime of the different algorithms

Results

  • The most efficient algorithm takes 0.6s to solve the hard puzzles.

Objective

For this project, we had to create an AI agent that can solve the N-Puzzle

Accomplishments

  • Implemented Breadth First Search
  • Implemented Depth First Search
  • Implemented A*Star Search
  • Implemented different heuristics to improve efficiency
  • Ran experiments to measure the space usage and runtime of the different algorithms

Results

  • The algorithm is able to find the most efficient way to solve the puzzle within 5ms for the 5-Puzzle.
Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com

Objective

For this project, I had to stitch multiple images together to form a panorama image.

Accomplishments

  • Used OpenCV to obtain point correspondences between the two images
  • Computed the homography between the two images using the point correspondences
  • Used the RANSAC algorithm to deal with outliers
  • Stitched the images together by transforming the image using the homography

Results

  • Successfully stitched images together

Objective

For the project, I had to estimate the intrinsic and extrinsic parameters of a camera using 3 images of a plane.

Accomplishments

  • Implemented Zhenyou Zhang's camera calibration

Results

  • Successfully obtained the camera parameters

Objective

For the project, I had to estimate the essential and fundamental matrix relating photos from two cameras.

Accomplishments

  • Implemented the eight-point algorithm
  • Implemented the decomposition of the essential matrix to obtain the rotation and translation between the two views

Results

  • Successfully obtained the essential matrix, fundamental matrix, rotation, adn translation between the two views

Objective

For the project, I had to estimate the rotation and translation of a camera using 2d-to-3d correspondences.

Accomplishments

  • Implemented the linear n-point camera pose determination algorithm

Results

  • Successfully obtained the rotation and translation of the camera and reprojected the 3d points back into image space to compare it with the ground truth to ensure correctness
Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com

Objective

For this project, we created a desktop application that helps to digitize the stock taking process carried out by lab technicians.

Accomplishments

  • Created multiple features for the app, including account management and login, editing items in inventory, item search, creating loan list, and tagging items.
  • Created test cases to ensure that the app works as expected
  • Applied Object-Oriented Programming
  • Maintained good programming practices and refactored code to ensure code is function, readable, and reusable
  • Created a user and developer guide

Results

  • We were able to produce a working stock taking application with over 8,000 lines of code, which could help reduce the tedious and manual paperwork that had to be done by the lab technicians

Objective

For this project, we wanted users to be able to conveniently compare their purchases with prices online by uploading photos of their receipt and be shown cheaper alternatives online.

Accomplishments

  • Used image to text API to obtain the information on the receipt
  • Used python requests to access online databases to obtain cheaper alternatives
  • Linked the program to a discord channel

Results

  • Users could join the channel and upload their receipts and be shown cheaper alternatives
Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com

Objective

For this project, we had to build a robot that could be used for search and rescue in a disaster situation

Accomplishments

  • Programmed the Arduino for movement and speed control of the wheels using Pulse Width Modulation
  • Mounted ultrasonic sensors for obstacle avoidance
  • Set up communication protocols between Raspberry Pi and the Arduino to send instructions. This involves the designing of the network packet.
  • Set up the LIDAR with Raspberry Pi to obtain information of the surroundings
  • Used the SLAM algorithm to build a map of the surroundings as the robot navigates
  • Controlled the robot remotely using SSH into the Raspberry Pi

Results

  • We were able to successfully control the robot remotely to navigate through an obstacle course

Objective

For this project, we had to build a RTOS which can automatically control the speed of the car based on the distance from the car in front of it, integrated with optional controls from the driver.

Accomplishments

  • Created a simple simulation for the RTOS
  • Broke down the objective into 3 simpler tasks: UART communication, compute speed, and read value
  • Set priorities for the tasks
  • Created message queues for communication between the tasks
  • Used a priority-driven pre-emptive scheduling policy to schedule the tasks
  • Created interrupts to read controls from the driver

Results

  • We were able to successfully create an RTOS that can manage and schedule the different tasks in order to control the speed of the car to maintain a safe distance

Objective

For this project, we wanted to build a prototype of a secret door which would open when books are pulled out of the bookshelf in a certain order.

Accomplishments

  • Build a prototype bookshelf using cardboard
  • Placed infrared sensors under each book and connected it to the Arduino
  • Connected the lock of a dummy door to the Arduino
  • Programmed the Arduino to detect the order which the books where being pulled out

Results

  • We managed to build the prototype, where the door opened when the books were pulled out in a particular order.

Objective

For this project, we wanted to re-design the SAF medical trolley, which contained all of the medical equipment used by doctors during emergencies.

Accomplishments

  • Built a prototype of the medical trolley
  • Placed sensors under each compartment to monitor if the equipment has been used or tampered with
  • Created an application to monitor the expiry dates of the drugs and the usage of the equipments
  • Added fingerprint scanners for security
  • Built a user-interface using the Arduino and the tft-touch screen

Results

  • We managed to build the prototype, which could help to reduce the amount of time the medics had to spend on their routine equipment checks and ensure that the drugs are not expired.

Objective

For this project, we wanted to build a bed wetting sensor to detect when the elderly patients have wet their beds.

Accomplishments

  • Built a custom moisture sensor
  • Connected the sensor to the Amazon Web Services cloud using the ESP8266 nodeMCU Chip
  • 3D printed a casing for the circuit
  • Programmed the server to an alert when a patient has wet their bed

Results

  • Elderly patients are able to get immediate response when they wet their bed
  • Reduce the workload of the nurses as they do not have to manually check if the beds are wet
  • Obtained finalist in the AWS Hackathon
Copyright © bootstrapdash.com 2020
Icons made by Freepik from Flaticon
Contact me at kinwhyechew@gmail.com