1. AI 和机器学习
在传统的编程方法中,程序员会编写一系列规则或者指令,告诉计算机如何执行
但是在机器学习中,程序员并不直接编写所有规则,而是训练计算机从数据中自动学习和推断模式,具体的差异可以总结如下:
传统编程: 程序员定义明确的规则和逻辑, 计算机根据这些规则执行任务
机器学习: 计算机通过数据学习模式, 生成模型并基于这些模式进行预测和决策
比如要训练一个模型来识别猫和狗的图片,在传统编程中, 程序员需要手动定义哪些特征可是识别猫和狗, 而在机器学习中, 程序员需要提供大量猫和狗的图像数据,计算机会自动学习如何区分猫和狗
机器学习(Machine Learning)是人工智能的一个分支,它使计算机能够利用数据和算法自动学习和改进性能
注意机器学习知识人工智能的一种实现方法, 但是不是唯一的方法,其他实现人工智能的方法有:
符号主义(Symbolisom)/逻辑推理方法
方法是使用人类定义的规则和逻辑
进化计算(Evolutionary Computation)
模仿自然界进化的方式和优化模型, 举例: 遗传算法, 进化策略
专家系统(Expert System)
依赖人类专家编写的知识库和推理引擎, 举例: 医疗诊断系统,早期 AI 方法
强化学习(有时也被归类于机器学习)
让智能体通过试错的方式在环境中学习决策策略 举例: AlphaGo 自动驾驶 游戏智能体
人工智能是作为一个目标,机器学习是手段之一,还有其他的方法,但是当前最成功的 AI 系统大多使用机器学习方法
1. 人工智能发展历史
人工智能的发展主要经历过三个阶段:
-
推理期:
人们试图总结、归纳出一些逻辑规则,并将逻辑规则以计算机程序的方式实现,来开发出人工智能系统,但是这种显示的规则往往过于简单,并且很难表达复杂,抽象的概念和规则,这一阶段称为推理期
知识库加推理阶段:
20世纪70年代,科学家尝试用知识库加推理的方式解决人工智能,通过构建庞大的专家系统来模拟人类专家的智能水平,但是很多复杂,抽象的概念无法用代码实现,由此出现了一种从数据中学习规则的研究科学,称为机器学习
深度学习阶段:
在机器学习中,有一门通过神经网络来学习复杂,抽象逻辑的方向,称为神经网络,深层神经网络有一个新名字,称为深度学习
人工智能,深度学习,机器学习,神经网络的关系如下:

1957年美国科学家提出了一个可以自动学习权重的神经元模型称为感知机,1969 美国科学家指出了感知机等线性模型的缺陷,即无法简单的处理异或等线性不可分问题,一般认为1969 ~ 1982 年为人工智能发展的第一次寒冬;
AI 在低谷期内,提出了误差的反向传播算法(BP 算法),它依旧是现代深度学习的核心理论基础。
1992 ~ 1995 是第二次人工智能兴盛的大潮,这段时间内相继提出了卷积神经网络,循环神经网络,方向传播算法等算法模型,神经网络的研究随着支持向量机(SVM)为代表的传统机器学习算法的兴起走向低谷,称为人工智能的第二次寒冬
3. 机器学习分类
• 有监督学习
有监督学习的数据集包含了样本 和样本的标签
,算法模型需要学习映射关系
,在训练时,通过计算模型的预测值
和真实标签
之间的误差来优化网络参数,使得网络下一次的预测能够更加准确。
常见的有监督学习有线性回归,逻辑回归,支持向量机(SVM)和随机森林
• 无监督学习
对应只有样本 的数据集,算法需要自行发现数据的模态,这种方式称为无监督学习、无监督学习有一类算法是将自身作为监督信号,训练时,通过计算模型的预测值和自身的关系
之间的误差来优化网络参数,称为自监督学习,常见的无监督学习算法有自编码器,生成对抗网络等
• 强化学习
是通过于环境交互来学习解决问题策略的一种算法,强化学习并没有明确正确的的动作监督信号,算法需要和环境进行交互,来获取环境反馈的滞后的奖励信号,因此不能通过计算动作和正确动作之间的误差来优化网络,常见的强化学习网络有 DNQ,PPO 等
深度学习的应用:
- 图片识别
神经网络输入图片数据,输出值为当前样本属于某个类别的概率分布,通常选取概率值最大的类别作为样本的预测数据
- 目标检测
通过算法检测出图片中常见物体的大概位置
- 语义分割
通过算法自动分割并且识别出图片中的内容,可以将语义分割理解为每个像素点的分类问题
- 视频理解
- 图片生成
4. 神经网络与深度学习
神经网络是一种受到人脑神经元结构启发的数学模式, 其中最基础的是前馈神经网络。每一层都由多个神经元构成
神经网络由 输入层 ==> 隐藏层 ==> 输出层构成
神经元通过权重 + 激活函数 + 反向传播的方式进行学习
当机器学习使用多层神经网络(三层以及以上)进行学习时, 就被称为深度学习(Deep leanring)
因此层数很多, 可以自动存原始数据中提取高级特征
| task | model | Note |
| 图像识别 | CNN | 深度学习方法 |
| 机器翻译 | Transformer | 深度学习方法 |
| 逻辑回归 | 传统线性模型 | 传统机器学习方法 |
因此层数很多, 可以自动存原始数据中提取高级特征
机器学习的基本流程:
机器学习通过让计算机从大量数据中学习模式和规律来做出决策和预测
首先, 收集并准备数据, 然后选择一个合适的算法来训练模型
然后, 模型通过不断优化参数, 最小化预测错误, 直到能够准确对新数据进行预测
最后模型部署到实际应用中, 实时做出决策或者预测, 并根据新的参数进行更新
机器学习是一个迭代的过程, 可能需要多次调整模型参数和特征选择, 以提高模型的性能
5. 非神经网络的机器学习算法
机器学习中的绝大多数方法最早都不是基于神经网络的,直到最近十几年深度学习崛起之前,神经网络甚至不是主流方法
| 算法 | 简介 | 应用 |
|---|---|---|
|
决策树(Decision Tree) |
根据特征条件做如果.. 就 .. 的判断 |
信用评分,疾病预测 |
|
支持向量机(SVM) |
用超平面区分数据 |
二分类问题,比如垃圾邮件识别 |
|
K近邻算法(KNN) |
到离目标最近的 k 个样本 |
推荐系统,图像识别 |
|
朴素贝叶斯(Naive bayers) |
基于概率计算分类结果 |
文本分类(比如垃圾邮件检测) |
|
线性回归/逻辑回归 |
学习线性关系 |
预测房价,推断是否买保险等 |
|
随机森林(Random Forest) |
多棵决策树组成的集成学习算法 | 高维特征分类 |
|
梯度提升树(GBDT/XGBoost/LightGBM) |
高效,精准的树模型,常用于比赛 |
Kaggle 竞赛,金融风控 |
|
聚类算法(K-Means) |
把数据分组而无需标签 |
用户画像,图像压缩 |
6. 神经网络软件框架
Theano 最早的深度学习框架之一,是一个基于 python 语言,定位于底层的计算库,Theano同时支持 CPU 和 GPU 运算。
Caffe 主要面向使用卷积神经网络的场合,并不适合其他类型神经网络的应用。
pytorch 是 FaceBook 是基于Torch 框架推出的采用 python 为主要开发语言的深度学习框架。
Tensorflow 是 Google 于2015 年发布的深度学习框架
Tensorflow 和 pyTorch 是业界使用最为广泛的两个深度学习框架。
深度学习的核心是算法设计思想,深度学习框架只是实现算法的工具
神经网络本质上是由大量的矩阵相乘,矩阵相加等基本的数学运算构成,TensorFlow 可以利用GPU 方便的实现并行加速的功能
文章讲述了人工智能从推理期到深度学习阶段的发展历程,包括了机器学习的有监督、无监督和强化学习三种主要类型。深度学习框架如Theano、Caffe、pyTorch和Tensorflow在其中起到关键作用,Tensorflow和pyTorch尤其广泛使用。
2099





