Monthly Archives: November 2014

Predicting the Future: Language Modelling

Jeppe presented his third year dissertation to the weekly gathering of Computer Science students at Queens’.

After a hard day of lectures, practicals and supervisions, the first slide in Jeppe’s presentation was quite a relief.

Screen Shot 2014-11-25 at 21.48.00

It’s not a trick question. Being able to predict the next element in a sequence can be quite intuitive…to people.

Screen Shot 2014-11-25 at 16.49.40

To model a language, more history than just the previous word needs to be considered. The average length of a sentence is 20 words. Jeppe explained that Recurrent Neural Networks (RNNs) are appropriate because they allow the storage of more elements compared to previous methods such as Bayesian N-gram models (limited to tracking only 5 previous states). In a language modelling context the RNN should, given a partial sentence, be able to estimate the most likely next word in the sentence.

Jeppe introduced Hessian Free (HF) Optimisation which has recently been used to train RNNs…slowly. He talked about how this problem could be minimised for larger data sets using GPUs, offering from 5 to 100 times the speed. Jeppe may extend this project using a cluster of GPUs, instead of just one, so that HF optimisations can be run in parallel. This will greatly increase the speed.

Possibly the most obvious applications of this powerful machine learning algorithm are predictive text on smartphones and speech recognition. Both of which seem to have a lot of room for improvement.

Jeppe, we wish you the best of __?__.

Drawing in 3D

Last Wednesday Holly gave a presentation on her part II project.

The projects goal is to ease the creation and development of 3D models. After providing us with multiple statistics about long it can take to produce a high quality model (16 hours +), Holly went on to demonstrate how her project works, what outcomes can be achieved with it, and how it tackles the problem of the long durations needed to craft detailed models.

The idea behind the project, is to allow an artist to draw a shape in 2D, and then have this 2D shape crafted into an inflated 3D model. The results were honestly quite spectacular, with an example of a simple 2D fish being converted into a respectable 3D model of a fish (shown below).


Drawing in 3D

To achieve the results seen above, Holly uses various techniques published in papers that show how some continuous calculations can be transformed into discrete calculations, and therefore more easily computed.

Drawing in 3D

With the ability to edit the curvature of the model produced (shown above), as well as having fixed “heights” in the model to give more definition, the project should result in an easy, and very quick way of creating mock-up models for use in a wide range of industries.



How to give a presentation (and give feedback to others)

Over the upcoming weeks we’ll be having presentations from the third year students. The format is that they will speak for 30 minutes and then they’ll sit down and we’ll give them feedback on how they presented for 30 minutes.

To give us some basis for discussion I gave a talk this week on “What makes a good talk good?”.

The majority of the talk was based around this TED talk:

We paused the video at appropriate points and talked about the good things the speaker is doing to engage the audience and get the message across. If you are watching the video watch out for him repeatedly refreshing the main points and using the Rule of Three. There are so many things going on in this video that we spent 40 minutes talking about the first 10 minutes of the talk.

After watching the video I talked about some other techniques not visible in the talk (use of slides for example) and how we might structure our thinking when trying to give feedback to others.

I’m looking forward to seeing the presentations from the third years in the following weeks.

Wednesday Meeting SpaceChem Challenge

Another week flew by in Cambridge and before we knew it we were back in the top floor of CC meeting again with our fellow Queens’ Computer Scientists. Our Wednesday sessions are a chance to reconvene and participate in whatever Andy has in store for us! After a couple of weeks of presentations, both inspiring and daunting for myself as a first year, we knew we would be doing something a little different this time around…


We settled down in the pairs, each pair with a laptop, soon to discover the purpose behind bringing such devices. Andy gave us a URL and off we started!

SpaceChem, a familiar name to some prior enthusiasts, is a puzzle game which uses a visual programming language to allow the user to tackle various chemistry related challenges.

In its simplest terms, the aim of the game is to produce a certain number of each required product molecule by controlling the movements of the input molecules. As you can see in the GIF above, the reactor can look rather complicated when in use, which is why you need to be able to think ahead when designing your solution. One of the cooler features of the game is seeing how your solutions compare to those of actual other players.

Why might we be playing computer games in term time when we supposedly have a gazillion other things to be getting on with? Well there’s a reason behind the gaming, Andy reassures us. There are a few applications of the skills that the software teaches to our own courses.

Besides the obvious programming and solution building connections, there are some concepts that it helps to bring out in our CompSci brains. In particular, an understanding of concurrency is required to complete later levels. As you may be able to see in the GIF above, these harder levels require multiple molecules to be bonded together. This means you have to ensure that the molecules moving along the different paths arrive together at the same time in order to bond. You can use sync points to make certain molecules wait for the other ones to catch up, to fine-tune process so the required ones join together at the right place and at the right time. This is in a similar vein to parallel processing which is an important part of Computer Science. SpaceChem gave us a chance to visualise this idea and put it into practice.


And of course, to make the session extra special we were given prizes for showing Andy something ‘impressive’.  Our pair created a solution which used every space on the grid to get earn some well-appreciated caramel bites.

IMG_20141029_190358 IMG_20141029_190424

Grateful thanks to Zach@SpaceChem for allowing us to run the session.