本课程主要包括人工智能和深度学习概述,基于Python语言和TensorFlow和Keras框架的开发环境搭建,传统全连接神经网络、卷积神经网络、循环神经网络的结构、原理与实现等内容的学习,并通过手写数字识别、图像分类、电影评论情感分析等实例帮助同学们学会如何在实际中应用深度学习来解决应用问题。
认真阅读相关章节内容,有问题积极和老师与同学互动交流,独立完成所有实验,完成结课报告和课程大作业。
有基本的编程能力,学过一些基本概率统计和线性代数
课程导学
开篇语
课程安排
第一讲 人工智能导论
人工智能 未来已来?
人工智能发展史 跌宕起伏的60+年
人工智能 未来已来!
第二讲 深度学习简介及开发环境搭建
深度神经网路与深度学习框架
Anaconda和TensorFlow开发环境搭建
人工智能、机器学习与深度学习
第三讲(根据基础选修) 工欲善其事必先利其器:简明Python基础
程序结构与控制语句
引言、输出语句Print、变量、数据类型和基本运算
字符串、列表、元组、集合、字典、格式化输出和类型转换
测试1:Python基础测试
作业1:Python小作业 小说词频统计
第四讲 磨刀不误砍柴工:TensorFlow 编程基础
TensorBoard可视化初步
TensorFlow的基本运算
TensorFlow的基础概念
测试2:Tensorflow编程基础单元测试
第五讲 单变量线性回归:TesnsorFlow实战
线性回归问题TensorFlow实战:初步
线性回归问题TensorFlow实战:进阶
作业2:通过生成人工数据集合,基于TensorFlow实现y=3.1234*x+2.98线性回归
监督式机器学习的基本术语
第六讲 多元线性回归:波士顿房价预测问题TesnsorFlow实战
后续版本的持续改进
波士顿房价预测:数据与问题分析
机器学习中的线性代数基础(根据基础选修)
第一个版本的模型构建
波士顿房价预测线性回归实践
测试3:TensorFlow编程进阶
第七讲 MNIST手写数字识别:分类应用入门
分类模型构建与训练
MNIST手写数字识别数据解读
MNIST手写数字识别问题的单神经元模型实践
第八讲 MNIST手写数字识别进阶:多层神经网络与应用
单隐藏层神经网络构建与应用
多层神经网络建模与模型的保存还原
TensorBoard进阶与TensorFlow游乐场
MNIST手写数字识别问题的多层神经网络模型实践
第九讲 图像识别问题:卷积神经网络与应用
从全连接神经网络到卷积神经网络:解决参数太多的问题
CIFAR-10图像分类案例的TensorFlow卷积神经网络实现
卷积神经网络的基本结构
TensorFlow对卷积神经网络的支持
CIFAR10案例卷积神经网络实践
第十讲 Deep Dream:理解深度神经网络结构及应用
经典深度神经网络与数据增强
Inception模型文件导入与卷积层分析
Deep Dream图像生成
Deep Dream:计算机生成梦幻图像
Deep Dream图像生成的实践
第十一讲 猫狗大战:迁移学习及应用
猫狗大战案例实践
测试4:迁移学习
猫狗大战案例介绍
基于VGG16的迁移学习
第十二讲 泰坦尼克号旅客生存预测:Keras应用实践
Keras模型训练过程中数据存储与模型恢复
泰坦尼克号旅客生存预测案例分析与数据处理
Keras建模与应用
第十七讲(终章)课程大作业
课程大作业
课程大作业
往期学员作品展示
第十三讲 电影评论情感分析:自然语言处理应用实践
自然语言处理基础
循环神经网络及其应用
电影评论情感分析案例与IMDB数据集
电影评论情感分析数据处理及建模
第十四讲(高阶选修) 生成式对抗网络原理及Tensorflow实现
利用CGAN生成Fashion-MNIST图像
利用GAN生成Fashion-MNIST图像
生成式对抗网络(GAN)的简介
第十五讲(高阶选修) 鸢尾花品种识别:TensorFlow.js应用开发
IDE和第一个TensorFlow.js程序
TensorFlow.js介绍和第一个web程序
TensorFlow.js的核心概念和API介绍
鸢尾花分类案例构建
第十六讲(高阶选修) 花卉识别App:TensorFlow Lite与移动应用开发
花卉识别:安卓App运行TFLite
TensorFlow Lite介绍和优势特点
花卉识别:TFLite模型重训练和模型转换
1. 吴明晖、李卓蓉、金苍宏,深度学习应用开发 - 基于TensorFlow的实践,教材电子版本:
https://minghuiwu.gitbook.io/tfbook/
2. 《深度学习》 Ian. GoodFellown等著。
Q : 这门课程对数学要求是否很高?
A : 本门课程偏应用开发,目的是在了解实现原理的基础上会建模、应用。需要了解一些基本的求导数、矩阵点乘、叉乘的概念,但不用做复杂的公式求解和推导。
Q : 这门课对编程要求是否很高?
A : 既然叫应用开发,当然是要编程实现的。本门课程采用Python编程,但只需要基本的编程技能,因此谈不上对编程技巧有太高要求。对于学过C语言或者Java语言,但没有学过Python的学员,还提供了一讲Python快速入门的章节,相信花点功夫就能跟上的。
Q : 这门课对开发机器的要求是否很高,没有GPU的一般电脑能做开发吗?
A : 作为教学案例,所设计的项目对电脑的要求谈不上高,普通配置的笔记本电脑都能顺利运行。只有到后面迁移学习需要训练深度神经网络时,如果有GPU会更快。总体说来是不用担心电脑配置问题影响学习的。
Q : 这门课采用的TensorFlow版本是多少?
A : 目前TensorFlow发布的最新版本是2.0Beta,本课程在录制时的版本没有这个高。简单案例其实和版本关系不大,主要通过教案体会思想。如果大家想提前安装环境,可以安装Anaconda(Python3.x)+TensorFlow2.0。课程讲义会提供2.0版本的案例代码。