标签
内容简介
本书从神经网络的基础知识讲起,逐步深入到Python进阶实战,通过对各种实用的第三方库进行详细讲解与实战运用,让读者不但能够更加深入地了解神经网络,而且能够简单高效地搭建自己的神经网络,即使没有背景知识也能轻松入门神经网络。本书分为11章,涵盖的主要内容有神经网络概述,神经网络基础知识,计算机程序的特点,神经网络优化算法,搭建Python环境,Python基础知识,深度学习框架PyTorch基础知识,NumPy简介与使用,OpenCV简介与使用,OS遍历文件夹,Python中Matplotlib可视化绘图,Lenet-5、AlexNet、VGG16网络模型,回归问题和分类问题,猫狗识别程序开发,验证码识别程序开发,过拟合问题与解决方法,梯度消失与爆炸,加速神经网络训练的方法,人工智能的未来发展趋势等。本书内容通俗易懂,案例丰富,实用性强,特别适合神经网络的零基础入门读者阅读,也适合Python 程序员、PyTorch爱好者等阅读。
编辑推荐
本书面向零基础读者,从神经网络的基本概念讲起,逐步过渡到Python环境搭建、PyTorch框架、NumPy与OpenCV使用、Matplotlib可视化,再进入Lenet-5、AlexNet、VGG16等网络模型和回归、分类问题,最终落到猫狗识别与验证码识别两个完整程序案例。内容编排强调“先懂原理再动手”,对过拟合、梯度消失与爆炸、加速训练等常见问题也给出对应讨论,使读者在搭建网络时不只照抄代码,还能理解调参方向。适合作为神经网络入门的系统性读本,尤其适合边读边在电脑上复现案例的学习方式;若已有较深深度学习经验,书中基础部分可能显得冗长,可优先翻阅实战章节。
适合谁读
适合
- 没有神经网络背景、希望从零系统入门的编程初学者
- 已会Python但想借PyTorch搭建第一个神经网络的学习者
- 需要猫狗识别、验证码识别等完整案例作课堂或自学练习的读者
不适合
- 已有多年深度学习经验、寻求前沿模型与研究的资深从业者
- 完全不会编程且不打算动手写代码的纯理论读者
阅读建议
- 按章节顺序阅读,每学完一个第三方库就动手敲一遍示例代码。
- 先跑通猫狗识别案例,再回头理解Lenet-5、AlexNet、VGG16的结构差异。
- 遇到过拟合或梯度问题时,对照书中相应小节调整代码并观察结果变化。
出版社简介
北京大学出版社
中国 · 成立于 1979 年
北京大学出版社是一家综合性大学出版社,其出版方向涵盖古典文学、科学科普、社会文化、世界史、西方哲学与文化等领域。库内收录图书6031种,代表性图书包括《红楼梦》《狭义与广义相对论浅说(第15版)(附爱因斯坦关于统一场论及其他经典论文)》《几何原本》《圆锥曲线论》《东晋门阀政治》《神话哲学(上卷)》《神话哲学(下卷)》《海陆的起源》等。代表作者有曹雪芹、周汝昌、爱因斯坦、欧几里得、阿波罗尼奥斯、田余庆、谢林、先刚等。该社在古典文学与西方哲学原典译介方面形成特色,兼及科学经典与社会文化研究。因公开资料有限,此处仅依据库内图书呈现其出版方向,不作额外延伸。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 神经网络概述
- 1.1 神经网络简介
- 1.1.1 神经网络的定义
- 1.1.2 神经网络可解决的问题
- 1.2 神经网络的灵感来源
- 1.2.1 对人类认知过程的传统认知
- 1.2.2 对人类认知过程的现代认知
- 1.2.3 神经元连接的灵感
- 1.3 为什么要学习神经网络
- 1.3.1 神经网络的发展
- 1.3.2 学习神经网络有什么用
- 1.4 怎样学习神经网络
- 1.4.1 选择一门编程语言
- 1.4.2 对算法的理解
- 1.4.3 写博客
- 1.5 小结
- 第2章 神经网络基础知识
- 2.1 感知器模型
- 2.1.1 神经元细胞的本质
- 2.1.2 感知器模型的构建
- 2.2 训练感知器
- 2.2.1 计算误差
- 2.2.2 误差反向传播
- 2.2.3 训练示例
- 2.3 激活函数
- 2.3.1 激活函数的定义
- 2.3.2 Sigmoid函数
- 2.3.3 Tanh函数
- 2.3.4 ReLU函数
- 2.4 损失函数
- 2.4.1 损失函数的定义及作用
- 2.4.2 绝对值损失函数
- 2.4.3 均方差损失函数
- 2.4.4 交叉熵损失函数
- 2.5 单层神经网络
- 2.5.1 单层神经网络的结构
- 2.5.2 单层神经网络的参数
- 2.5.3 单层神经网络的前向传播过程
- 2.6 训练单层神经网络
- 2.6.1 梯度下降算法
- 2.6.2 反向传播算法
- 2.6.3 理解反向传播
- 2.7 多层神经网络
- 2.7.1 多层神经网络的结构
- 2.7.2 参数向量化
- 2.8 卷积神经网络
- 2.8.1 卷积神经网络简介
- 2.8.2 卷积核
- 2.8.3 卷积操作
- 2.8.4 池化操作
- 2.8.5 卷积层
- 2.8.6 池化层
- 2.8.7 全连接层
- 2.9 小结
- 第3章 实战前的预备知识
- 3.1 计算机程序
- 3.1.1 计算机程序简介
- 3.1.2 计算机程序的执行过程
- 3.1.3 计算机程序的开发流程
- 3.1.4 计算机程序的特点
- 3.2 加速训练
- 3.2.1 CPU与GPU
- 3.2.2 归一化
- 3.2.3 其他学习算法
- 3.2.4 Mini-Batch
- 3.3 构建样本集
- 3.3.1 Tensor类型
- 3.3.2 训练集
- 3.3.3 测试集
- 3.3.4 交叉验证集
- 3.4 小结
- 第4章 Python入门与实战
- 4.1 Python简介
- 4.1.1 什么是Python
- 4.1.2 Python的特点
- 4.1.3 为什么要用Python搭建神经网络
- 4.2 搭建Python环境
- 4.2.1 安装Python 3.7(Anaconda)
- 4.2.2 安装CUDA10.0
- 4.2.3 安装PyCharm
- 4.2.4 PyCharm新建项目
- 4.2.5 PyCharm的一些基本设置
- 4.2.6 PyCharm运行程序
- 4.3 Python基础
- 4.3.1 输入语句与输出语句
- 4.3.2 变量的作用与定义
- 4.3.3 变量的命名规则和习惯
- 4.3.4 运算符
- 4.3.5 数据类型
- 4.3.6 if语
- 4.3.7 循环语句
- 4.3.8 函数
- 4.3.9 类
- 4.3.10 列表和元组
- 4.3.11 引入模块
- 4.3.12 注释
- 4.4 编写第一个感知器程序
- 4.4.1 需求分析
- 4.4.2 生程序
- 4.4.3 感知器前向传播程序
- 4.4.4 误差计算程序
- 4.4.5 运行结果
- 4.5 小结
- 第5章 深度学习框架PyTorch入门与实战
- 5.1 PyTorch简介
- 5.1.1 什么是PyTorch
- 5.1.2 PyTorch的特点
- 5.1.3 为什么要选择PyTorch搭建神经网络
- 5.2 安装PyTorch框架
- 5.2.1 conda命令
- 5.2.2 选择PyTorch版本进行安装
- 5.3 PyTorch基础
- 5.3.1 构建输入输出
- 5.3.2 构建网络结构
- 5.3.3 定义优化器与损失函数
- 5.3.4 保存和加载网络
- 5.4小实战:用PyTorch搭建一个神经网络以学习异或运算
- 5.4.1 需求分析
- 5.4.2 训练程序
- 5.4.3 测试程序
- 5.5 小结
- 第6章 Python搭建神经网络进阶
- 6.1 NumPy简介
- 6.1.1 NumPy的基本功能
- 6.1.2 NumPy的数据类型
- 6.2 NumPy的使用
- 6.2.1 安装NumPy
- 6.2.2 创建数组
- 6.2.3 存储和读取数组
- 6.2.4 素引和切片
- 6.2.5 重塑数组
- 6.2.6 数组的运算
- 6.3 OpenCV简介
- 6.3.1 OpenCV概述
- 6.3.2 OpenCV的基本功能
- 6.4 OpenCV的使用
- 6.4.1 安装OpenCV
- 6.4.2 图像读取与显示
- 6.4.3 图像缩放
- 6.4.4 色彩空间转换
- 6.4.5 直方图均衡化
- 6.4.6 图像保存
- 6.5 文件夹中文件的遍历
- 6.5.1 OS模块简介
- 6.5.2 path模块
- 6.5.3 删除文件
- 6.5.4 创建文件夹
- 6.5.5 文件遍历
- 6.6 构建和读取数据集
- 6.6.1 构建数据集
- 6.6.2 读取数据集
- 6.7 PyTorch中卷积神经网络有关的接口
- 6.7.1 卷积层接口
- 6.7.2 反卷积层接口
- 6.8 小结
- 第7章 实战1:回归问题和分类问题
- 7.1 Python中绘图方法简介
- 7.1.1 Matplotlib简介
- 7.1.2 安装Matplotlib
- 7.1.3 散点图绘制
- 7.1.4 绘图显示的小设置
- 7.1.5 曲线绘制
- 7.1.6 设置坐标轴
- 7.1.7 动态绘图
- 7.2 回归问题
- 7.3 用Python搭建一个解决回归问题的神经网络
- 7.3.1 准备工作
- 7.3.2 构建网络
- 7.3.3 训练网络
- 7.3.4 完整程序
- 7.4 分类问题
- 7.5 用Python搭建一个解决分类问题的神经网络
- 7.5.1 准备工作
- 7.5.2 构建网络
- 7.5.3 训练网络
- 7.5.4 可视化
- 7.5.5 完整程序
- 7.6 小结
- 第8章 实战2:猫狗识别问题
- 8.1 实战目标
- 8.1.1 目标分析
- 8.1.2 样本集
- 8.2 实现思路
- 8.2.1 构建样本集
- 8.2.2 测试样本集
- 8.2.3 构建网络
- 8.2.4 训练网络
- 8.2.5 测试网络
- 8.3 完整程序及运行结果
- 8.3.1 构建样本集程序
- 8.3.2 测试样本集程序
- 8.3.3 构建网络程序
- 8.3.4 训练网络程序
- 8.3.5 可视化训练过程
- 8.3.6 测试网络程序
- 8.3.7 模拟实际运用
- 8.4 对结果的思考
- 8.4.1 训练集和测试集准确率的对比
- 8.4.2 准确率低的原因
- 8.4.3 训练过程的启示
- 8.5 小结
- 第9章 一些经典的网络
- 9.1 LeNet-5网络模型
- 9.1.1 LeNet-5网络简介
- 9.1.2 LeNet-5网络结构
- 9.1.3 三维卷积
- 9.1.4 多维卷积
- 9.1.5 LeNet-5代码实现
- 9.2 AlexNet网络模型
- 9.2.1 AlexNet网络简介
- 9.2.2 AlexNet网络结构
- 9.2.3 Same卷积
- 9.2.4 Softmax分类器
- 9.2.5 AlexNet代码实现
- 9.3 VGG16网络模型
- 9.3.1 VGG16网络简介
- 9.3.2 VGG16网络结构
- 9.4 小结
- 第10章 实战3:验证码识别问题
- 10.1 实战目标
- 10.1.1 目标分析
- 10.1.2 生成样本集
- 10.2 实现思路
- 10.2.1 构建样本集
- 10.2.2 构建网络
- 10.2.3 训练网络
- 10.2.4 测试网络
- 10.3 完整程序及运行结果
- 10.3.1 验证码分割程序
- 10.3.2 构建训练集程序
- 10.3.3 构建网络程序
- 10.3.4 训练网络程序
- 10.3.5 测试网络程序
- 10.3.6 模拟实际运用
- 10.4 对结果的思考
- 10.4.1 训练集和测试集准确率的对比
- 10.4.2 识别错误的原因
- 10.5 小结
- 第11章 优化网络
- 11.1 神经网络现存的几个问题
- 11.1.1 无法真正模拟人脑
- 11.1.2 大样本训练缓慢
- 11.1.3 深度网络训练困难
- 11.1.4 梯度消失和爆炸
- 11.1.5 白盒问题
- 11.2 过拟合问题
- 11.2.1 什么是过拟合
- 11.2.2 解决过拟合问题的几种方法
- 11.2.3 正则化
- 11.3 怎样选择每一层的节点数目
- 11.3.1 输入层和输出层的节点数目
- 11.3.2 隐含层的节点数目
- 11.4 如何加速训练
- 11.4.1 采用其他优化算法
- 11.4.2 采用GPU训练
- 11.4.3 设置合适的学习率
- 11.4.4 在合适的时间停止训练
- 11.人工智能的未来发展趋势
- 11.5.1 人工智能的发展现状
- 11.5.2 人工智能的发展趋势
- 11.6 小结
常见问题
没有任何神经网络基础能学吗?
可以。本书从神经网络概述和基础知识讲起,并包含Python环境搭建与Python基础知识,定位就是零基础入门。但建议读者至少具备基本计算机操作能力,并愿意动手运行代码,否则实战章节容易流于表面。
书中的案例需要什么运行环境?
书中涉及Python环境搭建、PyTorch深度学习框架,以及NumPy、OpenCV、Matplotlib等第三方库。读者按书中步骤配置环境即可,具体版本与安装细节以书中讲解为准。
学完这本书能达到什么程度?
读者可以理解神经网络的基本原理与优化方法,学会用PyTorch搭建和训练Lenet-5、AlexNet、VGG16等模型,并完成猫狗识别、验证码识别等实战程序,同时了解过拟合、梯度消失等常见问题的处理思路。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。
作者简介
王凯
作者
王凯是一位创作题材跨度很大的中文作者,公开资料十分有限,其国籍、生卒年与教育背景目前均无从确认。库内收录其作品13种,从这些作品可以看出,他的写作兴趣横跨多个领域:既有《乳房故事集》这样关注身体与女性经验的文学创作,也有《全金属青春》等青春文学,以及《口水民国:民国名人的笔墨官司》一类钩沉历史人物轶事的通俗读物;在专业写作方面,他还涉足军事战略、学校教育课程设计、道路与桥梁工程BIM建模等实务性较强的主题,并参与编写鼻咽癌患者护理与儿童青少年近视防控的科普读物。整体而言,其作品兼顾文学表达与知识普及,分类涵盖经典作品、军事、医学、教育、考试与青春文学等,显示出作者旺盛的写作精力与多元的取材面向。