Basketball Tactical Analysis Dashboard

An interactive dashboard that allows coaches to perform what-if analyses on various tactical game situations. The ML model was trained on real-world basketball game data to predict winning probabilities and generate counterfactual explanations based on team tactical statistics.

Backdoor Attack against BIRD in Deep RL

Proposed a novel technique to break down the defence of BIRD against backdoor RL agents. Compared its effectiveness against the vanilla perturbation-based attack TrojDRL.

Minimax with Alpha-Beta Pruning for Connect 4

Python implementation of a Connect 4 AI agent using alpha-beta pruning.

[GitHub]

Deep Q-Learning in Cooperative Multi-Agent Reinforcement Learning

A personal project in which I implemented the predator prey environment and independent DQNs to solve it. The predator prey environment is a sparse reward problem in which multiple agents have to capture a randomly moving prey by surrounding it in a toroidal gridworld.

[GitHub] (contains learning curves and trained models)

Solving Chomp with Policy Iteration

In the game of Chomp, it can be proven that the first player has a winning strategy without finding out such a strategy. In fact, the strategy is not trivial at all. This motivated the idea of searching for a winning strategy using RL. I defined an environment that simulates the game, then applied policy iteration to extract an optimal strategy for the first player via self-play.

[Report] [GitHub]

Low-Resource NMT System for Chinese-to-Cantonese Translation

A summer research internship in which I studied NMT architectures, collected parallel text resources, and trained a Transformer for translating text from the written language (Chinese) to the spoken language (Cantonese) in Hong Kong.

Parallel text resources in Chinese and Cantonese are scarce. In addition to collecting data from existing studies, I explored the possibility to mine pairs of semantically similar sentences from parallel articles on Chinese and Cantonese Wikipedia and showed that including these sentence pairs in training improves translation performance.

[Paper] [Best Presentation Award]

Visualizing Linear and Logistic Regression

Interactive visualization of linear regression and logistic regression (motivated by tutorials from YouTube channel The Coding Train).

Linear Regression

[App] [GitHub]

Logistic Regression

[App] [GitHub]

Real-Time Reversi Web App

A web app for playing Reversi built with Socket.IO. Players can create rooms/join rooms and play with others in real time over the internet. They can also chat with others and create accounts to view their game statistics.

[App] [Frontend Code] [Server Code] [Auth Server Code]

Xiang Qi Simulator

Xiang Qi (the Chinese chess) is a popular board game in Asia. This is a simple web simulator for Xiang Qi.

[App] [GitHub]