Notes from ‘Neural Networks for NLP’

These are my notes from the tutorial “Neural Networks for Natural Language Processing”, given by Yoav Goldberg at the German Research Center for AI (DFKI) at Saarland University on March 16, 2016. Often, NNs tutorials use examples from the field of image processing, so it was really nice to hear a tutorial focused on linguistic data and analysis. Here’s an overview of the most important things I took away from the talk; check out the notes below and the PDF version of the tutorial for more details.

Disclaimer: These notes are unedited and only represent my understanding of the material - or possibly my misunderstanding of it! For more (and more accurate) info, read Dr. Goldberg’s writing instead of mine!


Part 1: Feed-Forward NNs

Ways to think of NNs

Non-linearities

Output transformations

Loss functions

NLP features for word vectors

Feature embeddings

Pre-training embeddings

Neural language models

Training

Software

Part 2: The cool stuff (RNNs and LSTMs)

We’ll approach these as sort of black-boxes, only concerning ourselves with how to use them (i.e. what is the API?), not how they work under the hood

Recurrent Neural Networks (RNNs)

LSTMs and Concurrent Gates

Defining loss in RNNs

RNN Language Models

Fancy RNNs

Encoder-decoder (seq2seq) models