0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用TensorFlow实现人工智能?

Tensorflowers 来源:未知 作者:胡薇 2018-08-17 08:43 次阅读

电信营业厅 APP 作为中国电信在线服务的入口级应用,我们的开发团队通过 TensorFlow人工智能 AI 技术有了亲密的接触。

人工智能这个领域我们以前从未探索过,甚至参与项目开发的工程师都是由 Android 开发转型而来,所以本文将以机器学习小白的视角谈一谈我们如何使用 TensorFlow 实现人工智能,以及我们的心路历程。

为了提升体验,让用户在充值这个最常用功能中感受一下所谓的黑科技,我们在 2016 年启动了充值卡扫描项目,希望用户打开摄像头对准充值卡密码轻松一扫即可完成充值。其核心 OCR 识别算是比较古老的研究领域,充值卡密码是数字加空格的组合,想想应该不难。

我们当时使用的方案,大概如下图的过程:

最终效果当然是不太理想,充值卡与名片文档不同,密码区域刮开的大小因人而异、噪点非常不规则、扫描时手的抖动会增加错误的发生等等因素,加上我们没有在 OCR 领域的经验积累,最终没能达到良好的用户体验而不得不搁浅。但是在随后的日子里,我们与 TensorFlow 结下了不解情缘。

在 2017 年谷歌开发者大会上我们了解到,谷歌人工智能底层的技术已经开源化,TensorFlow 的推出是为了让普通开发者将关注点从 “如何造轮子” 转移到 “轮子的花纹和样式” 上来,现场由谷歌工程师 Anna 全程用中文为大家介绍这个框架,她的演讲很赞,为了不错过每一个细节我听得很仔细很投入。

从大会回来之后,我们推翻重来并改变了思路:搭建一个神经网络让它学会认识电信充值卡。

end2end learning:

神经网络思想给我们带来了彻底的改变,所谓 end2end 模型是要通过这个模型输入图片直接获得结果数字。这种方式,不再需要手工处理图片的特征,任何部分的误差,都作为整体的一部分,通过神经网络的反向传播都能得到修正。

seq2seqlearning:

seq2seq 是一种 Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。这种结构的神经网络常用于语音识别,也可以用于不定长文字的 OCR 识别。对于我们的项目而言 Encoder 输入是 200*30 大小的图像,Decoder 是可变长度的数字加空格组合。

神经网络搭建:CNN+LSTM+CTC

这是个成熟且先进的神经网络架构,我们在分析学习了许多科学界论文后选定了这个方案,CNN 卷积神经网络负责抓取图片特征,LSTM 长短期记忆网络负责对字符的识别,CTC 算法对结果进行对齐优化。这个方案有很多优秀的TF项目可以参考,使用 TF 实现其网络结构也非常方便,这使我们更快更容易的着手开发工作。

在我们刚接触神经网络的时候,看到某位大神曾经说过 “深度学习框架是一个炼丹炉”,这句话形容的恰到好处,使我们更直观的理解机器学习的过程,如今我们已经有了这炼丹炉和配方(TensorFlow、网络结构方案),下一步的关键是数据。数据的质量和数量直接影响模型的识别效果,由于没有足够的实体卡样本,我们使用程序模拟需要的图片,要尽量做得真实、包含尽可能多的特征才行。先从一张简单的充值卡入手,我们的取景框将焦点缩小到 200*30 这么大的区域里:

通过不断训练、对比模型识别识别结果,将模型没有学习到的特征加入进来,我们得到了下面的数据优化路线:

基础版本:

倾斜、变形、位移:

不同的字体:

模拟未干净效果,加入随机噪点:

强光:

弱光:

抖动模糊:

以上特征随机组合出现,且力度在一定区间内随机取值,生成的训练数据集 30 万,测试数据集 1 万:

接下来是机器训练的过程,这个阶段最磨炼心性,机器在学习人也在成长。分享一点心得:

1、我们能够总结这段经验是源于上百次的训练记录,详细记录每次训练的笔记是一个好习惯。

2、每次只调整网络参数或只修改数据特征,这样方便比较结果。

3、善于运用TensorBoard使你更直观的查看网络结构,了解训练过程。我们保留了 TB 的全部训练日志,通过训练曲线对比不同超参数对训练结果的影响是非常方便的。

最后是方案的选型,我们一开始青睐于 TF Lite 的小巧、灵活,但是当时 TF Lite 还不支持 LSTM 算子,将来我们会再尝试使用 TF Lite,因为端侧人工智能应该是未来的主流。 考虑到我们的图片只有 200*30 的像素大小,实际传输不太消耗网络,所以 TF Serving 作为最终方案,实际上效果也确实不错。

方案

TF Lite

TF Mobile

TF Serving ✅

优点

1、体积小:大概 300K。

1、支持全部神经网络算子。

2、性能优秀。

1、客户端轻量操作。

2、一切云端可控制,包括模型更新等。

3、支持高并发访问

缺点

1、当时缺少 LSTM 算子

1、体积较大,估计 AndroidSDK大概 5M 左右。

2、需考虑模型更新方案。

3、需考虑适配,安卓低版本机器不支持。

1、识别性能受网络速度影响。

最终的效果:逆光、抖动、数字严重遮挡依然可以轻松识别!

模型训练的成功率为 99.3% ,完成一次识别的耗时 0.05 秒,达到这样的效果,让我们非常惊喜、兴奋!用户体验之后反响也非常不错!能够做到这些得益于优秀的 TensorFlow 机器学习框架、先进的神经网络解决方案,这让我想起 2007 年刚接触 Android 系统时的感受:不再需要考虑设备底层代码的编写极大的降低了开发者的门槛,正如今天 TF 带给我们的一样,入门级玩家也可以使用人工智能技术。

最后向一直坚持做机器学习的开发者们致敬:你们的坚持和分享精神使我们更快的掌握和使用这项技术,相信在我们共同努力下人工智能领域将不断突破,正如这条曲线一样历经磨练守得云开见月明。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    46830

    浏览量

    237474
  • tensorflow
    +关注

    关注

    13

    文章

    328

    浏览量

    60491

原文标题:中国电信使用 TensorFlow 实现人工智能

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    人工智能是什么?

    ` 人工智能是什么?什么是人工智能人工智能是未来发展的必然趋势吗?以后人工智能技术真的能达到电影里机器人的智能水平吗?如果技术成熟的那一天
    发表于 09-16 15:40

    百度人工智能大神离职,人工智能的出路在哪?

    。 举例来说,之前的智能家居大多以监测为主,严格意义来说,根本不是智能,真正的智能一定监和控相结合的。在监测的基础上加上控制功能,真正实现人工智能
    发表于 03-23 17:00

    人工智能就业前景

    据相关招聘机构数据显示,2018年AI领域仍然是大部分资深技术人才转岗的首选目标,在人才最紧缺的前十大职位中,时下最火的大数据、人工智能、算法类岗位占据半壁江山。据调查指出,2017年技术研发类岗位
    发表于 03-29 15:46

    人工智能的影响超乎你想象

    ,意义还不仅仅局限于此。在这一轮人工智能浪潮中,对经济最大的价值在于更大规模地实现自动化、机器化转变。虽然这种自动化经济,或者叫机器人经济,可能将无可避免地引发一系列的工作岗位消失。但与此同时,我们
    发表于 06-22 14:40

    TensorFlow-cn_0.3_beta_zh,人工智能入门资料

    TensorFlow-cn_0.3_beta_zh,人工智能入门资料,花积分在别的论坛买的
    发表于 11-09 11:44

    解读人工智能的未来

    `已历经60多年的人工智能在物联网以及大数据的推动下,实现飞跃式的发展,并且迎来了第三个黄金周期。必优传感今天和大家解读一下关于人工智能的未来。自从有了人工智能,引发了人类的各种“未来
    发表于 11-14 10:43

    人工智能医生未来或上线,人工智能医疗市场规模持续增长

    基于人工智能实现的糖尿病及并发症管理产品,在公众号中输入个人的相关信息,包括性别、体重、空腹血糖等,可以预测出此人近3年患糖尿病的风险系数。指标超过一定比例,还会建议个人尽快去医院就诊
    发表于 02-24 09:29

    人工智能:超越炒作

    信息处理的各个方面。换句话说:人工智能希望重新设计人脑的结构和功能,使机器能够以人类的方式解决问题 - 更好。与科学努力相比,今天的行业对人工智能的方法更加务实。当前的AI开发不是试图实现人类思维的复制
    发表于 05-29 10:46

    人工智能语音芯片行业的发展趋势如何?

    人工智能是近三年来最受关注的核心基础技术,将深刻的改造各个传统行业。人工智能在图像识别、语音识别领域的应用自2017年来高速发展,是人工智能最热点的两项落地应用。手把手教你设计人工智能
    发表于 09-11 11:52

    Labview深度学习tensorflow人工智能目标检测-教学贴【连载】

    本帖最后由 wcl86 于 2021-6-3 16:23 编辑 应广大学员要求,现开通Labview深度学习tensorflow人工智能目标检测-教学贴,有需要的学员,可以收藏本贴,接下来会
    发表于 05-28 11:58

    人工智能芯片是人工智能发展的

    人工智能芯片是人工智能发展的 | 特伦斯谢诺夫斯基责编 | 屠敏本文内容经授权摘自《深度学习 智能时代的核心驱动力量》从AlphaGo的人机对战,到无人驾驶汽车的上路,再到AI合成主播上岗
    发表于 07-27 07:02

    物联网人工智能是什么?

    一、人工智能介绍工作以后想要拿高薪的话,人工智能是你的不二之选,那么问题来了,究竟什么是人工智能呢?又需要了解哪些才能去开发人工智能产品呢?接下来小编带领大家进入
    发表于 09-09 14:12

    嵌入式与人工智能关系是什么

    嵌入式与人工智能关系_嵌入式人工智能的发展趋势  所谓嵌入式人工智能,就是设备无须联网通过云端数据中心进行大规模计算去实现人工智能,而是在本
    发表于 10-27 07:41

    什么叫嵌入式人工智能

    是说在云端通过联网,在数据中心的大规模的计算去实现人工智能,而是说在本地计算,在不联网的情况下面实时的做环境感知,做人机交互,做决策控制。大家想想看,尤其是在自动驾驶这样一个场景下面,如果突然一个
    发表于 10-28 08:43

    嵌入式人工智能学习路线

    及机器人操作系统等方面的实验。结合人工智能让机器人更加智能,基于TensorFlow框架开发完成训练模型、调试参数、打包模型一系列人工智能开发流程。可
    发表于 09-16 17:07