Page 34 - 《软件学报》2020年第10期
P. 34

3010                                  Journal of Software  软件学报 Vol.31, No.10, October 2020

         3.3    云端协同训练
             云端协同训练的目的是在云端利用公共数据集训练得到一个泛化能力较强的模型,从而在各个终端可以
         利用本地数据集对该模型进行精调(fine tune),达到收敛并个性化的目的.迁移学习技术的主要特点与优势在于
         它放宽了传统机器学习中的两个基本假设:(1)  用于学习的训练样本与新的测试样本满足独立同分布的条件;
         (2)  必须有足够可利用的训练样本才能习得一个好的模型.在自治式学习中同样存在这两个问题,即预训练数
         据很难与真实用户数据服从同样的分布;以及每个终端上可用于训练的数据有限.在 AutLearn 的设计中,获取合
         适的公共数据集是能否让模型在终端上收敛并得到高准确率的关键,其数据的语义和分布需要与终端设备上
         的整体数据较为接近,或呈包含关系,例如在输入法的例子中,我们用从 Twitter 网站上爬取的语料数据集做预训
         练,终端设备上使用用户的输入法数据做迁移学习.在现实中,Twitter 的数据很大一部分就是用户通过手机上传
         的,因此这些数据在分布和语义上存在着很强的关联性,意味着从 Twitter 数据中训练得到的模型往往会学习到
         包含用户输入数据的特征.此外,迁移学习的常用方式是固定前面网络层的参数,这些参数只参与前向推断,而
         不会参与后向的训练,只有最后一层的参数会随着训练的进行而改变,这也是为什么迁移学习仅利用小样本就
         可以完成训练,且对计算力要求不高的主要原因.
             为了进一步提高本地迁移学习的效果,AutLearn 还使用了数据增强技术以提高训练数据量.对于图片数
         据,AutLearn 使用了常用的数据增强方法,如翻转(flip)、旋转(rotation)、比例缩放(scale)、裁剪(crop)、移位
         (translation)、添加高斯噪声(Gaussian noise)等.对于自然语言类数据,AutLearn 使用了 EDA        [19] 开源项目中的技
         术,具体包含 4 种主要的操作:(1)  同义词替换(synonyms replace,简称 SR):不考虑 stopwords,在句子中随机抽取 n
         个词,然后从同义词词典中随机抽取同义词,并进行替换.(2)  随机插入(randomly insert,简称 RI):不考虑
         stopwords,随机抽取一个词,然后在该词的同义词集合中随机选择一个,插入原句子中的随机位置.该过程可以
         重复 n 次.(3)  随机交换(randomly swap,简称 RS):句子中,随机选择两个词,对它们进行位置交换操作.该过程可
         以重复多次.(4)  随机删除(randomly delete,简称 RD):将句子中的每个词以概率 p 随机删除.具体地,使用何种数
         据增强技术或几种技术的组合需要根据具体的应用场景(分类任务)来决定.
             AutLearn 将终端设备上进行的迁移学习按照训练发起的时机和训练数据产生的时间分为两种:离线学习
         和在线学习(见表 1).离线学习是基于历史数据,选择适宜的时机在不影响用户体验(延迟、电量)的前提下进行
         的训练,通常发生在开发者更新下发了一个新模型之后,对模型进行迁移学习,解决冷启动问题.由于历史数据
         通常较多,训练时间较长,无法确保在短时间(如 1 天)内完成,因此 AutLearn 会存储中间结果,将训练分散在多个
         时间窗口中.在线学习是基于设备上实时产生的数据进行的训练,主要目的是为了对新的数据做出及时的响应,
         例如用户行为改变之后,可以立即对模型进行定制化训练,是一个持续强化的过程.虽然在线学习会产生相应的
         计算开销,但是由于实时产生的数据较为有效,因此训练带来的开销通常不易察觉.在第 4 节中我们着重分析了
         在输入法应用中在线学习带来的系统资源开销问题.

                        Table 1    A comparison of different on-device transfer learning in AutLearn
                                  表 1   AutLearn 中的两种终端迁移学习方式比较
                         训练数据             训练时机                           优势
                                                         •   历史积累下的数据量通常较大,训练结果明显,
                        保存在本地的       离线空闲时间:手机充电且           可以有效地解决冷启动问题
               离线学习
                         历史数据             屏幕关闭           •   离线进行不影响用户体验,通常有大量的时间
                                                            可以用于训练
                                                         •   用户在线产生的数据通常比较缓慢,使用这些
                        用户在使用设
               在线学习     备过程中实时       在线进行,通常伴随用户与        •   数据进行训练对用户体验影响较小
                                          设备交互
                                                            无需等待特定的训练时机,在线学习的过程中
                        产生的数据
                                                            不断优化模型,快速提高模型精度

         3.4    模型训练编译器
             现有的在移动终端上部署神经网络的方式主要有两种:一种是使用通用的机器学习框架,如 TensorFlow,这
   29   30   31   32   33   34   35   36   37   38   39