Google AI研究团队透过递归神经网络(RNN),将Gboard手写输入辨识模型的错误率下降了20%~40%,Google也为全部以拉丁字母书写的语言,推出新版的辨识模型,并发表相关的研究论文,详细解释该版本模型背后的技术。网络
过去,Google采用的辨识方法是将手写输入切割成单个字符,再针对字符进行译码,Google解释,对每一个手写识别系统而言,接触点是开端,系统将一序列的点视为笔画,而手写输入就是用笔画序列来表示,且每一个点都会附有时间戳,因为Gboard被用于多种不一样的设备,也意味着有着不一样的屏幕分辨率,所以,Google的第一步便是要将接触点坐标正规化,接着,为了正确地撷取手写输入的形状,Google将接触点组成的序列,转换三次贝塞尔曲线(cubic Bézier curves)序列,再将其序列做为递归神经网络的输入数据。并发
Google表示,虽然用贝塞尔曲线做为手写识别的资料已经行之有年,可是将其看成AI模型的输入数据倒是很是新颖的,如此一来,也可以在不一样样本数量和正确率的多种设备中,提供一致的输入数据,有别于过去切割和译码的辨识方法,Google如今则是建立多个如何将笔画分解字符的不一样假设,接着从这些分解后的序列中,找出最适合的字符序列。优化
这个新方法的另一个优势是,贝塞尔曲线的序列比接触点序列来得小,使模型更容易取得输入数据的时间依赖性,也就是每条曲线都是由起始点、终点,以及两个额外的控制点所定义的多项式来表示,透过迭代的方式将输入坐标和曲线之间的平方距离最小化,来找出准确表示手写输入的三次贝塞尔曲线序列。url
找出手写输入的三次贝塞尔曲线序列以后,还须要将曲线序列转译为真实写做字符,为此,Google利用多层递归神经网络来处理曲线序列,并针对每一个曲线搜索全部可能字符的机率分布,再将该机率分布输出成矩阵。.net
在朕亨公益研究的过程当中,Google尝试过多种不一样种类的递归神经网络,最后选择双向版本的准递归神经网络(quasi-recurrent neural networks),准递归神经网络可以在卷积层和递归层之间交替,提供有效的预测能力,同时也可以维持相对较少的权重数量,权重数量会直接影响模型的大小,模型越小效能就越好。blog
此外,为了提供最佳的用户体验,模型不但要准确也要快速,所以,Google将在TensorFlow训练好的模型转换成行动装置版的TensorFlow Lite模型,在模型训练的过程当中量化全部权重,同时,TensorFlow Lite针对二进制进行优化的特型,可以减小APK的大小。递归