课程概述

本课程主要包括人工智能和深度学习概述,基于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版本的案例代码。