Deep Learning On Babbage's Analytical Engine
Deep Learning On Babbage's Analytical Engine
Written by Mike James   
Sunday, 24 April 2016

Speculating on what might have happened if Babbage had built his Analytical Engine is fun, but did you ever think that a Victorian computer could implement a neural network and learn to read handwritten digits? Well it can and it's not a joke. 

Charles Babbage's Analytical Engine was the first computer, or rather would have been if it had been completed a little over 200 years ago. A completely mechanical stored program computer might not seem impressive compared to a silicon implemented electronic machine, but a computer is a computer and in principle they can all do any computation.

I Programmer has previously pondered the question of how computer programming and artificial intelligence might have developed had Babbage persevered with his design to the point where it was realized in cogs and gears, see What if Babbage..? Now this theme has been extended to deep learning.

So how can you implement a deep neural network on a machine that doesn't exist?

The answer is that there is an Analytic engine simulator that runs the instruction set of the original machine. However, a neural network is a big computation and the engine has only 20kbytes of memory and a small instruction set. This didn't stop Adam P. Goucher as you can discover in the following video:

 

To make it possible a convolutional neural network was used - they have fewer weights and hence are actually simpler than a general network.

 

analyticalnet

 

 

Bash and Python scripts were used to generate the analytical engine code - each line of code corresponding to a punched card of the sort used in a Jacquard loom. As pointed out in Goucher's blog post, the 412,663 lines of code needed would correspond to a stack of cards as tall as the Burj Khalifa in Dubai. This is not going to be an easy program to run on the real analytical engine. 

So did it work?

After training on 20,000 handwritten digit images the results of testing on 10,000 new images it was achieving a 96.31% accuracy.

So Babbage could have made AI possible in Victorian times?

Not really.

The time it would have taken to process the 412,663 cards is possibly several centuries. 

The point is that we could have optimized it and possibly... 

Perhaps not. 

It is a wonderful achievement to demonstrate that the most 21st century of algorithms would have been at home on a 19th century computer.

Perhaps the simulator needs to be better known. Analytical Engine Hackathon anyone?

 

More Information 
Deep Learning with the Analytical Engine

Analytical Engine emulator

Related Articles

What if Babbage..?

The Computer - What's The Big Idea? 

Plans to build Babbage's Analytical Engine 

The Greatest Machine Never Built (Video)

Plan 28 Makes Progress

Celebrate Charles Babbage's Birthday With LEGO 

Charles Babbage

Charles Babbage Born This Day In 1791

Ada Lovelace, the first programmer 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

 

Banner


Bjarne Stroustrup Awarded IET Faraday Medal
26/09/2017

Bjarne Stroustrup, the inventor of C++, is the 2017 winner of the Faraday Medal is the most prestigious award of the UK-based Institution of Engineering and Technology.



Gradle 4.2 Released With Faster Build Times
05/10/2017

The emphasis in the recently released Gradle 4.2 is improved support for building native applications, which has reduced build times for native performance by as much as half. Another highlight i [ ... ]


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Sunday, 24 April 2016 )
 
 

   
Banner
Banner
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.