pytorch 神经网络

神经网络

  • [1 感知神经网络](#1 感知神经网络)
    • [**2. 人工神经元**](#2. 人工神经元)
      • [2.1 构建人工神经元](#2.1 构建人工神经元)
      • [2.2 组成部分](#2.2 组成部分)
      • [2.3 数学表示](#2.3 数学表示)
      • [2.4 对比生物神经元](#2.4 对比生物神经元)
    • [3. 深入神经网络](#3. 深入神经网络)
      • [3.1 基本结构](#3.1 基本结构)
      • [3.2 网络构建](#3.2 网络构建)

我们要学习的 深度学习 (Deep Learning)是神经网络的一个子领域,主要关注更深层次的神经网络结构,也就是 深层神经网络 (Deep Neural Networks,DNNs)。所以,我们需要先搞清楚什么是神经网络!

1 感知神经网络

神经网络(Neural Networks)是一种模拟人脑神经元网络结构的计算模型,用于处理复杂的模式识别、分类和预测等任务。生物神经元如下图:

生物学:

人脑可以看做是一个生物神经网络,由众多的神经元连接而成

  • 树突:从其他神经元接收信息的分支
  • 细胞核:处理从树突接收到的信息
  • 轴突:被神经元用来传递信息的生物电缆
  • 突触:轴突和其他神经元树突之间的连接

人脑神经元处理信息的过程:

  • 多个信号到达树突,然后整合到细胞体的细胞核中(输入层)
  • 当积累的信号超过某个阈值,细胞就会被激活(隐藏层)
  • 产生一个输出信号,由轴突传递。(输出层)

神经网络由多个互相连接的节点(即人工神经元)组成

2. 人工神经元

​ 人工神经元(Artificial Neuron)是神经网络的基本构建单元,模仿了生物神经元的工作原理。其核心功能是接收输入信号,经过加权求和和非线性激活函数处理后,输出结果。

2.1 构建人工神经元

人工神经元接受多个输入信息,对它们进行加权求和,再经过激活函数处理,最后将这个结果输出。

2.2 组成部分

  • 输入(Inputs): 代表输入数据,通常用向量表示,每个输入值对应一个权重。
  • 权重(Weights): 每个输入数据都有一个权重,表示该输入对最终结果的重要性。
  • 偏置(Bias): 一个额外的可调参数,作用类似于线性方程中的截距,帮助调整模型的输出。
  • 加权求和: 神经元将输入乘以对应的权重后求和,再加上偏置。
  • 激活函数(Activation Function): 用于将加权求和后的结果转换为输出结果,引入非线性特性,使神经网络能够处理复杂的任务。常见的激活函数有Sigmoid、ReLU(Rectified Linear Unit)、Tanh等。

2.3 数学表示

如果有 n 个输入 x 1 , x 2 , ... , x n x_1, x_2, \ldots, x_n x1,x2,...,xn,权重分别为 w 1 , w 2 , ... , w n w_1, w_2, \ldots, w_n w1,w2,...,wn,偏置为 b b b,则神经元的输出 y y y 表示为:
z = ∑ i = 1 n w i ⋅ x i + b y = σ ( z ) z=\sum_{i=1}^nw_i\cdot x_i+b \\ y=\sigma(z) z=i=1∑nwi⋅xi+by=σ(z)

其中, σ ( z ) \sigma(z) σ(z) 是激活函数。

例如:

线性回归:
y = ∑ i = 1 n w i ⋅ x i + b y=\sum_{i=1}^nw_i\cdot x_i+b \\ y=i=1∑nwi⋅xi+b

线性回归不需要激活函数

逻辑回归:
z = ∑ i = 1 n w i ⋅ x i + b y = σ ( z ) = s i g m o i d ( z ) = 1 1 + e − z z=\sum_{i=1}^nw_i\cdot x_i+b \\ y=\sigma(z)=sigmoid(z)=\frac{1}{1+e^{-z}} z=i=1∑nwi⋅xi+by=σ(z)=sigmoid(z)=1+e−z1

  • 一个神经网络就是将数据输入(输入层)通过某个函数计算(隐藏层)最终得到一个新数据(输出层)的过程

2.4 对比生物神经元

人工神经元和生物神经元对比如下表:

生物神经元 人工神经元
细胞核 节点 (加权求和 + 激活函数)
树突 输入
轴突 带权重的连接
突触 输出

3. 深入神经网络

神经网络是由大量人工神经元按层次结构连接而成的计算模型。每一层神经元的输出作为下一层的输入,最终得到网络的输出。

3.1 基本结构

神经网络有下面三个基础层(Layer)构建而成:

  • 输入层(Input): 神经网络的第一层,负责接收外部数据,不进行计算。

  • 隐藏层(Hidden): 位于输入层和输出层之间,进行特征提取和转换。隐藏层一般有多层,每一层有多个神经元。

  • 输出层(Output): 网络的最后一层,产生最终的预测结果或分类结果

3.2 网络构建

我们使用多个神经元来构建神经网络,相邻层之间的神经元相互连接,并给每一个连接分配一个权重,经典如下:

注意:同一层的各个神经元之间是没有连接的。

相关推荐
猫头虎几秒前
IntelliJ IDEA 2025.3 最新变化:值得更新吗?
java·开发语言·ide·人工智能·intellij-idea·idea·gitcode
Wuhan87827211m1 分钟前
微生物细胞检测与识别 大肠杆菌E.coli和其他细菌细胞自动检测与分类 RetinaNet+RegNet模型实现
人工智能·分类·数据挖掘
idkmn_1 分钟前
Agentic AI 基础概念
人工智能·python·深度学习·chatgpt·langchain
AI营销资讯站3 分钟前
原圈科技AI营销内容生产系统:企业降本增效的全流程智能方案
大数据·人工智能
图学习小组6 分钟前
PaCon:一种用于识别编程提交中问题求解策略的符号分析方法
人工智能·算法·机器学习
墨染倾城殇6 分钟前
蓝牙模块场景化应用与选型:高效连接,精准适配
网络·人工智能·蓝牙模块·低功耗蓝牙模块·飞易通科技·蓝牙模块推荐
码农阿豪6 分钟前
POP到店模式(LOC)业务规则深度解析:从配置到结算的全链路指南
大数据·网络·人工智能
江上鹤.1488 分钟前
Day 41 早停策略和模型权重的保存
人工智能·深度学习·机器学习
龙腾AI白云9 分钟前
DNN案例一步步构建深层神经网络(二)三、深层神经网络
人工智能·神经网络
洛阳泰山9 分钟前
快速上手 MaxKB4J:开源企业级 Agentic 工作流系统在 Sealos 上的完整部署指南
java·人工智能·后端