写点什么

TensorFlow 技术发展与落地实践

  • 2019-03-13
  • 本文字数:2982 字

    阅读完需:约 10 分钟

TensorFlow技术发展与落地实践

本次分享的主要内容包括以下四个方面:首先是深度学习简介;其次是 TensorFlow 简介;然后讲解了深度学习在服装设计方向的机会与挑战;最后重点介绍深度学习的落地实践。


一、 深度学习简介

1.1 深度学习的发展

阿尔法围棋(AlphaGo)是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人, 从 AlphaGo 开始, 人工智能正式走入了大众的视野, 在 10 月 18 日,AlphaGo 的父亲 DeepMind 团队推出了 AlphaGo Zero,从 0 训练用了 40 天时间,以 100:0 击败了当今的世界围棋第一 AlphaGo,AlphaZero 在去年底通过自我对弈,就完爆上一代围棋冠军程序 AlphaGo,且没有采用任何的人类经验作训练数据,不管是 AlphaGo 还是 AlphaGo 他们的原理都是深度学习。


1.2 深度学习的动机

计算机语言一般都是按照固定流程完成任务,但是有一些任务,比如下五子棋、无人驾驶,人脸识别等,很难把他们的流程描述出来。这个时候就需要用到人工智能的方式来实现这些流程不确定的工作。


1.3 深度学习的原理

深度学习是指训练神经网络,把样本 x 输入神经网络,每一个特征都与所有的神经元相互联系,通过习得一个函数,映射到输出 y。



神经网络的结构包含输入层、隐藏层、输出层三部分,以判断零件是否合格为例,一个神经网络可以是输入层输入零件的长度和零件的质量,把参数权重 w、偏置 b 和输入 x 做 wx+b 运算,再通过激活函数激活得到神经元的值传到输出层,如果输出大于 0 则零件是合格,否则不合格。


输入层(Input layer),众多神经元接受大量非线形输入 x。输入的 x 称为输入向量。


输出层(Output layer),x 在神经元链接中传输、分析,形成输出结果。输出的 x 称为输出向量。


隐藏层(Hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。

1.4 深度学习的案例

神经网络在自然语言上的应用:


情感分类:理解情感的语义,先把文字抽象成特征向量,把特征向量输入到神经网络,经过一系列的运算得到正负值,正代表着好评,负代表着差评。



神经网络在图像上的应用:手写数字识别、目标检测


输入图片得到像素矩阵,然后把像素矩阵输入到神经网络,进行目标检测,目标识别,识别出图片中的人、狗和椅子,手写数字也是同理。



目前 google 也在使用深度学习的方式来做推荐:


1.5 深度学习的趋势

可以看出从 2012 开始,深度学习的热度持续增高,一直到 2017 年都处于持续增长状态。2015 年国内开始兴起人工智能,到 2018 年,经过这三年的发展,人工智能的技术已经得到很好的发展,在各种细分的领域得到很好的应用。


二、TensorFlow 简介

2.1 TensorFlow 的前身

TensorFlow 是一个实现深度学习的框架,两者相辅相成,互为基础,他的前身是 DistBelief,DistBelief 只支持 CPU,原因是 google 内部的 CPU 资源非常丰富,可以通过并行的方式,实现高速度。


2.2 TensorFlow 介绍

DistBelief 后来发展为了 TensorFlow,TensorFlow 不依赖 Google 内部系统和架构,能够支持 GPU。

2.3 TensorFlow 早期版本变化

TensorFlow 不断的再创新,增加新功能,迭代速度是非常快的。



从 2015 年以后,TensorFlow 的流行度远超其他深度学习框架。



四款常用的深度学习框架比较:早期的时候图像的框架多用 caffe,但是 TensorFlow 的学习资料会更多一些,所以刚入门的新手推荐用 TensorFlow。


三、深度学习在服装设计方向的机会与挑战

3.1 深度学习落地行业

随着深度学习的发展,深度学习已经和很多行业结合起来,比如 AI+金融,AI+医疗等,但是在服装设计行业还很少,就目前来说,AI+服装行业还是一片蓝海。


3.2 服装设计行业存在的难题

国内的时尚一直以来都是紧跟欧美时尚,国内的服装设计师通过不断的寻找欧美的时尚素材,然后进行二次创造,但是创作的过程存在两个问题,一是时尚素材过于散,查找困难,二是设计师难以理解淘宝上的相关服装数据,没办法利用这些数据服务于设计,这也是知衣科技想要解决的问题,知衣科技是一家 AI 电商解决方案提供商,利用图像识别、个性化推荐等人工智能技术为电商行业提供人工智能解决方案,辅助设计师完成服装设计。



下图是淘宝的数据工具:


3.3 服装设计问题

1)多源:如果有上千个品牌方,就有上千个官网,还有很多的时尚网站,如何去收集这些信息其实是一个难点。


2)异构:设计师需要参考的既有图像类的非结构化数据,也有文字这样的半结构化数据,还有交易结构化数据,如何将这些数据有机的串联起来存在挑战。


3)海量:在互联网上有上百亿的服装信息,上亿的商品交易信息。


如何去处理这些图片、文字、交易信息,去帮助设计师去选款是知衣科技要解决的问题。


四、深度学习的落地实践

4.1 标签问题和解决办法

深度学习的识别和分类都是比较成熟的技术,但是如何把这些技术应用到服装行业确是一个新的问题。目前时尚图片的标注数据准确率低,因为时尚是一个专业性的东西,并不是每一个人都能理解时尚,所以很难标注,知衣科技的标注是由服装学院的设计师们帮忙标注的, 标注的准确率很高。


在服装识别中,我们把服装分为了五大类:上衣、下衣、包、鞋子、连衣裙, 再对五大类做细分,总共有 150 多种标签,设计师需要的是更细的划分,比如前几年流行的一字肩,这种细节需要从大量的数据中去发现。



目前标签存在的两大问题,一是标签的稀疏性,有的标签会比较少,比如双面呢大衣,二是设计细节难打标签,比如袖口的拉链,口袋的开口方向等,会有漏打漏标的情况,所以整体的标签要治理出来是非常困难的,我们开发了一套专门针对服装标签的打标系统,在部分标签体系上能实现 93%到 95%的识别率,设计院校的学生的识别率在 85%-90%,在这个专业领域上已经比别人强了。


4.2 基于 Faster R-CNN Model 的目标检测

整体的网络构造分两层,第一层是 Faster R-CNN 识别服装的过程,第二层是把识别到的服装经过一些风格的过滤器, 输出到不同的 FeatureMap 里,有些是形态的,有些是风格的,然后根据不同的风格进行聚类,再针对这些问题去做回归。



对图片进行多个维度的识别,包括人脸识别,包括以图搜图,搜图目的不同,他们背后的算法、逻辑和训练方式也是不一样的,比如淘宝的找同款或找相似,而我们要解决的是设计师选错款的问题,理解设计师想找到什么图片,这个问题我们抽象成了两个场景,一是全图搜索,看重的是整体的搭配,二是品类相似,是找单品相似款式。


作者介绍

郑泽宇知衣科技联合创始人兼 CEO。国内第一本 TensorFlow 读物《TensorFlow:实战 Google 深度学习框架》作者,该书销量稳居京东人工智能榜前 3。归国创业之前,郑泽宇曾任美国谷歌高级工程师。从 2013 年加入 Google,作为主要技术人员参与并领导了多个大数据项目。由他提出并主导的产品聚类项目用于衔接谷歌购物和谷歌知识图谱(Knowledge Graph)数据,使得知识卡片形式的广告逐步取代传统的产品列表广告,开启了谷歌购物广告在搜索页面投递的新纪元。 2013 年 5 月获得美国 Carnegie Mellon University 大学语言技术研究所硕士学位。期间在国际会议上发表数篇学术论文,并被评为 Siebel Scholar。此项荣誉每年仅授予 105 位全球顶级研究生。2011 年毕业于北京大学信息科学与技术学院,荣获北大优秀毕业生称号及信息科学与技术学院十佳毕业论文。郑泽宇在机器学习、人工智能领域有多年研究经验,并在 SIGIR、ACL、ICDM、ICWSM 等顶级国际会议上发表多篇学术论文。


本文来自郑泽宇在 DataFun 社区的演讲,由 DataFun 编辑整理。


2019-03-13 08:004164

评论

发布
暂无评论
发现更多内容

在历史的天空重逢!大话鲲鹏上海记

脑极体

高性能-Nginx多进程高并发、低时延、高可靠机制在百万级缓存(redis、memcache)代理中间件中的应用

杨亚洲(专注MongoDB及高性能中间件)

nginx memcached 分布式缓存 redis cluster 分布式数据库mongodb

Java集合(1)-- 俯瞰Java集合源码以及分类

秦怀杂货店

Java 源码 Iterator和Iterable JAVA集合

超赞!吃透这份Github点赞120k的Java知识面试笔记Offer拿到手软

比伯

Java 编程 程序员 架构 面试

架构师训练营第 1 期 第 8 周作业

李循律

极客大学架构师训练营

训练营第四周学习总结

爱码士

训练营

机器学习的产业化变革中,华为云ModelArts的新成绩单

脑极体

面试官:Redis 主从复制时网络开小差了怎么整?

redis 学习 面试

8.5网络通信基本原理与性能优化

张荣召

第 4 周作业

Steven

极客大学架构师训练营

8.3红黑树原理与性能特性

张荣召

8.4经典算法

张荣召

Spring改变版本号命名规则:此举对非英语国家很友好

YourBatman

Spring Boot 语义化 Spring Framework 日历化

【薪火计划】02 - 一将功成万骨枯

码字与律动

管理

适合初学者的Web Components教程[2019](译)

西贝

Java Web Component 组件

高可用可伸缩微服务架构:基于Dubbo、SpringCloud和ServiceMesh完整蓝光版PDF分享

Java架构追梦

Java 微服务 dubbo Service Mesh SpringCloud

第5周 技术选型(一)-作业

SuGeek

极客大学架构师训练营

限流、熔断与降级

idonkeyliu

后台开发 熔断 限流 降级

Java 集合(4)-- iterable和iterator异同分析

秦怀杂货店

Java Iterator和Iterable 集合 iterable

8.6非阻塞网络I/O

张荣召

va_list 可变长参数原理

liu_liu

c 可变参数 va_list

每个程序员都应该知道的数字

多颗糖

数据库 计算机基础 存储

Java集合(3)-- iterable接口超级详细解读

秦怀杂货店

Java 源码 Iterator和Iterable 集合 iterable

我画着图,FluentAPI 她自己就生成了

newbe36524

C# .net .net core netcore

flink-sql流计算可视化UI平台

无情

sql flink 实时计算 平台

【干货】内存条的基础讲解,够用绝大多数情况

亚兰—硅的传奇official

计算机基础 内存 装机 硬件

训练营第4周作业

爱码士

训练营

过滤Spark数据集的四种方法

大数志

大数据 spark 数据分析 数据科学

学习总结--week08

张荣召

架构师训练营 1 期 - 第八周总结(vaik)

行之

极客大学架构师训练营

Java集合(2)-- Iterator接口超级详细解读

秦怀杂货店

Java 源码 Iterator和Iterable 集合 Iterator

TensorFlow技术发展与落地实践_框架_DataFunTalk_InfoQ精选文章