1. 人工智能发展历史
人工智能的发展主要经历过三个阶段:
-
推理期:
人们试图总结、归纳出一些逻辑规则,并将逻辑规则以计算机程序的方式实现,来开发出人工智能系统,但是这种显示的规则往往过于简单,并且很难表达复杂,抽象的概念和规则,这一阶段称为推理期。
知识库加推理阶段:
20世纪70年代,科学家尝试用知识库加推理的方式解决人工智能,通过构建庞大的专家系统来模拟人类专家的智能水平,但是很多复杂,抽象的概念无法用代码实现,由此出现了一种从数据中学习规则的研究科学,称为机器学习;
深度学习阶段:
在机器学习中,有一门通过神经网络来学习复杂,抽象逻辑的方向,称为神经网络,深层神经网络有一个新名字,称为深度学习
人工智能,深度学习,机器学习,神经网络的关系如下:
1957年美国科学家提出了一个可以自动学习权重的神经元模型,称为感知机,1969 美国科学家指出了感知机等线性模型的缺陷,即无法简单的处理异或等线性不可分问题,一般认为1969 ~ 1982 年为人工智能发展的第一次寒冬;
AI 在低谷期内,提出了误差的反向传播算法(BP 算法),它依旧是现代深度学习的核心理论基础。
1992 ~ 1995 是第二次人工智能兴盛的大潮,这段时间内相继提出了卷积神经网络,循环神经网络,方向传播算法等算法模型,神经网络的研究随着支持向量机(SVM)为代表的传统机器学习算法的兴起走向低谷,称为人工智能的第二次寒冬。
2. 机器学习分类
• 有监督学习
有监督学习的数据集包含了样本 和样本的标签
,算法模型需要学习映射关系
,在训练时,通过计算模型的预测值
和真实标签
之间的误差来优化网络参数,使得网络下一次的预测能够更加准确。
常见的有监督学习有线性回归,逻辑回归,支持向量机(SVM)和随机森林。
• 无监督学习
对应只有样本x的数据集,算法需要自行发现数据的模态,这种方式称为无监督学习、无监督学习有一类算法是将自身作为监督信号,训练时,通过计算模型的预测值和自身的关系 之间的误差来优化网络参数,称为自监督学习,常见的无监督学习算法有自编码器,生成对抗网络等
• 强化学习
是通过于环境交互来学习解决问题策略的一种算法,强化学习并没有明确正确的的动作监督信号,算法需要和环境进行交互,来获取环境反馈的滞后的奖励信号,因此不能通过计算动作和正确动作之间的误差来优化网络,常见的强化学习网络有 DNQ,PPO 等
深度学习的应用:
- 图片识别
神经网络输入图片数据,输出值为当前样本属于某个类别的概率分布,通常选取概率值最大的类别作为样本的预测数据
- 目标检测
通过算法检测出图片中常见物体 的大概位置
- 语义分割
通过算法自动分割并且识别出图片中的内容,可以将语义分割理解为每个像素点的分类问题
- 视频理解
- 图片生成
3.深度学习框架
Theano 最早的深度学习框架之一,是一个基于 python 语言,定位于底层的计算库,Theano同时支持 CPU 和 GPU 运算。
Caffe 主要面向使用卷积神经网络的场合,并不适合其他类型神经网络的应用。
pyTorch(派拖奇)FaceBook 是基于Torch 框架推出的采用 python 为主要开发语言的深度学习框架。
Tensorflow 是 Google 于2015 年发布的深度学习框架
Tensorflow 和 pyTorch 是业界使用最为广泛的两个深度学习框架。
深度学习的核心是算法设计思想,深度学习框架只是实现算法的工具
神经网络本质上是由大量的矩阵相乘,矩阵相加等基本的数学运算构成,TensorFlow 可以利用GPU 方便的实现并行加速的功能