TensorFlow技术发展与落地实践

\u003cp\u003e本次分享的主要内容包括以下四个方面:首先是深度学习简介;其次是TensorFlow简介;然后讲解了深度学习在服装设计方向的机会与挑战;最后重点介绍深度学习的落地实践。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c865655c98bf.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch2\u003e一、 深度学习简介\u003c/h2\u003e\n\u003ch3\u003e1.1 深度学习的发展\u003c/h3\u003e\n\u003cp\u003e阿尔法围棋(AlphaGo)是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人, 从AlphaGo开始, 人工智能正式走入了大众的视野, 在10月18日,AlphaGo的父亲DeepMind团队推出了AlphaGo Zero,从0训练用了40天时间,以100:0击败了当今的世界围棋第一AlphaGo,AlphaZero在去年底通过自我对弈,就完爆上一代围棋冠军程序AlphaGo,且没有采用任何的人类经验作训练数据,不管是AlphaGo还是AlphaGo他们的原理都是深度学习。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86565761d07.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e1.2 深度学习的动机\u003c/h3\u003e\n\u003cp\u003e计算机语言一般都是按照固定流程完成任务,但是有一些任务,比如下五子棋、无人驾驶,人脸识别等,很难把他们的流程描述出来。这个时候就需要用到人工智能的方式来实现这些流程不确定的工作。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86565823cd8.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e1.3 深度学习的原理\u003c/h3\u003e\n\u003cp\u003e深度学习是指训练神经网络,把样本x输入神经网络,每一个特征都与所有的神经元相互联系,通过习得一个函数,映射到输出y。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86565528279.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e神经网络的结构包含输入层、隐藏层、输出层三部分,以判断零件是否合格为例,一个神经网络可以是输入层输入零件的长度和零件的质量,把参数权重w、偏置b和输入x做wx+b运算,再通过激活函数激活得到神经元的值传到输出层,如果输出大于0则零件是合格,否则不合格。\u003c/p\u003e\n\u003cp\u003e输入层(Input layer),众多神经元接受大量非线形输入x。输入的x称为输入向量。\u003c/p\u003e\n\u003cp\u003e输出层(Output layer),x在神经元链接中传输、分析,形成输出结果。输出的x称为输出向量。\u003c/p\u003e\n\u003cp\u003e隐藏层(Hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。\u003c/p\u003e\n\u003ch3\u003e1.4 深度学习的案例\u003c/h3\u003e\n\u003cp\u003e神经网络在自然语言上的应用:\u003c/p\u003e\n\u003cp\u003e情感分类:理解情感的语义,先把文字抽象成特征向量,把特征向量输入到神经网络,经过一系列的运算得到正负值,正代表着好评,负代表着差评。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c865659637ab.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e神经网络在图像上的应用:手写数字识别、目标检测\u003c/p\u003e\n\u003cp\u003e输入图片得到像素矩阵,然后把像素矩阵输入到神经网络,进行目标检测,目标识别,识别出图片中的人、狗和椅子,手写数字也是同理。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c865656a71a8.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e目前google也在使用深度学习的方式来做推荐:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86570a3cc53.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e1.5深度学习的趋势\u003c/h3\u003e\n\u003cp\u003e可以看出从2012开始,深度学习的热度持续增高,一直到2017年都处于持续增长状态。2015年国内开始兴起人工智能,到2018年,经过这三年的发展,人工智能的技术已经得到很好的发展,在各种细分的领域得到很好的应用。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86570ad7623.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch2\u003e二、TensorFlow简介\u003c/h2\u003e\n\u003ch3\u003e2.1 TensorFlow的前身\u003c/h3\u003e\n\u003cp\u003eTensorFlow是一个实现深度学习的框架,两者相辅相成,互为基础,他的前身是DistBelief,DistBelief只支持CPU,原因是google内部的CPU资源非常丰富,可以通过并行的方式,实现高速度。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86570b87ec5.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e2.2 TensorFlow介绍\u003c/h3\u003e\n\u003cp\u003eDistBelief后来发展为了TensorFlow,TensorFlow不依赖Google内部系统和架构,能够支持GPU。\u003c/p\u003e\n\u003ch3\u003e2.3 TensorFlow早期版本变化\u003c/h3\u003e\n\u003cp\u003eTensorFlow不断的再创新,增加新功能,迭代速度是非常快的。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86570dbdeb8.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e从2015年以后,TensorFlow的流行度远超其他深度学习框架。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86570e639b6.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e四款常用的深度学习框架比较:早期的时候图像的框架多用caffe,但是TensorFlow的学习资料会更多一些,所以刚入门的新手推荐用TensorFlow。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c8657ca2a9e1.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch2\u003e三、深度学习在服装设计方向的机会与挑战\u003c/h2\u003e\n\u003ch3\u003e3.1 深度学习落地行业\u003c/h3\u003e\n\u003cp\u003e随着深度学习的发展,深度学习已经和很多行业结合起来,比如AI+金融,AI+医疗等,但是在服装设计行业还很少,就目前来说,AI+服装行业还是一片蓝海。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86583900680.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e3.2 服装设计行业存在的难题\u003c/h3\u003e\n\u003cp\u003e国内的时尚一直以来都是紧跟欧美时尚,国内的服装设计师通过不断的寻找欧美的时尚素材,然后进行二次创造,但是创作的过程存在两个问题,一是时尚素材过于散,查找困难,二是设计师难以理解淘宝上的相关服装数据,没办法利用这些数据服务于设计,这也是知衣科技想要解决的问题,知衣科技是一家AI电商解决方案提供商,利用图像识别、个性化推荐等人工智能技术为电商行业提供人工智能解决方案,辅助设计师完成服装设计。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c8658384b67a.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e下图是淘宝的数据工具:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86583b5f8f1.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e3.3 服装设计问题\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e1)多源:\u003c/strong\u003e如果有上千个品牌方,就有上千个官网,还有很多的时尚网站,如何去收集这些信息其实是一个难点。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2)异构:\u003c/strong\u003e设计师需要参考的既有图像类的非结构化数据,也有文字这样的半结构化数据,还有交易结构化数据,如何将这些数据有机的串联起来存在挑战。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3)海量:\u003c/strong\u003e在互联网上有上百亿的服装信息,上亿的商品交易信息。\u003c/p\u003e\n\u003cp\u003e如何去处理这些图片、文字、交易信息,去帮助设计师去选款是知衣科技要解决的问题。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c865837a1f1e.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch2\u003e四、深度学习的落地实践\u003c/h2\u003e\n\u003ch3\u003e4.1标签问题和解决办法\u003c/h3\u003e\n\u003cp\u003e深度学习的识别和分类都是比较成熟的技术,但是如何把这些技术应用到服装行业确是一个新的问题。目前时尚图片的标注数据准确率低,因为时尚是一个专业性的东西,并不是每一个人都能理解时尚,所以很难标注,知衣科技的标注是由服装学院的设计师们帮忙标注的, 标注的准确率很高。\u003c/p\u003e\n\u003cp\u003e在服装识别中,我们把服装分为了五大类:上衣、下衣、包、鞋子、连衣裙, 再对五大类做细分,总共有150多种标签,设计师需要的是更细的划分,比如前几年流行的一字肩,这种细节需要从大量的数据中去发现。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86583aa6c1e.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e目前标签存在的两大问题,一是标签的稀疏性,有的标签会比较少,比如双面呢大衣,二是设计细节难打标签,比如袖口的拉链,口袋的开口方向等,会有漏打漏标的情况,所以整体的标签要治理出来是非常困难的,我们开发了一套专门针对服装标签的打标系统,在部分标签体系上能实现93%到95%的识别率,设计院校的学生的识别率在85%-90%,在这个专业领域上已经比别人强了。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86583d34d5d.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e4.2基于Faster R-CNN Model的目标检测\u003c/h3\u003e\n\u003cp\u003e整体的网络构造分两层,第一层是Faster R-CNN识别服装的过程,第二层是把识别到的服装经过一些风格的过滤器, 输出到不同的FeatureMap里,有些是形态的,有些是风格的,然后根据不同的风格进行聚类,再针对这些问题去做回归。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c86583702a1a.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003cp\u003e对图片进行多个维度的识别,包括人脸识别,包括以图搜图,搜图目的不同,他们背后的算法、逻辑和训练方式也是不一样的,比如淘宝的找同款或找相似,而我们要解决的是设计师选错款的问题,理解设计师想找到什么图片,这个问题我们抽象成了两个场景,一是全图搜索,看重的是整体的搭配,二是品类相似,是找单品相似款式。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://static.geekbang.org/infoq/5c8658363680b.png?imageView2/0/w/800\" alt=\"image\" /\u003e\u003c/p\u003e\n\u003ch3\u003e作者介绍\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e郑泽宇\u003c/strong\u003e,\u003cstrong\u003e知衣科技联合创始人兼CEO\u003c/strong\u003e。国内第一本TensorFlow读物《TensorFlow:实战Google深度学习框架》作者,该书销量稳居京东人工智能榜前3。归国创业之前,郑泽宇曾任美国谷歌高级工程师。从2013年加入Google,作为主要技术人员参与并领导了多个大数据项目。由他提出并主导的产品聚类项目用于衔接谷歌购物和谷歌知识图谱(Knowledge Graph)数据,使得知识卡片形式的广告逐步取代传统的产品列表广告,开启了谷歌购物广告在搜索页面投递的新纪元。 2013年5月获得美国Carnegie Mellon University大学语言技术研究所硕士学位。期间在国际会议上发表数篇学术论文,并被评为Siebel Scholar。此项荣誉每年仅授予105位全球顶级研究生。2011年毕业于北京大学信息科学与技术学院,荣获北大优秀毕业生称号及信息科学与技术学院十佳毕业论文。郑泽宇在机器学习、人工智能领域有多年研究经验,并在SIGIR、ACL、ICDM、ICWSM等顶级国际会议上发表多篇学术论文。\u003c/p\u003e\n\u003cp\u003e本文来自郑泽宇在 DataFun 社区的演讲,由 DataFun 编辑整理。\u003c/p\u003e\n

你可能感兴趣的:(TensorFlow技术发展与落地实践)