【】AI八股-神经网络相关

发布于:2024-07-03 ⋅ 阅读:(9) ⋅ 点赞:(0)

Epoch

  • Epoch 是指完成一次完整的数据集训练的过程。
  • 比如,有一个数据集有1000个样本,当网络用这些样本训练一次后,这就是一个epoch。

Iteration

  • Iteration 是指在一个epoch中,使用一个batch进行训练的次数。
  • 如果你的数据集有1000个样本,batch size是100,那么一个epoch就会有10次iteration(1000/100=10)。

Batch Size

  • Batch Size 是指每次iteration中用于训练的样本数量。
  • 如果你的batch size是100,每次训练就使用100个样本。

反向传播(BP)推导

假设我们有一个简单的三层神经网络(输入层、隐藏层和输出层):

  1. 输入层: xxx
  2. 隐藏层: hhh
  3. 输出层: yyy

前向传播

  1. 输入到隐藏层: h=f(Wxhx+bh)h = f(W_{xh} x + b_h)h=f(Wxh​x+bh​) 其中 WxhW_{xh}Wxh​ 是输入到隐藏层的权重矩阵,bhb_hbh​ 是隐藏层的偏置向量,fff 是激活函数。

  2. 隐藏层到输出层: y^=g(Whyh+by)\hat{y} = g(W_{hy} h + b_y)y^​=g(Why​h+by​) 其中 WhyW_{hy}Why​ 是隐藏层到输出层的权重矩阵,byb_yby​ 是输出层的偏置向量,ggg 是输出层的激活函数,通常在分类问题中是softmax函数。

损失函数

假设我们使用均方误差损失函数:

其中 yyy 是实际输出,y^\hat{y}y^​ 是预测输出。

反向传播

我们需要计算损失 LLL 对每个权重和偏置的梯度,然后更新这些参数。我们从输出层开始,逐层向后推导。

  1. 输出层梯度:

  2. 隐藏层到输出层权重梯度:

  3. 隐藏层到输出层偏置梯度:

  4. 隐藏层误差:

  5. 输入层到隐藏层权重梯度:

  6. 输入层到隐藏层偏置梯度:

参数更新

使用梯度下降法更新权重和偏置:

其中 η 是学习率。

 深度神经网络(DNN)反向传播算法(BP) - 刘建平Pinard - 博客园 (cnblogs.com)

 

池化 

1. 池化的作用

池化的主要作用有两个:

  • 降低计算复杂度:通过减少特征图的尺寸,减少后续卷积层和全连接层的计算量。
  • 减小过拟合:通过降低特征图的分辨率,可以使模型更具鲁棒性,对输入数据的小变化不那么敏感。

2. 池化类型

池化操作通常有两种类型:

  • 最大池化(Max Pooling):从池化窗口中选择最大值。
  • 平均池化(Average Pooling):从池化窗口中选择平均值。

 池化(Pooling)的种类与具体用法——基于Pytorch-CSDN博客

一图读懂-神经网络14种池化Pooling原理和可视化(MAX,AVE,SUM,MIX,SOFT,ROI,CROW,RMAC )_图池化-CSDN博客

卷积神经网络(CNN)反向传播算法 - 刘建平Pinard - 博客园 (cnblogs.com) 


网站公告

今日签到

点亮在社区的每一天
去签到