首页>参考读物>计算机科学与技术>人工智能

神经网络与深度学习实战:Python+Keras+TensorFlow
作者 : 陈屹 编著
出版日期 : 2019-08-02
ISBN : 978-7-111-63266-5
定价 : 109.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 336
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书通过理论与项目实践相结合的方式引领读者进入人工智能技术的大门。本书共15章,涵盖的内容有神经网络初体验;深度学习的微积分基础;深度学习的线性代数基础;神经网络的理论基础;用python从零实现识别手写数字的神经网络;神经网络项目实践;使用神经网络实现机器视觉识别;用深度学习实现自然语言处理;自动编解码网络和生成型对抗性网络;增强性学习网络开发实践;Tensorflow入门;使用Tensorflow和Keras开发高级自然语言处理系统;使用Tensorflow和Keras实现高级图像识别处理系统;使用Tensorflow和Keras打造智能推荐系统;深度学习重要概念和技巧总结。本书尽可能通过细致的讲解降低读者入门人工智能编程的门槛。书中案例丰富,内容非常实用,特别适合有志于投身人工智能领域的IT专业人士或学生阅读。阅读本书需要读者具有一定的数学基础。

图书前言

  2013年3月,人类社会迎来了历史性的转折点。谷歌的AlphaGo干脆利落地击败了围棋世界冠军李世石,由此掀起了人们对人工智能的关注热潮。与此同时,也标志着人类正式进入了智能时代。
  围棋向来被认为是计算机永远无法攻克的人类智慧阵地,甚至很多人一度把围棋的“棋道”看做是“天道”在人间的表现。计算机要在围棋上战胜人类的确很难。长久以来,由于围棋走法的变化万千,传统思维下的计算机程序根本无法应对围棋所展现的复杂局面。
  然而谷歌的DeepMind团队转换了思维方式,将围棋看做是一道数学题,看成是一种数理统计规律在现实世界的呈现。从这个角度来看,围棋“道”的神秘面纱被揭开。其实它并不神秘,而是一种概率性呈现。我们可以应用概率论、数理统计等原理,通过构建模型,然后使用大量实际数据来训练模型。于是我们可以看到,在围棋千变万化表面下的不变本质其实是蕴含在模型中的。
  人工智能解决问题的思维是如此美妙!它是一种全新的思维方式,通过数学模型的方式对万事万物进行解构,然后再用强大的算力抽象出隐藏在事物表象下的规律,因此它是一种高阶思维方式。当你掌握了人工智能的思维方式,特别是人工智能开发技术,那就相当于你能执时代趋势之牛耳,在未来的激烈竞争中立于不败之地。
  对于IT技术人员而言,人工智能的入门曲线极为陡峭,想要掌握它,需要非常扎实的数学理论基础,而且还要把原有的离散化逻辑思维方式转变为数据流似的连续型思维方式。图书市场上虽然已经有了不少人工智能技术书籍,但它们都很少考虑到如何帮助读者顺利度过思维模式转变的困难,本书希望在这方面能做一些有益的尝试。
本书特色
* 内容丰富,不仅涵盖了掌握人工智能技术所需要的数学理论知识,而且还通过大量的项目实战将理论应用于实践。
* 直击人工智能学习的痛点和难点。知其然容易,而知其所以然很难。本书首先通过引入微积分、线性代数和概率论等数学理论知识,为读者掌握人工智能算法奠定了理论基础;然后详细地剖析了神经网络的运行原理,揭开了神经网络的神秘面纱;最后通过一系列项目实践,让读者通过编码的方式全面掌握深度学习的理论和技术。
* 强调理论与实践的结合。本书通过大量的项目实践,帮助读者反复“咀嚼”原本难啃的理论知识。
* 大量的实战案例能将深度学习从高台阶转换为低台阶,从而让读者能够循序渐进、一步一个脚印地进入人工智能的殿堂。
本书内容
  本书共15章,首先从人工智能技术的数学基础讲起,然后剖析神经网络的运行原理,最后以大量的实战案例增强读者对理论的理解和把握。
  第1章快速构建了一个能够实现手写数字图片识别的神经网络,让读者通过实践可以获得对人工智能的感性认识,从而为后续的理性认知打下基础。
  第2章介绍了深度学习所需要的微积分知识,特别是详细介绍了导函数与极值点,以及如何利用梯度下降法求取函数的最小值点,这是深度网络进行训练的理论基础。
  第3章介绍了深度学习所需要的线性代数知识,包括张量、向量及矩阵运算等多种概念。深度学习在应用时需要把数据向量化,因此本章对理解后续项目所需要的数据处理技术非常重要。
  第4章介绍了神经网络的相关概念和体系结构,通过介绍神经元、激活函数、误差反向回传和梯度下降法等概念,让读者对神经网络的运行流程心知肚明。
  第5章是第4章的延续和扩展,用编码的方式把第4章中介绍的概念和算法落地实现,从而通过实践加深对第4章中相关概念的理解和掌握。
  第6~8章进入实战阶段,通过Keras框架实现了深度学习的具体应用。通过实现图像识别和自然语言处理等多个项目,帮助读者深入理解深度学习的开发技巧,特别是对Keras框架的运用。
  第9、10章进入提升阶段,其中,第9章介绍了两种高级网络模式,带领读者理解编解码网络和对抗性生成网络,从而了解这两种网络如何产生相应的“黑科技”效应;第10章通过神经网络和Bellman函数来解决Cartpole问题。
  第11~14章首先介绍了人工智能开发中常用的TensorFlow框架;然后进行了一系列有较高难度的项目实战,其中深入剖析了自然语言处理的算法细节,并尝试实现了高级图形图像处理系统,例如艺术风格的转换、图片和视频流中进行物体识别等;最后介绍了人工智能技术在电商领域中的商业化应用,也就是各种推荐系统的实现。
  第15章对全书讲解过的概念和开发技巧进行了归纳和总结。
本书配套资源
  本书涉及的所有源代码都能在Python 3.0及以上版本的运行环境中正确运行。这些源代码需要读者自行下载。请登录机工新阅读网站(www.cmpreading.com),搜索到本书,然后单击“资料下载”按钮即可在本书页面上找到“配书资源”下载链接。
  为了方便使用,作者将每章对应的源代码存放在相应的文件夹中,读者可以轻易地使用Anacoda编程环境进行加载和运行。
  另外,由于有些项目对于没有GPU的读者而言运行时间会非常长,因此作者将训练好的网络以文件的方式进行了存储,读者在进行项目实践时可以按照本书中给出的方式加载相应的网络参数,从而跳过耗时的网络训练步骤,节省不必要的时间浪费。
本书读者对象
  本书适合有志于投身人工智能领域的IT专业人士或相关院校的学生阅读。具体包括:
* Python程序员;
* 对人工智能编程感兴趣的人员;
* 神经网络研究人员;
* 对深度学习技术感兴趣的人员;
* 想转行到人工智能领域的技术人员;
* 深度学习项目研发人员;
* 高校相关专业的学生;
* 专业培训机构的学员。
  阅读本书需要读者具有一定的数学基础。
本书作者
  本书由陈屹编写。作者数学专业毕业,有十几年的软件开发经验,曾在微软、联想和RealNetworks等国内外知名公司从事开发工作,熟练掌握C++、Java和Python等开发语言,擅长算法逻辑和架构设计。
  感谢在写作和出版过程中给予作者大量帮助的各位编辑!
  由于作者水平所限,加之写作时间较为仓促,书中可能还存在一些疏漏和不足之处,敬请各位读者批评指正。联系邮箱:hzbook2017@163.com。
  最后祝读书快乐!
  
  作者

上架指导

计算机/人工智能/深度学习与神经网络

封底文字

本书通过理论与项目实践相结合的方式引领读者进入人工智能技术的大门。书中首先从人工智能技术的数学基础讲起,然后重点剖析神经网络的运行流程,最后以大量的实际项目编码实践方式帮助读者扎实地掌握人工智能开发所需要的基本理论知识和核心开发技术。
本书共15章,涵盖的内容有神经网络初体验;深度学习的微积分基础;深度学习的线性代数基础;神经网络的理论基础;用Python从零实现识别手写数字的神经网络;神经网络项目实践;使用神经网络实现机器视觉识别;用深度学习实现自然语言处理;自动编解码网络和生成型对抗性网络;增强性学习网络的开发实践;TensorFlow入门;使用TensorFlow和Keras开发高级自然语言处理系统;使用TensorFlow和Keras实现高级图像识别处理系统;使用TensorFlow和Keras打造智能推荐系统;深度学习重要概念和技巧总结。
本书尽可能通过细致的讲解降低读者入门人工智能编程的门槛。书中案例丰富,内容非常实用,特别适合有志于投身人工智能领域的IT专业人士或学生阅读。阅读本书需要读者具有一定的数学基础。

图书目录

前言
本书内容导图
第1章 神经网络初体验 1
1.1 开发环境的安装 1
1.2 快速构建一个识别手写数字图片的神经网络 2
第2章 深度学习中的微积分基础 8
2.1 实数中的无理数 8
2.2 什么叫极限 10
2.3 函数的连续性 12
2.4 函数求导 13
2.5 导数的一般法则 15
2.6 间套函数的链式求导法则 17
2.7 多变量函数与偏导数 19
2.8 导数与极值 19
2.9 使用导数寻求函数的最小值 21
第3章 深度学习的线性代数基础 25
3.1 常量与向量 26
3.2 矩阵及相关操作 26
3.3 tensor——多维向量 28
3.4 向量范数 30
第4章 神经网络的理论基础 31
4.1 详解神经网络中的神经元激活函数 31
4.2 使用矩阵运算驱动神经网络数据加工链 38
4.3 通过反向传播算法回传误差改进链路权重 42
4.4 使用矩阵和梯度下降法实现神经网络的迭代训练 45
4.5 手算梯度下降法,详解神经网络迭代训练过程 53
第5章 用Python从零实现识别手写数字的神经网络 58
5.1 基本框架的搭建 58
5.2 实现网络的迭代训练功能 62
5.3 网络训练,识别手写数字图片 64
第6章 神经网络项目实践 70
6.1 使用神经网络分析电影评论的正能量和负能量 70
6.2 使用神经网络实现新闻话题分类 78
6.3 使用神经网络预测房价中位数 83
第7章 使用神经网络实现机器视觉识别 90
7.1 卷积神经网络入门 90
7.2 从零开始构造一个识别猫、狗图片的卷积网络 93
7.3 使用预先训练的卷积网络实现图像快速识别 101
7.4 视觉化神经网络的学习过程 105
7.5 揭秘卷积网络的底层原理 109
第8章 用深度学习实现自然语言处理 124
8.1 Word Embedding 单词向量化 124
8.2 概率论的一些重要概念 130
8.3 skip-gram单词向量化算法的数学原理 136
8.4 使用预先训练好的单词向量实现新闻摘要分类 140
8.5 RNN——具有记忆功能的神经网络 143
8.6 LSTM网络层详解及其应用 145
8.7 使用RNN和CNN混合的“鸡尾酒疗法”提升网络运行效率 148
第9章 自动编解码网络和生成型对抗性网络 150
9.1 自动编解码器网络的原理与实现 150
9.2 去噪型编解码网络 154
9.3 使用自动编解码网络实现黑白图片上色 157
9.4 生成型对抗性网络 162
9.5 生成型对抗性网络的代码实现 163
9.6 条件性生成型对抗性网络 169
第10章 增强性学习网络开发实践 176
10.1 增强性学习网络的基本原理 176
10.2 开发环境配置 177
10.3 增强性学习网络的数学原理 179
10.4 Bellman函数和最优化 180
10.5 Bellman等式的推导 181
10.6 用实例讲解Bellman函数的应用 182
10.7 解决冰冻湖问题 185
10.8 ε贪婪算法 188
10.9 运用神经网络和Bellman函数解决Cartpole问题 188
第11章 TensorFlow入门 193
11.1 TensorFlow图运算原理 193
11.2 TensorFlow代码实践 195
11.3 TensorFlow的输入、变量、输出及运算操作 197
11.4 TensorFlow的变量定义 200
11.5 TensorFlow的运算输出及运算操作 201
11.6 用TensorFlow开发神经网络的相关操作 204
11.7 开发TensorFlow程序应注意的事项 207
11.8 使用TensorFlow开发神经网络 213
第12章 使用TensorFlow和Keras 开发高级自然语言处理系统 218
12.1 Skip-Gram算法实现 218
12.2 使用RNN网络模型的基本原理 230
12.3 代码实现RNN网络 232
12.4 LSTM网络的结构原理 242
12.5 使用LSTM网络实现人机问答系统 247
第13章 使用TensorFlow和Keras 实现高级图像识别处理系统 256
13.1 实现艺术风格的转换 256
13.2 使用胶囊网络实现服装识别 266
13.3 使用TensorFlow API 实现精准物体识别 285
13.4 DeeDream:使用神经网络构造具有惊悚审美效果的艺术作品 293
第14章 使用TensorFlow和Keras 打造智能推荐系统 300
14.1 创造一个网易云音乐推荐引擎 300
14.2 使用TensorFlow构建高质量商品推荐系统 309
14.3 实现淘宝“拍立淘”图片搜索引擎 313
第15章 深度学习的重要概念和技巧总结 319

教学资源推荐
作者: (澳) Michael Negnevitsky 著
作者: [波]伍拉迪斯罗·霍曼达(Władysław Homenda) [加]维托德·派提兹 (Witold Pedrycz) 著
作者: [奥]迪特尔·施马尔斯蒂格(Dieter Schmalstieg) [美]托比亚斯·霍勒尔(Tobias Höllerer) 著
作者: 主编 段峰 参编 韩书宁 谭莹 金天磊 张丽娜 张明昕
参考读物推荐
作者: [美]摩根·奎格利(Morgan Quigley) 布莱恩·格克(Brian Gerkey) 威廉 D.斯马特(William D. Smart)著