AI - 基础知识

1. 图像知识

  1. 知识体系
    在这里插入图片描述
  2. 数字图像:三种表示形式,灰度图像,彩色图像,二值图像
  1. CV领域主要有八项任务
    (1)图像分类:为图片中出现的物体目标分类出其所属类别的标签;
    (2)目标检测:将图片感兴趣的目标提取出来
    (3)图像语义分割:将图像物体的轮廓勾勒出来
    (4)场景文字识别:识别图像中文字信息。如道路名、绿灯秒数等
    (5)图像生成
    (6)人体关键点检测
    (7)视频分类
    (8)度量学习

1.1 图像频率信息

  1. 图像的频率:灰度值变化剧烈程度的指标,是灰度在平面空间上的梯度
  1. 低频信息: 是轮廓, 就是灰度颜色缓慢地变化, 代表着那是连续渐变的一块区域.
    (1)对于一幅图像,是边缘以内的内容为低频,而边缘内的内容就是图像的大部分信息,即图像的大致概貌和轮廓,是图像的近似信息。
  1. 高频信息: 是噪声和细节,就是频率变化快. 相邻区域之间灰度相差很大就是变化快,即高频显示图像边缘。
    (1)图像中,一个影像与背景的边缘部位,通常会有明显的差别.因此,图像边缘的灰度值变化快,就对应着频率高。
    (2)图像的细节处也是属于灰度值急剧变化的区域,正是因为灰度值的急剧变化,才会出现细节。
    (3)噪声(即噪点)也是这样,在一个像素所在的位置,之所以是噪点,就是因为它与正常的点颜色(灰度值)不一样,即灰度快速变化。

1.2 图像特征

  1. 特征简介:特征是描述模式的最佳方式,特征的各个维度能够从不同的角度描述模式,在理想情况下,维度之间是互补完备的。
    (1)低层特征: 分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多
    (2)中层视觉特征:中层视觉主要关注的是图像中的几何结构以及特定对象和目标,应用领域包括目标分割和跟踪
       [1] 比低层视觉特征更能表示图像的外观信息,而且不需要定义像高层视觉特征那样的语义基础。
       [2] 找到能代表某类场景的中层特征的图像块,对图形分类,识别,检索等方面有很大帮助。
    (3)高层特征: 具有更强的语义信息,但是分辨率很低,对细节的感知能力较差
  1. 边缘
    (1)边缘是组成两个图像区域之间边界(或边缘)的像素。一般被定义为图像中拥有大的梯度的点组成的子集。
    (2)局部地看边缘是一维结构。

  1. (1)角是图像中点似的特征,局部有两维结构。
    (2)在图像梯度中寻找高度曲率
  1. 区域
    (1)区域描写一个图像中的一个区域性的结构,区域也可能仅由一个像素组成。
    (2)区域检测可以被想象为把一张图像缩小,然后在缩小的图像上进行角检测,因此许多区域检测也可以用来监测角。

  1. (1)脊可以被看作是代表对称轴的一维曲线
    (2)局部针对于每个脊像素有一个脊宽度,从灰梯度图像中提取脊要比提取边缘、角和区域困难。
    (3)空中摄影使用脊检测来分辨道路,医学图像用来分辨血管。
  1. 图像特征可以分为四类:直观性特征、灰度统计特征、变换系数特征与代数特征
       [1] 直观性特征:主要指几何特征,几何特征比较稳定,受姿态变化与光照条件等因素的影响小,但不易抽取,而且测量精度不高,与图像处理技术密切相关
       [2] 变换系数特征:指先对图像进行Fourier变换、小波变换等,得到的系数后作为特征进行识别
       [3] 代数特征:是基于统计学习方法抽取的特征,具有较高的识别精度,代数特征抽取方法又可以分为两类:线性投影特征抽取方法,非线性特征抽取方法
  1. 特征提取描述
    (1)主要思想:将原始样本投影到一个低维特征空间,得到最能反应样本本质或进行样本区分的低维样本特征。
    (2)最重要的特性:“可重复性”,同一场景的不同图像所提取的特征应该是相同的。
    (3)图象处理中的一个初级运算,是对图像进行的第一个运算处理,检查每个像素来确定是否代表一个特征。
    (4)特征提取的作用:
       [1] 减少数据维度
       [2] 提取或整理出有效的特征供后续使用
    (5)数据降维的技术: 特征提取与特征选择
       [1] 特征选择:能够保持数据的原始特征,最终得到的降维数据是原数据集的一个子集;
       [2] 特征提取:通过数据转换或数据映射得到一个新的特征空间,无法直观看出新数据集与原始数据集之间的关联。
  1. 特征提取主要方法(特征描述/特征向量):传统图像特征提取 和 深度学习
    (1)传统的特征提取:基于图像本身的特征进行提取;
    (2)深度学习:基于样本自动训练出区分图像的特征分类器;
  1. 传统的图像特征提取步骤:预处理、特征提取、特征处理并利用机器学习等方法对特征进行分类等操作;
    (1)预处理:目的主要是排除干扰因素,突出特征信息;
       主要的方法有:
         图片标准化:调整图片尺寸
         图片归一化:变换为一个标准形式(0-1)的图像
    (2)特征提取:利用特殊的特征提取子对图像进行特征提取,主要有:Harris、SIFT、SURF、LBF、HOG、DPM等
    (3)特征处理:主要目的是为了排除信息量小的特征,减少计算量等:常见的特征处理方法是降维;
       常见的降维方法有:主成分分析,奇异值分解, 线性判别分析;
  1. 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征

1.2.1 颜色特征

  1. 颜色特征是一种全局特征,描述了图像所对应的景物的表面性质。一般颜色特征是基于像素点的特征。
    (1)由于颜色对图像的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征
  1. 颜色特征的表达方法
    (1)颜色直方图
       优点: 不受图像旋转和平移变化的影响
           简单描述一幅图像中颜色的全局分布
           进一步借助归一化还可不受图像尺度变化的影响
       缺点: 没有表达出颜色空间分布的信息
           无法区分局部颜色信息
    (2) 颜色集: 对颜色直方图的一种近似
       [1] 将图像从 RGB颜色空间转化成视觉均衡的颜色空间(如 HSV 空间)
       [2] 将颜色空间量化成若干个柄
       [3] 用色彩自动分割技术将图像分为若干区域
       [4] 每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集
       [5] 在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系
    (3) 颜色矩 : 颜色分布信息主要集中在低阶矩中, 所以一阶矩(均值)、二阶矩(方差)和三阶矩(斜度)足以表达图像的颜色分布。
    (4) 颜色聚合向量
       [1] 将直方图每一个柄的像素分成两部分
       [2] 聚合像素:该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。
    (5) 颜色相关图

1.2.2 纹理特征

  1. 纹理特征是一种全局特征,描述了图像所对应景物的表面性质。
    (1)纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。
    (2)纹理特征不是基于像素点的特征,需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。
    (3)优点:
       [1] 作为一种统计特征,纹理特征常具有旋转不变性
       [2] 对于噪声有较强的抵抗能力。
    (4)缺点:
       [1] 当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。
       [2] 受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。
  1. 纹理特征描述方法
    (1)统计方法:
       [1] 灰度共生矩阵, 灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。
       [2] 通过对自相关函数(即图像的能量谱函数)的计算,提取纹理的粗细度及方向性等特征参数
    (2)几何法: 是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。
       [1] 典型的方法:Voronio 棋盘格特征法和结构法。
    (3)模型法: 以图像的构造模型为基础,采用模型的参数作为纹理特征。
       [1] 典型的方法:随机场模型法,如马尔可夫随机场模型法和 Gibbs 随机场模型法
    (4)信号处理法: 提取与匹配主要有, 灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换

1.2.3 形状特征

  1. 形状特征有两类表示方法:轮廓特征 和 区域特征
      [1] 轮廓特征主要针对物体的外边界
      [2] 区域特征则关系到整个形状区域
  1. 几种典型的形状特征描述方法: 边界特征法,傅里叶形状描述符法,几何参数法,形状不变矩法,小波描述符

1.2.4 空间关系特征

  1. 空间关系:指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。
    (1)优点:可加强对图像内容的描述区分能力
    (2)缺点:对图像或目标的旋转、反转、尺度变化等比较敏感
  1. 通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。
      [1] 前一种强调目标之间的相对情况,如上下左右关系等
      [2] 后一种强调目标之间的距离大小以及方位。
      [3] 由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。
  1. 图像空间关系特征的提取方法:
    (1)首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;
    (2)首先将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。

2. 机器学习知识

  1. 适用的任务:模式识别(面部/口语识别),异常识别(信用卡交易),预测(股票价格)
  1. 常见的任务:回归分析, 分类分析, 聚类分析
    (1)回归常用算法:线性回归、逻辑回归、多项式回归、逐步回归、岭回归、套索回归、ElasticNet回归
    (2)分类常用算法:K近邻、决策树、朴素贝叶斯、逻辑回归、支持向量机、随机森林
    (3)聚类常用算法:分为基于划分,密度,层次,网络,模型等的聚类
  1. 常见的目标变量的类型:数值型,标称型
    (1)标称型:一般在有限的数据中取,而且只存在"是"和"否"两种不同的结果(一般用于分类)
    (2)数值型:可以在无限的数据中取,而且数值比较具体化,例4.02(一般用于回归分析)
  1. 常见的类型:监督学习,无监督学习,强化学习
    (1)监督学习
       [1] 包括学习阶段和推理阶段;
       [2] 分为 分类(离散型)和 回归(连续性)问题;
       [3] 分为生成模型 与 判别模型
       [4] 监督学习预测目标变量的值;其它选择非监督学习
    在这里插入图片描述
    (2)无监督学习:目标是发现这组数据中的特殊结构
       [1] 用于聚类,降维和推荐系统;
    (3)强化学习:目标是开发一个系统(智能体),通过与环境的交互来提高其性能;
       [1] 主要用于“时变系统控制规则构建”和“对战博弈策略构建”的方法。
       [2] 用于机器人的步行控制和围棋对战等。
    (4)类型对比
    在这里插入图片描述
  1. 算法选择(考虑数据)
    (1)特征值是离散型变量还是连续型变量
    (2)特征值中是否存在缺失的值,何种原因造成
    (3)数据中是否存在异常值
    (4)某个特征发生的频率如何(是否罕见)

2.1 机器学习任务

  1. 回归分析,是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。
    (1)回归分析是建模和分析数据的重要工具
    (2)估计了两个或多个变量之间的关系
    (3)优点
       [1] 表明自变量和因变量之间的显著关系;
       [2] 表明多个自变量对一个因变量的影响强度。
    (4)常用算法:线性回归、逻辑回归、多项式回归、逐步回归、岭回归等
  1. 分类分析,是监督学习,是为了确定一个点的类别,具体类别是已知的
    (1)常用算法:K近邻、决策树、逻辑回归、支持向量机、随机森林等
    (2)分类网络参考文章
       [1] 各种分类网络介绍
       [2] 分类网络, FLOPS,参数个数和感受野信息
  1. 聚类分析, 无监督学习,是将一系列点分成若干类,事先是没有类别的.
    (1)按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得相同簇内的数据对象的相似性尽可能大,不同簇中的数据对象的差异性也尽可能地大。
    (2) 常用算法:分为基于划分,密度,层次,网络,模型等的聚类
  1. 分类模型和回归模型区别
    在这里插入图片描述

2.2 模型描述

2.2.1 线性回归

  1. 一元线性回归
    (1)假设函数 h

       [1] 1 2 m \frac{1}{2m} 2m1目的:是为带了平方,后面要用梯度下降法,要求导,这样求导多出的乘2就和二分之一抵消了,一个简化后面计算的技巧。
  1. 代价函数(损失函数,Loss Function): 衡量回归模型误差的函数
    在这里插入图片描述
    (1) 训练模型的过程就是优化代价函数的过程
    (2) 代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过拟合时加的正则化项也是加在代价函数后面。
    (3) 残差: 单个样本真实值和预测值间的差值
      [1] e = y i − f ( x i ) , f ( x i ) e = y_i - f(x_i), f(x_i) e=yif(xi),f(xi)是预测房价, y i y_i yi是真实房价
    (4) 损失函数
    在这里插入图片描述
      [1] J J J是损失函数, m m m表示样本个数
    (5) 等高线图
    在这里插入图片描述
  1. 梯度下降算法:
    (1) α \alpha α 代表学习率: 太小训练很慢,太大会在最优点震荡,达不到最优点。
    (2)越接近最低点,导数越来越小,学习率会自动采取更小步幅。
    在这里插入图片描述
    (3)单变量梯度下降图解
    在这里插入图片描述
       [1] J ( θ ) = θ 2 J(\theta) = \theta^2 J(θ)=θ2, J ′ J^{'} J ( θ ) (\theta) (θ) = 2 * θ \theta θ, α \alpha α = 0.4
       [2] θ \theta θ(0) = 1
       [3] θ \theta θ(1) = θ \theta θ(0) - α \alpha α * J ′ J^{'} J( θ \theta θ(0)) = 1 - 0.4 * 2 = 0.2
         同理双变量: θ \theta θ(1) = θ \theta θ(0) - α \alpha α * ∂ J ( θ ( 0 ) , θ ( 1 ) ) ∂ θ ( 0 ) \frac{ \partial J(\theta(0),\theta(1))}{\partial \theta(0)} θ(0)J(θ(0),θ(1))
       [4] θ \theta θ(2) = θ \theta θ(1) - α \alpha α * J ′ J^{'} J( θ \theta θ(1)) = 0.2 - 0.4 * 0.4 = 0.04
       [5] θ \theta θ(3) = 0.008; θ \theta θ(4) = 0.0016;
  1. 多元线性回归
    在这里插入图片描述
    (1) 多元线性回归方程: y y y = β \beta β0 + β \beta β1x1 + ⋯ + β \cdots + \beta +βpxp + ε \varepsilon ε = X β + ε X\beta + \varepsilon Xβ+ε
      [1] ε \varepsilon ε代表随机误差,分为:可解释的误差 和 不可解释的误差
    (2) 理论回归方程: E ( y ) E(y) E(y) = β \beta β0 + β \beta β1x1 + ⋯ + β \cdots + \beta +βpxp
    (3) 对自变量 x x x1 求偏导,就会有 d E ( y ) d x ∣ x 1 \left.\frac{{\rm d}E(y)}{{\rm d}x} \right| _{x1} dxdE(y)x1 = β \beta β1
    在这里插入图片描述
    (4) 求解: f ( x ) f(x) f(x) = w w w0 + w w w1x1 + ⋯ + w \cdots + w +wpxp = X W XW XW, 数据集标签 y y y.
    在这里插入图片描述
    (5) 参考
      [1] 机器学习多元线性回归python代码详解
      [2] 经典:线性回归分析详解10
  1. 特征缩放
    (1)不同特征的取值在相近的范围内,梯度下降速度更快,可以更快收敛。
    (2)特征缩放可以让代价函数的等值线形状接近圆形。等值线形状是如果是细长的椭圆形,梯度下降的过程会很缓慢。
    (3)通常将特征的取值约束到【-1,1】
  1. 线性回归的优缺点
    (1) 优点: 直接, 快速, 可解释性好
    (2) 缺点:
      [1] 需要严格的假设
      [2] 需处理异常值,对输入数据差异, 异常值很敏感.
      [3] 存在共线性,自相关,异方差等问题

2.3 神经网络类型

1.参考文章
(1)神经网络类型介绍

2.3.1 标准网络

1 感知器
(1)单层神经网络,所有网络最基本的,没有隐藏层,包含两层:输入层,输出层
(2) 应用: 分类,编码数据库(多层感知器),监控访问数据(多层感知器)
在这里插入图片描述

  1. 前馈网络(Feed Forward)
    (1)所有节点都是完全连接的,包含三层:输入层,隐藏层,输出层
    (2)Logistic(sigmoid)函数的输出值在0到1之间,用来判断答案是是或否,不能用于连续的值。
    (3)在每个连接过程中,来自前一层的信号被乘以一个权重,增加一个偏置,然后通过一个激活函数
    (4)应用: 数据压缩,模式识别,计算机视觉,声纳目标识别,语音识别,手写字符识别
    在这里插入图片描述
  2. 深度残差网络(Deep Residual Network)
    (1)可以防止结果退化。使用残差网络,其输入的一些部分会传递到下一层
    (2)网络可以相当深(它可能包含大约300层),使用跳过连接实现信号跨层传播
    (3)应用: 图像分类, 目标检测, 语义分割, 语音识别, 语言识别
    在这里插入图片描述
  1. 深层前馈(Deep Feed-forward)
    (1)使用多个隐藏层的前馈网络。
    (2)通过增加隐藏层,可以减少过拟合,提高泛化能力。
    (3)应用: 数据压缩, 模式识别, 计算机视觉, 心电图噪声滤波, 金融预测
    在这里插入图片描述

2.3.2 循环网络

  1. 循环神经网络(Recurrent Neural Network)
    (1)是前馈神经网络的一种改进形式, 包含环和自重复
    (2)隐藏层中的每个神经元接收具有特定时间延迟的输入。需要在当前的迭代中访问之前的信息。例如,当我们试图预测一个句子中的下一个单词时,我们首先需要知道之前使用的单词。
    (3)可以处理输入并跨时共享任意长度和权重。模型中的计算会考虑到历史信息。问题是计算速度慢。
    (4)不能考虑当前状态的任何未来输入, 也无法记住很久以前的信息。考虑时间延迟,但如果有大量的相关数据,RNN很容易失败.
    (5)应用: 机器翻译, 机器人控制, 时间序列预测, 语音识别, 语音合成, 时间序列异常检测, 节奏学习, 音乐创作
    在这里插入图片描述
  1. 长/短期记忆(Long / Short Term Memory (LSTM)) : 是一种特殊的RNN
    (1)主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。相比普通的RNN,LSTM能够运用在更长的序列。
    (2)引入了一个记忆单元, 可以处理间隔记忆的数据。
    (3)应用: 语音识别,写作识别
    在这里插入图片描述
  1. 回声状态网络(Echo State Network)
    (1)循环神经网络的一个子类型, 每个输入节点接收到一个非线性信号, 隐藏的节点是稀疏连接的,隐节点的连通度和权值是随机分配的。最终的输出权重是可训练更新的。
    (2)隐节点的连通度和权值是随机分配的。在ESN上,最终的输出权重是可训练更新的。
    (3)应用: 时间序列预测, 数据挖掘
    在这里插入图片描述

2.3.3 卷积网络

  1. 深度卷积网络: 主要用于图像分类、图像聚类和目标识别
    (1)DNN 被用来添加更复杂的特征,以便它能够更准确地执行任务。
    (2)应用: 识别面部,街道标志,肿瘤; 图像识别; 视频分析; 自然语言处理; 异常检测; 药物发现; 跳棋游戏; 时间序列预测
    在这里插入图片描述
  1. 反卷积神经网络(Deconvolutional Neural Networks): 是一种反向过程的卷积神经网络
    (1)有助于在以前的网络中找到丢失的特征或信号
    (2)应用: 图像超分辨率, 图像的表面深度估计, 光流估计
    在这里插入图片描述
  1. 深度卷积逆图形网络(Deep Convolutional Inverse Graphics Network) : 旨在将图形表示与图像联系起来
    (1)使用元素,如对象的位置,纹理和其它方面的图像设计来进行非常复杂的图像处理
    (2)应用: 人脸处理
    在这里插入图片描述
  1. 生成对抗网络(Generative Adversarial Network): 给定训练数据,GANs 学习用与训练数据相同的统计数据生成新的数据
    (1)目标是区分真实结果和合成结果,以便产生更真实的结果。
    (2)应用: 创造新的人体姿势, 照片变Emoji, 面部老化, 超分辨率, 服装变换, 视频预测
    在这里插入图片描述

2.3.4 其它网络

  1. 自动编码器(Auto Encoder (AE))
    (1)是一个非监督式机器学习算法,隐藏神经元的数量小于输入神经元的数量。
    (2)编码器: 转换输入数据到低维;解码器: 重构压缩数据;
    (3)应用: 分类,聚类,特征压缩
    在这里插入图片描述
  1. 变分自动编码器(Variational Autoencoder (VAE))
    (1)使用一种概率方法来描述观测。它显示了一个特征集中每个属性的概率分布。
    (2)应用: 在句子之间插入信息,图像自动生成
    在这里插入图片描述
  1. 去噪自动编码器(Denoising Autoencoder (DAE)
    (1)网络不能简单地将输入复制到其输出,目的是为了降低噪声并在其中产生有意义的数据
    (2)应用: 特征,提取降维
    在这里插入图片描述
  1. 稀疏自编码器(Sparse Autoencoder (SAE))
    (1)将一个样本输入网络时,只有少数节点被激活
    (2)可以自动从无标注数据中学习特征,可以给出比原始数据更好的特征描述
    (3)应用: 特征提取,手写数字识别
    在这里插入图片描述
  1. 马尔可夫链(Markov Chain (MC))
    (1)基于某些概率规则经历从一种状态到另一种状态转换的数学系统。
    (2)过渡到任何特定状态的概率完全取决于当前状态和经过的时间。
    (3)应用: 语音识别,信息及通讯系统,排队论,统计学
    在这里插入图片描述
  1. 霍菲特网络(Hopfield Network (HN))
    (1)每个神经元都与其它神经元直接相连,通常用来存储模式和记忆
    (2)编码器: 转换输入数据到低维;解码器: 重构压缩数据;
    (3)应用: 优化问题,图像检测与识别,医学图像识别,增强 X 射线图像
    在这里插入图片描述
  1. 波茨曼机(Boltzmann Machine (BM))
    (1)从一个原始数据集中学习一个概率分布,并使用它来推断没见过的数据
    (2)有输入节点和隐藏节点,一旦所有隐藏节点的状态发生改变,输入节点就会转换为输出节点
    (3)应用: 降维,分类,回归,协同过滤,特征学习
    在这里插入图片描述
  1. 受限玻尔兹曼机(Restricted Boltzmann Machine (RBM))
    (1)BM 的变种,输入层和隐藏层的神经元之间可能有对称的连接。
    (2)每一层内部都没有内部连接。这些限制让模型的训练更高效。
    (3)应用: 过滤,特征学习,分类,风险检测,商业及经济分析
    在这里插入图片描述
  1. 深度信念网络(Deep Belief Network (DBN)) : DBN 中的层起着特征检测器的作用
    (1)可以将 DBN 表示为受限玻耳兹曼机(RBM)和自动编码器(AE)的组合,最后的 DBN 使用概率方法得到结果。
    (2)应用: 检索文件/图像,非线性降维
    在这里插入图片描述
  1. 液态机(Liquid State Machine) : 一种特殊的脉冲神经网络, 液态机上的节点是随机连接的
    (1)激活函数替换为阈值级别。只有当液态机达到阈值水平时,一个特定的神经元才会发出输出。
    (2)应用: 语音识别, 计算机视觉
    在这里插入图片描述
  1. 极限学习机(Extreme Learning Machine) : 随机选择隐藏节点,然后通过分析确定输出权重。因此,这些算法比一般的神经网络算法更快。随机分配的权重通常不会更新。
    (1)传统系统处理大量数据的主要缺点是:
       a. 基于梯度算法学习速度慢
       b. 迭代调优所有参数
    (2)应用: 分类, 回归, 聚类, 稀疏逼近, 特征学习
    在这里插入图片描述
  1. 门控循环单位(Gated Recurrent Unit (GRU)): GRU是LSTM的一个变种,
    (1)GRU只有三个门,并且它们不维持内部单元状态。
        a. 更新门(Update Gate): 决定有多少过去的知识可以传递给未来。
        b. 重置门(Reset Gate): 决定过去的知识有多少需要遗忘。
        c. 当前记忆门(Current Memory Gate): 重置命运的子部分。
    (2)应用: 复调音乐模型,语音信号建模,自然语言处理
    在这里插入图片描述
  1. 径向基网络(Radial Basis Network) : 通常用于解决函数逼近问题,包含三层:输入层,隐藏层,输出层
    (1)与前馈网络的区别:使用径向基函数作为激活函数,在连续值的情况非常有用。
    (2)应用: 函数逼近,时间序列预测,分类,系统控制
    在这里插入图片描述
  1. Kohonen网络(Kohonen Networks) : 是一种无监督算法, 一种降维的方法。可视化高维数据。
    (1)各种拓扑结构:矩形网格拓扑,六边形网格拓扑
    (2)应用: 降维,水质评价与预测,沿岸水资源管理
    在这里插入图片描述
  1. 支持向量机(Support Vector Machines) : 支持向量机和神经网络的混合算法,支持向量机通常用于二分类
    (1)应用: 人脸检测,文本分类,分类,生物信息学,手写识别
    在这里插入图片描述
  1. 神经图灵机(Neural Turing Machine) : 包含两个主要组件: 神经网络控制器,记忆库
    (1)控制器通过输入和输出向量与外界进行交互,还通过与记忆矩阵交互来执行选择性读写操作。
    (2)通过与外部存储的交互,扩展了标准神经网络的能力。
    (3)应用: 机器人制造,人造大脑
    在这里插入图片描述

3. 深度学习知识

  1. 神经网络类别:CNN,RNN,DNN
  1. 卷积神经网络CNN: 专门解决图像问题的,可用把它看作特征提取层,放在输入层上,最后用MLP 做分类。
    (1)结构包括输入层、隐藏层和输出层
      [1] 隐含层包含卷积层、池化层和全联接层3类常见构筑。
    在这里插入图片描述
  1. 循环神经网络RNN:专门解决时间序列问题的,用来提取时间序列信息,放在特征提取层(如CNN)之后。
    在这里插入图片描述
  1. 深度神经网络DNN:有很多隐藏层的神经网络。
      [1] 全连接的DNN存在一个无法解决的问题:无法对时间序列上的变化进行建模,产生RNN。
    在这里插入图片描述
  2. 神经网络层级描述
    (1) 深度决定了网络的表达能力,网络越深学习能力越强。
    (2) 宽度决定了网络在某一层学到的信息量。
    (3) 感受野决定了网络在某一层看到多大范围
  1. 神经元(Neuron): 神经元形成神经网络的基本结构, 在神经网络的情况下,神经元接收输入,处理它并产生输出,而这个输出被发送到其他神经元用于进一步处理,或者作为最终输出进行输出
  1. 偏差(Bias): 被应用于输入的线性分量被称为偏差。它被加到权重与输入相乘的结果中。
      [1] 基本上添加偏差的目的是来改变权重与输入相乘所得结果的范围的。添加偏差后,结果将看起来像 a* W1 偏差。这是输入变换的最终线性分量
  1. 权重(Weights): 当输入进入神经元时,它会乘以一个分配给它的关联权重。
      [1] 随机初始化权重,并在模型训练过程中更新这些权重。
      [2] 训练后,认为重要的则对其输入赋予较高的权重。
  1. stride:filter在原图上扫描时,需要跳跃的格数,默认跳一格;通过跳格,减少filter与原图做扫描时的重复计算,提升效率;
    (1) stride太小,重复计算较多,计算量大,训练效率降低;
    (2) stride太大,会造成信息遗漏,无法有效提炼数据背后的特征;
    (3) 图像跳跃长度
      [1] Stride = 每像素占用的字节数 * Width;
      [2]如果 Stride 不是 4 的倍数, 那么 Stride = Stride + (4 - Stride%4);
  1. pading 填充:对输入图像进行填充,是输入图片经过卷积处理后分辨率不会发生改变
    (1)解决边缘像素只被计算过一次,不会丢失图像角落信息
    (2)卷积后的矩阵不会越变越小
  1. 上采样(放大图片):在做图像识别过程中,需要对图像进行像素级别的分类,因此在卷积提取特征后需要通过上采样将feature map 还原到原图中。
  1. 下采样(缩小图像):使图像符合显示区域的大小;生成对应图像的缩略图。
  1. 感受野:卷积神经网络特征所能看到输入图像的区域(卷积处理,33 kernel 生成一个点), 即特征输出受感受野区域内的像素点的影响。
    (1) 特性
       [1] 在达到相同感受野的情况下,多层小卷积核的性能一定比大卷积核更好。
      [2] 放置anchor层的特征感受野应该跟anchor大小相匹配
      [3] 特征的有效感受野(实际起作用的感受野)实际上是远小于理论感受野的,越靠近感受野中心的值被使用次数越多,靠近边缘的值使用次数越少, 经过多层堆叠,总体感受野就会呈现高斯分布.
      [4] 任意两个层之间都有位置—感受野对应关系,目标检测中需知道feature map层每个位置的特征向量对应输入图像哪个区域,以便我们在这个区域中设置anchor,检测该区域内的目标
      [5] 一般做法是前面几层下采样频率高一点,中间层下采样频率降低,并使用不下采样的方法提高深度。
      [6] 某一层feature map(特性图)中某个位置的特征向量,是由前面某一层固定区域的输入计算出来的([5
    5]–>[33]–>[1], 通过kernel[33]卷积两次),那这个区域就是这个位置的感受野
  1. 相对感受野:指这一个下采样层相对于上一个下采样层的感受野,把两个下采样之间看成一个子网络的话,这个子网络必须得有一定的感受野才能将空间信息编码到下面的网络去.
      [1] 分辨率很重要,在使用下采样之前要保证在这一层上有足够的感受野,这个感受野是相对感受野
      [2]一般说来,靠近输入层的层空间信息冗余度最高,所以越靠近输入层相对感受野应该越小。同时在靠近输入层的层,这里可以合成一个大卷积核来降低计算量。
  1. anchor (anchor box):在训练之前,在训练集上利用k-means等方法聚类出来的一组矩形框,代表数据集中目标主要分布的长宽尺度。
    (1) 在推理时生成的特征图上由这些anchor滑动提取n个候选矩形框再做进一步的分类和回归
    (2) 在深度学习,物体检测问题通常都被建模成对一些候选区域进行分类和回归的问题。
  1. 目标检测检测器
    (1)在单阶段检测器中,候选区域是通过滑窗方式产生的 anchor;
    (2)在两阶段检测器中,候选区域是 RPN (专门用来提取候选框)生成的 proposal (候选框),但是 RPN 本身仍然是对滑窗方式产生的 anchor 进行分类和回归
  1. NMS(非极大值抑制)
    (1) 由于anchor经常重叠,为了解决重复建议的问题,使用NMS算法。
    (2) NMS 获取"按照分数排序的建议列表"并对已排序的列表进行迭代,丢弃那些 IoU 值大于某个预定义阈值的建议,并提出一个具有更高分数的建议。抑制的过程是一个迭代-遍历-消除的过程
  1. 过拟合(高偏差(bias)): 训练集上精度高,测试集上精度低
    (1) 太过于刻画细节,泛化能力差;过拟合会出现高方差问题(预测的稳定性差,波动大)
    (2) 产生原因:
      [1] 模型的复杂度太高。比如:网络太深
      [2] 过多的变量(特征)
      [3] 训练数据非常少。
    (4) 解决方法:
      [1] 尽量减少特征的数量(特征选择)
      [2] 早停法
      [3] 数据集扩增
      [4] dropout: 在训练开始时,我们随机地“删除”0.2–0.5的隐层单元,经过多次迭代, 直至训练结束。
      [5] 正则化,包括L1、L2
      [6] 清洗数据。
  1. 欠拟合:在训练数据和测试集表现都差。
    (1) 模型没有很好地捕捉到数据特征;欠拟合会出现高偏差问题(偏离正确结果更远)
    (2) 产生欠拟合的原因:模型不够复杂而无法捕捉数据基本关系,导致模型错误的表示数据。
    (3) 解决办法:
      [1] 添加其他特征项
      [2] 添加多项式特征: 例如将线性模型通过添加二次项或者三次项使模型泛化能力更强
      [3] 减少正则化参数: 正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。
  1. L1范数:是各参数绝对值之和, 倾向于将参数调整为 0,即将参数稀疏。
      [1] L1 是假定参数符合拉普拉斯分布
  1. L2范数:是参数的平方和后开方, 平方操作使绝对值高的参数受到的约束越大,但是并不会使大多数参数调整为 0,而是只是减小它们。
      [1] L2 是假定参数符合高斯分布
      [2] 避免过拟合的原理: 让L2范数的规则项 ∣ ∣ W ∣ ∣ 2 ||W||_2 W2 尽可能小,可以使得W每个元素都很小,接近于零,但是与L1不同的是,不会等于0
  1. L1范数 和 L2范数区别
    (1) L1 是倾向于产生稀疏解,而 L2 倾向于减小参数,都能简化模型,但是一般来说 L2 模型的抗过拟合的能力更好一点。
  1. 稀疏化的好处:
      [1] 特征选择: 实现特征的自动选择,去除无用特征。稀疏化可以去掉这些无用特征,将特征对应的权重置为零。
      [2] 可解释性: 例如判断某种病的患病率时,最初有1000个特征,建模后参数经过稀疏化,最终只有5个特征的参数是非零的,那么就可以说影响患病率的主要就是这5个特征。
  1. BN(Batch Normalization): 对每一批数据进行归一化, 将输入值或卷积网络的张量进行类似标准化的操作,将其放缩到合适的范围,加快训练速度。
    (1) DNN 训练的技巧, 在神经网络中间层进行归一化处理,主要还是让数据分布变为一致,使训练效果更好的方法
    (2) BN是改变方差大小和均值位置,使得新的分布更切合数据的真实分布,保证模型的非线性表达能力
    在这里插入图片描述
    (3) 优点
      [1] 可以防止梯度爆炸或弥散
      [2] 可以提高训练时模型对于不同超参(学习率、初始化)的鲁棒性
      [3] 可以让大部分的激活函数能够远离其饱和区域
      [4] 可以加快模型的收敛速度,加快训练速度
      [5] 在一定程度缓解了深层网络中“梯度弥散(特征分布较散)”的问题
      [6] 提高模型训练精度
      [7] 可以省去dropout,L1, L2等正则化处理方法
  1. 标准的归一化步骤:减均值除方差
    (1)解决问题: 如果数据在梯度很小的区域,学习率就会很慢, 减均值除方差后,数据移到梯度较大的区域,这可以看做是一种对抗梯度消失的有效手段。
    (2)减均值除方差得到的分布是正态分布
  1. ICS内部协变量偏移(Interval Covariate Shift):训练期间网络参数变化导致的数据分布的变化
    (1)BN 可解决内部协变量偏移
    (2)ICS导致的现象:每个神经元的输入数据不再是“独立同分布”。
      [1] 上层参数需要不断适应新的输入数据分布,降低学习速度。
      [2] 下层输入的变化可能趋向于变大或者变小,导致上层落入饱和区,使得学习过早停止。
      [3] 每层的更新都会影响到其它层,因此每层的参数更新策略需要尽可能的谨慎。
  1. 模型蒸馏:使用小模型模拟大模型的泛性

3.1 激活函数

  1. 激活函数选择
    (1) 首先尝试ReLU,速度快,但要注意训练的状态.
    (2) 如果ReLU效果欠佳,尝试Leaky ReLU或Maxout等变种。
    (3) 尝试tanh正切函数(以零点为中心,零点处梯度为1)
    (4) sigmoid/tanh在RNN(LSTM、注意力机制等)结构中有所应用,作为门控或者概率值.
    (5) 在浅层神经网络中,如不超过4层的,可选择使用多种激励函数,没有太大的影响。
  1. Sigmoid: 定义为:f(x)=1/(1+( e − x e^{-x} ex) )
    在这里插入图片描述
    (1)用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类,特征相差比较复杂或是相差不是特别大时效果比较好
    (2)优点
      [1] 平滑梯度,易于求导,防止输出值“跳跃”。
      [2] 输出值介于0和1之间,对每个神经元的输出进行标准化。
      [3] 清晰的预测 -对于X大于2或低于-2的X,趋向于将Y值(预测)带到曲线的边缘,非常接近1或0。这可以实现清晰的预测。
    (3)缺点
      [1] 梯度消失:对于非常高或非常低的X值,预测几乎没有变化,从而导致梯度消失问题。这可能导致网络拒绝进一步学习,或者太慢而无法获得准确的预测。
      [2] 输出中心不是零。
      [3] 计算代价大
  1. softmax 归一化指数函数在这里插入图片描述
    (1) 每一个元素的范围都在(0,1)之间,并且所有元素的和为1, 通常用于输出层,用于分类问题, 经过softmax层后,转换成概率的新输出层
    (2) 优点
      [1] 能够处理其他激活函数中的一个类别的多个类别 -将每个类别的输出归一化在0和1之间,并除以它们的总和,从而得出输入值属于特定类别的可能性。
      [2] 对于输出神经元很有用 - Softmax通常仅用于输出层,用于需要将输入分类为多个类别的神经网络。
  1. Sigmoid函数 和 Softmax函数 区别
    (1)最后一层全连接层的神经元个数
      [1] Sigmoid为 1,对 1 个类别的建模
      [2] Softmax为 2,对 2 个类别的建模
  1. ReLU
    在这里插入图片描述
    (1) 线性整流函数,最近的网络更喜欢使用 ReLu 激活函数来处理隐藏层
    (2)优点
      [1] 计算效率高-允许网络快速收敛
      [2] 非线性-尽管ReLU看起来像线性函数,但它具有导数函数并允许反向传播
      [3] 仿生物学原理:通常情况下,大脑中在同一时间大概只有1%-4%的神经元处于活跃状态。使用线性修正以及正则化(regularization)可以对机器神经网络中神经元的活跃度(即输出为正值)进行调试;
      [4] 更加有效率的梯度下降以及反向传播:避免了梯度爆炸和梯度消失问题
      [5] 简化计算过程:没有了其他复杂激活函数中诸如指数函数的影响;同时活跃度的分散性使得神经网络整体计算成本下降。
    (3)缺点
      [1] 静止ReLU问题 —当输入接近零或为负时,函数的梯度变为零,网络无法执行反向传播,也无法学习。
  1. PReLU
    在这里插入图片描述
    (1) 如果a=0,那么PReLU退化为ReLU;如果a是很小的固定值(如a=0.01),则PReLU退化为Leaky ReLU(LReLU)
    (2) 优点
      [1] 允许学习负斜率-与Leaky ReLU不同,此函数提供函数负数部分的斜率作为参数。因此,可以进行反向传播并学习最合适的α值,否则像ReLU。
    (3) 缺点
      [1] 对于不同的问题可能会有所不同。

3.2 剪枝算法

  1. 剪枝: 搜索算法的一个重要分支, 剪枝是提高搜索算法时空效率.
  1. 可行性剪枝(即:不可行,就返回)
    (1) 当前状态和题意不符,并且由于题目可以推出,往后的所有情况和题意都不符,那么就可以进行剪枝,直接把这种情况及后续的所有情况判负,直接返回。
  1. 排除等效冗余(即:都可以,选一个)
    (1) 当几个枝桠具有完全相同的效果的时候,只选择其中一个走就可以了。
  1. 最优性剪枝(即:有比较,选最优)
    (1) 用搜索方法解决最优化问题的时候的一种常用剪枝。
    (2) 当搜到一半的时候,比已经搜到的最优解要差了,那么这个方案肯定是不行的,即刻停止搜索,进行回溯。
  1. 顺序剪枝(即:有顺序,按题意)
    (1) 普遍来讲,搜索的顺序是不固定的,对一个问题来讲,算法可以进入搜索树的任意的一个子节点。
    (2) 顺序剪枝的一个应用: 从最小的节点开搜很可能马上就出解.
  1. 记忆化(即:搜重了,直接跳)
    (1) 记忆化搜索其实是搜索的另外一个分支。
    (2) 记忆化的原理:就是记录搜索的每一个状态,当重复搜索到相同的状态的时候直接返回。
  1. 网络剪枝
    (1) 分为两个分支: unstructured pruning(非结构化剪枝),structured pruning(结构化剪枝)
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值