1. 什么是神经网络?什么是深度学习?它们和人工智能有何关系?
人工智能的发展经历了逻辑推理、专家系统、机器学习三个阶段。机器学习是人工智能领域中目前最活跃的一个分支,神经网络是机器学习中的一种方法,深度学习又是在神经网络的基础上发展起来的。在最近数年中,计算机视觉、语音识别、自然语言处理、和机器人等领域所取得的惊人的进展,都离不开深度学习,它是这一轮人工智能热潮的核心驱动力量,已经成为人工智能领域最重要的技术之一。深度学习不仅改变了计算领域,也为智能制造、交通物流、医疗健康、文化教育、金融财务、安防警戒、农业、通信、文学/艺术创作等其他多个领域提供了强大的新工具。可以说,深度学习正在、或将要改变科学和人类努力的各个领域。
2. 为什么要学习这门课?
近年来,随着大数据的快速积累、计算资源的成熟发展、以及学习算法的发展创新,人工智能技术在多个领域取得重大突破,已经成为经济发展的新引擎,被视为推动现代社会进步的主要核心技术力量之一,它正在为农业、医疗、教育、能源、国防等诸多领域提供大量新的发展机遇。
2017年7月20日,国务院印发《新一代人工智能发展规划》,鼓励高校拓宽人工智能专业教育内容,重视人工智能与数学、计算机科学、物理学、生物学、心理学、社会学、法学等学科专业教育的交叉融合,培养“人工智能×专业”复合型人才。因此,任何专业的学生,都应该掌握一些人工智能的知识。
3.这门课程所采用的深度学习框架是什么?
这门课程主要采用目前最主流的TensorFlow和PyTorch深度学习框架作为实践平台。
TensorFlow就是谷歌公司推出的一款高效的人工智能开源框架,自从2015年11月发布以来,已经成为全世界最广泛使用的深度学习库。很多以前难以实现的大规模人工智能任务,都可以借助它来实现。2019年10月正式发布的TensorFlow2.0版本,是对TensorFlow1.x版本彻底的、革命性的改造,它非常的简单、清晰、好用,并且容易扩展,极大地降低了深度学习编程的门槛,使得普通人也能够体验开发人工智能应用程序的乐趣。随着TensorFlow的发展,一直在更新,先后从1.x更新到2.0、2.4,目前我们课程使用的是TensorFlow2.4版本。
PyTorch是由Facebook开源的神经网络框架,它提供了丰富的工具和库,便于深度学习模型的构建、训练和部署,主要在学术研究领域处于领先地位。同时,PyTorch 的代码很简洁、易于使用且内存使用很高效。
4. 这门课程的主要内容是什么?学习这门课程后具备什么能力?
课程以神经网络与深度学习的理论及其实例为主线,内容包括Python编程基础、多维数组和数据可视化、TensorFlow2.0/PyTorch深度学习框架基础、回归问题、分类问题、人工神经网络和卷积神经网络。我们将循序渐进、抽丝剥茧的详细介绍算法原理,并为每个重要的理论知识点精心设计了对应的TensorFlow与PyTorch实例,使学习者具备扎实的理论基础和良好的应用能力,能够根据实际任务的需求,合理选择和使用数据,构建、训练和测试模型,并调整模型或参数,优化和改进系统;能够对实验结果进行分析和解释,评估模型精度和误差,具备人工智能应用软件的方案选择、设计和开发能力。
5. 这门课提供哪些课程资源?
我们全面梳理了神经网络和深度学习相关理论和方法,将核心内容精心打磨凝练为92个知识点和38个实例。目前已建设好的课程资源包括视频111小节共19小时、PPT1330余页、文档26个、编程实例33个、随堂测试题380道,单元测试题146道、作业题30道、讨论题42道,以及期中考试和期末考试。
为了帮助大家更方便的展开实践,我们开发了远程在线实验实训平台,分别在美林数据和头歌两个平台上线,学习者无需安装Anaconda、TensorlFlow等软件,仅需使用浏览器登录在线实验平台,即可完成所有实验。链接如下:
美林数据:https://dev2.asktempo.cn:32080/tempo-talents/#/login?redirect=%2F
头歌实践教学平台:https://www.educoder.net/paths/10653
6.这门课程面向的学习对象?需要有什么基础?
这门课程面向多种学科专业、多层次的学习者。只要具备以下基础,就可以尝试开始学习:
⑴ 高等数学、线性代数、概率论的基本知识。知道导数、梯度、向量、矩阵、概率等基本概念及运算方法。
⑵ 学习过“大学计算机基础”或者其他类似的课程,知道计算机系统的基础知识。
⑶ 学习过任何一门编程语言。了解程序设计的基本方法,能够正确的编写出基本的练习程序。
7. 每次开课的内容一样吗?如何查看课程的全部内容?
根据每次开课过程中积累的经验和存在的问题,以及深度学习技术和工具的不断发展,我们的课程一直在持续改进中,每个新的学期,我们都会对课程内容进行适当的调整、更新和补充。其中主要的更新有:
⑴ TensorFlow版本的更新:在第2-6次开课中,对TensorFlow安装教程的版本进行多次更新,从1.x版本逐步更新到2.0以及2.4版本。
⑵ 为所有视频添加了字幕,便于对课程的理解。
⑶ 内容的补充和完善:在第4-6次开课中,依次补充了卷积神经网络实例、典型的卷积神经网络、AI伦理、TensorFlow.js、TensorFlow Lite、PyTorch实例等内容。
⑷ 不断优化测试题、讨论题和作业题,使其更加贴合课程内容,描述更加严谨规范。
目前正在进行第七次开课,课程每周二更新,如果想要学习最新的课程内容并获得课程证书,建议大家参加第七次课程;如果想提前了解课程的全部内容,可以查看第六次开课。为了便于大家学习,已结束的课程仍然可以浏览课程视频和文档,只是无法提交作业、参与课堂讨论。
8. 课程有哪些亮点和特色?
⑴ 选材先进,理论适度、注重应用实践能力的培养
深度学习是当前人工智能领域最具影响力的研究方向,在各个领域的应用中取得了良好的实践效果。本课程理论适度,并与实践紧密结合,在讲透基本原理讲透的同时,每一个基础理论方法都设计了与之高度匹配的编程实例和作业,。
⑵ 采用迭代式教学设计,搭建能力提升阶梯
课程遵循“两性一度”标准,采用迭代式教学设计,例如:
①每一个重要的知识点,都提供与之匹配的编程实例以及不断深入的作业题、讨论题和延展题。通过不断提出新的问题,从分析数据、选择属性,到设计模型、优化性能,再到研究性任务,引发学习者自主深入思考。
②在不同的知识点之间,通过对同一个任务的层层迭代,逐渐提升学习者综合运用知识的能力。例如,实例鸢尾花分类、手写数字识别贯穿第6~15讲多个知识点,不断优化;实例波士顿房价回归、鸢尾花分类、手写数字识别、cifar图像分类、猫狗大战等各成系列又层层堆叠优化,帮助学生逐步搭建能力提升阶梯,最终能够设计和实现复杂的人工智能应用。
⑶“高内聚、低耦合”的模块化的内容设计,适用于多层次、多学科专业
面向多元化的社会学习者,将课程内容凝练为高度模块化的80个知识点和25个实例,各模块之间相互独立又相辅相成,不同基础的学习者可以根据实际情况“按需选材,因材施教”。例如,注重理论知识学习的同学,可以忽略实例部分,只浏览理论学习的视频,也是连贯和自成一体的。对于已经掌握理论知识,只是想学习TensorFlow的同学,则可以仅浏览TensorFlow基础和编程实践部分的课程。另外,有一定基础的同学,也可以先完成测试题和作业题,了解自己对知识的掌握情况,然后再根据需要有选择性的浏览课程内容。
第0讲 课程概述
0 课程概述
第1讲 人工智能的起源和发展
1.1 人工智能的诞生
1.2 人工智能的发展
1.3 机智过人or技不如人?
第1讲 单元测试
第1讲 单元作业
第2讲 TensorFlow2.4和PyTorch环境的安装与使用
2.1 开发环境介绍
2.2 Anaconda的下载与安装
2.3 Hello,World
2.4 使用JupyterNotebook
2.5 包管理和环境管理
2.6 安装TensorFlow2.4
2.7 安装Tensorflow2.4GPU版本
2.8 安装PyTorch GPU版本
第2讲 - 单元测验
第2讲 - 单元作业
第3讲 Python语言基础(1)
3.1 初识Python
3.2 第一个Python程序
3.3 输入和输出
3.4 常量、变量和表达式
3.5 程序控制语句
3.6 本讲知识点导航
第3讲 单元测试
第3讲 单元作业
第4讲 Python语言基础(2)
4.1 内置数据结构
4.2 函数和模块
4.3 Python面向对象编程
4.4 文件
4.5 异常处理
4.6 上下文管理器
4.7 本讲知识点导航
第4讲 单元测试
第4讲 单元作业
第5讲 NumPy科学计算库
5.1 多维数组
5.2 创建NumPy数组
5.3 数组运算
5.4 矩阵和随机数
5.5 本讲知识点导航
第5讲 单元测试
第5讲 单元作业1
第5讲 单元作业2
第6讲 Matplotlib数据可视化
6.1 Matplotlib绘图基础
6.2 散点图
6.3 折线图和柱形图
6.4 实例:波士顿房屋价格数据集分析
6.5 实例:鸢尾花种类数据集分析
6.6 本讲知识点导航
第6讲 单元测试
第6讲 单元作业3
第6讲 单元作业1
第6讲 单元作业2
第7讲 数字图像基础
7.1 数字图像基本概念
7.2 Pillow图像处理库
7.3 实例:手写数字数据集MNIST
7.4 本讲知识点导航
第7讲 单元测试
第7讲 单元作业1
第7讲 单元作业2
第7讲 单元作业3
第8讲 TensorFlow与PyTorch基础
8.1 TensorFlow2.0特性
8.2 创建张量
8.3 维度变换
8.4 部分采样
8.5 张量运算
*8.6使用GPU
8.7 PyTorch基础
8.8本讲知识点导航
第8讲 课外阅读材料
第8讲 单元测试
第8讲 单元作业1
第8讲 单元作业2
第9讲 回归问题
9.1 机器学习基础
9.2 一元线性回归
9.3 实例:解析法实现一元线性回归
9.4 多元线性回归
9.5 实例:解析法实现多元线性回归
*9.6实例: 三维模型可视化
9.7 PyTorch实现线性回归问题
9.8 本讲知识点导航
第9讲 单元测试
第9讲 单元作业
第10讲 梯度下降法
10.1 梯度下降法基本原理
10.2 实例:梯度下降法实现线性回归问题
10.3 TensorFlow的可训练变量和自动求导机制
10.4 实例:TensorFlow实现梯度下降法
10.5 模型评估
10.6 实例:波士顿房价预测-TensorFlow
10.7 PyTorch利用梯度下降法实现线性回归问题
10.8 本讲知识点导航
第10讲 单元测试
第10讲 单元作业
第11讲 分类问题
11.1 逻辑回归
11.2 实例:实现一元逻辑回归-TensorFlow
11.3 线性分类器
11.4 实例:实现多元逻辑回归-TensorFlow
11.5 多分类问题
11.6 实例:实现多分类-TensorFlow
11.7 PyTorch实现分类问题
11.8 本讲知识点导航
第11讲 单元测试
第11讲 单元作业1
第11讲 单元作业2
第12讲 人工神经网络(1)
12.1 神经元与感知机
12.2 实例:单层神经网络实现鸢尾花分类-TensorFlow
12.3 多层神经网络
12.4 误差反向传播算法
12.5 激活函数
12.6 实例:多层神经网络实现鸢尾花分类-TensorFlow
12.8 本讲知识点导航
第12讲 单元测试
第12讲 单元作业1
第12讲 单元作业2
第13讲 人工神经网络(2)
13.1 小批量梯度下降法
13.2 梯度下降法的优化
13.3 keras和tf.keras
13.4 Sequential模型
13.5 实例:Sequential模型实现手写数字识别-TensorFlow
13.6 实例:模型的保存和加载-TensorFlow
13.7 本讲知识点导航
第13讲 单元测试
第13讲 单元作业1
第13讲 单元作业2
第14讲 卷积神经网络
14.1 深度学习基础
14.2 图像识别与深度学习
14.3 图像卷积
14.4 卷积神经网络
14.5 实例:卷积神经网络实现手写数字识别-TensorFlow
14.6 卷积神经网络的优化
14.7 实例:卷积神经网络识别cifar10图片-TensorFlow
第14讲 单元测试
第14讲 单元作业
第15讲 经典的卷积神经网络
15.1 LeNet神经网络
15.2 数据增强
15.3 ImageNet与Kaggle数据
15.4 AlexNet网络
15.5 VGGNet网络
15.6 GoogLeNet网络
15.7 ResNet网络
15.8 实例:使用预训练模型实现猫狗大战-TensorFlow
第16讲 AI的工程伦理
16.1 Google的AI原则
16.2 负责任地使用TensorFlow开发AI
16.3 合理规范地使用ChatGPT
第17讲 TensorFlow.lite和TensorFlow.js
17.1 TensorFlow.lite的应用
17.2 TensorFlow.js的应用
第18讲 PyTorch实例文档
18.1 PyTorch介绍
18.2 解析法实现线性回归
18.3 PyTorch的求导机制与梯度下降法
18.4 逻辑回归
18.5 人工神经网络
18.6 卷积神经网络
第19讲 MindSpore实例
19.1 华为人工智能生态
19.2 MindSpore架构及开发环境搭建
19.3 MiondSpore开发实践
19.4 实例:手写数字识别(MindStudio)
19.5 实例:鸢尾花分类实验(MindStudio)
19.6 实例:猫狗大战(MindSpore Lite)