内容简介

本书由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,涉及计算机视觉、自然语言处理、生成式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。由于本书立足于人工智能的可达性和大众化,读者无须具备机器学习相关背景知识即可展开阅读。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。

作者简介

【作者简介】

弗朗索瓦•肖莱(François Chollet)

Keras之父,TensorFlow机器学习框架贡献者,Kaggle竞赛教练,个人Kaggle竞赛全球排名曾获得第17名。目前任职于Google,从事人工智能研究,尤其关注计算机视觉与机器学习在形式推理方面的应用。

【译者简介】

张亮(hysic)

毕业于北京大学物理学院,爱好机器学习和数据分析的核安全工程师,译有《Python数据处理》《Python机器学习基础教程》等。

目录

第一部分 深度学习基础

第1章 什么是深度学习 

1.1 人工智能、机器学习与深度学习  
1.1.1 人工智能  
1.1.2 机器学习  
1.1.3 从数据中学习表示  
1.1.4 深度学习之“深度”  
1.1.5 用三张图理解深度学习的工作原理 
1.1.6 深度学习已经取得的进展 
1.1.7 不要相信短期炒作 
1.1.8 人工智能的未来  
1.2 深度学习之前:机器学习简史  
1.2.1 概率建模  
1.2.2 早期神经网络  
1.2.3 核方法  
1.2.4 决策树、随机森林与梯度提升机 
1.2.5 回到神经网络  
1.2.6 深度学习有何不同  
1.2.7 机器学习现状  
1.3 为什么是深度学习,为什么是现在  
1.3.1 硬件  
1.3.2 数据  
1.3.3 算法  
1.3.4 新的投资热潮  
1.3.5 深度学习的大众化  
1.3.6 这种趋势会持续吗  

第2章 神经网络的数学基础 

2.1 初识神经网络 
2.2 神经网络的数据表示  
2.2.1 标量(0D张量) 
2.2.2 向量(1D张量)  
2.2.3 矩阵(2D张量)  
2.2.4 3D张量与更高维张量  
2.2.5 关键属性  
2.2.6 在Numpy中操作张量  
2.2.7 数据批量的概念  
2.2.8 现实世界中的数据张量  
2.2.9 向量数据 
2.2.10 时间序列数据或序列数据  
2.2.11 图像数据  
2.2.12 视频数据  
2.3 神经网络的“齿轮”:张量运算 
2.3.1 逐元素运算  
2.3.2 广播  
2.3.3 张量点积 
2.3.4 张量变形  
2.3.5 张量运算的几何解释
2.3.6 深度学习的几何解释 
2.4 神经网络的“引擎”:基于梯度的优化  
2.4.1 什么是导数 
2.4.2 张量运算的导数:梯度  
2.4.3 随机梯度下降  
2.4.4 链式求导:反向传播算法  
2.5 回顾第一个例子  
本章小结  

第3章 神经网络入门  

3.1 神经网络剖析  
3.1.1 层:深度学习的基础组件  
3.1.2 模型:层构成的网络  
3.1.3 损失函数与优化器:配置学习过程的关键  
3.2 Keras简介  
3.2.1 Keras、TensorFlow、Theano 和CNTK  
3.2.2 使用Keras 开发:概述  
3.3 建立深度学习工作站  
3.3.1 Jupyter笔记本:运行深度学习实验的首选方法  
3.3.2 运行Keras:两种选择  
3.3.3 在云端运行深度学习任务:优点和缺点  
3.3.4 深度学习的最佳GPU  
3.4 电影评论分类:二分类问题  
3.4.1 IMDB 数据集  
3.4.2 准备数据  
3.4.3 构建网络  
3.4.4 验证你的方法 
3.4.5 使用训练好的网络在新数据上生成预测结果  
3.4.6 进一步的实验 
3.4.7 小结  
3.5 新闻分类:多分类问题 
3.5.1 路透社数据集  
3.5.2 准备数据 
3.5.3 构建网络  
3.5.4 验证你的方法  
3.5.5 在新数据上生成预测结果  
3.5.6 处理标签和损失的另一种方法 
3.5.7 中间层维度足够大的重要性  
3.5.8 进一步的实验  
3.5.9 小结  
3.6 预测房价:回归问题  
3.6.1 波士顿房价数据集 
3.6.2 准备数据  
3.6.3 构建网络  
3.6.4 利用K折验证来验证你的方法  
3.6.5 小结  
本章小结 

第4章 机器学习基础  

4.1 机器学习的四个分支  
4.1.1 监督学习  
4.1.2 无监督学习  
4.1.3 自监督学习  
4.1.4 强化学习 
4.2 评估机器学习模型  
4.2.1 训练集、验证集和测试集  
4.2.2 评估模型的注意事项  
4.3 数据预处理、特征工程和特征学习  
4.3.1 神经网络的数据预处理  
4.3.2 特征工程 
4.4 过拟合与欠拟合 
4.4.1 减小网络大小 
4.4.2 添加权重正则化 
4.4.3 添加dropout正则化  
4.5 机器学习的通用工作流程 
4.5.1 定义问题,收集数据集 
4.5.2 选择衡量成功的指标  
4.5.3 确定评估方法  
4.5.4 准备数据 
4.5.5 开发比基准更好的模型 
4.5.6 扩大模型规模:开发过拟合的模型 
4.5.7 模型正则化与调节超参数 
本章小结  
第二部分 深度学习实践

第5章 深度学习用于计算机视觉 

5.1 卷积神经网络简介  
5.1.1 卷积运算  
5.1.2 最大池化运算 
5.2 在小型数据集上从头开始训练一个卷积神经网络  
5.2.1 深度学习与小数据问题的相关性  
5.2.2 下载数据  
5.2.3 构建网络  
5.2.4 数据预处理 
5.2.5 使用数据增强  
5.3 使用预训练的卷积神经网络  
5.3.1 特征提取  
5.3.2 微调模型  
5.3.3 小结  
5.4 卷积神经网络的可视化  
5.4.1 可视化中间激活 
5.4.2 可视化卷积神经网络的过滤器 
5.4.3 可视化类激活的热力图  
本章小结  

第6章 深度学习用于文本和序列  

6.1 处理文本数据  
6.1.1 单词和字符的one-hot编码  
6.1.2 使用词嵌入 
6.1.3 整合在一起:从原始文本到词嵌入 
6.1.4 小结 
6.2 理解循环神经网络
6.2.1 Keras中的循环层 
6.2.2 理解LSTM层和GRU层  
6.2.3 Keras中一个LSTM的具体例子  
6.2.4 小结  
6.3 循环神经网络的高级用法  
6.3.1 温度预测问题 
6.3.2 准备数据  
6.3.3 一种基于常识的、非机器学习的基准方法  
6.3.4 一种基本的机器学习方法 
6.3.5 第一个循环网络基准  
6.3.6 使用循环dropout来降低过拟合  
6.3.7 循环层堆叠  
6.3.8 使用双向RNN  
6.3.9 更多尝试  
6.3.10 小结  
6.4 用卷积神经网络处理序列  
6.4.1 理解序列数据的一维卷积  
6.4.2 序列数据的一维池化  
6.4.3 实现一维卷积神经网络  
6.4.4 结合CNN和RNN来处理长序列  
6.4.5 小结  
本章总结  

第7章 高级的深度学习最佳实践  

7.1 不用Sequential模型的解决方案:Keras 函数式API 
7.1.1 函数式API简介  
7.1.2 多输入模型  
7.1.3 多输出模型 
7.1.4 层组成的有向无环图  
7.1.5 共享层权重  
7.1.6 将模型作为层  
7.1.7 小结  
7.2 使用Keras回调函数和TensorBoard来检查并监控深度学习模型  
7.2.1 训练过程中将回调函数作用于模型 
7.2.2 TensorBoard简介:TensorFlow的可视化框架
7.2.3 小结  
7.3 让模型性能发挥到极致 
7.3.1 高级架构模式 
7.3.2 超参数优化 
7.3.3 模型集成  
7.3.4 小结  
本章总结  

第8章 生成式深度学习  

8.1 使用LSTM生成文本  
8.1.1 生成式循环网络简史 
8.1.2 如何生成序列数据  
8.1.3 采样策略的重要性  
8.1.4 实现字符级的LSTM文本生成 
8.1.5 小结  
8.2 DeepDream  
8.2.1 用Keras实现DeepDream  
8.2.2 小结  
8.3 神经风格迁移  
8.3.1 内容损失  
8.3.2 风格损失  
8.3.3 用Keras实现神经风格迁移  
8.3.4 小结  
8.4 用变分自编码器生成图像  
8.4.1 从图像的潜在空间中采样  
8.4.2 图像编辑的概念向量 
8.4.3 变分自编码器  
8.4.4 小结  
8.5 生成式对抗网络简介  
8.5.1 GAN 的简要实现流程  
8.5.2 大量技巧  
8.5.3 生成器  
8.5.4 判别器  
8.5.5 对抗网络  
8.5.6 如何训练DCGAN  
8.5.7 小结  
本章总结  

第9章 总结  

9.1 重点内容回顾  
9.1.1 人工智能的各种方法 
9.1.2 深度学习在机器学习领域中的特殊之处 
9.1.3 如何看待深度学习  
9.1.4 关键的推动技术  
9.1.5 机器学习的通用工作流程  
9.1.6 关键网络架构  
9.1.7 可能性空间 
9.2 深度学习的局限性  
9.2.1 将机器学习模型拟人化的风险  
9.2.2 局部泛化与极端泛化 
9.2.3 小结 
9.3 深度学习的未来 
9.3.1 模型即程序 
9.3.2 超越反向传播和可微层  
9.3.3 自动化机器学习 
9.3.4 终身学习与模块化子程序复用  
9.3.5 长期愿景  
9.4 了解一个快速发展领域的最新进展 
9.4.1 使用Kaggle练习解决现实世界的问题  
9.4.2 在arXiv阅读最新进展 
9.4.3 探索Keras生态系统 
9.5 结束语  

Python深度学习 deep learning with Python的更多相关文章

  1. Python深度学习(Deep Learning with Python) 中文版+英文版+源代码

    Keras作者.谷歌大脑François Chollet最新撰写的深度学习Python教程实战书籍(2017年12月出版)介绍深入学习使用Python语言和强大Keras库,详实新颖.PDF高清中文版 ...

  2. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  3. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  4. 机器学习——深度学习(Deep Learning)

    Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,近期研究了机器学习中一些深度学习的相关知识,本文给出一些非常实用的资料和心得. Key W ...

  5. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  6. (转)机器学习——深度学习(Deep Learning)

    from:http://blog.csdn.net/abcjennifer/article/details/7826917 Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立 ...

  7. 机器学习(Machine Learning)&amp;深度学习(Deep Learning)资料

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...

  8. (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

    特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

  9. 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    [重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .

随机推荐

  1. 苹果联合创始人高调宣布弃用Facebook是什么梗?

    这段时间,扎克伯格非常郁闷.泄密丑闻不仅让Facebook股价大跌.引来审查等,还被众多互联网.科技大佬批判.孤立.如,"钢铁侠"马斯克就直接删除了SpaceX 和特斯拉的 Fac ...

  2. JVM内存基本理解

    声明:本文内容仅作为本人方便记忆和查看所用. JVM有五块内存空间: 1.method area:用于存储已被加载的类信息.常量.静态变量.即时编译后的代码等数据. 注:在JDK8中,Method A ...

  3. 吴裕雄--天生自然python学习笔记:beautifulsoup库的使用

    Beautiful Soup 库简介 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简 ...

  4. 前端页面设计常见的30个CSS选择器

    1. *   -->   通配符选择器 * { margin: 0; padding: 0; } 星号符会选择页面每个元素.很多开发者用它把所有margin和padding归零.这当然是快捷测试 ...

  5. 自动清理IIS log 日志脚本

    系统环境:windows server 2012 r2 IIS 版本:IIS8 操作实现清理IIS log File 脚本如下: @echo off ::自动清理IIS Log file set lo ...

  6. OLE DB访问接口“MICROSOFT.JET.OLEDB.4.0”配置为在单线程单位模式下运行,所以该访问接口无法用于分布式

    OLE DB访问接口"MICROSOFT.JET.OLEDB.4.0"配置为在单线程单位模式下运行,所以该访问接口无法用于分布式 数据库操作excel时遇到的以上问题的解决方法 解 ...

  7. Java入门教程八(面向对象)

    对象概念 一切皆是对象.把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作.一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的.对象之间通过 ...

  8. 7-5 jmu-python-分段函数1 (10 分)

    本题目要求计算下列分段函数f(x)的值(x为从键盘输入的一个任意实数): 输入格式: 直接输入一个实数给 x,没有其他任何附加字符. 输出格式: 在一行中按“f(x)=result”的格式输出,其中x ...

  9. 使用MySQL练习增删改查时因为版本问题出现连接错误

    使用MySQL练习增删改查时出现连接错误,错误提示如下: 2020-02-19 19:53:51.088 ERROR 16328 --- [reate-249798694] com.alibaba.d ...

  10. 基于springboot多模块项目使用maven命令打成war包放到服务器上运行的问题

    首先,大家看到这个问题,可能并不陌生,而且脑子里第一映像就是使用mava中的clear package 或者 clear install进行打包,然后在项目中的target文件夹下面找到xxx.war ...