这款威力强大的相似搜索算法竟然是由毫不起眼的果蝇启发的

计算
这款威力强大的相似搜索算法竟然是由毫不起眼的果蝇启发的
麻省理工科技评论 2017-11-30

2017-11-30

其实,生物界早已熟悉果蝇脑内的嗅觉神经回路。
算法
其实,生物界早已熟悉果蝇脑内的嗅觉神经回路。

据索尔克生物研究所(Salk Institute)研究人员近日发表在《科学》上的一篇论文表示,平时毫不起眼的果蝇大脑内分辨味道的神经回路,竟可解决现代计算机科学的核心难题之一:如何在短时间之内,对海量的数据进行分类。不得不让我们再一次感叹,自然是有多么的奇妙。在我们身边,以“数据分类”为核心技术的应用无处不在。从网店以你正在看的商品为你推荐相似的商品,到音乐 APP 以你的播放记录为你推荐歌曲,这些都是依靠相似搜索,即通过数据之间的相似度来对数据进行分类才能实现的。而研究人员却发现,果蝇大脑中与嗅觉有关的神经回路竟然也是一种相似搜索。

对于果蝇这种不起眼的昆虫来说,“烂苹果”的味道意味着食物,“化学剂”的味道很有可能就是毒药,但是一种从未闻过的味道到底是腐烂的陌生水果,还是新型的杀虫剂呢?为了在危机四伏的环境中生存下来,果蝇进化出来一种靠相似搜索对陌生气味进行迅速分类的能力(反应慢的都死了)。而对于计算机科学家来说,它们这种能力背后的算法简直太巧秒了!当计算机科学家们需要进行相似搜索时,他们会尽量减少数据的矢量或维度来减少计算量。比如在图片搜索中,算法只会对一张 1,000 像素点照片的 5% 至 10% 的像素进行搜索,然后再按照结果对这张照片进行分类。而在果蝇的大脑中,它们却背道而驰,对维度进行扩大:把 1,000 像素点扩展为 10,000 像素点。

从表面来看,这种行为并不聪明,因为更多的像素点意味着更大的计算量和计算时间,会极大减少相似搜索的速度和效率。然而,这也正是果蝇的巧妙之处。 果蝇的搜索算法一共有三步,首先,气味会被果蝇嗅觉器官里的 50 个嗅觉受体的神经元探测到。由于每个神经元放电的频率都不同,这意味着被闻到的气味的维度为 50。在第二步,果蝇并不会将这 50 个维度减少至 5 或者 10 个样本矢量,而是把它们扩展到 2000 个维度。但是这种扩展并不是将每个维度简单的乘以 40,而是依靠一种叫“稀疏,二进制,随机投影”的手段。这种手段就是果蝇的独家秘技:这 2,000 个维度会被投射进 2,000 个叫凯尼恩细胞(Kenyon Cells)的神经元中,每个凯尼恩细胞的放电率是从原先的 50 个维度中,6 个随机选择的神经元之和。通过这种随机选样方式,果蝇得到脑可以轻松地对一种气味进行深度分析。

索尔克生物研究所副教授、论文的作者 Saket Navlakha 以“找出 100 个人之间的家庭关系”为例来解释这个手段。他表示,计算机科学家会试图把这 100 个人挤在一个小房间里,即低纬度空间。而果蝇则会把这 100 个人散布在足球场上。很显然,在一个足球场上分析 100 个人远比在一个拥挤的房间里容易。当气味的数据分散至 2000 个凯尼恩细胞后,果蝇脑内的一个叫伽马氨基丁酸能(APL)的神经元会对其进行排序。除了放电率最高的 5%,所有其他的凯尼恩细胞都会被抑制。而剩下这 5% 的凯尼恩细胞中,比例最高的分类就会成为这个气味的分类。

其实,生物界早已熟悉果蝇脑内的嗅觉神经回路。此篇论文的新发现其实在于果蝇嗅觉的三步算法,并将其转换为计算机代码。为了证实“果蝇算法”的威力,Navlakha 与他的团队将其与传统的相似搜索算法进行了对比:这两种算法需要对 10,000 张图片进行分类,并将结果与由极为缓慢、但是精准度极高的线性搜索所得到的“标准答案”进行对比。结果显示,“果蝇算法”在图片分类和难度相似的文字分类任务中以 2 倍的准确度力压传统算法。对此,Navlakha 十分满意。但是他表示,还将继续分析哺乳类动物的神经回路,进一步提高其算法的性能。

随着机器学习的发展越来越快,计算机科学可从生物方面借鉴到的设计也越来越多了,让我们不得不赞叹大自然的奇妙之处。

壹伴上传_17-9-27 11-08-25.jpg

麻省理工科技评论

From Tech to Deeptech