But text is already symmetrical along the z axis, so it works.
Say your hands were 2d, so the backs looked the same as the palms. Now hold your hands so that you're looking at the palms and the fingers are pointing up. Rotate your left hand 180° along the y axis, and it would look like your right.
In high school I would make these and post them on DeviantArt. Was scrolling the Reddit front page and saw my work tattooed on a man's arm. Shocked, to say the least.
The approach here is unnecessarily constrained because the author is seeking glyphs in advance for all two-letter pairs, "one size fits all", so it's unsurprising that the results are rather ugly and hard to read. If the font were allowed to depend on the desired words, that would add flexibility which might allow automatic production of much prettier solutions such as the artistic "earth air fire water" example (or jwineinger's Princess Bride example)
The introductory "earth air fire water" example even shows the issue with using 1-to-1 pairs, as the two-letter group `th` becomes a single `w` in the ambigram.
At a minimum you could include all 2-character combos? Or even just a common subset, maybe the top 100 or those appearing in 1%+ of the OED. And MNIST itself is kind of limiting since no one was trying to write numbers "artistically".
The text is very faint in many places, so I applied some thresholding in GIMP to make it crisper: https://i.imgur.com/cpC3PK9.png
There's probably a way to adapt the training process to create black and white images directly, e.g. by evaluating the classifiers on the thresholded images, but passing the gradients through to the underlying continuously-valued images.
The author here used the MNIST set of handwritten numbers, but that seems an unnecessary constraint. An infinite (practically) training set is available in the form of existing fonts, which can be used to generate a training set. A set of distortions can be added in automatically to give the net a little more information to work with, and then this same methodology can be applied to generate the single glyph ambigrams.
bigram<->character ambigrams are also feasible, but the search space gets pretty big.
> This process lets us “dream” of images representing whichever characters we want.
Aside, I'm really psyched at the idea that the word "dream" has a chance to become an established term of art here. Do androids dream of electric sheep? Well, it depends on the model you've trained them with, obviously.
At the risk of overexposure, there were also some strange claims made in 2009 whose source seems to have vanished but which I recall being based on a different machine ambigram generator, resulting in Cerulean responding with this 7×7 half-turn rotational ambigram grid (where transposing the matrix flips the images, so that there's 28 distinct images presented in 49 cells): https://ceruleanst.livejournal.com/177992.html?nojs=1
"The Ambigram deck itself seems impossible at first, and in fact, it would have been impossible just a few years ago. No human being could have designed it alone, even if they possessed several lifetimes to work on the problem."
which is exactly what Cerulean's page refutes - it's a hand-designed 7x7 grid where each word transforms into each of the other words.
The ambigram in Angels and Demons really annoyed me—there it was, and it was very pretty, but the book claimed that "nobody had ever been able to create such a thing". Yet clearly Dan Brown (or an illustrator he hired) could. It took me out of the book some.
Any good recommendations for a good, discrete gradient descent tutorial, text or Youtube, assuming only calculus?
It's one of those things I learned the basics of several years ago and have now forgotten (which frustrates me, but is understandable since I don't use machine learning at work).
The book is out of print, but you can find used copies. It has a Foreword by Douglas Hofstadter and a Backword by Jef Raskin.
I bought an autographed copy at a computer show in San Francisco on March 21, 1982. The way Scott autographed the books was by inventing and drawing your own personalized inversion on the spot! Mine reads with my first name right side up and my last name if you turn it upside down.
One clever thing I just noticed: my first name has "ae" in it and my last name has "ea", so that made a natural way to link the inverted names together.
Needless to say, this is one of my most treasured books. Thanks Scott!