Last week a research scientist in Colorado created a viral sensation when she first tried to teach a neural network how to name paint colors. Janelle Shane had shared the awful initial results on her blog — noting, for example, names such as “Stanky Bean” and “Bank Butt.” She’d originally concluded that machine learning algorithms generate “really really bad ideas for paint names.”
But it turns out there was more to the story. She ran the experiment again with a better set of data — and surprisingly, got much better results.
Originally she’d used 7,750 paint colors from Sherwin-Williams as her training set.
But early on she’d suspected there could’ve been better results if she’d used different parameters. “A neural network is good at learning recurring patterns,” Shane had told Digital Trends, “but since a word was rarely used twice in the dataset, the neural network didn’t have a good chance of being able to determine that a geranium, for example, is a flower that’s often red or pink.”
She found other ways to tweak the algorithm. In an update this week Shane noted that there’s a variable that controls the “creativity” of the AI’s responses — “whether the neural network always picks the most likely next character as it’s generating text, or whether it will go with something farther down the list.”
So on Tuesday she began running new experiments — and there was a startling amount of improvement. “It turns out that when I turn it down ever so slightly, the algorithm does a lot better.”
The results must’ve been magical to watch, as the names now did in fact match colors from Sherwin-Williams’ dataset, and the AI’s suggestions grouped related colors together so “it shifts gradually from greens to browns to blues to yellows, etc. and does eventually cover the rainbow, not just beige.”
“Apparently it was trying to give me better results, but I kept screwing it up.”
There’s something eerie about the AI’s new and almost-appropriate names:
Not all of them stuck. The AI routine also suggested “Queen Slime.”
But there were even better names to come — after a few more experiments. She wanted the names to match the actual colors, and judging from her first experiment, there was still room for improvement. “Sane green” might seem like an okay color name — but not when it’s assigned to a shade of blue.
So she also tried using a different set of codes for indicating each color’s shade. Specifically the HSV code, which reflected each shade’s hue, saturation and value, and the LAB code, which measures lightness, the amount of red vs green, and the amount of blue vs yellow.
The results? “It turns out that the color representation doesn’t make a very big difference in how good the results are.” There was still a color named “Pester Pink” — and it was still blue. “And the color names are pretty bad, no matter how the colors themselves are represented.”
At one point it had suggested the almost-appropriate name “Rose Violet.” But it also suggested “Flumfy Gray.”
But there was still one more experiment to try. What if she’d trained the neural network with an entirely different dataset?
So Shane ran the same experiment again using paint names from two other paint companies — Behr and Benjamin Moore — training the neural network on a dataset shared on GitHub by one of her readers. For good measure, she also tossed in the results of an online survey seeking names for 5 million color shades that was conducted by the comic strip XKCD. Only the algorithm didn’t change — she was still using the open-source neural network framework char-rnn (configured with 512 neurons and 2 layers, dropout 0.8, 50 epochs).
And in a shocking twist, Shane reports that the newest results were actually good! “Pretty much every name was a plausible match to its color (even if it wasn’t a plausible color you’d find in the paint store).” And at least some of the names were almost poetic:
Luck in the Spice
It even suggested naming one shade “Blue Aqua” — a perfectly acceptable (albeit slightly utilitarian) name. “The answer seems to be, as it often is for neural networks: more data.”
Although you probably still wouldn’t want to paint your bedroom with a shade named “Otter Rose”…
This isn’t the only experiment that Shane’s run with a neural network. She’s also used it to invent new cocktails and write machine-learning-based fortunes for fortune cookies. At one point she had it generating names for new heavy metal bands and superheroes (My favorite name was “Supperman”). She even let it take a crack at writing pickup lines and knock-knock jokes.
But her paint experiment struck a nerve — perhaps because humans found the AI’s initial failures to be oddly reassuring.
“When the robots take over your job, remember this: you can try naming paints for a living,” Engadget had quipped. And even though the AI may generate an occasionally-acceptable paint name, “Human designers have an edge over the neural network,” Shane told NBC News, “in that they can recognize bad ideas when they see it.”
As if to prove the point, she concluded her latest essay with a “Hall of Fame” — her favorite color choices from each of the experiments. It turns out that a neural network can come up with names for paint colors; they’re just not always going to be good ones.
No matter how sophisticated the algorithm became, there was still a shade of pink that the AI named “Dry Custard” — and a shade of bright blue that the AI named “Dad.”