具体描述
内容介绍
TensorFlow是2015年年底开源的一套深度学习框架,是目前zui活跃的深度学习框架。本书基于1.3版本,首先介绍了它的安装和基本用法,然后讨论了深度学习的基本概念,包括神经网络前向计算、损失函数、反向传播计算和优化函数等,接着介绍了卷积神经网络和循环神经网络,zui后介绍了在大规模应用的场景下,如何实现分布式的深度学习训练。 本书适合深度学习的初学者学习和参考。
作者介绍
罗冬日 毕业于中科院研究生院;先后在百度,平安科技从事数据挖掘,机器学习,深度学习相关的领域的研究工作。
编辑推荐
零基础入门TensorFlow和深度学习 AI人工智能机器学习开发入门教程
目录
第1章 初识TensorFlow 1
1.1 TensorFlow特点 1
1.2 其他深度学习框架 3
1.2.1 Caffe 3
1.2.2 MXNet 3
1.2.3 Torch 4
1.2.4 Theano 4
1.2.5 CNTK 5
第2章 TensorFlow环境搭建 6
2.1 安装环境介绍 6
2.1.1 CUDA简介 6
2.1.2 cuDNN简介 6
2.1.3 查看机器的GPU信息 7
2.2 安装TensorFlow 8
2.2.1 安装pip 9
2.2.2 通过pip安装TensorFlow 9
2.2.3 源码编译安装TensorFlow 10
2.3 NVIDIA驱动安装 11
2.4 安装CUDA和cuDNN 12
2.4.1 Linux下安装CUDA 12
2.4.2 Linux下安装cuDNN 13
2.4.3 Windows和Mac系统下安装CUDA 14
2.4.4 Windows和Mac系统下安装cuDNN 14
2.5 安装测试 15
第3章 TensorFlow基础 16
3.1 基本概念 16
3.1.1 张量 16
3.1.2 图 17
3.1.3 操作 18
3.1.4 会话 19
3.2 变量 24
3.2.1 变量的初始化 24
3.2.2 变量的变形 25
3.2.3 数据类型和维度 26
3.2.4 共享变量和变量命名空间 27
3.3 模型的保存和载入 33
3.3.1 模型的保存 33
3.3.2 模型的载入 34
3.4 使用GPU 34
3.4.1 指定GPU设备 35
3.4.2 指定GPU显存占用 36
3.5 数据读取 36
3.5.1 使用placeholder填充方式读取数据 37
3.5.2 从文件读入数据的方式 37
3.5.3 预先读入内存的方式 48
3.6 利用TensorBoard进行数据可视化 49
3.6.1 在TensorBoard中查看图结构 49
3.6.2 训练过程中单一数据变化趋势 51
3.6.3 训练过程中数据分布可视化 53
3.6.4 其他使用技巧 56
第4章 深度神经网络基础 58
4.1 神经元 58
4.2 简单神经网络 59
4.3 深度神经网络 62
4.4 损失函数 63
4.5 梯度下降 64
4.6 反向传播 66
4.6.1 求导链式法则 66
4.6.2 反向传播算法思路 67
4.6.3 反向传播算法的计算过程 68
4.7 优化函数 72
4.7.1 随机梯度下降优化算法 72
4.7.2 基于冲量的优化算法 73
4.7.3 Adagrad优化算法 74
4.7.4 Adadelta优化算法 75
4.7.5 Adam优化算法 75
4.7.6 TensorFlow中的优化算法API 76
4.8 一个简单的例子 77
第5章 卷积神经网络 83
5.1 简介 83
5.2 什么是卷积 84
5.3 卷积神经网络基础 88
5.3.1 局部感知野 88
5.3.2 参数共享 89
5.3.3 多卷积核 91
5.3.4 池化 92
5.3.5 多层卷积 93
5.4 卷积神经网络的训练 94
5.4.1 池化层反向传播 95
5.4.2 卷积层反向传播 96
5.5 TensorFlow中的卷积神经网络 101
5.5.1 TensorFlow的卷积操作 101
5.5.2 TensorFlow的池化操作 103
5.6 用TensorFlow实现0和1数字识别 104
5.6.1 由图片生成TFRecord文件 104
5.6.2 构建卷积网络结构 106
5.6.3 训练过程 110
5.6.4 卷积过程数据的变化 114
5.7 几种经典的卷积神经网络 117
5.7.1 AlexNet 117
5.7.2 VGGNet 118
5.7.3 Inception Net 120
5.7.4 ResNet 121
第6章 循环神经网络 123
6.1 普通RNN 123
6.1.1 普通RNN结构 123
6.1.2 普通RNN的不足 125
6.2 LSTM单元 126
6.2.1 LSTM单元基本结构 127
6.2.2 增加peephole的LSTM单元 131
6.2.3 GRU单元 132
6.3 TensorFlow中的RNN 132
6.4 用LSTM+CTC实现语音识别 136
6.4.1 语音特征介绍 136
6.4.2 计算流程描述 137
6.4.3 TensorFlow实现 139
6.5 在NLP中的应用 144
6.5.1 语言模型 144
6.5.2 词向量 147
6.5.3 中文分词 148
6.6 小结 159
第7章 TensorFlow分布式 160
7.1 单机多GPU训练 160
7.2 多机多GPU分布式训练 163
7.2.1 参数服务器 163
7.2.2 in-graph和between-graph
模式 164
7.2.3 同步更新和异步更新 165
7.2.4 异步更新分布式示例 165
《深度学习核心原理与实践》 一、 书籍概述 《深度学习核心原理与实践》是一本系统性阐述深度学习理论基础、核心算法、关键技术及实际应用的书籍。本书旨在帮助读者建立起对深度学习的全面认知,从根本上理解其工作机制,并掌握将其应用于解决实际问题的能力。本书兼顾理论深度与实践可操作性,适合对人工智能、机器学习、数据科学领域有浓厚兴趣,并希望深入掌握深度学习技术的工程师、研究人员、学生及爱好者阅读。 二、 内容构成与章节详解 本书共分为五个部分,涵盖了深度学习的入门、核心模型、进阶技术、实际应用以及未来展望。 第一部分:深度学习基础与模型 第一章:人工智能、机器学习与深度学习的演进 本章将追溯人工智能发展的历史脉络,梳理机器学习的经典算法及其局限性,并重点介绍深度学习作为机器学习分支的兴起,以及其在近年来取得突破性进展的原因。我们将探讨神经网络的早期概念,如何从感知机逐步发展到多层感知机,为后续的深度学习模型奠定基础。 知识点: 图灵测试、符号主义AI、连接主义AI、专家系统、决策树、支持向量机(SVM)、贝叶斯分类器、神经网络的起源、BP算法。 第二章:神经网络基础:感知机与多层感知机 本章深入剖析了神经网络最基本的构建单元——感知机,理解其如何通过线性组合和激活函数进行决策。在此基础上,我们将学习如何通过堆叠多个感知机层,构建出能够处理非线性问题的多层感知机(MLP),并详细介绍反向传播(Backpropagation)算法,这是训练神经网络的核心机制。 知识点: 神经元模型、激活函数(Sigmoid, Tanh, ReLU)、权重与偏置、损失函数、梯度下降法、反向传播算法原理与步骤。 第三章:卷积神经网络(CNN):图像识别的利器 本章将重点介绍卷积神经网络(CNN),这是在图像处理领域取得巨大成功的模型。我们将详细讲解卷积层、池化层、全连接层等核心组件的功能与作用,理解它们如何有效地提取图像的空间特征。通过丰富的实例,读者将能够理解CNN在图像分类、目标检测、图像分割等任务中的强大能力。 知识点: 卷积操作、卷积核(滤波器)、步长(Stride)、填充(Padding)、感受野、池化(Pooling)操作(Max Pooling, Average Pooling)、LeNet-5, AlexNet, VGG, ResNet等经典CNN架构。 第四章:循环神经网络(RNN)与长短期记忆网络(LSTM):序列数据的建模 本章聚焦于循环神经网络(RNN)及其变种,如长短期记忆网络(LSTM)和门控循环单元(GRU),它们是处理序列数据(如文本、时间序列)的强大工具。我们将理解RNN如何通过引入“记忆”来捕捉序列中的时序依赖关系,并深入探讨LSTM如何通过门控机制解决RNN的梯度消失/爆炸问题,实现对长序列的有效建模。 知识点: RNN结构、隐藏状态(Hidden State)、梯度消失与梯度爆炸、LSTM门控机制(遗忘门、输入门、输出门)、GRU。 第二部分:深度学习核心算法与模型 第五章:深度学习训练策略与优化器 本章将深入探讨深度学习模型的训练过程,包括损失函数的选择、正则化技术(L1, L2, Dropout)、批归一化(Batch Normalization)等,以防止过拟合和加速收敛。同时,我们将详细介绍各种优化算法,如SGD、Momentum、Adagrad、RMSprop、Adam等,并分析它们的优劣势,帮助读者选择最适合自己任务的优化器。 知识点: 过拟合与欠拟合、早停法(Early Stopping)、数据增强(Data Augmentation)、L1/L2正则化、Dropout、Batch Normalization、SGD、Momentum、Adam、Nesterov Momentum。 第六章:深度生成模型:GANs与VAE 本章将介绍两大重要的深度生成模型:生成对抗网络(GANs)和变分自编码器(VAEs)。我们将详细解析GANs的生成器-判别器对抗训练机制,以及其在图像生成、风格迁移等方面的应用。同时,VAE的概率模型思想和编码-解码结构也将被深入讲解,其在数据压缩、异常检测等场景下的潜力。 知识点: 生成对抗网络(GANs)原理、生成器(Generator)、判别器(Discriminator)、模式崩溃(Mode Collapse)、变分自编码器(VAEs)原理、重参数化技巧(Reparameterization Trick)、潜在空间(Latent Space)。 第七章:注意力机制(Attention Mechanism)与Transformer模型 本章将详细讲解注意力机制,这是近来深度学习领域最令人兴奋的进展之一。我们将理解注意力机制如何允许模型在处理序列时“关注”输入序列的不同部分,从而显著提升模型性能。在此基础上,我们将深入剖析Transformer模型,介绍其自注意力(Self-Attention)机制和多头注意力(Multi-Head Attention),以及它如何在自然语言处理(NLP)领域彻底改变序列建模。 知识点: 点积注意力(Dot-Product Attention)、加性注意力(Additive Attention)、自注意力(Self-Attention)、多头注意力(Multi-Head Attention)、Encoder-Decoder结构、Transformer架构、BERT, GPT系列模型。 第三部分:深度学习进阶技术与应用 第八章:模型部署与优化 本章将把目光从模型的训练转移到实际部署。我们将探讨如何将训练好的深度学习模型部署到不同的平台,包括服务器、移动设备和嵌入式系统。内容将涵盖模型压缩、量化、剪枝等技术,以及TensorRT, ONNX等推理引擎的应用,以提高模型的推理速度和降低资源消耗。 知识点: 模型量化(Quantization)、模型剪枝(Pruning)、知识蒸馏(Knowledge Distillation)、模型推理优化、TensorRT, ONNX Runtime。 第九章:迁移学习与模型微调(Fine-tuning) 本章深入讲解迁移学习的概念,即如何利用预训练模型在特定任务上进行微调,以解决数据量不足的问题。我们将学习如何选择合适的预训练模型,并分析不同层级的微调策略,使其能够高效地适应新的数据分布和任务需求。 知识点: 预训练模型(Pre-trained Models)、特征提取(Feature Extraction)、模型微调(Fine-tuning)策略、迁移学习的应用场景。 第十章:深度强化学习(Deep Reinforcement Learning)简介 本章将对深度强化学习(DRL)进行初步介绍。我们将探讨强化学习的基本概念(Agent, Environment, State, Action, Reward),以及如何将其与深度学习相结合,解决更复杂的决策问题。例如,我们将简要介绍Q-learning及其深度变种(DQN),以及策略梯度方法。 知识点: 马尔可夫决策过程(MDP)、Q-Learning、深度Q网络(DQN)、策略梯度(Policy Gradients)、Actor-Critic方法。 第四部分:深度学习在各领域的实际应用 第十一章:计算机视觉(Computer Vision)中的深度学习应用 本章将全面展示深度学习在计算机视觉领域的广泛应用。我们将通过具体案例,介绍深度学习在图像分类、目标检测(YOLO, Faster R-CNN)、语义分割(U-Net)、人脸识别、图像生成(Style Transfer)等方面的实际落地。 知识点: 图像分类、目标检测、语义分割、实例分割、人脸识别、图像风格迁移、超分辨率。 第十二章:自然语言处理(Natural Language Processing)中的深度学习应用 本章将聚焦深度学习在自然语言处理领域的革命性应用。我们将探讨深度学习模型如何处理文本数据,包括词向量(Word Embeddings)、文本分类、机器翻译(Seq2Seq, Transformer)、情感分析、问答系统、文本生成等。 知识点: 词向量(Word2Vec, GloVe)、文本分类、序列到序列(Seq2Seq)模型、机器翻译、命名实体识别(NER)、情感分析、文本摘要、对话系统。 第十三章:其他领域的深度学习应用 本章将拓展深度学习的应用范围,介绍其在其他重要领域的实践。包括但不限于:推荐系统(如协同过滤的深度学习改进)、语音识别、医学影像分析、金融风控、自动驾驶等方面。我们将展示深度学习如何为这些领域带来创新性的解决方案。 知识点: 推荐系统、语音识别(ASR)、医学图像分析、时间序列预测、金融领域应用、自动驾驶。 第五部分:深度学习的未来展望 第十四章:可解释性AI(Explainable AI, XAI)与公平性 随着深度学习模型的复杂性不断增加,理解其决策过程变得愈发重要。本章将介绍可解释性AI(XAI)的研究进展,如LIME, SHAP等技术,以帮助我们理解模型的“黑箱”。同时,我们也将探讨深度学习模型中的公平性与偏见问题,以及如何缓解这些问题。 知识点: 模型可解释性、LIME, SHAP、模型公平性、偏见缓解技术。 第十五章:前沿研究方向与未来趋势 本章将展望深度学习领域的未来发展方向,包括但不限于:自监督学习(Self-Supervised Learning)、图神经网络(Graph Neural Networks, GNNs)、多模态学习(Multimodal Learning)、神经符号AI、以及AI在科学发现中的作用等。我们将共同探讨深度学习的下一个突破点。 知识点: 自监督学习、对比学习、图神经网络(GNNs)、多模态学习、神经符号AI、AI for Science。 三、 书籍特色 1. 理论与实践并重: 本书不仅深入浅出地讲解了深度学习的理论基础和核心算法,还通过丰富的代码示例和实际案例,帮助读者将理论知识转化为实践能力。 2. 系统性强: 内容覆盖了深度学习的入门、核心模型、进阶技术、实际应用以及未来趋势,形成了一个完整的知识体系。 3. 语言通俗易懂: 采用清晰、流畅的语言,避免使用过于晦涩的术语,确保不同背景的读者都能轻松理解。 4. 面向读者广泛: 无论是初学者还是有一定基础的开发者、研究人员,都能从本书中获益。 5. 前沿性: 包含了深度学习领域的最新研究进展和热门技术,如Transformer、注意力机制等,帮助读者紧跟技术潮流。 四、 目标读者 希望系统学习深度学习的大学生和研究生。 希望将深度学习技术应用于工作的软件工程师、数据科学家。 对人工智能和机器学习感兴趣的初学者。 需要深入理解深度学习模型原理的研究人员。 《深度学习核心原理与实践》将是你通往深度学习世界的理想指南,它将帮助你构建坚实的理论基础,掌握实用的技术手段,并激发你探索人工智能无限可能性的热情。