Python Neural Networks: Introduction and Practice
Tags
Summary
Editor's review
Who it's for
A good fit for
- Programming beginners with no neural network background who want a systematic introduction from scratch
- Learners who already know Python but want to build their first neural network with PyTorch
- Readers who need complete cases such as cat-and-dog recognition and CAPTCHA recognition for classroom or self-study practice
Not a good fit for
- Senior practitioners with years of deep learning experience who are looking for cutting-edge models and research
- Pure theory readers who cannot program at all and do not intend to write code
Reading tips
- Read in chapter order, and after each third-party library is covered, type out and run the sample code once.
- First get the cat-and-dog recognition case running, then go back and understand the structural differences among Lenet-5, AlexNet, and VGG16.
- When encountering overfitting or gradient problems, adjust the code according to the corresponding sections in the book and observe how the results change.
About the publisher
Peking University Press is a comprehensive university press whose publishing areas cover classical literature, popular science, social culture, world history, Western philosophy, and culture. Its catalogue contains 6,031 titles, with representative books including A Dream of Red Mansions, Relativity: The Special and General Theory (15th Edition) (with Einstein's classic papers on unified field theory and other topics), Elements, Conics, The Aristocratic Families of the Eastern Jin, The Philosophy of Mythology (Volume I), The Philosophy of Mythology (Volume II), and The Origin of Continents and Oceans. Representative authors include Cao Xueqin, Zhou Ruchang, Albert Einstein, Euclid, Apollonius, Tian Yuqing, Schelling, and Xian Gang. The press has developed distinctive strengths in classical Chinese literature and in the translation of Western philosophical classics, while also covering scientific classics and social and cultural studies. As public information is limited, this description is based only on the books in the catalogue and offers no further extrapolation.
Contents
- 版权信息
- 内容简介
- 前言
- 第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 小结
FAQ
Can I learn this without any neural network background?
What runtime environment do the cases in the book require?
What level can I reach after finishing this book?
Comments
Find this book
This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.
About the author
Wang Kai is a Chinese author whose work spans a remarkably wide range of subjects. Public information about him is very limited, and his nationality, dates of birth and death, and educational background cannot currently be confirmed. The collection includes 13 of his works, which reveal interests across many fields: literary writing that attends to the body and women's experience, as in Collected Breast Stories; youth literature such as All-Metal Youth; and popular historical writing that traces anecdotes about famous figures of the Republican era. On the professional side, he has also written on military strategy, school curriculum design, and BIM modeling for road and bridge engineering, and has contributed to popular health guides on caring for nasopharyngeal cancer patients and on myopia prevention and control for children and adolescents. Overall, his work combines literary expression with the popularization of knowledge, covering categories from classics and military affairs to medicine, education, examinations, and youth literature, reflecting both remarkable energy and a diverse range of source material.