CV&NLP基础4之前向传播与反向传导

基础3文章是机器学习的核心,本文章(前向传播与反向传导)是贯穿神经网络知识的核心plus

x通过“工序f(f(f(…)))”得到y

f(x)称为单道工序; f(f(f(f(…)))) 称为多道工序

从input x到得到label y,这中间经历的过程就是f(x)。文章3里面的简单线性模型: f(x)=ax+b,可以理解为一道工序——加工了“x”。如果把“x”想象作一堆未加工的猪肉,最终要得到可以售卖的火腿肠,那么“a*x”就是把肉揉成条状,“+b”就是再加上包装。

总之,f(x)就是处理x的工序

神经网络觉得仅仅用一道工序的话太过简单,希望通过“多道工序”将x映射到y,这就是复合函数——f(f(f(f(......))))
请添加图片描述

复习一下“单道工序”处理过程(梯度下降)

梯度下降的目的: 缩小误差(minimize loss)、寻求最优参数

现有模型y=ax+b,现要通过“已有数据x、y”(数据是训练集、真实值)来得到参数a、b(操作过程就是梯度下降)。
在这里插入图片描述

计算loss极小值时,得到的w’、b’ 就可以作为我们要的模型,此时模型会接近于红色线。

详情见下面视频: 清晰版链接:https://pan.baidu.com/s/1ySSN08D9qFABdLoeSaBGaQ
提取码:131n

GradientDescent简述用于NLP:CV基础文章3

神经网络基础结构

  • 神经网络的基础结构: 线性映射、激活层、隐藏层。
  • “需要多道工序f(f(f(…)))”——就是隐藏层。
  • 神经网络就是不断重复单道机器学习工序(把上一轮的输出作为下一轮的输入),而当神经网络的层数足够深的时候,就变成了“深度学习”。

在这里插入图片描述
上面左右两张图是在论文、帖子中常见的神经网络,是通用结构。


隐藏层就是除开头尾的多道工序。
在这里插入图片描述


线性映射: 把离散的数据点拟合成线性模型就叫线性映射。线性映射对应于计算处理过程。
如下图,是一个个离散的点,当我们把这些点拟合成线性模型时,这些离散的点就线性化了,此时不用管得到的模型有多差。
在这里插入图片描述


在设置神经网络的“层”的时候,通常需要设置一个激活层。激活层是在计算处理完成后的一道工序,需要使用激活函数,如: Relu函数

根据经验举个例子: 有时候计算出一个矩阵时,其中元素会有负值,而我们不需要这些值。此时使用Relu函数,把负值变成0,正值设置为y=x。
在这里插入图片描述

前向传播

前向传播就可以理解为神经网络从输入到输出(x—>y),也就是复合函数f ( f ( f (…) ) ) 从内到外。

在这里插入图片描述

反向求导

经过前向传播得到的模型肯定不太好,需要不断通过梯度下降修正模型,梯度下降的根本目的就是缩小误差(minimize loss)、寻找最优参数。“梯度下降”有很多方法,其中最简单的就是“反向求导”。

在这里插入图片描述

注 下面视频清晰版:链接: https://pan.baidu.com/s/1l6fD4up3OoW8amZCLxfemQ?pwd=vdkh 提取码: vdkh

反向求导概述用于CVNLP基础文章4

猜你喜欢

转载自blog.csdn.net/Waldocsdn/article/details/126047422