说了那么多,到底什么是「神经搜索」?
从人脑神经网络到深度学习神经网络,来自 Jina AI 的 Jack 将带大家从 0 到 1 认识「搜索」及「神经搜索」。
什么是神经搜索?它与普通搜索有什么区别?它能解决哪些问题?又有哪些优势和劣势?
观看本期 Jina AI 小科普,在 Jack 的带领下,只需 6 分钟,你将对神经搜索 (Neural Search) 的概念、原理及与人类大脑的相似之处,有更全面的认识和理解~
视频完整内容,也可参考以下文字简介
什么是「搜索」
提到「搜索」很多人第一反应就是百度、Google 等搜索引擎,我们在搜索框中输入想要查询的内容,然后得到一系列与之相关的链接。
实际上,搜索远不止如此。比如使用听歌识曲功能时,其实是用录制的音频片段搜索匹配歌曲;刷 Tinder 的时候,算法也在搜索它认为你感兴趣的对象。
搜索一段音频的相似片段
除了这些以外,搜索能做的事情还有很多,比如在学术论文库里查找答案;又或者通过以图搜图,搜索一双心仪的鞋子……
我们能不能通过任意一种类型的数据,搜索其他类型的相似数据呢?有了神经搜索 (Neural Search),实现这些将不再是梦。
什么是「神经搜索」
「神经搜索」即 Neural Search,是由 Jina AI 首创的概念。
Neural Search 可以理解为 Deep Learning for Search 的简称,是指借助深度学习技术,使用非结构化数据搜索非结构化数据。
深度学习模型和向量索引是神经搜索的重要组成部分。
神经搜索系统包括两个关键要素
深度学习模型及向量索引
这两点也是神经搜索系统和传统搜索系统的区别
接下来,我们用一个更为直观的例子,向大家解释神经搜索的概念。
这是一组小猫跟小狗的图片,第一眼看到这些图片的时候,你会先注意到什么?
首先,大家可能跟我一样,会注意到它们是小狗和小猫;其次,我们会发现它们还是挺可爱的。这些特征虽然显而易见,但也非常重要。
拿到这些图片后,根据它们的属性进行区分
现在我们再看看接下来这几张图片。这几张图片看起来可能就没那么可爱了。
左滑查看「非典型」动物图片
这些「非典型」宠物图片,应该放在图结构的哪个位置呢?虽然它们都属于猫和狗,但我们认为应该增加一个维度,来描述它们的其他特征。
增加一个 Y 轴,表示宠物的可爱程度
接下来就可以把它们放在图中的恰当位置。
深度学习中的常见术语
现在我们来学习几个深度学习中常见的术语。
维度
表示图结构中数据存在的位置。上图中只有两个维度,它们可以是任意数字。
向量
嵌入图结构中的单个数据点,可以用一组坐标来表示。这个例子里只有两个维度(cat-dog dimension 及 cute-scary dimension),因此向量仅用两个数字表示即可。
在我们的图结构中,每只宠物都有自己的向量,数量共计为 10
索引
这些向量汇集到一起,统称为「索引」。
「索引」的定义
了解了这些术语后,再增加一些比较可爱的宠物图片。如果我们想从动物图像数据集里,找到一只类似的狗,该怎么实现?
首先,它的类别是狗,而且长得还挺可爱
所以它应该放在索引中右下角的位置
位于其他可爱狗子的附近
没错,我们刚刚找到了这只小狗的「最近邻」,也就是另外一只可爱的、毛茸茸的小狗(右下角)。
人类神经网络 vs 虚拟神经网络
上述例子这听起来很简单,因为我们的大脑每时每刻,都在自发地调用维度、向量和索引,通常情况下,我们甚至不会思考其中的原理。
人体大脑是一个由神经元和突触组成的网络,简而言之即神经网络。
与人体的神经网络类似,虚拟神经网络的运作方式也是如此。它会根据所给数据的维度,建立一个索引,并能根据最近邻找到类似数据,也就是用自己的神经元来搜索数据。
接下来这个例子,比上述简单的二维图结构更加准确。每次吃饭时,大脑都在接收关于食物风味的信号,它是甜的还是咸的?是脆的还是软的?
我们每次吃下的食物都基于咸淡、口感等维度,被嵌入神经网络中的索引;将 3D 物体模型输入虚拟神经网络后,它也会根据模型的外观、单点集中程度等建立索引。
神经网络的劣势
所有神经网络都有优势和劣势。
海豚和松鼠的大脑中都存在神经网络。但是,如果我们让海豚去收集坚果,或者让松鼠去抓鱼,它俩肯定谁都做不好。
同样,我们也无法用一个在视频上训练的神经网络来搜索文本,或者用一个法语的神经网络来搜索中文。
那么,Jina 在这其中的作用是什么?
Jina 是一个开源框架
支持开发者为任意类型的数据,建立神经搜索应用程序
下期节目中,我们将探讨 Jina 背后的一些关键概念,以及如何启动和运行 Jina。
我们下期节目再见!
下一代开源神经搜索引擎
在 GitHub 找到我们
更多精彩内容(点击图片阅读)