# Grading Complex Interactive Coding Programs with Reinforcement Learning

Summary (TL;DR): understanding student code is hard, playing a game is easy. In our recent NeurIPS 2021 paper, we reformulate homework grading as game play and introduce the Play to Grade Challenge.

Massive Online Coding Education has reached striking success over the past decade. Enabled by the fast internet...

# Using Visual Question Answering to Generate Issue-Sensitive Captions

[Paper]

In the past two years, controlling generative models (such as GANs and VAEs) have been widely studied in the Computer Vision literature. The idea is that once these large capacity neural network models learn the data manifold of millions of images, it has internalized some knowledge about the...

# Reading Group -- Semantically Equivalent Adversarial Rules for Debugging NLP Models

(Originally written for the Stanford NLP Blog)

Robustness is a central concern in engineering. Our suspension bridges need to stand against strong wind and so it won’t collapse like the Tacoma Narrows Bridge [video]. Our nuclear reactors need to be highly fault tolerant so that Fukushima Daiichi incident won’t...

# A Generative Model of Discourse

### Short Preface

There has been a lot interests on sentence representation learning, similar to the explosion of word embedding.

Based on my limited education in linguistics, I do not believe linguistis have an agreed upon and exhaustive set of “properties” that a sentence representation1...

# A Tutorial on Torchtext

About 2-3 months ago, I encountered this library: Torchtext. I nonchalantly scanned through the README file and realize I have no idea how to use it or what kind of problem is it solving. I moved on.

Last week, there was a paper deadline, and I was tasked to...

# A Geometric Analysis of Lagrangian, Dual Problem, and KKT Conditions

## Preface

This is an article providing another perspective on understanding Lagrangian and dual problem. These two topics are essential to convex and non-convex optimization. Since it is a blog post, the proper background to understand this article is kept rather low. If you need to brush up on convex...

# A Collection of Numpy Tricks

Numpy Array overrides many operations, so deciphering them could be uneasy. Here are a collection of what I would consider tricky/handy moments from Numpy.

## Trick 1: Collection1 == Collection2

The == in Numpy, when applied to two collections mean element-wise comparison, and the returned result is an...