白话深度学习与TensorFlowpdf下载

白话深度学习与TensorFlow百度网盘pdf下载

作者:
简介:白话深度学习与TensorFlow
出版社:机械工业出版社
出版时间:2017-07-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

  技术畅销书《白话大数据与机器学习》姊妹篇,YY大数据专家撰写,李学凌、朱频频、王庆法、王海龙联袂推荐。以插图、类比和大量示例趣说深度学习网络的关键理念、算法与TensoeFlow实践,涵盖BP网络、CNN、RNN、受限玻尔兹曼机、深度残差网络、强化学习、对抗学习,以及多个有趣应用。


  特别说明:购买此电子书,暂无附赠视频,敬请谅解。

内容简介
  本书基本独立成册,适用于零基础的初学者。
  基础篇(第1~3章),讲解了机器学习、深度学习与实践的上下文知识,如基本的机器学习与深度学习算法,TensorFlow框架的安全与配置,简单的深度学习实践。该篇是阅读和实践的基石。
  原理与实践篇(第4~8章),介绍“老牌”的深度学习网络的数学原理和工程实现原理,尤其是第4章,如果能基本读懂,后面的网络实现层面的问题基本都可以迎刃而解。涵盖BP网络、CNN、RNN的结构、思路、训练与使用,以及一些常见的综合性问题。该篇是学习深度学习的重点和难点,作者通过大量示例、推理与实现,帮读者*大化降低学习曲线。
  扩展篇(第9~13章),介绍一些网络的变种和一些较新的网络特性,涵盖深度残差网络、受限玻尔兹曼机、强化学习、对抗学习,这是读者进一步学习与实践思路的钥匙。很后给出了一些有趣的深度学习应用:人脸识别、作诗姬、大师风图像处理,有趣又有用。
作者简介
  高扬,欢聚时代资深大数据专家,曾任金山软件西山居大数据架构师。有多年服务器端开发经验(多年日本和澳洲工作经验),多年大数据架构设计与数据分析、处理经验,目前负责欢聚时代直播部深度学习落地相关的研究。擅长传统机器学习、深度学习、数据建模、关系型数据库应用以及大数据框架等的应用。
  卫峥,欢聚时代YY娱乐事业部软件架构师,曾任西山居软件架构师。多年的软件开发和架构经验,精通C/C++、Python、Golang、JavaScript等多门编程语言,近几年专注于数据处理、机器学和深度学习算法的研究、音视频图形图像处理,应用与服务研发。曾在新浪网平台架构部负责音视频转码平台的架构和研发工作,为新浪微博、新浪微盘、秒拍等提供视频在线观看服务。在慕课网、InfoQ、麦思博、51CTO等平台担任讲师。
  万娟,深圳华为UI设计师,曾任星盘科技有限公司UI设计师平面,对VI设计、包装、海报设计等、商业插画、App交互、网页设计等有独到认识。多次参与智能家居和智能音箱等项目的UI设计。多次参加国际和国内艺术和工业设计比赛,并获奖。从小酷爱绘画,理想是开一个属于自己的画室。
目录
版权信息
本书赞誉

前言
基础篇
第1章 机器学习是什么
第2章 深度学习是什么
第3章 TensorFlow框架特性与安装
原理与实践篇
第4章 前馈神经网络
第5章 手写板功能
第6章 卷积神经网络
第7章 综合问题
第8章 循环神经网络
扩展篇
第9章 深度残差网络
第10章 受限玻尔兹曼机
第11章 强化学习
第12章 对抗学习
第13章 有趣的深度学习应用
附录A VMware Workstation的安装
附录B Ubuntu虚拟机的安装
附录C Python语言简介
附录D 安装Theano
附录E 安装Keras
附录F 安装CUDA
参考文献
媒体评论
  这本书概念清晰,语言平实,实例讲解丰富,是一本非常适合入门的深度学习读本,尤其是对公式推导做了很大程度的白话解释与避让,使得可读性大大增强。相信每位读者都能从中汲取到相应的知识与启发。
  ——李学凌,欢聚时代董事长兼CEO

  本书是一本很好的深度学习入门读物,从机器学习的基本概念过渡到深度神经网络的原理和应用,并延伸到网络的一些变种和新的特性。读完此书可以全面了解深度学习以及TensorFlow开源框架的相关内容,你可以感受到其实深度学习并不神秘,人工智能的未来人类完全可以掌控。
  ——朱频频,小i机器人创始人、总裁兼首席执行官

  我曾经想过写本书,用通俗易懂的方式介绍大数据与深度学习的方方面面,现在看来不需要了,高扬先生这套白话系列图文并茂、深入浅出又不失学术性,非常值得研读。
  ——王庆法,阳光保险集团大数据中心首席架构师、首席数据官

  看到了本书,笔者不由眼前一亮。关于技术观点的讲解即不乏专业性,又以浅显的例子告诉普通人,机器学习是什么。一本非常好的科普性的技术著作,希望更多的人可以通过作者的文字,真正理解人工智能的关键技术、深度学习的原理及实际未来的前景。也期待更多的爱好者,由此书可以加入到深度学习工作中,为未来人工智能的发展写下浓重的一笔。
  ——王海龙,秒钱CTO
前言
  为什么要写这本书
  近些年来,伴随着计算机计算能力的不断升级,很多原来只有在科幻电影里才有的桥段越来越多地出现在我们身边了,并给了我们更多的想象空间与期待。
  在2016年,人工智能界很令人瞩目的事情莫过于谷歌的AlphaGo以4:1的悬殊比分轻松击败韩国著名九段围棋大师李世石。之后化名“Master”的AlphaGo更是一路大开杀戒,分别在对弈网站“弈城”和“腾讯围棋”登录,先后打败了柯洁九段、朴廷桓九段、陈耀烨九段以及创造日本大满贯传奇的井山裕太和亚洲杯冠军李钦诚等世界一流高手,取得了50胜0负的战绩。当然了,“玩不起”的人类很终觉得让AlphaGo在国际围棋网站排名上占一个坑来碾压人类是非常“不公平”的事情,很终把人家给拉黑了。
  人类这么做是不是有违AI(ArtificialIntelligence,人工智能)研究的初衷暂且不讨论,毕竟我们的眼光还是应该更多地投向那些“更有趣”的领域。除此之外,还有很多非常有趣的人工智能项目也经常在网络视频中带给我们惊喜,比如谷歌的机械狗、谷歌的无人驾驶汽车等。
  这种机械狗很有趣,除了能够彼此之间互相协调进行编队行进以外,还能像真的狗一样在被踢了一脚之后迅速调整重心,并在短暂的踉跄后站稳,然后继续先前作业,不过怎么踢都不会来咬你。
  而谷歌的无人驾驶汽车也有着非常优异的能力,到2015年11月底为止,根据谷歌提交给机动车辆管理局的报告,谷歌的无人驾驶汽车在自动模式下已经完成了130多万英里的里程。
  可以说,这些事情都在鼓舞着我们这些对未来世界充满渴望的人投入更多的精力去研究AI带来的新惊喜,而人工智能这一领域中很为核心的内容之一就是深度学习。深度学习现在在全世界范围内都有着众多的专业工作者和业余爱好者在进行着研究,并且每个月都有不少新的落地产品问世。应该说,深度学习是目前世界上很热门的研究领域之一,而且也是未来几十年很热门的研究方向之一。
  在中国,深度学习也有着众多的专业研究机构和业余爱好者,在我的周围就有数以千计的深度学习爱好者——这一点都不夸张,他们非常渴望了解深度学习的知识并加以应用。但是,深度学习由于其本身的复杂性,使得很多有着浓厚兴趣的爱好者望而却步,我认为主要的门槛来自于两个方面。
  一方面,深度学习是非常典型的计算密集型的应用领域,家用PC机通常是无法有效胜任一个完整而可靠的深度学习应用的(作为初级实验或者“玩具”的除外)。不过现在随着CPU的计算速度逐步加快,以及GPU应用的不断普及,这方面的门槛在慢慢地降低。
  另一方面,深度学习从其解决问题的根本理论方面需要比较深厚和扎实的数学基础,尤其是高等数学、线性代数、泛函分析及其延伸学科的基础,这就使得很多高等数学相关基础不好的朋友学习起来非常吃力。当然,这一方面目前可以走的捷径也不是没有,我们可以通过现成的框架(比如TensorFlow、Torch、Caffe或Theano等)来搭建环境,并用简单的代码或模型描述文件来组建一个相对完整的神经网络进行学习和分类应用。
  除此之外,像Caffe还有一个叫做ModelZoo的共享社群——这是一个让大家把已经训练好的模型放在上面做共享的社群。在模型训练中,前面大量耗时的分析和建模工作以及训练后得到的很宝贵的模型成果就可以浓缩并沉淀为一个可下载的模型描述文件,里面是网络的节点权重和拓扑结构信息。这种社群化的方式会让很多原本没有太好训练条件的朋友有了可以学习和借鉴的对象,也有了可以游乐和尝试的空间。这些模型需要在其各自的授权使用协议下合理使用,有的是允许进行商业应用和改动,而有的则不可以,这一点需要注意。在下载后,我们可以对其进行FineTuning,也就是进行细节调优或改进性训练,使得这些模型可以在自己需要的环境和条件下更好地工作。不过这个地方还是有一个门槛,对于很多数学能力欠佳的工程师来说,不容易迈过去,那就是训练和调优中的方向性问题。一旦出现召回率和准确率不再提高,或者性能等问题,往往会找不到改进的方向和方法,这是需要扎实的数学基础和深度学习领域的实践经验来解决的。
  我们这本书的宗旨很简单,就是希望通过聊天和讲故事的方式,凭借高中以上水平的数学知识把大家一步一步地带入深度学习的领域。只要大家在阅读本书的时候保持一点点耐心,即便没有高等数学知识的朋友,通过努力也一样可以基本掌握深度学习的应用技巧。请不要犹豫,跟我来吧!
  本书特色
  本书本着“平民”起点,从“零”开始的初衷,介绍深度学习的技术与技巧,逐层铺垫,把微积分、梯度等知识重点化整为零,把学习曲线很大程度地拉平,让读者有良好的代入感和亲近感。
  本书用漫画插图来调节阅读气氛,并且在每个讲解的部分都有对比和实例说明,相信每位读者都能感受到非常好的阅读平滑感。
  读者对象
  对深度学习有兴趣但数学基础弱的开发人员与架构师
  科研院所的研究人员
  对深度学习有兴趣的大学生、研究生
  其他深度学习爱好者,如产品经理、投资人、管理者等
  如何阅读本书
  本书基本独立成册,适用于零基础的初学者,但仍建议以本书姊妹篇《白话大数据与机器学习》为引导读物。本书共分三篇,共13章。
  基础篇(第1~3章),介绍一些非常基础的概念铺垫,以便了解背景。
  原理与实践篇(第4~8章),介绍老牌的深度学习网络的数学原理和工程实现原理。尤其是第4章,如果读者能基本读懂,后面的网络实现层面的问题基本都可以迎刃而解。
  扩展篇(第9~13章),介绍一些网络的变种和一些较新的网络特性。
  其实当你把这本书看完后,就会知道这种技术的底层原理虽然略显复杂,但是在框架逐步成熟以及开源项目日益增加的情况下,对于应用市场层面的技术人员来说,真正要做的工作已经不是书写复杂的算法了——这些都已经被很好地封装到内聚性极高的框架中,而且开放了友好的接口和足够多的参数给使用者做调整。这样一来,很重要的工作反而是海量样本的低成本获取和丰富的计算资源的获取。因此从这个角度来看,我可以负责任地说,深度学习领域的门槛在一定程度上应该说比传统机器学习的还要低。当读完这本书时,你就会发现,深度学习真的不难。
  勘误和支持
  由于笔者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,欢迎扫描下方的二维码,关注奇点大数据微信公众号qddata和我们进行互动讨论。当然,在公众号的消息中你也可以找到书中的代码地址和QQ讨论群的信息。
  同时,你也可以通过邮箱77232517@qq.com联系到我,期待能够得到大家的真挚反馈,在技术之路上互勉共进。
  在此,感谢辽宁工程大学副教授(海归博士后)常戬博士、山东交通学院理学院讲师许文杰博士、许昌学院信息工程学院讲师姚丹丹博士在审校工作方面的支持与帮助,以及深圳华为技术有限公司的万娟女士在插画方面对本书的大力支持。
  高扬
精彩书摘
  机器学习是一个跟“大数据”一样近几年格外火的词汇。我们在了解深度学习之前,还是有必要了解和认识机器学习这个词的。机器学习究竟是一个什么过程或者行为呢?
  机器学习——我们先想想人类学习的目的是什么?是掌握知识、掌握能力、掌握技巧,很终能够进行比较复杂或者高要求的工作。那么类比一下机器,我们让机器学习,不管学习什么,很终目的都是让它独立或至少半独立地进行相对复杂或者高要求的工作。我们在这里提到的机器学习更多是让机器帮助人类做一些大规模的数据识别、分拣、规律总结等人类做起来比较花时间的事情。这个就是机器学习的本质性目的。
  在人类发展的历史长河中,机器逐步代替人的生产工作是一个不可逆转的趋势——从原始人的刀耕火种,氏族部落大量原始人共同使用极为原始的工具共同狩猎,到后来随着生产力发展和工种分化的不断相互刺激,越来越多的工具出现,代替了原本生产所需要的众多人工。
  在近现代,尤其是第一次和第二次工业革命之后,化石能源驱动的高能量的机器再一次在更多的领域取代人力、畜力,大大改善了人类的生产效率。
  在信息革命之后,随着计算机的计算能力增强,以及在计算机算法领域新理论、新技术的逐渐发展,机器也逐渐代替人,参与到更多的带有“一定的智能性”的信息分拣与识别的工作中来。这里面我们着重要提一下这个“一定的智能性”。
  算法这种东西在很初出现的时候是一种确定性的机器指令执行序列,也就是说,机器需要怎么做是早在程序一开始就设定好的。虽然说在程序执行的过程中可以依靠有限的参数对程序执行过程所涉及的对象、执行次数、执行分支条件等进行设定,但是基本行为逻辑已经大抵确定。在这个过程中,机器——计算机是非常被动的,它老老实实地严格执行程序员赋予它的指令执行序列,没有任何“学习”的行为。这也没办法,因为很开始的图灵机模型在设计的时候就是期望计算机以这种方式工作的。
  而机器学习这个领域的思路就与刚才我们所说的这样一个形式有很大的区别。我们以有监督学习的过程为例,例如有一个分类器,可以将输入的邮件分拣为“普通邮件”和“垃圾邮件”两个类别。但是对于垃圾邮件的判断标准不是在程序运行伊始给出的,而是在给予分类器大量垃圾邮件后,由分类器对垃圾邮件样本的各种特征进行统计和归纳,进而得到的。
  在这个训练过程中,给予分类器的大量被标注为垃圾邮件的邮件,称为训练样本(training sample)。分类器对垃圾邮件样本的特征进行统计和归纳的过程称为训练(traning)。总结出的判断标准,我们称为分类模型。与此同时,我们还会拿其他一些“普通邮件”和“垃圾邮件”给予分类器,让它尝试根据刚刚总结好的分类模型进行分类,看看它分类的正确性是否确实具有泛化性(generalization),这个步骤我们称为验证(validation)。这个过程主要是为了验证从训练样本中归纳总结出来的数据关系是否能够迁移。在此之后,我们还会使用一定量的“普通邮件”和“垃圾邮件”去测试(testing)这个模型的识别能力,看看是不是在我们业务允许的范围内。这是一个基本完整的有监督学习(supervised learning)的学习过程。
精彩插图