《人工智能基础与应用(微课版)》韩雁泽;刘洪涛
本书涵盖人工智能概述、Python编程基础、TensorFlow机器学习框架、机器学习算法、MNIST数据集及神经网络、TensorFlow高级框架、OpenCV开发与应用等基础知识,并介绍且搭建了计算机视觉中的手写数字识别与人脸识别、自然语言处理中的语音识别与智能聊天机器人具体项目,还介绍并实践了AI开放平台的接入与使用,*后在综合实训案例解析中完成了对所学知识的整合。刘洪涛 2005年毕业于北京工业大学机电工程专业,硕士研究生学历,目前就职于北京华清远见科技信息有限公司。职位是华清远见技术总监;ARM公司全球认证讲师;参与编写过几十本专业图书;国内知名物联网方向技术顾问;首批高校物联网专业建设教学指导委员会专家委员会成员;丰富的嵌入式及物联网系统软、硬件产品开发经验;主持开发过多个大型嵌入式及物联网项目,涉及工业控制、网络、通讯、消费电子等众多领域。第 1章人工智能概述11.1了解人工智能1
1.2了解深度学习2
1.3人工智能发展现状4
1.4人工智能机器学习框架5
1.4.1机器学习框架简介5
1.4.2TensorFlow5
1.4.3PaddlePaddle7
1.5怎样学习人工智能7
1.6小结8
1.7练习题8
第 2章Python编程基础9
2.1Python入门9
2.2开发环境搭建10
2.2.1安装Python10
2.2.2安装PyCharm13
2.2.3体验PyCharm17
2.3基础语法21
2.3.1基本输入和输出21
2.3.2Python运算符24
2.3.3Python数据类型33
2.3.4Python语句38
2.3.5Python函数43
2.4面向对象44
2.5第三方库的使用45
2.5.1NumPy46
2.5.2Pandas49
2.5.3Matplotlib52
2.6小结57
2.7练习题57
第3章TensorFlow机器学习框架58
3.1TensorFlow介绍58
3.1.1TensorFlow基础介绍58
3.1.2分布式TensorFlow61
3.2TensorFlow环境搭建61
3.2.1安装Anaconda61
3.2.2使用pip的Windows环境安装67
3.2.3使用pip的Linux环境安装68
3.2.4使用源代码编译安装68
3.3TensorFlow计算机加速68
3.3.1TensorFlow的使用68
3.3.2TensorFlow使用GPU加速70
3.4小结70
3.5练习题71
第4章机器学习算法72
4.1线性回归72
4.1.1什么是线性回归72
4.1.2线性回归例子引入73
4.1.3数学方法解决线性回归问题75
4.1.4利用TensorFlow解决线性回归问题78
4.2逻辑回归81
4.2.1什么是逻辑回归81
4.2.2逻辑回归例子引入82
4.2.3数学方法解决逻辑回归问题83
4.2.4利用TensorFlow解决逻辑回归问题83
4.3KNN85
4.3.1什么是KNN86
4.3.2KNN例子引入86
4.3.3数学方法解决KNN问题87
4.3.4利用TensorFlow解决KNN问题91
4.4使用第三方模块实现KNN92
4.5其他机器学习算法94
4.5.1支持向量机94
4.5.2决策树94
4.5.3随机森林95
4.5.4K-Means95
4.6小结95
4.7练习题95
第5章MNIST数据集及神经网络96
5.1MNIST数据集简介96
5.2神经元常用函数97
5.2.1激活函数97
5.2.2池化函数99
5.2.3损失函数100
5.3深度神经网络101
5.4经典卷积神经网络介绍102
5.4.1LeNet-5模型及其实现103
5.4.2AlexNet介绍109
5.4.3VGGNet介绍109
5.4.4Inception模型及其实现109
5.5循环神经网络112
5.5.1循环神经网络简介112
5.5.2循环神经网络实现115
5.6优化器及优化方法117
5.6.1优化方法117
5.6.2学习率设置118
5.7小结118
5.8练习题118
第6章TensorFlow高级框架119
6.1TFLearn119
6.2Keras121
6.3小结123
6.4练习题124
第7章OpenCV开发与应用125
7.1OpenCV介绍125
7.2OpenCV常见应用127
7.2.1摄像头调用127
7.2.2OpenCV的图像简单处理128
7.2.3图像处理的意义及价值132
7.3小结133
7.4练习题133
第8章计算机视觉处理134
8.1计算机视觉开发介绍134
8.2手写数字识别136
8.2.1项目介绍137
8.2.2图像获取以及预处理138
8.2.3图像识别139
8.2.4结果显示143
8.3人脸识别143
8.3.1项目介绍144
8.3.2人脸的数据集介绍144
8.3.3人脸识别流程145
8.3.4人脸识别方案145
8.3.5人脸识别应用146
8.4小结154
8.5练习题154
第9章自然语言处理155
9.1人工智能自然语言处理介绍155
9.2英文语音识别156
9.2.1项目介绍156
9.2.2训练模型156
9.2.3测试效果160
9.3打造智能聊天机器人163
9.3.1seq2seq的机制原理163
9.3.2实践163
9.4小结164
9.5练习题164
第 10章人工智能开放平台应用165
10.1AI开放平台介绍165
10.2百度AI开放平台应用166
10.2.1百度AI开放平台介绍166
10.2.2基于百度AI开放平台的图像识别166
10.2.3基于百度AI开放平台的语音识别170
10.2.4基于百度AI开放平台的人脸识别172
10.3更多AI开放平台实践175
10.3.1腾讯AI开放平台175
10.3.2阿里AI开放平台175
10.3.3京东AI开放平台176
10.3.4小爱AI开放平台176
10.3.5讯飞AI开放平台177
10.4小结177
10.5练习题177
第 11章综合实训案例解析178
11.1基于机械臂的工业分拣系统178
11.1.1项目概要178
11.1.2项目设计179
11.1.3项目实现186
11.2小结193
11.3练习题193
内容简介:本书涵盖人工智能概述、Python编程基础、TensorFlow机器学习框架、机器学习算法、MNIST数据集及神经网络、TensorFlow高级框架、OpenCV开发与应用等基础知识,并介绍且搭建了计算机视觉中的手写数字识别与人脸识别、自然语言处理中的语音识别与智能聊天机器人具体项目,还介绍并实践了AI开放平台的接入与使用,*后在综合实训案例解析中完成了对所学知识的整合。作者简介:刘洪涛 2005年毕业于北京工业大学机电工程专业,硕士研究生学历,目前就职于北京华清远见科技信息有限公司。职位是华清远见技术总监;ARM公司全球认证讲师;参与编写过几十本专业图书;国内知名物联网方向技术顾问;首批高校物联网专业建设教学指导委员会专家委员会成员;丰富的嵌入式及物联网系统软、硬件产品开发经验;主持开发过多个大型嵌入式及物联网项目,涉及工业控制、网络、通讯、消费电子等众多领域。目录:第 1章人工智能概述11.1了解人工智能1
1.2了解深度学习2
1.3人工智能发展现状4
1.4人工智能机器学习框架5
1.4.1机器学习框架简介5
1.4.2TensorFlow5
1.4.3PaddlePaddle7
1.5怎样学习人工智能7
1.6小结8
1.7练习题8
第 2章Python编程基础9
2.1Python入门9
2.2开发环境搭建10
2.2.1安装Python10
2.2.2安装PyCharm13
2.2.3体验PyCharm17
2.3基础语法21
2.3.1基本输入和输出21
2.3.2Python运算符24
2.3.3Python数据类型33
2.3.4Python语句38
2.3.5Python函数43
2.4面向对象44
2.5第三方库的使用45
2.5.1NumPy46
2.5.2Pandas49
2.5.3Matplotlib52
2.6小结57
2.7练习题57
第3章TensorFlow机器学习框架58
3.1TensorFlow介绍58
3.1.1TensorFlow基础介绍58
3.1.2分布式TensorFlow61
3.2TensorFlow环境搭建61
3.2.1安装Anaconda61
3.2.2使用pip的Windows环境安装67
3.2.3使用pip的Linux环境安装68
3.2.4使用源代码编译安装68
3.3TensorFlow计算机加速68
3.3.1TensorFlow的使用68
3.3.2TensorFlow使用GPU加速70
3.4小结70
3.5练习题71
第4章机器学习算法72
4.1线性回归72
4.1.1什么是线性回归72
4.1.2线性回归例子引入73
4.1.3数学方法解决线性回归问题75
4.1.4利用TensorFlow解决线性回归问题78
4.2逻辑回归81
4.2.1什么是逻辑回归81
4.2.2逻辑回归例子引入82
4.2.3数学方法解决逻辑回归问题83
4.2.4利用TensorFlow解决逻辑回归问题83
4.3KNN85
4.3.1什么是KNN86
4.3.2KNN例子引入86
4.3.3数学方法解决KNN问题87
4.3.4利用TensorFlow解决KNN问题91
4.4使用第三方模块实现KNN92
4.5其他机器学习算法94
4.5.1支持向量机94
4.5.2决策树94
4.5.3随机森林95
4.5.4K-Means95
4.6小结95
4.7练习题95
第5章MNIST数据集及神经网络96
5.1MNIST数据集简介96
5.2神经元常用函数97
5.2.1激活函数97
5.2.2池化函数99
5.2.3损失函数100
5.3深度神经网络101
5.4经典卷积神经网络介绍102
5.4.1LeNet-5模型及其实现103
5.4.2AlexNet介绍109
5.4.3VGGNet介绍109
5.4.4Inception模型及其实现109
5.5循环神经网络112
5.5.1循环神经网络简介112
5.5.2循环神经网络实现115
5.6优化器及优化方法117
5.6.1优化方法117
5.6.2学习率设置118
5.7小结118
5.8练习题118
第6章TensorFlow高级框架119
6.1TFLearn119
6.2Keras121
6.3小结123
6.4练习题124
第7章OpenCV开发与应用125
7.1OpenCV介绍125
7.2OpenCV常见应用127
7.2.1摄像头调用127
7.2.2OpenCV的图像简单处理128
7.2.3图像处理的意义及价值132
7.3小结133
7.4练习题133
第8章计算机视觉处理134
8.1计算机视觉开发介绍134
8.2手写数字识别136
8.2.1项目介绍137
8.2.2图像获取以及预处理138
8.2.3图像识别139
8.2.4结果显示143
8.3人脸识别143
8.3.1项目介绍144
8.3.2人脸的数据集介绍144
8.3.3人脸识别流程145
8.3.4人脸识别方案145
8.3.5人脸识别应用146
8.4小结154
8.5练习题154
第9章自然语言处理155
9.1人工智能自然语言处理介绍155
9.2英文语音识别156
9.2.1项目介绍156
9.2.2训练模型156
9.2.3测试效果160
9.3打造智能聊天机器人163
9.3.1seq2seq的机制原理163
9.3.2实践163
9.4小结164
9.5练习题164
第 10章人工智能开放平台应用165
10.1AI开放平台介绍165
10.2百度AI开放平台应用166
10.2.1百度AI开放平台介绍166
10.2.2基于百度AI开放平台的图像识别166
10.2.3基于百度AI开放平台的语音识别170
10.2.4基于百度AI开放平台的人脸识别172
10.3更多AI开放平台实践175
10.3.1腾讯AI开放平台175
10.3.2阿里AI开放平台175
10.3.3京东AI开放平台176
10.3.4小爱AI开放平台176
10.3.5讯飞AI开放平台177
10.4小结177
10.5练习题177
第 11章综合实训案例解析178
11.1基于机械臂的工业分拣系统178
11.1.1项目概要178
11.1.2项目设计179
11.1.3项目实现186
11.2小结193
11.3练习题193
南大高性能计算中心“人工智能基础与应用”专题培训课程线上访问方式(持续更新中)
随着近几年人工智能相关技术的广泛应用,学校很多师生学习与使用人工智能技术的需求比较强烈。高性能计算与人工智能联系密切,为了大力推动AI-GPU计算,扩大AI技术应用范围,提高师生的AI技术应用能力和水平,南京大学高性能计算中心将结合“高性能计算”课程,在本学期特别推出“人工智能基础与应用”培训专题,共计33学时。此次专题培训课程,我们邀请了人工智能独角兽企业探智立方董事长兼CTO、南京大学校友钱广锐博士作为该专题的主讲人,课程采用线上、线下同步直播的方式,欢迎感兴趣的老师和同学参加,具体的课程内容详见附件。
课程时间:2020年9月24日起至本学期结束,每周四上午10:10~12:00
线下课程地址:鼓楼校区教学楼222
仙林校区同步直播教室:逸B-403(因线上直播,该教室到场人数很少,该教室现已停用)
线上课程方式:腾讯会议
线上课程/会议时间:
线上会议时间:2020/9/2410:00-12:00
线上会议ID:615142077
线上会议时间:2020/10/1010:00-12:00
线上会议ID:262347719
线上会议时间:2020/10/15至2021/1/21的每周四10:00-12:00(周期性会议)
线上会议ID:87370832085
参考资料(持续更新中):
南大高性能计算中心AI培训内容大纲.pptx
特别提醒:课程回放仅提供部分公开内容,因课程部分内容涉及主讲人在研项目信息,相关章节将不提供课程回放视频,请见谅。
第一次课程:
课程回放:https://www.bilibili.com/video/BV1ey4y1k77N/
PPT等:Python1-lesson1.pdf
pyguide.pdf
第二次课程:
课程回放:https://www.bilibili.com/video/BV1Jf4y1B7w5/
课程资料:script-lession2.zip
第三次课程:
课程回放:https://www.bilibili.com/video/BV1hD4y1d7NU
课程资料:lesson3.zip
第四次课程:
课程回放:https://www.bilibili.com/video/BV1uA411E74U
课程资料:机器学习算法-lesson4.pdf
第五次课程:
课程回放:https://www.bilibili.com/video/BV1hZ4y1V7T1
课程资料:lesson-5.pdf
第六次课程:
课程回放:https://www.bilibili.com/video/BV1Qv41167qQ
https://www.bilibili.com/video/BV1D5411L7Up
课程资料:lesson-6.pdf
第七次课程:
课程回放:https://www.bilibili.com/video/BV1Gy4y1z7mK
课程资料:lesson6-DLIntroduction.pdf
第八次课程:
课程回放:https://www.bilibili.com/video/BV1uD4y1X7aa
课程资料:lesson8.zip
人工智能基础(导论)
考试重点适用!!!
红色:重点 黑色:ppt上面的 绿色:书上的
第一章1.1
人工智能领域:领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等
人工智能研究的一个主要目标是:使机器能够胜任一些通常需要人类智能才能完成的复杂工作。
人工智能定义:“人工智能是关于知识的学科――怎样表示知识以及怎样获得知识并使用知识的科学。
1.2人工智能各学派的认知观:
符号主义认为人工智能源于数理逻辑
连接主义认为人工智能源于仿生学。
行为主义认为人工智能源于控制论
1.5人工智能的研究目标和内容:
近期研究目标:建造智能计算机以代替人类的某些智力活动。
远期研究目标:用自动机模仿人类的思维活动和智力功能。
第二章
2.1状态空间表示
状态空间法要点:1.该状态描述方式,特别是初始状态描述2.操作符集合及其对状态描述的作用3.目标状态描述的特性
状态(state):是为描述某类不同事物间的差别而引入的一组最少变量 的有序集合,
算符:使问题从一种状态变化为另一种状态的手段称为操作符或算符。操作符可为走步、过程、规则、数学算子、运算符号或逻辑符号等
问题的状态空间:即所有可能的问题初始状态集合S、操作符集合F以及目标状态集合G
问题的解:从问题的初始状态集出发,经过一系列的算符,达到目标状态。
用状态空间方法表示知识或问题步骤如下:1.定义状态的描述形式。2.把问题的所有可能的状态表示出来。3.定义一组算符,使得利用这组算符可把问题由一种状态转变为另一种状态
状态图示法:
节点(node):图形上的汇合点,用来表示状态和时间关系的汇合,也可以用来指示通路的汇合弧线:节点间的连接线。有向图:一对节点用弧线连接起来,从一个节点指向另外一个节点。后继节点(descendantnode)与父辈节点(parentnode):如果某条弧线从节点n指向节点n,那么节点n,就称为节点之的后继节点,而节点之称为节点j的父辈节点或祖先。
路径:某个节点序列(ni1,ni2······,nik)当分=2,3,···,k时,如果对于每一个ni,j-1都有一个后继节点nij存在,那么就把这个节点序列称为从节点ni1至节点nik的长度为k的路径
代价(cost)是给各弧线指定数值以表示加在相应算符上的代价。产生式系统:1.一个总数据库2.一套规则3.一个控制策略2.2问题归约表示
问题归约法的组成部分(要点):1.一个初始问题描述2.一套把问题变换为子问题的操作符3.一个本原问题描述
父节点是一个初始问题或是可分解为子问题的问题节点;
子节点是一个初始问题或是子问题分解的子问题节点;
或节点只要解决某个问题就可解决其父辈问题的节点集合;
与节点只有解决所有子问题,才能解决其父辈问题的节点集合;
弧线是父辈节点指向子节点的圆弧连线;
终叶节点是对应于原问题的本原节点。
终叶节点是可解节点
2.3谓词逻辑表示
谓词逻辑法采用谓词合适公式和一阶谓词演算把要解决的问题变为一个有待证明的问题,然后采用消解定理和消解反演来证明一个新语句是从已知的正确语句导出的,从而证明这个新语句也是正确的。
原子谓词公式也是合式公式
2.4语义网络法
语义网络的基本概念:语义网络是知识的一种图解表示,它由节点和弧线或链线组成。节点用于表示实体、概念和情况等,弧线用于表示节点间的关系。
语义网络表示:1.词法部分2.结构部分3.过程部分4.语义部分
2、合式公式的性质
(1)否定之否定
~(~P)等价于P
(2)P∨Q等价于~P→Q
(3)狄·摩根定律
~(P∨Q)等价于~P∧~Q
~(P∧Q)等价于~P∨~Q
(4)分配律
P∧(Q∨R)等价于(P∧Q)∨(P∧R)
P∨(Q∧R)等价于(P∨Q)∧(P∨R)
(5)交换律
P∧Q等价于Q∧P
P∨Q等价于Q∨P
(6)结合律
(P∧Q)∧R等价于P∧(Q∧R)
(P∨Q)∨R等价于P∨(Q∨R)
(7)逆否律
P→Q等价于~Q→~P
此外,还可建立下列等价关系:
3.3启发式搜索
3.6产生式系统
产生式系统的组成: 产生式规则库(知识库)总数据库(工作存储器,综合数据库)
推理机(控制器,规则解释器)
产生式系统工作周期:匹配,选择,执行
产生式系统优点:(1)模块性:产生式规则是规则库中最基本的知识单元,各规则之间只能通过综合数据库发生联系,不能相互调用,增加了规则的模块性,有利于对知识的增加、删除和修改(2)有效性:产生式表示法既可以表示确定性
知识,又可以表示不确定性知识,既有利于表示启发性知识,又有利于表示过程性知识。
(3)自然性:产生式表示法用if······then的形式表示知识,这种表示形式与人类的判断性
知识基本一致,直观、自然,便于推理。
(4)模拟性:人们在研究人工智能问题时,发现产生式系统可以较好模拟人类推理的思维
过程
产生式系统的推理:
反向/正向推理算法:无信息,启发式
4.2概率推理
条件改路,乘法公式,贝叶斯公式
(3)LS与LN的关系
由于E和~E不会同时的支持或者同时排斥H,因此只有以下三种情况:
LS>1且LN