专栏名称: 待字闺中
深度分析大数据、深度学习、人工智能等技术,切中实际应用场景,为大家授业解惑。间或,也会介绍国内外相关领域有趣的面试题。
目录
相关文章推荐
玉伯  ·  这个评价特别高,开心 ·  9 小时前  
程序员小灰  ·  以后是彻彻底底的小生意时代 ·  昨天  
大淘宝技术  ·  阿里淘天T-Star Lab ... ·  昨天  
51好读  ›  专栏  ›  待字闺中

搜喵输入法:用seq2seq训练自己的拼音输入法

待字闺中  · 公众号  · 程序员  · 2017-09-15 17:39

正文

请到「今天看啥」查看全文


这里使用的CBHG模块是state-of-art的seq2seq模型,用在Google的机器翻译和语音合成中,结构如下:

图片来自 Tacotron: Towards End-to-End Speech Synthesis

值得注意的几点:

1.模型先使用一系列的一维卷积网络,有一系列的filter,filter_size从1到K,形成一个Conv1D Bank。这样的作用相当于使用了一系列的unigrams, bigrams直到K-grams,尽可能多的拿到输入序列从local到context的完整信息。其实这样的模型,与之前我们提到过的IDCNN(Iterated Dilated Convolutionary Nerual Network)有异曲同工之妙。而IDCNN相比较起来有更少的参数,不知道如果把CBHG的Conv1D Bank换成IDCNN是怎样的效果。

2.模型在最终的BiGRU之前加入了多层的Highway Layers,用来提取更高层次的特征。Highway Layers可以理解为加入了本来不相邻层之间的“高速公路”,可以让梯度更好地向前流动;同时又加入一个类似LSTM中门的机制,自动学习这些高速公路的开关和流量。Highway Networks和Residual Networks、Dense Networks都是想拉近深度网络中本来相隔很远的层与层之间的距离,使很深的网络也可以比较容易地学习。

3.模型中还使用了Batch Normalization(继ReLU之后大家公认的DL训练技巧),Residual Connection(减少梯度的传播距离),Stride=1的Max-pooling(保证Conv的局部不变性和时间维度的粒度)以及一个时髦的BiGRU。Tacotron: Towards End-to-End Speech Synthesis这篇文章发表在2017年4月,最潮的DL技术用到了很多。

语料获取

理论上所有的中文文本语料,我们都可以通过xpinyin这样的工具转化为拼音数据。这相当于只要有中文文本,我们就有了带标注的训练数据。







请到「今天看啥」查看全文