xiand.ai
科技

开发者训练900万参数模型实现端侧普通话发音精准纠错

一位开发者为解决普通话声调学习难题,利用约300小时的标注语音数据,训练了一个参数量仅为900万的CTC模型,实现了完全在设备端运行的发音训练系统。 该系统将发音评估视为专业的语音识别任务,通过Conformer编码器结合CTC损失函数,确保模型关注实际发音而非文本含义,有效识别声调错误。

La Era

Developer Trains 9M-Parameter Mandarin Pronunciation Tutor Using CTC Loss
Developer Trains 9M-Parameter Mandarin Pronunciation Tutor Using CTC Loss
Publicidad
Publicidad

据simedw.com报道,一位专注于中文学习的开发者,为克服普通话发音,特别是声调的难点,构建了一个计算机辅助发音训练(CAPT)系统,该系统旨在完全在用户设备上本地运行。

初始的基于傅里叶变换(FFT)的音高可视化方案因处理背景噪声和共振发音等复杂情况而受挫,开发者转而采纳了深度学习方法,遵循“数据和算力充足时,学习到的表征通常优于手工调优系统”的经验教训。

该系统被构建为一个定制的自动语音识别(ASR)任务,采用Conformer编码器和连接主义时间分类(CTC)损失函数,Conformer的卷积部分捕捉局部声学特征,而注意力机制处理长距离的语境依赖,如声调的相对性和声调连读变化。

与主流序列到序列模型不同,CTC通过引入<blank>标记,迫使模型逐帧输出概率分布,从而能准确报告实际发出的音素序列,而非猜测用户意图,这对于纠正发音至关重要。

为精确区分拼音音节和声调,模型词汇表被扩展至1,254个标记,包括声调信息,而不是直接输出汉字,这使得声调错误能被模型明确地预测为错误的标记ID。

通过整合AISHELL-1和Primewords数据集(总计约300小时),并在4张NVIDIA GeForce RTX 4090上训练约8小时后,开发者惊讶地发现,模型参数量从7500万缩减至900万时,测试错误率(TER)仅有微小下降,表明该任务可能受限于数据而非算力。

FP32模型大小约为37MB,经过INT8量化后收缩至约11MB,足以通过onnxruntime-web快速加载,但开发者通过解耦UI高亮区域与评分帧处理了前导静音导致的错误对齐问题,显著提升了用户体验。

尽管该系统对学习者严格有效,但有反馈指出,由于训练数据主要为朗读语音,模型对日常快速、略微含糊的口语识别准确率有所下降,下一步计划纳入Common Voice等对话数据集以优化泛化能力。

Publicidad
Publicidad

评论

评论存储在您的浏览器本地。

Publicidad
Publicidad