0
点赞
收藏
分享

微信扫一扫

【嵌入式人工智能】嵌入式AI在物联网中如何应用

boom莎卡拉卡 2024-09-19 阅读 12
  • Speech Recongnition
  • TTS(Text-to-Speech),属于Speech Synthesis

SR基本概念

语音模型:即将 sound 转为 text。

  • Text: a sequence of Token 长度:N,总种类数量:V
  • Sound: vectors sequence 长度:T,维度:d

一、Text Token

  • Phoneme(音位、音素):即 a unit of sound,可以理解为发音的音标
  • Grapheme(字位,书写位,最多使用⭐):即 smallest unit of a writting,比如【26个英文字母+空格+标点符号】
  • Word:即语言中的单词
  • Morpheme(字位,书写位):即 smallest meaningful unit,比如英语单词的词根。词素是构成词的要素。词素是比词低一级的单位,词是语言中能够独立运用的最小单位,是指词在句法结构中的地位和作用而言的。
  • Bytes:直接用字节表示一组Text,常见的诸如 UTF-8 编码

二、声音特征 Acoustic Feature

通常以 25ms 为窗口长度,将声音讯号转为 一个向量(frame,也即帧),每次窗口移动 10ms,也就是说 1s →100 frames

frame 制作方法

  1. sample points:当 声音采样率 在 16KHz 时,其在 25ms 内一共有 400个 sample points,直接将这400个数字拿过来当frame即可
  2. 39-dim MFCC:一共有39维
  3. 80-dim filter bank output:一共有80维

frame 制作过程
首先,Waveform(波形) 通过 DFT 变为 spectrogram(频谱),此时已经可以用于训练了

然后,spectrogram 通过 filter bank(滤波器组) 变为一个个向量

随后再取 log,再进行 DCT,最后生成 MFCC。

Listen, Attend and Spell(LAS)

Listen:即 Encoder;Spell:Decoder,这是一个经典的使用注意力机制的 seq2seq 模型

一、Listen

  • 输入:一串 acoustic features(声音向量)
  • 输出:同样也是一串向量,数量、维度和长度均和输入相同
  • 作用:提取语言内容信息,将音频信号分析为高级的声学特征表示,将语种之间的差异抹除,将噪声去除

    种类
    1. RNN(Recurrent Neural Network)
    2. 1-D CNN(一维卷积神经网络)
    3. Self-attention Layers(自注意力)

Down Sampling
起因:数据量过大,计算量过大,相邻 acoustic features 包含信息差异较小,为了节省数据量,让训练更有效率

种类:

  • Pyramid RNN:两个 Tensor 结合起来送入下一层,RNN的变种
  • Pooling over time:两个 Tensor 选一个送入下一层,RNN的变种
  • Time-delay DNN(TDNN):CNN的常见变种
  • Truncated Self-attention:在生成output时,一个Tensor的attention只作用于一段范围,而不是整个input,Self-attention的变种

二、Attention(Attend)

主要作用是通过注意力机制建立声学特征和文本之间的关联,帮助模型更好地将声学特征转化为文本输出。其可以动态地分配注意力权重,以捕获输入序列中不同位置的重要信息的关键组件。

参考:https://blog.csdn.net/m0_56942491/article/details/133984968

三、Spell

  1. 上下文信息融合:

    • Input:
      • 前一个时间步的隐藏状态( z i z_i zi,初始为 z 0 z_0 z0
      • 前一个时间步生成的标记(token,初始为起始符号如<s>
      • 当前时间步"Attend"环节的输出(即上下文向量Context Vector)
    • Method:通常是使用前馈神经网络,如RNN单元
    • Output:
      • 新的隐藏状态 z 1 z_1 z1
      • vocabulary 各个token的概率值(distribution)。
  2. 随后一般就从 distribution 中取概率值最大的那个token,作为本次的 token 输出,比如cat,第一次输出token:c。

  3. 然后将刚刚得到的新的hidden state z1,去做attention,得到c1,然后再进行刚刚的操作,即将得到的 z1 投入新一轮的 attention 中,计算得到c1,再去计算下一轮。

  4. 然后不停循环,直到最后生成结束标志或达到最大生成长度为止。

CTC,RNA,RNN-T,Neural Transducer,MoChA模型

https://blog.csdn.net/m0_56942491/article/details/134012653

举报

相关推荐

0 条评论