视频学习
人工智能绪论
什么是人工智能
1956年“达特茅斯”会议上人工智能概念诞生
人工智能是使一部机器像人一样进行感知、认知、决策、执行的人工程序或系统
人工智能的三个层面
- 计算智能
- 感知智能
- 认知智能
知识工程/专家系统
- 手工设计规则
- 结果易于解释
- 系统构建费时费力
- 依赖专家主观经验,难以保证一致性和准确性
机器学习
-
基于数据自动学习
-
减少人工繁杂工作,但结果可能不易于解释
-
提高信息处理的效率,且准确率较高
-
来源于真实数据,减少人工会泽主观性,可信度高
-
机器学习模型分类
-
根据数据标记分类
-
监督学习模型
- 数据标记已知
- 目的在于学习输入
- 输出映射
-
非监督学习模型
- 数据标记未知
- 目的在于发现数据中模式/有意义信息
-
半监督学习
- 部分数据标记已知
- 监督学习和无监督学习的混合
-
强化学习
- 数据标记未知,但知道与输出目标相关的反馈(奖励反馈)
- 决策类问题
-
根据数据分布分类
-
参数分布:线性回归,逻辑回归,感知机,k均值聚类
-
非参数分布
不对数据分布进行假设,数据的统计特性来源于数据本身
k近邻,svm,决策树,随机森林
-
根据建模对象分类
-
生成模型
-
判别模型
-
深度学习概述
深度学习的不能
- 算法不稳定,容易被攻击;比如一张图像加入噪声或像素点更改就会产生完全不同的输出结果
- 模型复杂度高,难以纠错和调试
- 模型层级复合程度高,参数不透明
- 端到端训练方式对数据依赖性强,模型增量性差;当样本数据量小的时候,深度学习无法体现强大拟合能力;深度学习可以进行语义标注和关系检测,但无法进一步完成图像描述(可能需要一个新的神经网络)
- 专注直观感知类问题,对开放性推理问题无能为力
- 人类知识无法有效引入进行监督,机器偏见难以避免
神经网络基础
M-P神经元
-
多输入信号进行累加\(\sum x_i\)
-
权值\(\omega_i\)正负模拟兴奋/抑制,大小模拟强度,输入和超过阈值\(\theta\),神经元被激活(fire)
- \(\omega_0\)=-\(\theta\), \(x_0\)=1, \(\sum_{i=1}^{n}{\omega_ix_i}\) -\(\theta\) =\(W^TX-\theta\)
激活函数
-
为什么要有激活函数
没有激活函数相当于矩阵相乘
- 多层和一层一样
- 只能拟合线性函数
-
激活函数举例
sigmoid函数有饱和区,会导致
- 梯度消失问题(平缓区梯度几乎为0)
- 对于输入x,输出y的区分度不高
tanh
- zero-centered
- 导数范围在(0,1)之间,相比sigmoid的(0, 0.25),梯度消失问题会得到缓解,但仍然还会存在
relu
- 相比Sigmoid和tanh,ReLU摒弃了复杂的计算,提高了运算速度。
- 解决了梯度消失问题,收敛速度快于Sigmoid和tanh函数,但要防范ReLU的梯度爆炸
- 容易得到更好的模型,但也要防止训练中出现模型‘Dead’情况。
误差反向传播
梯度和梯度下降
参数沿负梯度方向更新可以使函数值下降,但可能会陷入局部极值点,无法找到全局的极值点(与初始点位置)
三层前馈神经网络的BP算法
深层神经网络的问题:梯度消失
-
增加深度造成梯度消失,误差无法传播
-
多层网络容易陷入局部极值
解决办法
- 使用三层神经网络
- 预训练,新激活函数
逐层预训练
-
收敛更快
-
结果更收敛
-
代码练习
图像处理基本练习
pytorch基础练习
!
螺旋数据分类
加入relu激活函数可以拟合非线性函数,拟合效果更好,relu的计算效率更高
回归分析
最后的结果可能是因为relu本身是线性分段函数,所以最后的结果表现出更多的线性性质