It might seem like fruit flies would have nothing in common with computers, but new research from the Salk Institute reveals that the two identify novel information in similar ways. The work, which appeared in Proceedings of the National Academy of Sciences (PNAS) on December 3, 2018, not only sheds light on an important neurobiological problem–how organisms detect new odors–but could also improve algorithms for novelty detection in computer science.
“When a fly smells an odor, the fly needs to quickly figure out if it has smelled the odor before, to determine if the odor is new and something it should pay attention to,” says Saket Navlakha, an assistant professor in Salk’s Integrative Biology Laboratory. “In computer science, this is an important task called novelty detection. Understanding how novelty detection strategies compare in both domains could give us valuable insights into both brain algorithms and computing.” The researchers suggest that their new framework could be useful in detecting duplicates or anomalies in large, streaming data sets, such as patient databases or news stories.
In 2017, Navlakha discovered how fly brains identify similar odors. He found that applying the fly algorithm to computer “similarity searches” (such as ones that suggest products to buy that are similar to your past purchases) improved the search results.
The new PNAS study is based on another paper [Hattori et al.] that came out in 2017 in the journal Cell, describing how flies detect entirely new odors. When Navlakha read the study, he was struck by how the flies seemed to be using a tactic similar to a computational tool for novelty detection called a Bloom filter.
When a search engine such as Google crawls the Web, it needs to know whether a website it comes across has previously been indexed, so that it doesn’t waste time indexing the same site again. The problem is there are trillions of websites on the Web, and storing all of them in memory is computationally expensive. In the 1970s, Howard Bloom at MIT devised a data structure that can store a large database of items compactly. Instead of storing each item in the database in its entirety, a Bloom filter stores a small “fingerprint” of each item using only a few bits of space per item. By checking whether the same fingerprint appears twice in the database, a system can quickly determine whether the item is a duplicate or something novel.
Fruit flies are well known to change their behavior in response to novel odors. A region in the fly brain, called the mushroom body, contains a collection of neurons that processes olfactory information. When a new odor is experienced, these neurons broadcast a “novelty alert” signal so the fly knows this odor is new and worth investigating. If the odor, however, does not have a strong impact, the next time the odor is experienced, the strength of the alert signal is reduced and the fly doesn’t waste time investigating the odor. This is an important computation because the fly wants to pay attention to something only if it’s worth it. The fly’s mushroom-body novelty signal is generated using a fingerprint for odors akin to the Bloom filter’s “data fingerprint.”
“A fundamental challenge in machine learning is finding representations of data that are suitable for a wide range of tasks,” says Sanjoy Dasgupta, a professor of computer science and engineering at UC San Diego and the new paper’s first author. “The fly’s olfactory system shows us one simple and ingenious way of doing this.”
By analyzing–from a computer science perspective–the neural circuit, identified in the Cell paper, that generates this novelty signal, Navlakha and Dasgupta found that the fruit fly introduced a couple of new twists to the traditional Bloom filter, which their team elaborated and defined mathematically.
The first twist involves not just determining whether you’ve smelled the exact same odor before, but rather if you’ve smelled the odor, or something pretty similar to it. This is important in the brain because chances are that you’ll never smell the exact same odor twice. The second twist involves determining how long ago you’ve smelled the odor. If it’s been a long time, then the odor’s novelty should be higher than if you’ve smelled the odor rather recently.
Based on the fruit fly’s Bloom filter variant, the team created a new algorithmic framework to predict fruit flies’ novelty responses. They tested their framework on research data collected as flies were presented pairs of odors in succession. The team’s novelty predictions turned out to closely match the actual novelty response of the mushroom body neurons, which validated their framework’s accuracy. Navlakha’s team then tested the framework on several machine learning data sets and found that the fly’s Bloom filter improved the accuracy of novelty detection compared to other types of novelty detection filters.
Navlakha adds, “What makes this work especially exciting to us is that it represents one of the first data structures discovered in the brain, along with a simple algorithm for how the brain may actually perform novelty detection.”