Showing posts with label ambiguity. Show all posts
Showing posts with label ambiguity. Show all posts

Wednesday, December 20, 2017

Consumer Congruence


Hikaru Cho
Here's a random olfactory fact for you:

Consumer satisfaction increased when the store had (low-arousal) lavender and relaxing music or (high-arousal) grapefruit and energizing music; by contrast, no effect was registered when there was a mismatch between music and smell.

Mattila, A. S., and Wirtz, J. 2001. Congruency of scent and music as a driver of in-store evaluations and behavior. Journal of Retailing 77(2):273–289.

Pleasant ambient stimuli are perceived more positively when their arousing qualities match rather than mismatch

We manipulated scent and music in a 3 (no music, pleasant low arousal and high arousal music) by 3 (no scent, pleasant low and high arousal scents) factorial design in a field setting. Our findings show that when ambient scent and music are congruent with each other in terms of their arousing qualities, consumers rate the environment significantly more positive, exhibit higher levels of approach and impulse buying behaviors, and experience enhanced satisfaction than when these environmental cues were at odds with each other.


Image source: Hikaru Cho

Friday, November 10, 2017

Ambiguity, Approximation and Probability

Logo (the programming language)

Probabilistic programming does in 50 lines of code what used to take thousands

I wanted to put some stuff up here about the state of computer programming, because the way we smell is akin to a special kind of computer program, and one which does not act like the kind we know.

I should start like this – I grew up on Logo, and then NES video games, therefore my experience with, and thinking upon, computer programming is ‘coded’ according to this top-down style. Someone writes the code, and the computer executes the code. There are no surprises (unless you have bugs to fix). You tell the turtle (that’s what they call the cursor in Logo) what to do and it does exactly that. Look at the picture above. That little triangle (the turtle) was told to go 100 spaces, rotate 90 degrees, then go 100 more spaces, etc, until a square is born.

King Koopa was told to jump every time you throw fireballs at him, or whatever he does. There is no fuzzy logic here. Everything is clear, concise, exact, predictable. (Again, that’s when the program runs as intended; surely this kind of programming is unpredictable when it goes wrong.)

Enter a new kind of programming. With the dual advent of big data and big processors to crunch it, we are seeing a different approach. The computing power is now so capable that it is asked to figure out its own program from the data given. This helps with a lot of the problems faced in computing today. With such variety in the data (this is ultimately what big data is about – not lots of quantity, but lots of different qualities) we can no longer write programs equipped to work with such variety. The program required for that ends up being as big as the dataset.

This is where we see the parallels to smells and olfaction. The amount of smells we could potentially be exposed to is infinite and multifarious. Vision has only a few categories. Things can look light or dark, a binary classification, or they can be categorized by their color on the spectrum, which is a discrete classification. They have a shape, a size, maybe a texture category. Odors, however, cannot be organized this way. There are too many and they are too different from eachother. Therefore, olfactory perception is distinct from our other senses. In order for us to create an artificial intelligence that can smell, we would have to come up with a different kind of programming.

Facial recognition provides a good visual analogy to the olfaction problem. What a face looks like isn’t really dependent on its color or its shape, but the combination of these features, the whole. And that makes a lot of initial parameters, in fact, infinite parameters. Face-rec uses these new types of programs, and they are almost the opposite, in every way, of what programming has been. I’ll let this guy describe them:

“When you think about probabilistic programs, you think very intuitively when you're modeling. You don't think mathematically. It's a very different style of modeling.” … “The code can be generic if the learning machinery is powerful enough to learn different strategies for different tasks.”
- Tejas Kulkarni, an MIT graduate student in brain and cognitive sciences, phys.org

In the same way that we are not born already knowing every smell we will ever encounter, these programs must ‘learn on the fly.’ This is an advance in computing, but also it foreshadows a very different world, where information is not distinct, discrete, exact, etc. It is instead more like that thing you smell but you don’t know what it is, but you swear you know yet you don’t know…you know what I’m talking about? Doesn’t sound like the kind of output your computer would produce.

POST SCRIPT

[lots of good explaining in this article, so I just copied most of it]

A Grand Unified Theory of Artificial Intelligence

Embracing uncertainty

In probabilistic AI, by contrast, a computer is fed lots of examples of something — like pictures of birds — and is left to infer, on its own, what those examples have in common. This approach works fairly well with concrete concepts like “bird,” but it has trouble with more abstract concepts — for example, flight, a capacity shared by birds, helicopters, kites and superheroes. You could show a probabilistic system lots of pictures of things in flight, but even if it figured out what they all had in common, it would be very likely to misidentify clouds, or the sun, or the antennas on top of buildings as instances of flight. And even flight is a concrete concept compared to, say, “grammar,” or “motherhood.”

As a research tool, Goodman has developed a computer programming language called Church — after the great American logician Alonzo Church — that, like the early AI languages, includes rules of inference. But those rules are probabilistic. Told that the cassowary is a bird, a program written in Church might conclude that cassowaries can probably fly. But if the program was then told that cassowaries can weigh almost 200 pounds, it might revise its initial probability estimate, concluding that, actually, cassowaries probably can’t fly.


“With probabilistic reasoning, you get all that structure for free,” Goodman says. A Church program that has never encountered a flightless bird might, initially, set the probability that any bird can fly at 99.99 percent. But as it learns more about cassowaries — and penguins, and caged and broken-winged robins — it revises its probabilities accordingly. Ultimately, the probabilities represent all the conceptual distinctions that early AI researchers would have had to code by hand. But the system learns those distinctions itself, over time — much the way humans learn new concepts and revise old ones.

Wednesday, July 12, 2017

Code Smell


There's the thing in computer programming called Code Smell, and it refers to the finding of a problem in the code, like a funny smell in the code that indicates where the bugs are coming from.

So it's like, Here I am, having written a book on the language of smell, read every book in the Library of Congress on the subject, hundreds and hundreds of scientific articles, and thousands of web documents, and would you look at that? Never heard of it.

It gets better because apparently “developing your code nose” is a worthy pursuit for any programmer.

They aren't bugs per se, but more like a weakness in the code that increases the risk of a bug. Duplicated code, for example, gives off a code smell.

Further, there is a distinction made between Code Smell and Language Smell. One is for the way the code works and the other is for that actual language used in the code. In this case it’s called language smell, not code smell.


Wednesday, May 17, 2017

Organic Chemistry Bites its Own Tongue


nanouflage and the Uroboros as Aromatic carbon ring

The passage into the world of odorant information, upon treading only a short distance, one is soon met with the gauntlet of lexico-mania that is Organic Chemistry. To this day, any attempt to organize smell is incomplete at best.

Of all the chemicals there are to know about, the only ones we can smell also happen to be the most complex. The sub-discipline of organic chemistry was not initiated until well-after the groundwork was down for chemistry proper. The study of organic molecules therein falls so far out of the range of inorganic chemistry and yet still far enough away from biology, it finds itself in need of its own category.

Chemistry, as science-sounding as it seems – is the logical progression of Alchemy, which is more like a hybrid of religion and science. In this way, the history and the vocabulary that make up organic chemistry are filled with mythologies and half-truths. The very advent of the double-carbon bond was revealed to chemist August Kekulé in a vision of a Uroboros. Nostradamus is credited with the first method for making Benzoic Acid, precursor to Kekulé‘s Benzene-ring, or Aromatic ring, and itself a concept which characterizes the entirety of organic molecules.

If it is clarification one seeks through the lens of chemistry, then perhaps one should reconsider. Aroma compounds are volatile, they change into other compounds under certain conditions, some as simple as oxidation. When isolated and stabilized these compounds can be identified by certain properties and hence can be given a name. But this is where the problems really begin. Of the infinite number of organic molecules, each one can have almost one dozen names.

Let us view one as an example: Sotolone, the smell of burnt sugar, maple syrup, curry or fenugreek, and a component of coffee aroma and roasted tobacco. It is officially known as 4,5-Dimethyl-3-hydroxy-2,5-dihydrofuran-2-one, but more informally called Caramel furanone, Sugar lactone, or Fenugreek lactone. It has a “formula name” of C6H8O3, which refers to the molecules that make it. There are even “names” that take the form of 3-D structures, required by the massive complexity of these molecules. One can only imagine the margin of error in some publicly-available repository of odorant-information.


Wednesday, February 22, 2017

Language Models



Yann LeCun in this talk for the Wired Business Conference 2016, title AI Arms Race, notes how the best natural language models are now deep learning based. At Limbic Signal we find this funny because our sense of smell works akin to the deep learning model, and yet the language of smell is an unwieldy concept. Alas, it is unwieldy because we measure wieldliness by classical means. We have entered the age of approximation, however.

Wednesday, December 7, 2016

Froot Flavored


How Can Froot Loops Be Real If the Flavors Aren’t Real?

It’s true, Froot Loops are all the same flavor.

Back in the early days of the Internet, when people were still learning not to use made-up punctuation on message boards, there was a place where you could go to get information about all those random thoughts you have while lying in bed at night. No, it wasn’t called Google, but a predecessor of infinite internet wisdom – Straight Dope.

Although it was re-discovered in a 2014 Today I Learned thread on Reddit, the furthest back we can go is to the Straight Dope message boards of 1999. Surely, however, people have been getting into fistfights over this for many years prior.

The eye-opening part is that most cereals that come in different colors are probably the same in flavor (Ahem, Fruity Pebbles, yes).

Kellogg’s isn’t trying to be manipulative outright; they don’t even call it fruit (it’s Froot). They’re just playing a game that was started around the time of tri-color vision in primates, and one that we all take part in, and one that we actually choose to play. (If not up until now, then after knowing this, you will be forever complicit in the game. The yellow ones will still get left behind.)

Perception is multimodal, that is to say, we do not “see” or “hear” in isolation. We don’t sense anything as “raw information”; instead we perceive things, and this means that the original sensory stimulus has to be processed in its corresponding cortical areas of the brain. For Smell, the raw stimulus gets laced up into your virtual memory body, via the limbic system, before the cortical areas get a chance at it. Regardless, most sensory experience is a mixture of all the senses.

This makes sense, because it makes things more accurate. The brain likes to check with all available information, and that means all sensory information, before verifying what something is. Vision is usually the best verifier for us, so much that it cognitively overrides other senses like smell and taste. There is a reason why almost everything we eat (in America at least) is artificially-colored. *

Sometimes cognitive override yields false results, and this is especially the case with olfaction. There are tons of studies that support this. But if you ate Froot Loops as a kid, you don’t need science, because chances are you thought the yellow was lemon, the orange orange, and so on.

The flavor of Froot Loops is indeed a mixture of the “flavors” that can be derived from various fruits, just that they’re all mixed together. And what does Kellogg’s call this omni-flavored fruit? “Froot”, of course. Froot Loops are not Fruit flavored, but Froot flavored. **


*In the UK, Froot Loops only comes in three colors (purple, orange, green) because they can’t legally use artificial coloring.

**I only repeat this because I saw it in the reddit thread: The main flavoring is bergamot, which is also the flavor in Earl Gray tea.

And one more, because I thought this was just the best comment of all: You don’t eat froot loops one at a time, so how should you even know?


Friday, September 2, 2016

Dirty Data


I had someone ask me the other day, after reading a bit from my book, what is
“dirty data?” I was taken by surprise, because I thought that anyone under 30 knew what that was, you know, “digital natives” and all. Guess I should throw some definitions around:

Dirty data is inaccurate, incomplete or erroneous data, especially in a computer system or database. In reference to databases, this is data that contain errors. Sometimes called noise, as in signal noise, and is cleaned by a data janitor.” –wiki

Dirty data is part and parcel of Big Data and the Information Age. It’s inevitable and it’s everywhere. My autocorrect, for example, has some mis-spelled words accidentally added, and that messes up my texts, unless of course, I clean my personal dictionary. My phonebook has two different people named Nicole, obviously with two different numbers, and unless I go and disambiguate, there is no way for me to know which is which.

As a database, the “language of smell” is a stellar example of what it means to be dirty. Ask somebody what “musky” smells like, or “musty.” These are two very different smells, but because their names sound similar, people often substitute one for the other. Give someone the smell of an orange and then a lemon, and ask them which is which, but without telling them in advance. They can also both be called “Citrus.” As a database, the corpus of words we use to describe smells is a powerfully rich example of dirty data in action.

Snippets from Hidden Scents:

If knowledge is supposed to tell us which is which, and what is what, then how do we use it to study a thing that is inherently ambiguous? Smell is such a thing. In it, we have an example of an information-processing system that makes its sole purpose to ascertain ambiguous information. Moreover, during the entire process from primitive sensation to cognitive verbalization, it is fuzzy, noisy, and dirty.

Wednesday, August 17, 2016

In The Age of Approximation



Please note that this article is one year old…and that in the meantime Microsoft was sued for the way they rolled out their new omniscience machine

Lots of talk about Windows 10; I like this article from Ars Technica about the necessity for (what may seem like) excessive data collection integrated into the platform. But therein, we see the changing face of computing as one leveraging approximation over precision (a la Olfaction).

Olfaction as a model for the future of software development? How about the present.

Siri needs to know the names of your contacts to be able to set up calls or send messages. Cortana needs to know when and where your appointments are to tell you when you need to leave the home or office to get to them.

But there's a deeper reason: the software powering these capabilities is fundamentally heuristic, using approximation and guesswork to generate its results. Traditionally this wasn't the case; a hardware keyboard with no autocompletion doesn't need any fancy heuristics, it just needs to directly map key presses to characters. But speech recognition, software keyboards of all kinds, and handwriting recognition don't have this precision. The software driving these things has to construct and evaluate a range of different possible interpretations and then pick a most likely option among those interpretations.

This is the way of olfaction. Within the impossibly complex chemosphere, the nose-brain must approximate in order to make sense. The ultimate need for flexibility is reflected in the design of the receptor patch that receives vaporous molecules - some receptors code for specific odor molecules, some for many, and some for nothing at all. Even at the outset, olfaction is a game of ambiguity.


Friday, July 29, 2016

So You Like Ambiguity



The duck-rabbit illusion is an oldie but goodie. This new square-cylinder illusion will make you second guess your visual cortex. It's a square, it's a circle, it's both, it's neither.


 gif:

Video: