欢迎访问yl7703永利官网!

《人工智能基础》课程教学大纲

发布者:胡丹发布时间:2023-05-19浏览次数:10

《人工智能基础》课程教学大纲

一、课程基本信息

英文名称

Artificial Intelligence Basic

课程代码

BEEE3702

课程性质

专业选修课程

授课对象

能源与动力工程等专业

学   分

1.5

学   时

36

主讲教师

陶永明

修订日期

2021218

指定教材

讲义

二、课程目标

(一)总体目标:

《人工智能基础》是一门能源与动力工程类专业选修课程。课程的总体目标是旨在帮助学生掌握人工智能的基本原理和相关技术,拓展知识和技能范围,为利用人工智能技术解决能源与动力工程领域中的问题打好基础,增强学生自主学习和终身学习的意识,增强其不断学习和适应发展的能力。

(二)课程目标:

课程目标1帮助学生掌握人工智能的基本原理。

 1.1帮助学生掌握人工神经网络的基本原理。

 1.2帮助学生掌握深度学习正则化的原理。

 1.3帮助学生掌握深度学习优化的原理。

 1.4帮助学生掌握卷积神经网络、循环神经网络和生成对抗网络的架构和工作原理。

 1.5帮助学生了解大语言模型的基本原理和架构。

课程目标2帮助学生掌握人工智能的相关技术。

2.1帮助学生学会Keras的安装和使用方法。

2.2帮助学生掌握数据获取与处理的方法。

2.3帮助学生用Keras搭建各种神经网络模型,掌握模型的训练、评估和使用方法。

(三)课程目标与毕业要求、课程内容的对应关系

1:课程目标与课程内容、毕业要求的对应关系表

课程目标

课程子目标

对应课程内容

对应毕业要求

课程目标1

1.1

第二章

毕业要求12

1.2

第四章

毕业要求12

1.3

第五章

毕业要求12

1.4

第六章、第七章、第九章

毕业要求12

1.5

第十章

毕业要求12

课程目标2

2.1

第三章

毕业要求6

2.2

第八章

毕业要求6

2.3

第六章、第七章、第九章

毕业要求6

三、教学内容

第一章 绪论

1.教学目标

1)了解人工智能和深度学习技术的发展过程。

2)理解人工智能、机器学习和深度学习之间的关系。

3)掌握Anaconda的安装方法。

4)掌握Anaconda NavigatorAnaconda PromptJupyter Notebook的使用方法。

2.教学重难点

1掌握Anaconda的安装方法

2掌握Anaconda PromptJupyter Notebook的使用方法

3.教学内容

第一节 人工智能、机器学习和深度学习

一、人工智能和深度学习技术的发展过程

二、人工智能、机器学习和深度学习之间的关系

第二节 编程环境

一、Anaconda的安装

二、使用Anaconda Navigator

三、使用Anaconda Prompt

四、使用Jupyter Notebook

4.教学方法

讲授与演示相结合:讲授过程中演示Anaconda PromptJupyter Notebook的使用方法

5.教学评价

思考题:

1)简述人工智能和深度学习技术的发展过程。

2)请描述人工智能、机器学习和深度学习之间的关系

3)使用Jupyter Notebook有哪些好处?



第二章 人工神经网络基础

1.教学目标

1)掌握感知器、sigmoid分类器、softmax分离器、多层感知器的模型架构和工作原理

2)读懂感知器、sigmoid分类器、softmax分离器、多层感知器的实现代码

3)了解深度神经网络的基本知识。

4)掌握利用人工神经网络解决回归问题的原理和代码实现。

2.教学重难点

1)掌握梯度下降法进行机器学习的原理

2)理解各种模型性能指标。

3)理解模型的输入和输出。

3.教学内容

第一节 感知器

一、感知器的原理

二、Python实现

三、模型的性能度量

四、监督学习和无监督学习

第二节 sigmoid分类器

一、sigmoid分类器的原理

二、Python实现

第三节 softmax多分类器

一、softmax多分类器的原理

二、Python代码实现

三、softmax多分类器用于二分类

第四节 多层感知器

一、多层感知器的原理

二、用多层感知器解决异或问题的Python实现

第五节 深度神经网络

  1. 深度神经网络的优化初探

  2. 深度神经网络的设计

  3. 定义模型的基准性能

第六节 回归

  1. 回归问题与分类问题的异同

  2. 用于回归的损失函数

  3. 用回归模型预测门店销售额

4.教学方法

讲授与演示相结合:讲授过程中演示各种神经网络的代码实现和运行情况

5.教学评价

思考题:

  1. 说说人工神经网络中的神经元、权重参数、激活函数的作用分别是什么?

  2. 人工神经网络的输入层、隐藏层和输出层分别指什么

  3. 什么是阶跃函数、sigmoid函数、softmax函数?能否写出其导函数的形式?

  4. 什么是交叉熵损失函数?

  5. 机器学习的本质是什么?梯度下降法的工作原理是什么?

  6. 什么是有监督学习?什么是无监督学习?

  7. 什么是模型的基准性能?如何度量一个模型的性能水平?

  8. 二分类与多分类的区别有哪些?

  9. 什么是浅层神经网络?什么是深层神经网络?

  10. 回归问题与分类问题的有什么异同?



第三章 深度学习Python框架

1.教学目标

1)了解使用框架的优缺点。

2)了解深度学习框架的分类方法及流行的各种框架。

3)掌握Keras框架的安装和使用方法。

2.教学重难点

1Keras的安装。

2keras的使用。

3.教学内容

第一节 为什么要使用框架

  1. 框架的优点

  2. 框架的缺点

第二节 探索流行的深度学习框架

一、低级深度学习框架

二、高级深度学习框架

第三节 Keras框架

  1. keras概述

  2. 安装Keras

  3. 使用keras

第四节 keras框架应用示例

  1. 1

  2. 2

4.教学方法

讲授与演示相结合:讲授过程中演示Keras的使用方法。

5.教学评价

思考题:

1)说说使用框架的优缺点。

2)有哪些流行的低级深度学习框架?有哪些流行的高级深度学习框架?

3)如何安装Keras框架?

4)如何使用Keras框架进行机器学习?



第四章 深度学习正则化

1.教学目标

1)理解深度学习正则化的目的。

2)掌握各种正则化方法的原理。

3)掌握在Keras中实现各种正则化方法。

2.教学重难点

1)掌握各种正则化方法的原理。

2)掌握在Keras中实现各种正则化方法

3.教学内容

第一节 参数范数惩罚

一、参数范数惩罚正则化的原理

二、参数范数惩罚正则化在keras中的实现方法

第二节 稀疏表征

一、稀疏表征的原理

二、稀疏表征在keras中的实现方法

第三节 数据扩充与注入噪声

  1. 数据扩充

  2. 注入噪声

第四节 早停

一、早停的原理

二、Keras中设置早停的方法

第五节 dropout

  1. dropout的原理

  2. Keras中实现dropout

4.教学方法

讲授法

5.教学评价

思考题:

1)什么是参数范数惩罚正则化?如何在keras中实现参数范数惩罚正则化?

2)什么是稀疏表征?在keras中如何实现稀疏表征?

3)数据扩充的目的是什么?如何对图片数据进行增强?

4)为什么要往数据中注入噪声?如何实现噪声注入?

5)模型训练时为什么要早停?Keras中如何设置早停?

6)什么是dropout?如何在Keras中实现dropout



第五章 深度学习的优化

1.教学目标

1)理解神经网络优化面临的各种困难和挑战。

2)掌握各种常用的优化方法的原理。

3)掌握Keras中常用的优化器的设置和使用方法。

4)了解各种参数初始化策略以及Keras中内置的初始化器。

5)理解批量归一化的原理。

6)掌握KerasBatchNormalization层的用法。

2.教学重难点

1)理解神经网络优化面临的各种困难和挑战。

2)理解各种优化方法和参数初始化策略以及批量归一化的原理。

3)掌握Keras中优化器、初始化策略和批量归一化的用法

3.教学内容

第一节 神经网络优化困难和挑战

  1. 局部最优

  2. 鞍点

  3. 梯度悬崖

  4. 梯度消失

  5. 梯度爆炸

  6. 梯度不精确

  7. 优化理论的局限性

第二节 动量学习法

一、LearningRateScheduler

二、ReduceLROnPlateau

三、动量学习法的原理、

四、KerasSGD优化器

第三节 AdaGrad

一、AdaGrad的原理

二、KerasAdaGrad的使用

第四节 RMSProp

  1. RMSprop的原理

  2. KerasRMSprop的用法

第五节Adam

  1. Adam的原理

  2. KerasAdam的用法

  3. Adam的优点

第六节 keras中优化器的使用

  1. Optimizer中优化器的调用

  2. 优化器中的公共参数

第七节 参数初始化策略

一、参数初始化策略

二、Keras内置的初始化器

第八节 批量归一化

  1. 批量归一化的原理

  2. KerasBatchNormalization

4.教学方法

讲授法

5.教学评价

思考题:

1)请解释以下概念:1.局部最优2.鞍点3.梯度悬崖4.梯度消失和梯度爆炸5.梯度不精确

2动量学习法的原理是什么

3)请解释以下优化器中的主要参数的意义:1.SGD 2. AdaGrad 3. RMSProp 4. Adam



4)各种优化器中的公共参数有哪些?

5)什么是人工神经网络的参数初始化?参数初始化有哪些策略?在Keras中如何实现?

6)批量归一化的目的是什么?Keras中如何实现批量归一化?



第六章 卷积神经网络

1.教学目标

1)理解卷积和池化的原理。

2)掌握keras中搭建CNN网络的方法。

3)理解ResNetDenseNet的架构。

2.教学重难点

1)理解卷积的原理。

2)掌握keras中搭建CNN网络的方法。

3)理解ResNet的架构。

3.教学内容

第一节 卷积

  1. 卷积的概念

  2. 卷积的意义

  3. 多核卷积

  4. 跨步卷积

  5. 零填充

  6. 非共享卷积

第二节 池化

  1. 同通道池化可以获得平移不变性

  2. 跨通道池化可以获得旋转不变性

第三节 用keras搭建CNN网络

一、Conv2D函数

二、MaxPooling2D函数

第四节 深度残差网络ResNet

  1. 深度残差网络的原理

  2. ResNet的实例代码分析

第五节 DenseNet

一、DenseNet的原理

二、DenseNet的代码分析

第六节 其它卷积

  1. 其它卷积简介

  2. 代码实例分析——Speaker Recognition

4.教学方法

讲授与演示相结合:讲授过程中演示卷积神经网络模型的搭建、训练和评估。

5.教学评价

思考题:

1)为什么要采用卷积和池化?

2)什么是多核卷积?什么是跨步卷积?

3)什么是零填充?

4)如何用keras搭建CNN网络

5)为什么要采用深度残差网络



第七章 循环神经网络

1.教学目标

1)掌握循环神经网络的基本结构和变种。

2)掌握LSTMGRU的原理。

3)掌握在Keras中实现LSTMGRU的方法。

2.教学重难点

1)掌握LSTM的原理。

2)掌握在Keras中实现LSTM的方法。

3.教学内容

第一节 循环神经网络的基本结构

一、循环神经元按空间维度展开

二、循环神经元按时间维度展开

三、循环网络训练

第二节 基本循环神经网络的几个变种

  1. 双向循环网络结构

二、编码-解码网络结构

三、深度循环网络

第三节 门控循环神经网络

  1. LSTM

二、GRU

第四节 RNNkeras实现

一、LSTMkeras实现

二、GRUkeras实现

第五节 案例

  1. 案例1

二、案例2

4.教学方法

讲授与演示相结合:讲授过程中演示循环神经网络模型的搭建、训练和评估。

5.教学评价

思考题:

1循环神经网络与前馈什么网络有什么不同?

2循环神经网络在空间结构上一定是深层神经网络吗

3)什么是timestep?它与序列有什么关系?

4编码-解码网络结构可以用来处理什么样的问题

5LSTM的特点是什么?含有哪些门?



第八章 数据获取与处理

1.教学目标

1)掌握数据获取的途径和方法。

2)掌握数据清洗和预处理的方法。

2.教学重难点

1)编写爬虫爬取数据。

2)掌握各种数据清洗和预处理的方法。

3.教学内容

第一节 数据的重要性

一、数据的重要性

第二节 现成的数据集

一、经典图片数据集

二、自然语言数据集

三、声音数据集

四、财经数据集

第三节 数据爬取

  1. 浏览器获取网页信息的原理

二、用requests+BeautifulSoup爬取网页信息

三、用selenium对动态加载内容的进行爬取

四、信息的保存

第四节 其它数据获取方法

  1. random生成虚拟数据集

二、系统采集数据

  1. 问卷调查

第五节 数据清洗

一、数据清洗目的及工具

二、缺失值处理

三、去重处理

四、异常值处理

第六节 数据预处理

  1. 创建特征

二、分类特征数值化

三、布尔型特征的转化

四、数据标准化

第七节 文本数值化

  1. one-hot编码

二、word2vec

三、GloVe

第八节 声音数据预处理

  1. 声音数据预处理

二、Music Embedding

第九节 数据集划分和数据的调整

一、数据集划分

二、数据的调整

4.教学方法

讲授与演示相结合:讲授过程中演示如何进行数据爬取、清洗和预处理。

5.教学评价

思考题:

  1. 为什么说数据很重要?

  2. 说说用爬虫爬取数据的原理和方法。

  3. 如何random生成虚拟数据集

  4. 为什么要进行数据清洗?如何清洗?

  5. 如何根据时间数据创建更多特征?

  6. 如何将分类特征和布尔特征数值化?

  7. 为什么要进行数据标准化处理?如何处理?

  8. 文本数值化方法有哪些word2vec的原理是什么?

  9. 声音数据预处理主要包括哪些方面

  10. 为什么要进行数据集划分?如何划分?



第九章 生成对抗网络

1.教学目标

1)掌握原始的生成对抗网络的基本原理和代码实现

2)掌握DCGAN的原理和代码实现。

3)掌握InfoGAN的原理和代码实现

2.教学重难点

1)掌握原始的生成对抗网络的基本原理和代码实现。

3.教学内容

第一节 GAN

  1. 生成对抗网络的基本原理

二、AI手写阿拉伯数字的代码实现

第二节 DCGAN

一、DCGAN的原理

二、DCGAN实例代码分析

第三节 分离表示GAN

一、InfoGAN原理

二、InfoGAN的实例代码分析

4.教学方法

讲授与演示相结合:讲授过程中演示几种GAN网络的搭建和训练。

5.教学评价

思考题:

1)什么是GANGAN是如何实现AI写字的?

2DCGAN有什么特点

3)什么是分离表示GANInfoGAN如何实现



第十章 大语言模型

1.教学目标

1)理解大语言模型的基本原理。

2)了解Bert的特点。

3)了解GPT的特点。

2.教学重难点

1AttentionTransformer的原理与实现。

2BertGPT的架构。

3.教学内容

第一节 机器翻译和Attention

一、基本的RNN Encoder-Decoder模型

二、带Attention RNN Encoder-Decoder模型

第二节Transformer

一、Transformer的架构

二、Transformer的实现

第三节 Bert

一、Bert的架构

二、Bert的用法

第四节 GPTChatGPT

一、GPT的架构

二、ChatGPT

4.教学方法

讲授法。

5.教学评价

思考题:

1)什么是大语言模型

2)什么是Attention?什么是self-attention?什么是multi-head attention

3)什么是Transformer

4BertGPT有什么异同?

5ChatGPTGPT是什么关系?



四、学时分配

2:各章节的具体内容和学时分配表

章节

章节内容

学时分配

第一章

绪论

 2

第二章

人工神经网络基础

 8

第三章

深度学习Python框架

 4

第四章

深度学习正则化

 2

第五章

深度学习的优化

 3

第六章

卷积神经网络

 3

第七章

循环神经网络

 2

第八章

数据获取与处理

 6

第九章

生成对抗网络

 2

第十章

大语言模型

 4

总计

 36

五、教学进度

3:教学进度表

周次

日期

章节名称

内容提要

授课时数

作业及要求

备注

 1


第一章 绪论

第一节 人工智能、机器学习和深度学习

第二节 编程环境

 2

完成本章思考题


 2-5


第二章 人工神经网络基础

第一节 感知器

第二节 sigmoid分类器

第三节 softmax分类器

第四节 多层感知器

第五节 回归

第六节 深层神经网络

 8

完成本章思考题


 6-7


第三章  深度学习Python框架

  1. 为什么要使用框架

第二节 探索流行的深度学习框架

第三节 Keras框架

 4

完成本章思考题


 8


第四章  深度学习正则化

第一节 参数范数惩罚

  1. 稀疏表征

  2. 数据扩充与注入噪声

  3. 早停

  4. Dropout

 2

完成本章思考题


 9-10


第五章 深度学习的优化

第一节 神经网络优化困难和挑战

第二节 动量学习法

第三节 AdaGrad

第四节 RMSProp

第五节 Adam

  1. keras中优化器的使用

  2. 参数初始化策略

  3. 批量归一化

 3

完成本章思考题


 10-11


第六章 卷积神经网络

第一节 卷积

第二节 池化

第三节用keras搭建CNN网络

第四节 深度残差网络ResNet

第五节 DenseNet

第六节 其它卷积

 3

完成本章思考题


 12


第七章 循环神经网络

第一节 循环神经网络的基本结构

第二节 基本循环神经网络的几个变种

第三节 门控循环神经网络

第四节 RNNkeras实现

第五节 案例

 2

完成本章思考题


 13-15


第八章 数据获取与处理

第一节 数据的重要性

第二节 现成的数据集

第三节 数据爬取

第四节 其它数据获取方法

第五节 数据清洗

第六节 数据预处理

第七节 文本数值化

第八节 声音数据预处理

第九节 数据集划分和数据的调整

 6

完成本章思考题


 16


第九章 生成对抗网络

第一节 GAN

第二节 DCGAN

第三节 分离表示GAN

 2

完成本章思考题


 17-18


第十章 大语言模型

第一节 机器翻译和Attention

第二节 Transformer

第三节 Bert

第四节 GPTChatGPT

 4

完成本章思考题


六、教材及参考书目

 1. 郑敦庄、胡承志.TensorFlow+Keras深度学习算法原理与编程实践. 北京:电子工业出版设,2020

 2.(日)巣笼悠辅.深度学习:Java语言实现.北京:机械工业出版社,2017

何福贵.Python深度学习逻辑、算法与编程实战.北京:机械工业出版社,2020

 3.(印)乔·穆拉伊尔.Keras深度神经网络.北京:清华大学出版社,2020

 4. 杨云,杜飞.深度学习实战.北京:清华大学出版社,2018.

 5.(印度)雅兰·萨纳卡.Python自然语言处理.北京:机械工业出版社,2018

 6()Josh Kalin.实战GAN.电子工业出版社,2019

 7()金兑映.keras深度学习基于Python. 北京:人民邮电出版社,2020

 8、(菲)罗韦尔·阿蒂恩扎.keras高级深度学习.北京:机械工业出版社,2020

 9()安东尼奥·古利,()苏伊特·帕尔.Keras深度学习实战.北京:人民邮电出版社,2018



七、教学方法

 1.讲授法:通过讲授本课程的内容,帮助学生掌握人工智能的基本原理和相关技术,拓展知识和技能范围,为利用人工智能技术解决能源与动力工程领域中的问题打好基础,增强学生自主学习和终身学习的意识,增强其不断学习和适应发展的能力。

 2.演示法:通过实例代码的运行演示,帮助学生更好地理解和掌握人工智能的基本原理和实现方法。

八、考核方式及评定方法

(一)课程考核与课程目标的对应关系

4:课程考核与课程目标的对应关系表

课程目标

考核要点

考核方式

课程目标1

人工神经网络的原理和各种架构

笔试或口试

课程目标2

模型的搭建、训练、评估和使用

软件作品

(二)评定方法

1.评定方法

2.课程目标的考核占比与达成度分析

5:课程目标的考核占比与达成度分析表

考核占比

课程目标

平时

期中

期末

总评达成度

课程目标1

0.2

0.3

0.5

1

课程目标2

1

0

0

(三)评分标准

课程

目标

评分标准

90-100

80-89

70-79

60-69

60

合格

不合格

A

B

C

D

F

课程

目标1

全面掌握人工智能的基本原理

较好掌握人工智能的基本原理

基本掌握人工智能的基本原理

大体掌握人工智能的基本原理

不能掌握人工智能的基本原理

课程

目标2

全面掌握人工智能的相关技术

较好掌握人工智能的相关技术

基本掌握人工智能的相关技术

大体掌握人工智能的相关技术

不能掌握人工智能的相关技术