基本概念

  • Artificial Neural Network - 基于神经元的计算方向。
    一个人工神经网络系统一般包含多个层,每层包含多个神经元(也称为节点)。
    • 第一层是输入层。
      基本上没有什么计算功能,主要是将输入数据映射到每个节点上。
    • 中间的层次为隐藏层。
      每层都会有一个输出,包含了本层每个节点的输出数据。
      每层的输出数据,也是下一层的输入数据。
      每层的每个节点会对输入数据分别计算,产生不同的计算结果。
    • 最后一层是输出层。
      输出层的每个节点对应一个分类,计算这个分类的概率。最终输出概率最高的分类。

即使百万级的神经单元,也只相当于一只蠕虫的计算能力。

  • Predication Function - 预测函数。
    机器学习的结果就是找到这个预测函数。
    在分类问题中,就是找到预测函数的权值(w,b)。

  • Activation Function - 激活函数
    神经网络中的一个重要概念。原意是模拟大脑神经元是否激活。
    在神经网络设计中,其作用是:转换神经元的权值输出值为神经元的输出值。
    通俗的理解:权值输出值\(f(x) = wx + b\)的结果是\(x\)\(f(x)\)上的值,这个不是我们要的分类结果。
    激活函数\(K\)的作用是将计算\(y = K(f(x))\),将权值输出值转换为分类值
    下面是常用的激活函数:

    • For the hidden layer
      • TanH
      • sigmoid
      • ReLUs
    • For the output layer
      • softmax
  • Forward Propagation - 正向传播
    在训练过程中,通过输入数据产生输出数据。

  • Back Propagation - 反向传播
    在训练过程中,根据计算结果和期望结果的偏差,重新调整各个神经元的权值。
    这个方面有很多算法可以选择。

  • Regularization - 正规化
    一种避免多度训练(overfitting)的方法。多度训练会导致训练结果对噪音数据过度敏感。
    理论上来说,对当前的预测函数,根据它的复杂度,计算一个惩罚值。通过惩罚值来调整预则函数的权值。

  • Gradient Descent - 梯度下降
    反向传播中,用于调整权值的一个概念,表示计算调整的方向和大小。

  • Loss Function - 损失函数
    在分类问题中,一种计算方法,计算因不准确预测而导致的代价。

训练过程

  • 初始化 -> (正向传播 -> 反向传播 -> 正规化 -> 梯度下降 -> 重复训练)

人话就是:
初始化: 随便产生个预测函数(w b)。
正向传播:先算一下。
反向传播: 有偏差(废话)。
正规化: 让偏差变得好看点。
梯度下降:把预测函数(w b)向偏差的方向挪一下。
重复训练:把上面的过程来上500遍。

  • 训练图
Neural NetWork - Training Process Neural Network - Training ProcessI Initialize {w1, b1, w2, b2}FP Forward PropagationI->FP xL Calculate LossFP->L y'BP Back PropagationL->BP L(cross-entropy loss)GD Gradient DescentBP->GD {ΔL/Δw1, ΔL/Δb1, ΔL/Δw2, ΔL/Δb2}GD->FP iterate{w1, b1, w2, b2}UVW Result: {w1, b1, w2, b2}GD->UVW

神经网络示意图

Neural Network Neural Networkcluster0 Datacluster1 Input Layercluster2 cluster3 Output Layersoftmax(xw2 + b2)cluster4 OutputData IL_In Data->IL_In (x_1,...,x_i)mapIL_n jIL_Out IL_n->IL_Out x1_jIL_m .IL_m->IL_Out ...IL_2 2IL_2->IL_Out x1_2IL_1 1IL_1->IL_Out x1_1IL_In->IL_n x1_jIL_In->IL_m ...IL_In->IL_2 x1_2IL_In->IL_1 x1_1HL_1_In IL_Out->HL_1_In (x1_1,...,x1_j)HL_1_n nHL_1_Out HL_1_n->HL_1_Out a1_nHL_1_m .HL_1_m->HL_1_Out ...HL_1_3 3HL_1_3->HL_1_Out a1_3HL_1_2 2HL_1_2->HL_1_Out a1_2HL_1_1 1HL_1_1->HL_1_Out a1_1HL_1_In->HL_1_n HL_1_In->HL_1_m HL_1_In->HL_1_3 HL_1_In->HL_1_2 HL_1_In->HL_1_1 OL_In HL_1_Out->OL_In (a1_1,...,a1_n)OL_n mOL_Out OL_n->OL_Out p(y_m)OL_m .OL_m->OL_Out ...OL_1 1OL_1->OL_Out p(y_1)OL_In->OL_n OL_In->OL_m OL_In->OL_1 Result yOL_Out->Result argmax

参照

相关文章:

  • 2022-01-23
  • 2021-12-08
  • 2021-11-28
  • 2021-06-25
  • 2021-05-18
  • 2021-07-11
  • 2021-11-03
猜你喜欢
  • 2021-10-30
  • 2021-06-27
  • 2021-10-03
  • 2021-04-05
  • 2022-02-09
  • 2021-09-07
  • 2021-11-05
相关资源
相似解决方案