金山 WPS:基于 TensorFlow 的 AI 移动办公
文 / 赵威 胡旭华,金山 WPS 团队
让 AI 的能力下沉到更多移动终端上,才能完全打开智能的想象力。前不久,金山 WPS 与 Google 合作,以 TensorFlow 架构为办公工具赋予了 AI 算力和功能。
金山 WPS 与 TensorFlow 合作:移动端部署 AI 的典范
借助 TensorFlow 和 TensorFlow Lite 在框架层的算法优化能力,移动版 WPS 有多个业务场景开始使用 AI 算法,来进行图片的处理和转换:
物体边缘检测。金山 WPS 设计的 CNN 文档检测网络,可以让安卓版用户快速检测结果,自动判断边缘并调整滤镜;
自动识别图片类型。金山 WPS 利用 TensorFlow Lite 实现了能够自动识别图片类型的 OCR 模型,提供对应的滤镜和 OCR 输出格式;
扫描件 OCR。采用 TensorFlow 部署模型,可以对文档实现旋转矫正、文本行检测等操作,节省大量文档编辑时间;
自然场景 OCR。利用 TensorFlow Lite 将自然场景 OCR 运行在手机上,使它能在短时间内从复杂场景中准确定位文字并获得理想的识别结果;
图片转文档的布局分析。金山 WPS 结合 TensorFlow 与 scikit-learn 框架一起进行图文布局分析算法,大幅度降低了算法的研发成本。
金山 WPS 还对多种机器学习算法进行了加工整合,从不同层次优化和改进了文档转图片、内容检测等功能,解决了图片转文档 “乱码” 这一历史难题。
金山与 TensorFlow 的协同工作,已经带来一些在移动端办公领域的直观效果:
高功耗、高能耗的实时 AI 处理在移动端成为可能;
阅读体验升级,办公 AI 功能解锁,办公效率进一步提升;
WPS 正在打开端侧部署 AI 的可能性。
从云到移动:金山 WPS 借助 TensorFlow Lite 实现的惊险一跃
从云端算法到移动端开发的实操阶段,移动芯片端侧运算支撑力不足、云计算数据传输延迟,使得拍照识别这样的实时运算,用户体验极差。但通过结合 TensorFlow Lite,金山 WPS 训练移动端模型快速地推进了开发者的 AI 研发进程。
TensorFlow Lite 在移动端具有以下明显优势:
足够小:训练的 AI 模型可以很容易被压缩和传输到手机端,对用户的手机内存十分友好;
图像学习框架的轻量神经网络
手机机型兼容性好,对安卓天然亲近:在数十台机型上的稳定性测试都表现很好;
高效的 “投影” 模型
移动端的适应性强:TensorFlow Lite 与 TensorFlow 的过渡平滑,不会增加大量的兼容成本;
TensorFlow Lite 的架构设计
TensorFlow 社区资源丰富,具体的业务场景很容易找到相关参照系,并学习案例的集成方式。
那么,移动端友好的 TensorFlow Lite 又是如何被金山 WPS 部署到手机端的呢?
以文档边缘检测为例:
首先,利用 tf.keras 可以很快完成深度网络的构建。在拍照扫描算法中,开发者设计了一个 5M 左右的 CNN 文档检测网络;
其次,将 tf.keras.Model 提供的 fit_generator 与 tf.data 灵活结合,对训练数据进行预处理,根据业务场景对训练数据进行分组定义,然后构造适合的代价函数。以此优化训练性能,不断地迭代优化算法效果;
最后,把业务算法集成到 WPS,在多台旗舰机上进行稳定测试。针对一些难点问题进行分析迭代,直至稳定上线。
至此,移动 AI 的开发者完成了从云端到移动端的惊险一跃。
从个案到公式:移动端 AI 开发的通识问题与解决之道
TensorFlow 在金山 WPS 办公软件上的落地,给移动端办公带来了奇妙的变化,也找到了移动端 AI 开发的通识问题与解决之道。
AI 落地的成本问题。解决之道:TensorFlow 能够解决技术或算法实现商业化时如何低成本地解锁需求的问题,而金山 WPS 能为技术解决方案提供足够大的商业落地空间;
端侧 AI 的技术沉淀问题。解决之道:合作之后,金山仍在攻克很多难题,除了 TensorFlow Lite,金山 WPS 研发团队还掌握了几款移动推理框架及一些小规模网络设计的技巧;Google 也在发力,比如即将推出 TensorFlow 2.0,TensorFlow Lite 将支持更丰富的模型运算方式。
此外,TensorFlow 与金山 WPS 合作的最大意义是让我们看到:超强算力的 AI 硬件 + 移动端友好的深度学习框架 + 清晰广泛的业务场景,才是帮助更多开发者打开想象的前提。
金山 WPS 在移动办公上的努力实现,使得移动 AI 开发这件事,在葱茏的生态下前所未有地真实起来。
更多 AI 相关阅读:
标准化 Keras:TensorFlow 2.0 高级 API 指南
利用人口普查收入数据集预测收入