从神经元到神经网络:深度学习的进化之旅

神经元、神经网络

神经元 Neuron ),又名感知机( Perceptron ),在模型结构上与 逻辑回归 一致,这里以一个二维输入量的例子对其进行进一步 的解释: 假设模型的输 入向 量是一 维特征向 (x1,x2). 则单神 经元的模型结构 如下图所示:
单神经元的模型结构
其中,蓝圈 内的 部分可以看作线性的加权求和 再加 一个常 数偏操作,最终得到输入如下 (X 1 . W1) + (X2 . W2) + b
图中的蓝圈可以看作激活函数,它的主要作用是把一个无界输入映射到 个规范的、有界的值域上 常用的激活函数除了 . sigmoid 函数, 还包括 tanh ReLU 单神经元由于受到简单结构的限制,拟合能力不强, 因此在解决复杂问题时经常会用多神经元组成一个网络,使之具备拟合任意复杂函数的能力,这就是我们常说的神经网络。
一个由输入层、 两神经元隐层和单神经元输出层组成的简单神经网络

神经网络是通过将多个神经元以某种方式连接起来形成的网络,神经网络的训练方法就是基于链式法则的梯度反向传播。

前向传播和反向传播

前向传播(Forward Propagation)和反向传播(Backpropagation)是神经网络训练中的两个核心过程。它们在神经网络学习、权重更新和误差修正方面扮演关键角色。以下是二者的主要区别:

  1. 前向传播(Forward Propagation):

    • 输入信号(x1, x2)被赋予相应的权重(w1-w4)并加上偏差(b1),然后传递到隐藏层的节点(h1, h2)。
    • 在隐藏层节点,这些值通常会通过激活函数(如sigmoid或ReLU)进行非线性转换。
    • 转换后的值再次被赋予权重(w5-w8)并加上偏差(b2),然后传递到输出层的节点(o1, o2)。
    • 输出层通常也会应用一个激活函数,以得到最终的预测输出。
  2. 计算误差(Error Calculation):

    • 输出层的预测值与实际值(这里看起来像是0.01和0.99)比较,以计算误差。
    • 误差通常通过误差函数(如均方误差MSE或交叉熵)计算。
  3. 反向传播(Backpropagation):

    • 误差被用来计算每个输出节点对于总误差的贡献,这是通过误差对输出节点的预测的偏导数来实现的。
    • 然后,计算每个隐藏层节点对总误差的贡献,这需要应用链式法则,递归计算误差相对于隐藏层节点激活前的值的偏导数。
    • 这个过程将继续传递回网络,计算误差相对于每个权重的偏导数。
  4. 权重更新(Weight Update):

    • 一旦计算了相对于每个权重的误差的偏导数,权重可以根据学习率(learning rate)进行更新,以减少总误差。
    • 权重的更新公式通常是:新权重 = 旧权重 - 学习率 * 偏导数。

总结起来,前向传播是数据在网络中正向流动的过程,用于生成预测输出。反向传播是一种通过网络反向传递误差的算法,用于优化权重参数,以提高模型的预测性能。在训练过程中,这两个过程交替进行:先通过前向传播计算预测结果,然后通过反向传播对权重进行优化,如此反复直至训练完成。

LLM大模型预训练

标题

相关推荐
lboyj3 分钟前
填孔即可靠:猎板PCB如何用树脂塞孔重构高速电路设计规则
人工智能·重构
oneDay++5 分钟前
# IntelliJ IDEA企业版安装与配置全指南:避坑详解
java·开发语言·经验分享·学习·学习方法
Blossom.11815 分钟前
从虚拟现实到混合现实:沉浸式体验的未来之路
人工智能·目标检测·机器学习·计算机视觉·语音识别·vr·mr
赵青临的辉17 分钟前
简单神经网络(ANN)实现:从零开始构建第一个模型
人工智能·深度学习·神经网络
KALC19 分钟前
告别“知识孤岛”:RAG赋能网络安全运营
人工智能·网络安全
2303_Alpha42 分钟前
深度学习入门:深度学习(完结)
人工智能·笔记·python·深度学习·神经网络·机器学习
wktomo1 小时前
GO语言学习(二)
学习·golang
姝孟1 小时前
学习笔记(C++篇)—— Day 6
笔记·学习
白白白飘1 小时前
pytorch 15.1 学习率调度基本概念与手动实现方法
人工智能·pytorch·学习
深度学习入门1 小时前
机器学习,深度学习,神经网络,深度神经网络之间有何区别?
人工智能·python·深度学习·神经网络·机器学习·机器学习入门·深度学习算法