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 网络构建

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

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

相关推荐
whabc1009 分钟前
和鲸社区深度学习基础训练营2025年关卡2(2)sklearn中的MLPClassifier
人工智能·深度学习·numpy
往日情怀酿做酒 V176392963832 分钟前
pytorch的介绍以及张量的创建
人工智能·pytorch·python
北辰alk44 分钟前
如何实现AI多轮对话功能及解决对话记忆持久化问题
人工智能
智驱力人工智能44 分钟前
极端高温下的智慧出行:危险检测与救援
人工智能·算法·安全·行为识别·智能巡航·高温预警·高温监测
Leo.yuan1 小时前
数据分析师如何构建自己的底层逻辑?
大数据·数据仓库·人工智能·数据挖掘·数据分析
笑稀了的野生俊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32‘ not found
linux·人工智能·ubuntu·大模型·glibc·flash-attn
吕永强1 小时前
意识边界的算法战争—脑机接口技术重构人类认知的颠覆性挑战
人工智能·科普
二二孚日1 小时前
自用华为ICT云赛道AI第三章知识点-昇腾芯片硬件架构,昇腾芯片软件架构
人工智能·华为
蹦蹦跳跳真可爱5892 小时前
Python----OpenCV(几何变换--图像平移、图像旋转、放射变换、图像缩放、透视变换)
开发语言·人工智能·python·opencv·计算机视觉
蹦蹦跳跳真可爱5892 小时前
Python----循环神经网络(Transformer ----Layer-Normalization(层归一化))
人工智能·python·rnn·transformer