AnalyticDB向量检索+AI 实战: 声纹识别

简介: 分析型数据库(AnalyticDB)是阿里云上的一种高并发低延时的PB级实时数据仓库,可以毫秒级针对万亿级数据进行即时的多维分析透视和业务探索,向量检索和非结构化数据分析是AnalyticDB的进阶功能。本文通过声纹识别的例子展示如何快速搭建一套端对端的非结构数据搜索服务。

一、背景

近年来,随着人工智能对传统行业的赋能改造,越来越多的基于人工智能的业务解决方案被提出来,声纹识别在保险行业中的身份认证便是一个很好的例子. 声纹识别是根据说话人发音的生理和行为特征,自动识别说话人身份的一种生物识别技术,对应在电话销售场景下,它主要解决以下安全问题:一方面,有不法分子窃取电话销售人员账号信息,非法获取客户个人信息资料并进行贩卖、泄露,严重侵犯了公民个人的信息隐私权,另一方面,部分行业从业人员利用一些规则漏洞,通过套保、骗保等非法手段实施金融诈骗. 针对这些安全问题,可以通过实时声纹认证加以解决,以电话销售人员为监管核心,利用每个人独一无二的声纹进行严密的个人身份认证,保证电话销售人员对接客户时是本人注册登录,规范电销人员行为,从源头上有效规避信息泄露、漏洞利用等风险。

二、声纹识别原理

640.png

上图是端对端的深度学习训练和推理过程。对比传统声纹识别模型,我们的模型在实际使用中优势明显,在用户远程身份验证场景,通过注册用户说一段话,即可轻松快速的确认注册用户身份,识别准确率达到95%以上,秒级响应,实时声纹核身。下面简要介绍我们模型的特点。

2.0 度量学习

实验发现,在声纹识别中采用softmax进行网络训练 ,用余弦相似度的测试性能往往不如传统声纹识别模型,尤其是在鲁棒性上。分析发现[6]基于softmax的分类训练,为了得到更小的loss,优化器会增大一些easy samples的L2 length,减小hard examples 的L2 length,导致这些样本并没有充分学习,特征呈现放射状,以MNIST识别任务为例,基于softmax学到的特征分布如图3(a)所示. 同类别特征分布并不聚拢,在L2 长度上拉长,呈放射状,且每个类别的间距并不大,在verification的任务中,会导致相邻的两个类别得分很高。

为了达到类内聚拢,类间分散的效果,我们研究了在图像领域中应用较为成功的几种softmax变种,包括AM-softmax[4],arcsoftmax[5]等,从图3(b)可以看到,基于margin的softmax,相比纯softmax,类间的分散程度更大,且类内特征更聚拢,对声纹1:1比对和1:N搜索的任务友好。
2.png

2.1 噪音鲁棒性

在特征提取时,对于简单加性噪音,我们提出了基于功率谱减法,实现噪音抑制;对于其他复杂噪音,我们提出了基于降噪自动编码器的噪音补偿模型,将带噪语音特征映射到干净语音特征,实现噪音消除。

在模型训练时,我们采用数据增强的训练机制,将噪音数据通过随机高斯的形式加入到声纹模型的训练中,使得训练后的模型对噪音数据具有更好的鲁棒性。

2.2 短音频鲁棒性

为了提高短音频鲁棒性,我们提出了基于短时帧级别的模型训练机制,使模型能够在极短的语音时长(约0.5秒)下即可完成声纹识别. 在此基础上,我们在模型训练中引入了更多高阶的音频统计信息和正则化方法,进一步提升了模型在短语音条件下(2~3秒)的识别精度。

三、如何使用AnalyticDB搭建声纹对比系统

3.0 创建插件

使用一下SQL来分别创建AnalyticDB的非结构化分析插件OpenAnalytic和向量检索插件fastann。
20201019144723.jpg

3.1 建表

我们可以建立一个表来保存所有说话人的声音和声音的特征,后续我们可以从这个表中搜索说话人。
3.jpg

3.2 创建索引

我们可以为特征向量列创建向量检索索引。
3.2.jpg

3.3 创建声纹识别算法pipeline

通过以下sql,我们可以在数据库中创建声纹特征提取的算法模型。
3.3.jpg

3.4 获取说话人声纹特征

通过以下sql可以使用3.3创建的pipeline。这个UDF的输入是pipeline名称和目标文本。输出是一个说话人声音的特征向量。
`# 通过声音文件识别
SELECT open_analytic.pipeline_run_dist_random('speaker_feature_extractor',

                    <声音文件>);`

3.5 说话人声纹特征导入AnalyticDB

获取声音特征后, 我们可以使用一下sql来讲数据插入3.1创建的表中。
5.jpg

3.6 在数据库中搜索最相似的的人

通过以下sql,我们可以在声音特征库中搜索最相似的说话人。然后我们可以根据特征间距离是否满足预设的阈值来判断是否是同一个人。
6.jpg

3.7 比较两个声音是否为同一个人

我们还可以提取出两个人的声音特征然后直接计算二者的距离来判断这两个声音是否来自同一个说话人。SQL如下
7.jpg

四、AnalyticDB介绍

分析型数据库(AnalyticDB)是阿里云上的一种高并发低延时的PB级实时数据仓库,可以毫秒级针对万亿级数据进行即时的多维分析透视和业务探索。AnalyticDB for MySQL 全面兼容MySQL协议以及SQL:2003 语法标准, AnalyticDB forPostgreSQL 支持标准 SQL:2003,高度兼容 Oracle 语法生态。

向量检索和非结构化数据分析是AnalyticDB的进阶功能。目前两款产品都包含向量检索功能, 可以支持人脸, 人体, 车辆等的相似查询和推荐系统。AnalyticDB在真实应用场景中可以支持10亿级别的向量数据的查询, 毫秒级别的响应时间。AnalyticDB已经在多个城市的重大项目中大规模部署。

在一般的包含向量检索的的应用系统中, 通常开发者会使用向量检索引擎(例如Faiss)来存储向量数据, 然后使用关系型数据库存储结构化数据。在查询时也需要交替查询两个系统, 这种方案会有额外的开发工作并且性能也不是最优。AnalyticDB支持结构化数据和非结构化数据(向量)的检索,仅仅使用SQL接口就可以快速的搭建起以图搜图或者图片+结构化数据混合检索等功能。AnalyticDB的优化器在混合检索场景中会根据数据的分布和查询的条件选择最优的执行计划,在保证召回的同时,得到最优的性能。AnalyticDB向量版采用了多项创新性技术, 这些技术在我们的论文 AnalyticDB-V: A Hybrid Analytical Engine Towards Query Fusion for Structured and Unstructured Data 中有详细介绍介绍。目前论文已经被数据库三大顶会之一的VLDB接受, 具有技术领先性。

结构化信息+非结构化信息(图片)混合检索在实际应用中被广泛使用的。例如人脸门禁系统被部署在多个小区时, 我们使用一张表存储了所有小区的人脸特征, 在人脸检索时我们只需要检索当前小区的人脸特征。在这种情况下, 使用AnalyticDB我们只需要在SQL中增加where 小区名 ='xxx' 就可以轻易实现。AnalyticDB同时提供了先进的图像文本分析算法, 能够提取非结构化数据的特征和标签, 用户仅仅需要使用SQL就可以完成图像文本内容的分析。

五、参考文献

[1] Heigold G, Moreno I, Bengio S, et al. End-to-end text-dependent speaker verification[C]//2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016: 5115-5119.
[2]Li C, Ma X, Jiang B, et al. Deep speaker: an end-to-end neural speaker embedding system[J]. arXiv preprint arXiv:1705.02304, 2017.
[3] Snyder D, Garcia-Romero D, Sell G, et al. X-vectors: Robust den embeddings for speaker recognition[C]//2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018: 5329-5333.
[4] Wang F, Cheng J, Liu W, et al. Additive margin softmax for face verification[J]. IEEE Signal Processing Letters, 2018, 25(7): 926-930.
[5] Dang J, Guo J, Xue N, et al. Arc face: Additive angular margin loss for deep face recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 4690-4699.
[6] Ranjan R, Castillo C D, Chellappa R. L2-constrained softmax loss for discriminative face verification[J]. arXiv preprint arXiv:1703.09507, 2017.

六、结语

本文介绍了如何使用AnalyticDB来搭建声纹比对系统。AnalyticDB还支持其他多种多样人工智能算法如目标检测, 商品识别, 基因识别等等。想了解更多请用钉钉扫码加入AnalyticDB向量版交流群。

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
7月前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI上下文工程是优化大模型交互的系统化框架,通过管理指令、记忆、知识库等上下文要素,解决信息缺失、长度溢出与上下文失效等问题。依托AnalyticDB等技术,实现上下文的采集、存储、组装与调度,提升AI Agent的准确性与协同效率,助力企业构建高效、稳定的智能应用。
|
7月前
|
人工智能 定位技术 数据库
工具设计+动态检索:上下文工程如何让AI智能体像人类一样思考?
本文深入解析AI Agent时代的上下文工程,阐述其从提示工程的演进逻辑,剖析系统提示、工具设计与示例策划三大核心,并探讨长时程任务应对策略,揭示高效信息流管理对构建可靠Agent的关键作用。建议收藏细读。
727 0
|
8月前
|
人工智能 数据库 索引
超越幻觉:检索增强生成如何为AI大模型“装上”事实核查系统
超越幻觉:检索增强生成如何为AI大模型“装上”事实核查系统
500 107
|
8月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
994 1
|
8月前
|
存储 机器学习/深度学习 人工智能
​​解锁AI检索的7大Embedding技术:从稀疏到多向量,一文掌握!​
本文系统解析七种主流文本嵌入技术,包括 Sparse、Dense、Quantized、Binary、Matryoshka 和 Multi-Vector 方法,结合适用场景提供实用选型建议,助你高效构建文本检索系统。
1043 0
人工智能 关系型数据库 OLAP
1045 1
|
8月前
|
人工智能 JSON 算法
向量嵌入的天花板与AI检索的模式更迭
本文提出突破传统“单向量嵌入+ANN”检索范式,构建多结构协同的下一代AI检索框架。通过多通道嵌入、组合键兜底、知识图推理、程序化计划与生成-校验闭环,实现高可信、可解释、可验证的智能检索,应对复杂任务中的信息漏检与推理难题,推动RAG迈向结构化、可编程的认知系统。
321 12
|
8月前
|
存储 人工智能 运维
AI 网关代理 RAG 检索:Dify 轻松对接外部知识库的新实践
Higress AI 网关通过提供关键桥梁作用,支持 Dify 应用便捷对接业界成熟的 RAG 引擎。通过 AI 网关将 Dify 的高效编排能力与专业 RAG 引擎的检索效能结合,企业可在保留现有 Dify 应用资产的同时,有效规避其内置 RAG 的局限,显著提升知识驱动型 AI 应用的生产环境表现。
3368 130

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版