当下热门的神经网络是什么东西?

一文告诉你, 当下热门的神经网络是什么东西?

目录引索

  • 简单神经网络
    • 感知机
    • 神经网络特点
    • softmax
    • 交叉熵
  • 卷积神经网络
    • 卷积
    • 激活函数
    • 池化
    • 全连接
  • Tensorflow playground 演示

简单神经网络

神经网络就是模拟人的神经元进行信号(信息)收集、传递、处理的过程。

以人体对于温度的感知为例:

感知机

  1. 定义: 有n个输入数据,通过权重与个数据之间的计算和,比较激活函数结果,得出输出。
    • sum = w1x1+w2x2+w3x3+......
  2. 应用: 容易解决与、或问题, 分类问题。
  • 与问题: 所有输入为1,则为1
  • 或问题: 只要有一个为1,则为1
  • 亦或问题:相同为0,不同为1 (使用2条直线来划分,即2个感知机)
  1. 感知机与逻辑回归的对比
  • 感知机是求和以后进行一个简单的阈值判断,而逻辑回归是通过一个sigmoid激活函数函数转化为[0,1]的值。

神经网络定义

当一个感知机不能解决问题的时候,会用多个感知机来构成网络。
感知机 --> 神经元
多个神经元构成的网络 --> 神经网络
神经网络是一个多分类问题,得出属于全部类别的每一个概率,谁的概率大,就是谁。

神经网络特点

  • 由输入层(1个)、隐藏层(n个)、输出层组成(1个)
  • 输入向量的维度和输入神经元的个数相同 (不是个数)
  • 同一层的神经元之间没有连接
  • 每个连接都有权重 (类似于线性回归)
  • 第N层与N-1层的所有神经元全连接(最后一层全连接)

神经网络结构

  1. 结构: 权重、神经元等
  2. 激活函数: 增强网络的非线性,简单理解,没有激活函数,只能画直线分割数据点;增加激活函数,可以用曲线来划分。
  • ReLu, Tanh, sigmoid等
  1. 学习规则: 网络中的权重,如何随着时间(或者说是迭代)来进行自我调整。 包括正向传播和反向传播。
  • 正向传播(前向传播): 输入经过一层层计算,(w1x1+w2x2+...) 得出输出结果
  • 反向传播:总误差是由不同的权重产生的,将误差按权重的比例进行分割,向后传递,例如某个节点的总误差是0.5,它是由上2个节点传播而来,对应的权重比例为1:4, 则这两个节点分摊误差为0.1和0.4,依次向前传递。最终通过误差值来调整各节点的权重。

神经网络的判定 (softmax)

  1. 为什么需要softmax?
  • 神经网络是解决多分类问题,但是它的输出仅仅就是一个值,使用一个函数来划分出概率,对目标类别都会输出一个概率,而目标特征一般都使用one-hot编码,通过对比不同类别的概率得出结果。
  1. softmax表达式

神经网络算法的优化

【不同算法的对比】

损失衡量策略:交叉熵损失(对数似然损失的推广)

深度神经网络

深度神经网络与单一隐藏层神经网络的区别在于深度,随着神经网络深度增加,节点所能识别的特征也越来越复杂。

卷积神经网络

什么是卷积神经网络

  1. 卷积神经网路是深度神经网络的一种类型,如AlexNex, VGG, GoogLeNet, ResNet, 它是为了解决全连接网络的一些缺点而存在:
  • 参数太多,计算量大
  • 没有利用像素之间的位置信息,(图片识别每个像素与周围像素关系紧密)
  • 层数限制
  1. 卷积神经网络的特点在于隐藏层分为卷积层和池化层(下采样层)
  • 卷积层:通过在原始图像上进行平移来提取特征(带着权重偏移,乘加运算)
  • 池化层:通过特征后稀疏参数来减少学习到的参数,降低网络的复杂度。(最大池化,平均池化)

神经网络发展历史

卷积层 (Convolutions)

  1. 过滤器(filter),是一个带有权重的观察窗口,通常为1* 1, 3* 3, 5 *5 的结构,权重与图片中的数值(RGB)做线性回归, (乘加运算),最终得出一个结果。
  2. 步长 (strides):过滤器在图片上每次平移的像素点数量
  3. 0填充 (padding): 当过滤器移动至图片边缘以外的处理方式
  • same: 越过边缘取样,取样面积与输入的图像像素相同
  • valid: 不越过边缘取样,取样的面积小于输入图像的像素宽度。

单通道图片卷积操作(灰度图片)

注: 当有多个过滤器进行观察时,过滤器携带的权重是不一样的,但是其步长和零填充方式一致。有多少个过滤器,最终的结果有多少个。

多通道图片的卷积操作(RGB图片)

激活函数

  1. 为什么要增加激活函数:
  • 增加网格的非线性分割能力
  • 在进行梯度求导时,没有非线性,多次求导后,梯度就消失了。
  1. 常见的激活函数
  • sigmoid = 1/(1+e^(-x)) , 多次求导运算量大, 对于深层次网络,反向传播时容易出现梯度爆炸。
  • relu: max(0, x)

池化层(Pooling) 也称为下采样(Subsampling)

Pooling层的主要作用是特征提取,通过去掉Feature map中不重要的样本,进一步减少参数数量。
常见的Max Pooling 取 2*2 , 2步长, 也可以指定padding

Dropout & Inception

  1. dropout : 随机丢弃一部分数据,防止过拟合,增强泛化能力 (一般用于大型网络)
  2. Inception: 一组特定的卷积结构,可以参考GoogLeNet

全连接层 (Full Connected层)

卷积池化可以理解为做特征工程,后面的全连接相当于做特征加权。
全连接层在神经网络中起到了 “分类器”的作用。

【拓展】对神经网络的直观认识

使用tensorflow的playground演示
http://playground.tensorflow.org

posted @ 2019-12-14 16:17  JoyLake  阅读(983)  评论(0编辑  收藏  举报