与市面上已有的TensorFlow书相比,《深度学习原理与TensorFlow实践》的特色在于一是所有案例来自作者团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性;二是结合了深度学习的关键原理,强化读者对深度学习及TensorFlow架构的理解,从而能在知其然、并知其所以然的基础上,更好地运用TensorFlow来开发各类应用。
《深度学习原理与TensorFlow实践》所梳理出来的清晰脉络和关键知识点,必能让读者在内外兼修的基础上,循序渐进地提升功力,在人工智能时代大放异彩。
喻俨,百纳信息(海豚浏览器)研发副总裁。2007年加入微软亚洲工程院,2011年加入百纳信息负责海外业务线,从0到1做过多个项目,现致力于AI和大数据产品的研究与应用。
莫瑜,先后任职于微软和海豚浏览器,从事搜索引擎、音乐检索/哼唱搜索、内容分发推荐算法和对话机器人技术研发。长期以来持续关注和实践大规模数据算法性能优化、搜索引擎、推荐系统和人工智能技术。
王琛,英国爱丁堡大学人工智能专业硕士,现为百纳信息技术有限公司人工智能方向负责人。早年参加过信息学奥林匹克竞赛获得河北省1名、全国三等奖,并保送进入中山大学。大学期间,在ACM竞赛上也屡获佳绩。硕士毕业后就职于百度基础架构部,参与大数据平台研发工作,对大数据分析处理、分布式系统架构等方面都有比较深刻的理解。2014年加入百纳,负责多个项目的研发,自2016年起负责人工智能方向的探索。
胡振邦,拥有博士学位,百纳信息技术有限公司高级算法研究员,毕业于中国地质大学计算机学院地学信息工程专业。读博期间,参与了关于遥感卫星图像识别分析的863项目,并且是主要的研发人员。毕业以来,一直从事图像识别方面的算法研发工作,主要方向包括目标检测、图文检索、图像分类与验证等,在图像处理、计算机视觉等方面都有深厚的积累和经验。
高杰,是一位1980年出生于苏北的“爱学习、能折腾、有情怀”的大叔。毕业于扬州中学特招班,1998年入学华中科技大学机械系,兼修管理、会计,自学计算机,2003年考入南京大学软件学院,曾任德国西门子内部SAP咨询师,还在中银国际TMT投行、金山软件集团投资部任过职,2015年与合伙人联合创立了图灵科技集团,与华尔街优秀交易团队一起致力于量化交易、算法模型和人工智能在金融领域的应用,目前这家公司管理着超过20亿元的资产,是细分市场的领先公司。
序
从理论到工程
技术发展的过程就是人类在探索自身创造能力边界的过程,而人工智能无疑是重要以及影响深远的领域之一。
AlphaGo及其马甲Master在围棋领域大胜人类高手之后,在智力分析领域人类优势开始出现裂痕。而在“听说读写”方面,不管是语音识别、语音合成、机器翻译,还是图像识别、物体识别,甚至是自动文章生成、自动曲谱生成、艺术图像合成方面,机器已经开始做得比人类更为强大。深度学习在工程领域的突破,使得“机器学习”走出了实验室,进入到工程领域,人类开始重新审视机器能带来的更多可能性。
正如2007年以iPhone为代表的智能手机出现,10年之间已经颠覆了诸多商业领域、影响了人类的生活方式一样,深度学习也必将如此,作为一名技术人,必须理解和跟上行业和时代的变革!
在过去的计算机技术演变过程中,数据主线(展示、逻辑、存储)、架构主线(C/S,B/S,SASS)、语言框架平台主线(语法、库、框架、操作系统、平台)的变迁基本有迹可循,易于举一反三,迁移学习曲线相对平缓。而机器学习的学习曲线相当陡峭,需要同时专注于数据处理、模型构建以及结果优化,颠覆了我们以往对数据处理的理解。作为工程业界人士来说,没有机器学习理论基础的支持,几乎无法应用相关的工具;而没有工程实践的尝试,又很难体系化理解理论基础——入门着实不易。
本书的作者为具有多年研究经验的博士和多年业界工程研发经验的团队,他们在工程领域的经验能快速地帮助读者理解TensorFlow的基础概念,并以快速度搭建环境和跑通Demo。更为重要的是,他们从学术 工程领域的角度,高屋建瓴地拎出了CNN(卷积神经网络)、RNN(循环神经网络)、CNN LSTM(Long Short Term网络)的基本原理,并且结合CNN在图像领域处理、RNN在语义领域处理以及结合CNN LSTM在图像检测和图像摘要生成等基本工程领域的处理,快速地让读者理解深度学习能干什么,如何利用TensorFlow快速解决这些领域的问题,让自己的应用插上“人工智能”的翅膀!
人工智能的时代已经开启,唯有快速拥抱变化才能应对变化,希望读者能借这本书建立对机器学习的宏观认识并对之深入理解,跑步进入机器学习领域!
刘铁锋
《编程之美》作者
海豚浏览器创始人
前言
创造出具有智能的机器一直是人们梦寐以求的理想。自20世纪50年代图灵测试被提出以来,人工智能就成为了计算机科学领域中一个极具吸引力的研究方向。近年来,深度学习是机器学习领域中一个非常具有突破性的研究方向,从AlphaGo战胜李世石,到Prisma运用深度学习技术制作滤镜刷爆全世界的社交网络,深度学习在图像处理、自然语言处理甚至博弈决策等问题上不断取得震惊世人的成绩。
随着科研理论上的不断突破,机器学习基础架构方面也有了长足进步。为了提高科研和应用的开发效率,面向深度学习的开发框架不断涌现,而TensorFlow就是其中的佼佼者。依托于Google强大的影响力,TensorFlow一经发布就吸引了整个行业的关注。TensorFlow自2015年年底在GitHub开源以来,一直是机器学习、深度学习类别中关注度的项目,截至2016年年底,已经获得超过40000个Star。同时,在开源社区共同的努力下,基于TensorFlow开发的各种算法和应用都在飞速增加。
本书结合基于TensorFlow实践的应用代码,介绍了深度学习的基础概念和知识,但需要读者预先掌握一些传统机器学习、神经网络相关方面的知识。同时,本书代码主要基于目前的TensorFlow 1.0版本,大部分为Python代码,需要读者有一定的Python语言基础。希望通过本书的介绍,读者可以由浅入深、由理论到实践全面掌握深度学习的基础知识和实践方法。
本书第1章介绍了深度学习的由来以及发展趋势,简要说明了人工智能、机器学习、深度学习等名词概念之间的联系。第2章主要介绍了TensorFlow系统的基础知识和一些重要概念。第3章通过对Kaggle竞赛平台上的Titanic问题的求解实例,介绍了TensorFlow系统的基本用法,并简要介绍了机器学习问题中的一些常用的处理技巧。第4章和第5章分别介绍了主要应用于图像处理领域的卷积神经网络CNN和主要应用于自然语言处理领域的循环神经网络RNN。其中第4章介绍了CNN的基本原理和多个经典网络结构,并通过图像风格化的实例展示了CNN在更多场景下应用的可能性。第5章介绍了RNN、LSTM以及它们的多种变种结构,并通过实例介绍了如何构建实用的语言模型和对话机器人。第6章介绍了卷积神经网络与循环神经网络的结合,通过图像检测和图像摘要两个问题介绍了CNN LSTM相结合的威力。后的第7章介绍了机器学习中非常重要的损失函数与优化算法在TensorFlow中的实现,对实际使用深度学习解决问题都有极大帮助。
在此感谢互联网时代,感谢Google的开源精神,让我们可以如此紧跟时代前沿的技术,也可以为技术的进步做出自己微薄的贡献。还要感谢电子工业出版社刘皎编辑对新技术的关注和推广,感谢同事、家人、各位好友的支持和帮助,有你们的支持才有此书的出版,不胜感激。
作 者