分类
ASRT 智能语音技术

语音声学特征提取:用于ASRT的语谱图特征的算法原理与实现

AI柠檬博主在之前的一篇文章里讲了常见的MFCC、FBank、LogFBank等语音特征提取算法。不过ASRT语音识别系统在声学特征的提取上,使用的既不是大家所熟知的MFCC算法,也不是FBank(或LogFBank)算法,而是一种语谱图特征。不过这种语谱图特征也是AI柠檬博主从MFCC和FBank算法修改而来的,原则是保留更多的原始信息以供神经网络计算,避免经过人工特征设计的滤波器产生大量的信息损失。

分类
智能语音技术

语音声学特征提取:MFCC和LogFBank算法的原理

几乎任何做自动语音识别的系统,第一步就是对语音信号,进行特征的提取。通过提取语音信号的相关特征,有利于识别相关的语音信息,并丢弃携带的其他不相关的所有信息,如背景噪声、情绪等。

       我们都知道,人类说话是通过体内的发声器产生的初始声音,被包括舌头和牙齿在内的其他物体形成的声道的形状进行滤波,从而产生出各种各样的语音的。传统的语音特征提取算法正是基于这一点,通过一些数字信号处理算法,能够更准确地包含相关的特征,从而有助于后续的语音识别过程。常见的语音特征提取算法有MFCC、FBank、LogFBank等。

分类
智能语音技术

还是不会VAD?三分钟看懂语音激活检测方法

首先我们来明确一下基本概念,语音激活检测(VAD, Voice Activation Detection)算法主要是用来检测当前声音信号中是否存在人的话音信号的。该算法通过对输入信号进行判断,将话音信号片段与各种背景噪声信号片段区分出来,使得我们能够分别对两种信号采用不同的处理方法。

分类
后端开发

高性能MySQL数据库的优化之路

写完前后端代码之后,这个项目的工作就算做完了?不,你的工作其实才刚开始,写完代码只是做下一步工作的必要条件。作为一个可实用的软件产品,你要做的工作是将“玩具汽车”变成真正可以上路跑的“汽车产品”。数据库是网站、APP等产品重要的底层核心支撑服务,为了将我们的项目变成生产级的产品和服务,在数据库方面进行性能优化是重要的一个环节,这里我们用最经典的MySQL来作为案例。

分类
ASRT 后端开发 应用开发 深度学习

深度学习模型最佳部署方式:用Python实现HTTP服务器作API接口

    当训练和测试完成一个深度学习模型之后,如果我们打算将这个算法模型上线,投入生产环境部署使用,那么我们就需要做一些额外的处理工作。由于深度学习模型对于算力需求较大,在上线过程中,一般有减小网络规模、使用专用硬件和通过C/S架构联网进行云端计算这三种方式。AI柠檬博主推荐使用第三种方式,即模型部署于服务器端,客户端通过网络将输入数据发送至服务器,计算得结果后传递给客户端。5G时代就在眼前,IPv6协议大规模部署,万物即将互联,尤其是无线移动互联网作为重要的基础设施是大势所趋。通过联网,即使是成本最低的低端的硬件,也可以在不损失精度的情况下,能够以更快的速度得到深度学习模型的计算结果。例如,ASRT语音识别系统就是以这种方式进行模型的部署的,已经能够为AI柠檬网站提供语音识别服务,用于语音搜索等任务。

分类
ASRT 智能语音技术

Python复现谷歌SpecAugment数据增强算法

       谷歌在2019年提出了用于语音识别数据增强的SpecAugment算法,基本原理是对频谱图进行各种遮盖,例如横向进行频率范围遮盖,以及纵向进行时间段遮盖,也可以将二者组合起来,如图所示。本文将以代码来介绍在实际应用中如何复现SpecAugment算法,并介绍如何将该代码应用到AI柠檬的ASRT语音识别系统( https://github.com/nl8590687/ASRT_SpeechRecognition )的训练中。

分类
智能语音技术 机器学习

看懂语音识别中CTC解码器的原理,这篇文章就够了

在DNN-HMM架构的语音识别系统的声学模型中,训练一个DNN模型通常需要先进行帧和标签的对齐操作,此时需要先使用GMM通过EM算法不断迭代实现。而且隐马尔可夫假设一直饱受诟病,随着深度学习的发展,尤其是基于CTC的CNN和RNN模型的出现,使得实现端到端的语音识别声学模型成为了可能。CTC由于其强大的在时间序列上进行标签自动对齐的能力,可被用于语音识别、图像验证码(或者文本)识别和视频手势识别(手语识别)等问题中。

分类
机器学习 深度学习

卷积神经网络相关计算总结,都在这了

卷积神经网络是模式识别分类常用的网络结构之一,在大规模的图像识别等方面有着很大的优势。本文将总结卷积层、反卷积层、感受野、权重参数数量等卷积神经网络相关的原理和计算过程。

分类
ASRT 智能语音技术

教你如何使用ASRT部署中文语音识别API服务器

ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub( https://github.com/nl8590687/ASRT_SpeechRecognition )上,为了便于大家使用,本文将手把手按顺序教你如何使用ASRT语音识别系统在测试和生产环境中部署中文语音识别API服务器。文本以CPU (Intel x86_64) + Linux + Python 3 + Nginx 为示例运行环境。

分类
ASRT 智能语音技术

教你如何使用ASRT训练中文语音识别模型

ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub( https://github.com/nl8590687/ASRT_SpeechRecognition )上,为了便于大家使用,本文将手把手按顺序教你如何使用ASRT语音识别系统训练一个中文语音识别模型。

首先到GitHub上打开ASRT语音识别项目仓库:https://github.com/nl8590687/ASRT_SpeechRecognition

国内Gitee镜像地址:https://gitee.com/ailemon/ASRT_SpeechRecognition

打开的网页如图所示

分类
机器学习

机器学习:梯度下降算法是如何工作的

在进行机器学习的时候,我们常常要使用到各种各样的优化算法,以此使得模型能够尽可能收敛到最优的解,而梯度下降(Gradient Descent)算法就是这样的一种无约束的一阶优化算法,并且,根据算法的确定性和随机性,可分为批量梯度下降法和随机梯度下降法。

分类
机器学习 深度学习

如何解决神经网络训练时loss不下降的问题

当我们训练一个神经网络模型的时候,我们经常会遇到这样的一个头疼的问题,那就是,神经网络模型的loss值不下降,以致我们无法训练,或者无法得到一个效果较好的模型。导致训练时loss不下降的原因有很多,而且,更普遍的来说,loss不下降一般分为三种,即:训练集上loss不下降,验证集上loss不下降,和测试集上loss不下降。这里,首先默认各位都能理解过拟合和欠拟合的概念,如果有不清楚的可以参考下面的一些文章。

分类
ASRT 后端开发 智能语音技术 模式识别 深度学习

ASRT:一个中文语音识别系统

ASRT是一套基于深度学习实现的语音识别系统,全称为Auto Speech Recognition Tool,由AI柠檬博主开发并在GitHub上开源(GPL 3.0协议)。本项目声学模型通过采用卷积神经网络(CNN)和连接性时序分类(CTC)方法,使用大量中文语音数据集进行训练,将声音转录为中文拼音,并通过语言模型,将拼音序列转换为中文文本。算法模型在测试集上已经获得了80%的正确率。基于该模型,在Windows平台上实现了一个基于ASRT的语音识别应用软件,取得了较好应用效果。这个应用软件包含Windows 10 UWP商店应用和Windows 版.Net平台桌面应用,也一起开源在GitHub上了。

分类
机器学习 深度学习

深度学习:欠拟合问题的几种解决方案

我最近做深度学习在连续中文语音识别方向的应用的时候,根据一些论文和网上一些公开代码和模型结构,设计了一个神经网络的模型。但是在训练的时候,就首先遇到了很让人头疼的欠拟合问题。神经网络欠拟合的特征是,训练了很长时间,但是在训练集上,loss值仍然很大甚至与初始值没有太大区别,而且精确度也很低,几乎接近于0,在测试集上亦如此。且先不管模型结构配置的优劣,就欠拟合问题来说,需要从如下方面来着手。

分类
ASRT 机器学习 自然语言处理

统计语言模型:从中文拼音到文本

前言:

自然语言是信息的载体,记录和传播着信息,信息论之父香农对信息的定义是“信息是用于消除随机不确定性的东西”。信息通过编码,经过一定的信道传输,然后传递到接收者,再解码成对应的可被人理解感知的东西,就完成了一次信息的传递。原始人的通信方式就是说话,而说话是先将信息编码为对应的语言信号,可以是文本,可以是声音,也可以就是中文拼音,然后接收者再将收到的信号进行解码。而我们人类对自然语言的处理经历了从基于规则的算法到基于统计的算法,显然基于统计的方法比规则更有效,下面我将介绍一种基于统计的语言模型,可以实现从拼音转为文本。

分类
ASRT 智能语音技术

AI柠檬语音识别学习路径和入门资料推荐

对于刚开始接触语音领域的新人来说,如何学习入门是一个棘手的问题。AI柠檬博主经常在群里遇到询问如何入门语音识别或者有什么语音识别学习资料推荐的问题,那么今天博主就在这里做一些如何入门的介绍和相关资料的推荐吧。(纯干货)

分类
评论型文章

[杂谈]当写技术博客的时候,我们其实在写什么?

写了这么多博客文章了,源于最近的一些感悟,AI柠檬博主也想谈谈当我们在写技术博客的时候,其实真正意义上写的是什么。博客这种东西伴随着第一代互联网的诞生,就已经产生了,在早期的互联网,如果我们自己开设有自己的网络博客,尤其是一个自己的“xxx.com”域名,那是一件很有“范”儿的事情。然而,在最近的若干年以来,博客这类事物却在网络上变得少见了起来,取而代之的是各类平台上的XX号。

分类
生活点滴

AI柠檬网站已经四岁啦!

2021年,AI柠檬网就满4周岁啦,过去的2020年真的是不平凡的一年呢!AI柠檬网站在过去的一年里运行较为平稳,在国内的云计算厂商阿里云和腾讯云的技术buff加持下,第一次实现了一整个自然年内没有出现任何大的运维事故(丢人了..)。只不过,一些人为或者非人为导致的小问题仍然偶有发生,好在影响面不大,也大都能及时解决掉。

分类
Python学习笔记 程序设计

转载:如何让 python 处理速度翻倍?内含代码

本文转载自:机器之心 · 阿里技术

https://www.jiqizhixin.com/articles/2019-12-25-2

阿里妹导读:作为在日常开发生产中非常实用的语言,有必要掌握一些python用法,比如爬虫、网络请求等场景,很是实用。但python是单线程的,如何提高python的处理速度,是一个很重要的问题,这个问题的一个关键技术,叫协程。本篇文章,讲讲python协程的理解与使用,主要是针对网络请求这个模块做一个梳理,希望能帮到有需要的同学。

分类
生活点滴

AI柠檬网站重启IPv6网络协议支持

一些细心的小伙伴们最近可能会发现,AI柠檬主要的网站时隔不到一年重新开始支持IPv6协议了。这一回,再次启动对IPv6的支持之后应该就不会去掉了,因为国内以及全球IPv6推进的进程已经加快,如今大多数云服务器和云产品都已经基本支持,不论今后如何维护服务器,这一点不会有太大变化了。