Editor's note: This article is by Pavankumar Murali, an IBM Research staff member in Business Solutions and Mathematical Sciences.
Pulse is IBM’s Cloud Computing conference. Public clouds. Private cloud. Clouds as a service. Even a new developers’ cloud called BlueMix. At this year’s conference, I was there to demonstrate something that runs on the cloud – our Cognitive Cooking technology.
I’m part of an IBM Research team exploring whether a computer can be creative. And we chose the culinary arts in our effort to design a system that generates surprising yet flavorful recipes not found in any
cookbook. So, there I was, a computer scientist standing in front of the IBM Food Truck, showing conference goers how a cognitive system can generate unique
recipes – all the while, they picked up machine-generated, Institute of Culinary Education (ICE) chef-prepared dishes like Austrian chocolate burritos (as
voted on Twitter by the public).
This cognitive cloud-based system can reason about flavor the same way we use our palate. It combines databases of recipes, ingredients, flavor compounds, food-pairing theories, as well as psychological data about human perception of taste to come up with a novel, yet pleasant, recipe.
The system starts the recipe genesis process by combing through tens of thousands of existing recipes to learn about ingredient pairing, ingredient-cuisine pairing, and dish composition. It then designs recipes by cross-referencing data on the chemistry of the ingredients, and the psychology of people’s likes and dislikes (hedonic perception theory) to model how our palate might respond to different combinations of flavors. This results in quintillions of possible recipes, which are narrowed down to around 5,000 options by employing sampling techniques.
At Pulse, the ICE chefs then chose what dish to prepare from the samples, including this Creole shrimp-lamb dumpling (find other recipes, here).
The capabilities of such a cognitive computing system will be truly realized when it can scale and meet performance guarantees. For this purpose, we are currently developing novel optimization algorithms that can generate recipes that, while adhering to knowledge of food chemistry, and human perception, are guaranteed to deliver one or more of our evaluation metrics, such as surprise, pleasantness and flavor pairing. Due to the nonlinear and non-convex nature of the search space (the quintillion ways in which ingredients can be combined), and the constraints on the algorithm's run-time, developing such search algorithms can be quite complex.
The cognitive cooking system runs on the bare metal servers of IBM’s SoftLayer cloud. Bare metal machines in the cloud allow us to get every ounce of performance possible, and also eliminate sharing system resources typically found in other cloud arrangements.
Surmounting this “creative” challenge also helps us then examine how the technology could make a bigger societal impact. For example, the system could be adjusted to take into account food allergies, dietary restrictions, or other nutritional needs. This could mean school cafeteria lunches that students like, and meet diet nutritional requirements.
Beyond food, what we learn from this research will also lay
the groundwork for how the system could apply to the design and discovery of things in other domains. “Taste” could refer to how we experience retail or a
good. What if computational creativity helped develop new clothing fashion or scent of cologne? These are the kinds of ideas where we’re applying this
In the meantime, we’re still working on perfecting creative
recipes. You can try some of what we cook up with ICE Chef Michael Laiskonis at the South by Southwest Interactive Conference, March 7-11. You will also meet my colleagues Florian Pinel, who not only wrote many of this system’s algorithms, but is a trained chef; and Rob High, an IBM Fellow and the Chief Technology Officer for IBM’s Watson Group. So, vote for a dish you want to try by tweeting it, here).
About the IBM Food Truck
Labels: cloud computing, cognitive computing, cognitive cooking, IBM Watson, virtual chef