Do androids dream of cooking? That’s the question Tom Brewe asked on GitHub after he successfully trained a neural network to invent its own cookbook recipes.
Here are the ingredients for a dish called HAWAILIGELED PIE – sounds good, right?
4 Carrots; finely chopped, drained — margarine chopped 1 c Sugar, diced (optional) 1 cn Ice Cream (cleaned) Spread of fish slices 1 ea Green onions; chopped 2 oz Margarine, coarsely chopped 2 tb Sugar 1/2 c Olive oil 2 sm Eggs
The directions read “Cut into balls. The lettuce in a 10-inch baking sheet and serve with aluminum foil and dice.”
The neural network generated other recipes for dishes like BARBARA PULP0ICE, BUFTHA DINGS and CHOCOLATE RANCH BARBECUE.
Like the example above, the recipe directions are often just as absurd as the ingredients – one instructs you to beat butter until it’s smooth and then drain on both sides of the refrigerator.
How exactly does the network generate these bizarre ideas? Mostly by trial and error.
Artificial neural networks are computational models that learn by defining associations between things — images, words, letters — similar to how the human brain does. A recurrent neural network, the kind of network that was used to generate the cookbook recipes, analyzes the data it’s given (cookbook recipes, in this case) and attempts to mimic it by generating text.
It then looks at what it’s already said and uses probability to guess what to say next. The network learns through trial and error, improving with each iteration, like a toddler learning to speak.
“It’s constantly making guesses, checking its guesses, refining its own internal neuron connections based on whether it’s guessing right or now,” said Janelle Shane, a research scientist who runs the blog lewisandquarks.
Shane thought the neural network-generated recipes were hilarious, like the one that called for a half-cup of shredded bourbon. She wanted to see what other kinds of recipes a neural network could conjure.
— Justin Warren (@jpwarren) March 29, 2017