【师资培训】Python人工智能编程及应用-WZ学院
一、培训与课程背景
进入21世纪以来,随着新一轮科技革命和产业变革的持续深入发展,以人工智能为代表的新一代技术及应用持续渗透社会的芳芳绵绵,加速推动各行业的全面数字化,例如小到短视频软件的智能推荐、手机人脸识别解锁和支付,大到AI辅助医疗诊断、无人机智能巡检、无人驾驶汽车、工业互联网助力智能制造……越来越多智能技术、智能应用不断发挥新价值,催生社会生产生活新动力,推动人类智能社会不断向前发展。
我国高度重视人工智能的发展和教育。2015年,《国务院关于积极推进“互联网+”行动的指导意见》就提出加快人工智能核心技术突破,促进人工智能在智能家居、智能终端、智能汽车、机器人等领域推广应用。近年来,我国发布了一系列支持人工智能发展的政策,确定新一代人工智能发展三步走战略目标,并将人工智能发展上升到国家战略层面。2020年,国家大力推进5G网络、人工智能、数据中心等新型基础设施建设,多部门联合印发《国家新一代人工智能标准体系建设指南》,以加强人工智能领域标准化顶层设计,推动人工智能技术研发和标准制定,促进产业健康可持续发展。与此同时,我国人工智能领域高层次人才培养也受到重视,主要由高校通过成立AI学院、设立AI专业的方式进行培养。相关数据显示,目前国内有200多所高校设立“人工智能”本科专业。
Python在人工智能时代是首选的入门编程语言,其有着上手简单和使用广泛的特点。Python是一种面向对象、解释型计算机程序设计语言。它的设计初衷就是优雅、明确、简单,因此其特性就支持快速开发,适合现阶段的人工智能应用。而且Python具有丰富而强大的库,俗称胶水语言。Python在历史上也一直充当着科学计算和数据分析的重要工具的角色,有numpy这样的基础库既减少了开发的工作量,也方便从业人员上手。Python是通用语言,可以在任意场景下应用,上天支持航天航空系统开发,下至小游戏开发,几乎无所不能。
本次培训讲提供Python的学习,在掌握了Python基础操作后将通过Python实现简单的人工智能应用,从而让学员能够在短时间内迈入人工智能的大门。
二、培训目的
通过本次培训旨在让学员掌握:
- 独立使用Python编写程序并Debug的能力
- 掌握人工智能的基本原理和常见算法
- 掌握机器学习和神经网络的基础应用,可以在一些典型场景实现应用(例如识别语音和识别花朵)
- 掌握基础的数据可视化的方法和工具
三、课程安排
表1. 整体课程概览
课程序号 |
课程内容 |
理论课时 |
实践课时 |
1 |
人工智能介绍:历史、主要领域和算法 |
1 |
1 |
2 |
Python编程简介和环境分类 |
2 |
1 |
3 |
基本输入输出与简单预算 |
2 |
2 |
4 |
三种程序结构顺序、条件和循环 |
3 |
2 |
5 |
基本数据结构:字符串、列表、字典和元组 |
3 |
2 |
6 |
函数、作用域与抽象 |
3 |
2 |
7 |
类与面向对象编程 |
2 |
2 |
8 |
算法复杂度简介 |
3 |
2 |
9 |
搜索算法线性搜索、二分查找和利用假设 |
3 |
2 |
10 |
排序算法并归、Python中的排序函数 |
2 |
2 |
11 |
递归算法斐波那契、回文和汉诺塔 |
3 |
2 |
12 |
异常、断言与测试 |
3 |
2 |
13 |
机器学习与神经网络 |
2 |
4 |
14 |
数据处理与可视化 |
3 |
3 |
15 |
人工智能应用识别花朵 |
4 |
4 |
16 |
人工智能应用识别语音 |
4 |
4 |
合计 |
43 |
37 |
具体每一个主题的课程安排:
课程1:人工智能介绍:历史、主要领域和算法
1. 人工智能与计算的发展历史
- 我国古代哲学家对于智能的思考
- 计算的诞生
- 计算机的诞生:图灵机和图灵测试、摩尔定律
- 人工智能的诞生
2. 人工智能的分类
3. 人工智能主流方法
- 符号主义人工智能
- 联结主义人工智能(数据驱动的机器学习)
- 行为主义的人工智能(从经验学习)
4. 案例学习:AlphaGo的发展
- 发展历程与代表算法
5. 展望新一代人工智能
- 发展方向
- 改革趋势
课程2: Python编程简介与环境分类
1. 前言
2. 计算机的硬件架构
- 通用计算机架构
3. Python与编程
- Python语言介绍
- 如何与Python对话:元素、句子或行、脚本和交互式、程序步骤或程序流程
- Python的运行环境:命令行、自带IDLE、Jupyter Notebook、Pycharm和Atom
课程3:基本输入输出与简单运算
1. Python中的常量、保留字、变量及命名规则
2. Python的常规语法
- 赋值语句:数值表达式
- 计算顺序:运算符优先级规则
- 类型:数的类型(整数和浮点数)、类型转换、字符串转换
- 输入与输出:用户输入(input)、注释
3. 练习
课程4:三种程序结构:顺序、条件和循环
1. 前言
- 回顾之前的基本概念:程序步骤或程序流程
2. 条件结构
- 比较运算符:常见比较运算符
- 决策类型:单向决策、嵌套决策、双向决策(有无else)、多路径的决策
- try/except结构:用于补偿错误
- 缩进:出现场景和注意事项
- 练习1和练习2
3. 循环结构
- 无限循环(while循环)
- break和continue:对于循环进行操作
- 明确的循环(for循环):定义与示例
- 循环的常见应用:寻找最大值、循环中计数、循环中求和、在循环中求平均值、再循环中筛选、使用布尔值进行搜索、寻找最小值、is和is not操作符
课程5: 基本数据结构:字符串、列表、字典和元组
1. 字符串
- 字符串的基本定义
- 字符串长度与len函数
- 对于字符串的操作:遍历、循环和计数、分割、连接、比较、搜索、改变大小写、查找和替换、剥离空格、分析和提取
- 字符串库
2. 列表
- 列表的基本概念
- 列表与确定循环
- 查看列表:查看列表内部、长度与range函数
- 对列表的操作:连接、切片
- 构建列表
3. 字典
- 字典的基本概念:比较列表与字典、键与值
- 字典检索的方法
- Get()方法
4. 元组
- 元组的基本概念:元组与列表
- 元组和赋值
- 元组和字典
课程6: 函数、作用域与抽象
1. Python中的函数:
- 函数的基本概念
- 基础函数:最大值函数、类型转换、字符串转换
2. 构建自定义的函数
- 定义和使用
- 实际参数和形式参数
- 返回值
- 作用域
课程7: 类与面向对象编程
1. 程序中对象和类的基本概念
- 类、方法(消息)、字段(属性)、对象(实例)
2. Python中的对象
- dir()和type()
3. 对象的生命周期
- 构造方法
- 多个实例
4. 类的继承
课程8: 算法复杂度简介
1. 算法实现的基本步骤
- 基本步骤:理解问题、提出问题、设计算法、算法实现
- 算法评估:算法正确性和效率
2. 算法复杂度
- 输入大小的参数n
- 时间复杂度:大O记法、增长顺序
- 渐近符号
3. 算法的实证分析
- 总体计划
- 潜在问题
课程9: 搜索算法、线性搜索、二分查找和利用假设
1. 搜索的基本定义
2. 顺序搜素
- 工作原理
- 示例代码
3. 二分搜索
- 工作原理
- 示例代码
课程10: 排序算法、并归、Python中的排序函数
1. 前言
- 常见排序算法的对比:时间复杂度、空间复杂度和稳定性
2. 常见算法
- 冒泡排序:算法原理和算法步骤
- 选择排序:算法原理和算法步骤
- 并归排序:算法原理、算法步骤、算法优化与分析
3. Python中的排序函数
课程11: 递归算法斐波那契、回文和汉诺塔
1. 递归算法定义
2. 递归三大定律
- 必须拥有一个基本结束条件
- 必修改变自己的状态并向基本结束条件演进
- 必须递归地调用自身
3. 案例学习
- 任意进制转换
课程12: 异常、断言与测试
1. Python中的异常
- 语法错误:解析错误
- 异常与异常处理:try/except、多个异常、try/except..else、try-finally
2. 断言
- 语法格式
3. 测试
- Unittest Module
课程13: 机器学习与神经网络
1. 特征与数据
- 数据种类
- 数据集的划分
2. 算法类型
- 监督学习
- 强化学习
- 无监督学习
3. 神经网络
- 基本结构
- 激活函数
- 矩阵表达
- 梯度下降
- 卷积神经网络(CNN)
课程14: 数据处理与可视化
1. Pandas介绍
- 数据结构:Series(1维)和DataFrame(2维)
- 读取和写入数据
- 使用Pandas画图
- 基础统计分析
- 重排序与合并
2. Matplotlib介绍
- 功能介绍
- 绘图操作:图的类型、线宽、线型、标记、轴标签、文本、附注
- 图像示例
课程15: 人工智能应用识别花朵
1. 线性机器及其局限性
- 常见算法:线性回归、感知机、逻辑回归
- 线性机器学习的局限
2. 深度学习
- 特征层级
- 三种深度架构:前向、反馈、双向
- 三种训练协议
- 深度学习的进阶讨论
3. 如何定义特征
- 发现高维数据中的隐藏结构
- 非线形拓展
- 整体架构
课程16: 人工智能识别语音
1. 多模块系统
- 级联
- 实现:反向传播
- 常见模块:线性模块、Tanh模块、欧式距离模块
2. 基于深度学习的识别系统
- 特征层级
- 深度网络:ReLU、最大池化
- 卷积网络
- RNN:时间反向传播BPTT、梯度爆炸、梯度消失
- RNN语言建模:N-grams
- 神经网络语言建模:前馈神经网络LM、性能对比(大型和小型数据集)、Softmax
- RNN和Maxent模型的联合训练
3. 处理非线性交互
- 梯度爆炸和梯度消失
- 结构受限的RNN
- 长短期记忆LSTM:时间反向传播BPTT、深度LSTMs、双向LSTMs
4. LSTMs的应用
- 自动语音识别
- 序列到序列学习(Seq2Seq)
- 视频的无监督训练
- 门控循环单元
四、其它信息
课程提供材料:
- 课程大纲(本文件)
- 全部课程PPT
- 实训手册及配套代码
参考资料:
- 维基百科Python词条:https://en.wikipedia.org/wiki/Python_(programming_language).
- Python3菜鸟教程:https://www.runoob.com/python3/python3-tutorial.html.
- Ramalho, L. (2022). Fluent Python. " O'Reilly Media, Inc.".
- Skiena, S. S. (2020). Introduction to algorithm design. In The Algorithm Design Manual (pp. 3-30). Springer, Cham.
- 周志华,机器学习[M].北京:清华大学出版社,2016.
更多参考资料详见课程PPT。
五、课程讲师
1、陈鑫 AI研发专家
TsingtaoAI资深项目导师
北京贪心科技实训项目负责人
北京正己基业教育科技有限公司架构
北京运道科技有限公司技术负责人
掌合天下(北京)技术有限公司技术经理
擅长领域
LLM大模型,AIGC应用开发,python,Java语言教学,机器学习,神经网络
2、肖红正 AI研发专家
世界五百强英特尔公司高级系统架构师,十多年算法研究实践经验;
985高校国家重点实验室提任算法Leader,研究视觉机器人产品;
500强上市公司,担任算法负责人,研究人工智能相关模型产品;
创新能力强,0-1发明点对多点协议的,曾用于美国网讯公司;语音同步合成同步技术,处于世界领先地位。
研究领域
精通C/C++,熟悉Python等编程语言;
对Linux系统和软件工程化有深刻认识;
熟悉软硬件一体化产品,动手能力强,带团队,可实现落地量产;
擅长室内外大规模环境的三维快速重建,建图、定位和规划,成功运用在大型实验室和发电厂环境地重建;
擅长计算机视觉:
图像的降噪、增强处理、图像的还原处理、边缘提取、图像滤波;
基于深度学习对2D和3D目标的检测、分类、语义分析、多目标跟踪;
对激光雷光点云数据和相机数据的融合处理,三维计算机视觉与点云模型、SLAM建图
立体视觉、多视几何、三维重构、SFM算法;
2D和3D人脸识别成功案例,人体驾车危险动作行为识别;
机器学习:知识自学习、运行优化数据挖掘;
主要学术和研究成果
国家公安安全审计平台,安全协议和透明加解密协议;
英特尔实验室, 图形、图像模式识别;
华科大实验室,智能售货柜、工业移动检测机器人;
中国电子系统技术有限公司,基于深度学习对抗神经网络的自调优装置,广泛应用于2D和3D目标的检测、识别;
专利:一种文本识别模型的生成方法以及装置(CN202110447608.9)
专利:一种语义分析方法及装置(CN202110499308.5)