视觉识别学习笔记

  1. Feed forward neural networks (FF or FFNN) and perceptrons (P)  前馈神经网络和感知机
  2. Radial basis function (RBF)径向基函数网络
  3. Hopfield网络
  4. 马尔可夫链 或离散时间马尔可夫链  算是BMs和HNs的雏形
  5. 玻尔兹曼机,和Hopfield网络
  6. 受限玻尔兹曼机
  7. 自动编码
  8. 稀疏自动编码
  9. 变分自动编码
  10. 去噪自动编码
  11. 深度信念网络
  12. 卷积神经网络  CNN,图像领域
  13. 去卷积网络
  14. 深度卷积逆向图网络3
  15. 生成对抗网络
  16. 循环神经网络  RNN,序列数据,音频,语言
  17. 长短期记忆网络
  18. 门循环单元
  19. 神经图灵机
  20. 双向循环神经网络、双向长短期记忆网络和双向门控循环单元
  21. 深度残差网络
  22. 回声状态网络
  23. 极限学习机
  24. 液态机
  25.  Kohonen networks (KN, also self organising (feature) map, SOM, SOFM)

    Kohonen 网络

  练手网址:练手|常见26种深度学习模型的实现 - 知乎 (zhihu.com)

  解释网址:(49条消息) 常用的深度学习模型_杰径通幽的博客-CSDN博客_深度学习模型

结构化数据:表格形式具有清晰的代表意义

非结构化数据:音频、图片,没有清晰代表意义   

图像数据库案例名称:CIFAR-10

1、有TensorFlow 官方示例的CIFAR-10 代码文件

2、CIFAR-10 数据集的数据文件名及用途:

文件名 文件用途  
batches.meta. bet  文件存储了每个类别的英文名称。可以用记事本或其他文本文件阅读器打开浏览查看  

data batch I.bin 、

data batch 2.bm 、

……

data batch 5.bin

 这5 个文件是CIFAR- 10 数据集中的训练数据。每个文件以二进制格式存储了10000 张32 × 32 的彩色图像和这些图像  对应的类别标签。一共50000 张训练图像
 test batch.bin  这个文件存储的是测试图像和测试图像的标签。一共10000 张  
readme.html   数据集介绍文件  

 

3、基于CIFAR-10数据集最新算法预测准确率对比:Classification datasets results

图像分类:

  若:距离的选择:L1distance:d(I1,I2)=∑|I1p -I2p|

  计算方式:test image(矩阵)-training image(矩阵)=pixel-wise absolute value differences(像素绝对值差异)→数值

  分类结果粗糙, 所以不能用K近邻算法来图像分类

TensorFlow

  操作对照表:(50条消息) Tensorflow一些常用基本概念与函数(1)_林海山波的博客-CSDN博客

神经网络基础

神经网络目标:调整W,

  • 线性函数

  从输入→输出的映射  ƒ(x,W) =每个类别的得分,(x:image;W:parament(参数))

  ƒ(x,W,b) =Wx(+b)    可以得到每个类别的得分

  • 损失函数(代价函数)

  衡量分类结果准确性

  Lij≠yimax(0,sj-syi+1)syi实际类别  sj其他类别  1—代表对损失的容忍程度Δ,Δ越大,对容忍程度越小

  损失函数=数据损失+正则化惩罚项(由于权重参数带来的损失)降噪处理

   

  • Softmax分类器

  对W归一化处理,在计算损失值

    

  计算损失值:Li = - logP(Y=y| X=xi)

  类别  W  exp(W)  softmax

    • cat  3.1  24.5    0.13    Li=-log(0.13)=0.89
    • car  5.1  164.0  0.87
    • frog  -1.7  0.18  0.00  
  • 激活函数

  在逻辑回归外面嵌套一个函数——激活函数

  输入的input经过一系列加权求和后作用于另一个函数

  向神经网络中引入非线性因素,通过激活函数神经网络就可以拟合各种曲线。

  分类:  

饱和激活函数(Saturated Neurons) 例如:Sigmoid和Tanh  
非饱和函数(One-sided Saturations) 可以解决梯度消失问题 可以加速收敛

  激活函数种类 - 潘峰YiRan - 博客园 (cnblogs.com)

  • 前向传播

  得出损失值:

  输入图像→线性函数 分数 →损失函数+R(W)→L损失值

  • 梯度下降

  例子:(50条消息) 梯度下降算法原理讲解——机器学习_zhangpaopao0609的博客-CSDN博客_梯度下降  array([    3, 4, 5, 5, 2, 4, 7, 8, 11, 8, 12, 11, 13, 13, 16, 17, 18, 17, 19, 21]).reshape(m, 1)#重建为m维数组,一列

  主要目的:通过迭代找到目标函数的最小值,或者收敛到最小值

  找到梯度最大值的点,朝着梯度相反方向,函数值下降的最快

  梯度函数:J(Θ)=⟨∂​J/∂θ1,∂​J/∂θ2,​J/∂θ3

  梯度下降:Θ1=Θ0+αJ(Θ)

  例:J(θ)=θ12+θ22  选择起始点θ0(1,3)  初始学习率:α=0.1

  θ0=(1,3)

  θ1 = θ 0 − α ∗ J ′ ( θ 0 ) = (1,3) −0.1*(2,6)= (0.8,2.4)

  θ 2 = θ 1 − α ∗ J ′ ( θ 1 ) = (0.8,2.4)−0.1*(1.6,4.8) =(0.64,1.92)

  θ 3 = (0.5124,1.536)

  θ 4 = (0.4096,1.22880000000001)

  ……

  • 反向传播 

  通过构造输出值与真实值的损失函数作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯度,作为修改权值的依据,网络的学习在权值修改过程中完成。输出值与真实值的误差达到所期望值时,网络学习结束。

  链式法则

  梯度是一步一步传的

    • 加法门单元:均等分配  x+y 求导
    • MAX门单元:给最大值  
    • 乘法门单元:互换的感觉  xy 求导

神经网络

  数据二分类:可视化:对玩具 2D 数据进行分类 (stanford.edu)

  • 整体架构

  层次结构+神经元+全连接+非线性

  非线性:

  • 正则化

  惩罚力度:力度越大,分类界限越规则

  •  激活函数

  激活函数——非线性变化

  sigmoid:

 

  

relu:

 

 

 f(x)=max(0,x)

 

  • 数据预处理

  例:标准化  

      去中心化

  • 参数初始化

  通常用随机策略来进行参数初始化

  W=0.01*np.random.randn(D,H)

  • DROP-OUT(传说中的七伤拳)

  过拟合是神经网络非常头痛的一个大问题,所以在每一次训练时,在每层上随机删除几个神经元

 

posted on 2022-10-11 11:16  妙笔千山  阅读(112)  评论(0编辑  收藏  举报