Saturday, December 12, 2015

New Machine Learning Algorithm, The Crowning of Charlemagne, and Jovian Distances

Today I Learned:
1) ...about a machine learning algorithm with an interesting model from a joint project out of New York's Center for Data Science, the University of Toronto, and MIT. It's designed to solve the same sort of problem that most machine learning algorithms face -- to take some examples of a thing and some examples of not-the-thing, then tell you whether other stuff is more of that same thing or something else (in this case, the authors considered the problem of recognizing written characters).

The novelty of this algorithm is that it breaks the thing it's looking at (in this case, a character) into sub-parts, figures out how those parts are put together, and produces a *generative* model of the thing. In the case of characters, it breaks the character into things like lines and circles (things you can easily make with the stroke of a pen), figures out where those things start and end with respect to one another, and produces a sub-algorithm that describes how to produce a random example of that character (with some imperfections in the strokes and their positions). The algorithm can then look at a new character and figure out how likely it is that generative model would produce that.

For example, you might show the algorithm a few examples of handwritten lower-case 'i'. It might break its conception of 'i' into 'a longish vertical line' and 'a very short line' with the relationship 'the very short line goes <some amount> above the longish vertical line'. It makes a generative model out of this information -- call it makeI -- such that calling makeI returns a bitmap of a possible handwritten instance of a lower-case 'i'. If you show it a handwritten 'w', it essentially tries to make a bunch of 'i's using makeI, sees that none of them look like the 'w' you showed it, and declares with very high probability that it's not an 'i'. If you show it a handwritten 'j', it might see that some of the 'i's made by makeI look kind of like it, but not completely, so it might declare with only moderately high probability that the 'j' is not an 'i'.

(For the curious, this is a hierarchical Bayesian model over a nastily-high dimensional model. The algorithm does a quick, dirty estimate of the posterior to find likely maximum a posteriori peaks, then optimizes using numeric methods around that range to find maximum-likelihood generative models for a new piece of data. If the maximum a posteriori peak corresponds to a generative model close enough to the model the algorithm has for a known thing, it delares the new example to be of that type. There's another nifty thing it does that I don't understand as well where it can tune what "close enough" is using past examples.)

One startling thing about this algorithm is that it performs quite well given only one training example -- on some random real-world characters, after seeing exactly one example of a new character, it had a misclassification rate around 3%, which is slightly better than humans given the same task (and waaaay better than hierarchical deep learning (and about twice as good as the best modern machine learning network the authors applied)). Another cool thing -- the algorithm's generative models produced "written characters" that were, statistically speaking, indistinguishable from human-written characters, according to human judges.

Sadly, the article describing this algorithm is behind a paywall unless you have a Science subscription, but here it is anyway: http://tinyurl.com/pt9nked

2) It turns out the story of the birth of the Western Roman Empire is pretty interesting and pretty controversial. It happened right around 800 AD, in the court of Charlemagne, the King of the Franks at the time. For some time, the Roman empire had been ruled for some time from Constantinople, far in the east. It was a Christian empire that nomially ruled most of Europe, though in practice this it collected taxes and kept lots of bureaucratic notes and didn't do much else.

This changed on Christmas of 800, when then-pope Leo III crowned Charlemagne Emperor of Rome, pretty much declaring the Western Roman Empire overnight.

Leo III wasn't very popular, when elected. Shortly after his... ascension?... Leo was almost assassinated (technically, almost had his eyes and tongue ripped out -- this was a popular way of stripping public officials of power without damning ones-self to eternal damnation for murder), and he fled west and sought refuge with Charlemagne. He ingratiated himself with the King, and together the two decided that for Charlemagne to have the authority of Emperor of Rome would further Charlemagne's interests and help legitimize and protect Leo III. A bunch of administrative stuff happened more or less behind the scenes, of which we have some documentation today, but the big moment happened on Christmas, when, as part of a regular ritual ceremony, Charlemagne knelt before Leo III. To everyone's surprise (possibly even Charlemagne's!), Leo put a crown on Charlemagne's head and declared him Emperor. The written histories from the period are very dramatic on this point.

This was obviously incredibly important because it marked the beginning of the Western Roman Empire. It was also critically important as a symbol, because it implied that the authority of the Emperor came from God, and thus was granted by the papacy. This crowning moment more or less defined the relationship between the religious and secular leadership of the Western Roman Empire. There's some speculation that Leo did this more or less behind Charlemagne's back. If so, it may be the most important PR stunt in European history, all thanks to one man.

3) Jupiter is about as far from Saturn as it is from Earth (at the closest approaches of each, respectively).

No comments:

Post a Comment