Software engineer specialized in machine learning (especially deep reinforcement learning and planning).
Also have significant experience in embedded systems, high performance computing, hardware/software interfacing, graphics, computer vision, and electronics design.
High proficiency in modern C++.
January 2016 - Present
Engineering for machine learning research
Interaction Networks for Learning about Objects, Relations and Physics
Implemented and ran experiments for simulating physics
AlphaGo Project
Designed and ran experiments in search
Worked on scaling the search algorithm to thousands of machines with hundreds of cores each
Solved scalability issues with lock-free data structures, atomic access, and partitioning to minimise critical sections
AlphaZero Project
Responsible for the chess version of AlphaZero
Devised many experiments and designed many tools to measure and improve performance on chess
July 2013 - August 2014
Embedded C++ development with a talented team that puts a lot of emphasis on doing things right (low technical debt)
Developed firmware for HD IP surveillance cameras with ARM Cortex-A9 CPU on a specialized SoC
Wrote, maintained, and debugged highly parallel code with complex synchronization requirements and a Linux kernel driver for controlling lenses with electronic focus
January 2012 - July 2012
Post-silicon bringup of Kepler generation graphics processor units (GPU)
Binning and characterization of GPUs (performance spread at different voltages and temperatures)
Performed high frequency signal integrity, power sequencing, and PLL tests
Analyzed and "hacked" PCB designs to test power rail sequencing tolerances
May 2011 - September 2011
Designed and implemented a self-adjusting vehicle head restraint that senses the occupant's head position and adjust the head restraint to maintain optimal distance in real time to minimize whiplash in case of collision
Completed the entire electrical system from system design, component spec-ing, schematics/PCB design, assembly, firmware programming (thousands of lines of code including a custom multi-tasking system), to testing, on a very tight schedule
Designed multiple 2 layer PCBs with analog electromagnetic sensing circuitry, ARM Cortex-M3 (STM32) MCU, brushless motors commutation and control, and USB interfacing
Delivered a reliable system that successfully met all requirements and provided thorough formal documentation
May 2010 - December 2010
Implemented a major feature in a cross-platform C++ game, "Dead Rising 2: Case West", that involved scene analysis, heuristics, front-end, audio, rendering, and animation support
Collaborated with game designers closely to deliver the feature exactly as envisioned, on a very tight schedule, with constantly evolving requirements
Developed C# tools to improve QA, artists, and programmers efficiency
April 2015 - September 2015
Used multiple deep neural networks with temporal-difference reinforcement learning to play chess
Implemented neural networks and stochastic gradient descent (AdaDelta) in C++11 using the Eigen BLAS library
Engineered a smooth low level feature representation that resulted in highly efficient learning with good generalization
Devised a novel way to combine the power of minimax searches in stochastic situations with the power of neural networks in pattern recognition
The resulting program plays at the level of FIDE International Master after 72 hours of training - by far the highest strength ever achieved using machine learning from low level features
Results were widely reported in both mainstream and tech media, including the MIT Technology Review
Thesis: http://arxiv.org/abs/1509.01549
December 2014 - May 2015
Used deep learning techniques to segment 3D brain MRI images for Alzheimer's diagnosis
Implemented 3 convolutional architectures in Theano (Python meta-programming framework) with different computational power vs accuracy tradeoffs, and performed experiments on GPUs
Wrote a report summarizing the development history of neural networks, including recent discoveries such as ReLU activation, DropOut, model compression ("Dark Knowledge"), and convolutional architectures
Report: http://arxiv.org/abs/1505.02000
Imperial College London
2015
University of British Columbia
2013
2013
2011
2010
Making things - woodworking, electronics design, art installations
Backpacking, camping, social psychology and mental health, musical theatre, judo, fish-keeping, chess, SCUBA diving
Certified private pilot (airplane) in the US and Canada
Please visit http://matthewlai.ca/resume for the latest version of my resume.