全连接神经网络(前馈神经网络)

一、全连接神经网络介绍

在多层神经网络中, 第 N 层的每个神经元都分别与第 N-1 层的神经元相互连接。

1、神经元

这个神经元接收的输入信号为向量(x_1,x_2,x_3,x_4,x_5) , 向量(w_1,w_2,w_3,w_4,w_5)为输入向量的组合权重, b 为偏置项, 是一个标量。

神经元的作用是对输入向量进行加权求和, 并加上偏置项 b, 最后经过激活函数f 变换产生输出y = f\left(\sum_{i=1}^{5} w_i x_i + b\right)   ===>  y = f(w^Tx+b)

2、网络结构

在分类问题中, 神经网络一般有多层:

  • 第一层为输入层, 对应输入向量, 神经元的数量等于特征向量的维数, 输入层不对数据进行处理, 只是将输入向量送入下一层中进行计算。
  • 中间层为隐含层, 可能有多个。
  • 最后是输出层, 神经元的数量等于要分类的类别数, 输出层的输出值被用来做分类预测

  • 第一层是输入层,对应的输入向量为(x_1,x_2,x_3) , 有 3 个神经元, 输入层不对数据做任何处理, 直接原样送入下一层。
  • 中间层有 4 个神经元, 接收的数据为 (x_1,x_2,x_3), 输出向量为 (y_1,y_2,y_3,y_4)
  • 第三层为输出层, 接收的数据为向量(y_1,y_2,y_3,y_4) , 输出向量为(z_1,z_2)

神经网络通过激活函数而具有非线性, 通过调整权重形成不同的映射函数。现实应用中要拟合的函数一般是非线性的, 线性函数无论怎样复合最终还是线性函数, 因此, 必须使用非线性激活函数。

3、正向传播算法

算法公式:u^{(l)} = W^{(l)} z^{(l-1)} + b^{(l)}z^{(l)} = f(u^{(l)})

假设神经网络有 m 层, 正向传播算法的流程为:

 二、反向传播算法

1、理解

假设神经网络有 n_l 层, 第 l 层的神经元个数为 s_l。 第 l 层从第 l - 1 层接收的输入向量为 z^{(l-1)}, 第 l 层的权重矩阵为 w^{(l)}, 偏置向量为b^{(l)}, 输出向量为 z^{(l)}。 该层的输出可以写成如下形式:

(已有推导结论: \nabla_{W} L = \left(\nabla_{u^{(l)}} L\right) {z^{(l-1)}}^T\nabla_{​{z^{(l-1)}}} L = W^T\left(\nabla_{u^{(l)}} L\right) )

损失函数对权重和偏置的梯度:

发现\nabla_{W} L\nabla_{b^{(l)}} L中都存在\nabla_{u^{(l)}} L,因此定义误差项为:

即得到\delta^{(l)}递推公式为:

通过递推公式知\delta^{(l)}\delta^{(l+1)}计算得到,因此需要从后往前计算,当\delta^{(l)}计算出来时\nabla_{W} L\nabla_{b^{(l)}} L也可计算出来,这就称为反向传播

2、迭代流程

均按照一个样本迭代,若有m个样本,公式要除以m,以求平均梯度

  1. 正向传播, 利用当前权重和偏置值, 计算每一层的输出值--确定z^{(l-1)}
  2. 计算输出层的误差项 \delta^{(n_l)}
  3. 反向传播, 计算隐藏层各层的误差项:

    ⊙ 表示元素乘法,前边表示矩阵乘法
  4. 计算损失函数对权重和偏置的梯度:
### 全连接神经网络架构图解释 全连接神经网络(Fully Connected Neural Network, FCNN),也被称为密集层网络,在这种类型的网络中,每一层内的每一个节点都与其他层的所有节点相连。这意味着第 \(l\) 层的每个单元会接收到来自上一层 \((l-1)\) 所有单元传递过来的信息,并向其下一层 \((l+1)\) 的所有单元发送信息。 #### 架构特点 在网络结构方面,典型的全连接神经网络由输入层、若干隐藏层以及输出层构成[^1]。各层之间完全互联: - **输入层**:负责接收外部特征数据作为模型处理的基础材料; - **隐藏层**:位于输入与输出之间的中间部分,可以有一个或多个,用于提取并转换原始输入中的复杂模式; - **输出层**:依据具体应用场景而定,比如分类任务可能对应不同类别的概率分布;对于回归问题,则给出连续数值预测结果。 #### 工作机制概述 当一个样本进入该网络时,它首先被映射到输入层各个节点上。随后这些信号经过加权求和再加上偏置项后传给激活函数进行非线性变换,再传输至下一个层次直至最终到达输出端完成一次前向传播过程[^3]。 ![全连接神经网络架构](https://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Colored_neural_network.svg/800px-Colored_neural_network.svg.png) 此图为简化版的全连接神经网络示意图,展示了三层(不计输入层)的情况。每条箭头代表权重参数,它们决定了相邻两层间信息流动的方向和强度。随着层数增加,这样的连接方式能够捕捉更复杂的抽象概念,但也带来了计算成本上升等问题[^4]。 ```python import numpy as np class FullyConnectedLayer: def __init__(self, input_size, output_size): self.weights = np.random.randn(output_size, input_size) self.biases = np.zeros((output_size, 1)) def forward(self, inputs): """执行前向传播""" return np.dot(self.weights, inputs) + self.biases ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值