本教材是基于山东大学人工智能、机器人工程、智能医学工程等新工科专业建设,特别是“人工智能与机器人”新工科实验班的教学育人实践,因此本教材有着扎实的理论功底和实践基础,是一本理实结合的、有特色的新工科教材。
本教材的编写专注于人工智能前沿的深度学习技术。结合大学相关专业知识体系的构成,将理论和代码相结合,通过代码的可视化,使得理论知识变得直观有趣;介绍应用广泛的Pytorch框架为主,满足新型互联网时代共享代码的社区生态需求;本教材包含综合实践项目,使同学经历知识学习、编程测试、实际部署、效果展示等过程,在掌握技术的同时提高兴趣。
前言
第1章Python编程基础
1.1Python简介
1.2Python安装与运行
1.3Python基础编程
1.3.1标识符
1.3.2注释
1.3.3行和缩进
1.3.4变量和数据类型
1.3.5基本计算
1.3.6数据结构
1.3.7控制语句
1.3.8函数
1.3.9模块
1.4Python面向对象编程
1.4.1类
1.4.2继承机制
1.4.3类变量与方法的属性
1.5Python常用库介绍
1.5.1NumPy库
1.5.2Matplotlib库
1.6小结
参考文献
第2章神经网络基础
2.1感知机模型
2.2神经网络模型
2.2.1神经网络的架构
2.2.2激活函数
2.3神经网络学习原理
2.3.1数据集的准备
2.3.2损失函数
2.3.3小批量学习
2.3.4梯度下降法
2.3.5误差反向传播算法
2.4神经网络学习实践
2.4.1设计神经网络类
2.4.2小批量学习的实现
2.5神经网络学习技巧
2.5.1优化方法的选择
2.5.2权重初始值的设定
2.5.3批量归一化
2.5.4正则化方法
2.5.5数据增强
2.6小结
参考文献
第3章深度学习计算框架
3.1常用深度学习计算框架简介
3.2GPU加速配置
3.3PyTorch安装
3.4张量
3.4.1张量的概念
3.4.2张量的基本操作
3.5动态计算图
3.6神经网络层和模块
3.7PyTorch神经网络学习实践
3.8小结
参考文献
第4章卷积神经网络
4.1卷积神经网络的基本原理
4.1.1卷积神经网络的基本架构
4.1.2卷积运算
4.1.3卷积运算实例:边缘检测
4.1.4卷积层及其代码实现
4.1.5填充
4.1.6步幅
4.1.7池化
4.2经典卷积神经网络模型
4.2.1数据集的准备
4.2.2Pipeline
4.2.3LeNet
4.2.4AlexNet
4.2.5VGG
4.2.6GoogLeNet
4.2.7ResNet
4.3小结
参考文献
第5章序列到序列网络
5.1循环神经网络(RNN)
5.1.1RNN的基本原理
5.1.2RNN的简单实现
5.2长短期记忆网络(LSTM)
5.2.1LSTM的基本原理
5.2.2LSTM的简单实现
5.3Transformer网络
5.3.1自注意力层
5.3.2Transformer网络结构
5.3.3Vision Transformer(ViT)网络
5.4小结
参考文献
第6章目标检测及其应用
6.1目标检测的基本概念
6.1.1边界框
6.1.2锚框
6.1.3交并比
6.1.4NMS操作
6.1.5评价指标
6.2常用的目标检测算法
6.2.1区域卷积神经网络(R-CNN)系列
6.2.2YOLO系列
6.3实践案例:行人检测
6.3.1基于Faster R-CNN的行人检测
6.3.2基于YOLO v5的行人检测
6.3.3YOLO v5与Faster R-CNN算法对比
6.4小结
参考文献
第7章语义分割及其应用
7.1语义分割的基本概念
7.1.1语义分割任务描述
7.1.2上采样
7.1.3膨胀卷积
7.1.4定义损失函数
7.1.5评价指标
7.2语义分割网络
7.2.1FCN
7.2.2U-Net架构
7.2.3DeepLab系列
7.3实践案例:城市街景分割
7.3.1实践Pipeline
7.3.2算法对比分析
7.4小结
参考文献