In 2016, not long after I'd arrived in London, Graves et al. at DeepMind published a paper introducing the Differentiable Neural Computer, a recurrent network with external read-write memory. One of its demonstrations was a toy routing problem on the London Underground. A nice piece of work; I filed it away and moved on.
A decade later, having written a series on learned routing surveying the research that followed at Google Maps, I thought it was time to build something myself. I had already written Tubeulator, a library that code-generates Python interfaces from TfL's OpenAPI schemas, so the API access was sorted. The missing piece was what to do with it.
This series documents the construction of three neural network models of the TfL transit network in a new repo, tubeulator-models. Each model operates at a different level of granularity. All three are topology-based: they represent routes in terms of the static connectivity of the network rather than the timetable on any given day. The data pipeline starts from the TfL API, produces a GTFS feed, converts it into PyTorch Geometric graph objects via City2Graph, and hands those to three decoder architectures that differ only in what they predict.