全连接神经网络(MLP)

本文介绍了深度学习的基本概念,重点讲解了全连接神经网络(MLP)的结构和工作原理,包括单个神经元的线性与非线性变换,以及在回归和分类任务中的应用。激活函数如sigmoid、tanh和ReLU被提及,同时阐述了在多分类问题中softmax函数的作用。最后,讨论了评估模型性能的指标,如MAE、MSE和RMSE,并举例说明了损失函数的计算。
Qwen3-32B-Chat 私有部署镜像 | RTX4090D 24G 显存 CUDA12.4 优化版

本镜像基于 RTX 4090D 24GB 显存 + CUDA 12.4 + 驱动 550.90.07 深度优化,内置完整运行环境与 Qwen3-32B 模型依赖,开箱即用。

@[TOC]全连接神经网络(MLP)

1 深度学习概述

深度学习是机器学习领域中的一个新的研究方向,模仿生人类神经网络,学习样本数据的内在规律的一种方法,可以处理回归、分类等问题。深度学习主要框架:Pytorch、Tensorflow、Mindspore等。

2 单个神经元

已知一个样本(x,y)(x,y)(x,y) ,其中样本的维度 x∈Rnx\in \mathbb{R}^{n}xRn。每个神经元由线性变换z=wTx+bz=w^{T}x+bz=wTx+b和非线性变换σ(z)\sigma (z)σ(z)组成,如图所示。
单个神经元
当一个样本x=(x(1)x(2)⋮x(n))x=\begin{pmatrix} x^{(1)}\\ x^{(2)}\\ \vdots \\ x^{(n)}\\ \end{pmatrix}x=x(1)x(2)x(n)输入一个神经元时,首先对该样本进行线性变换,即z=wTx+b=w1x(1)+w2x(2)+⋯+wnx(n)+bz=w^{T}x+b=w_{1}x^{(1)}+w_{2}x^{(2)}+\cdots +w_{n}x^{(n)}+bz=wTx+b=w1x(1)+w2x(2)++wnx(n)+b,其中w=(w(1)w(2)⋮w(n))w=\begin{pmatrix} w^{(1)}\\ w^{(2)}\\ \vdots \\ w^{(n)}\\ \end{pmatrix}w=w(1)w(2)w(n)为权重向量,bbb为偏置标量;然后进行非线性变换,即y^=σ(z)\hat{y}=\sigma (z)y^=σ(z),其中σ\sigmaσ为激活函数。激活函数主要包括sigmoid、tanh、Relu等,如图所示。
(1)Sigmoid(z)=11+e−zSigmoid(z)=\frac{1}{1+e^{-z}}Sigmoid(z)=1+ez1
sigmoid
(2)Tanh(z)=ez−e−zez+e−zTanh(z)=\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}Tanh(z)=ez+ezezez
tanh
(3)Relu(z)={max(0,z),z≥00,z<0Relu(z)=\left\{\begin{matrix} max(0,z),z\geq 0\\ 0,z< 0 \\ \end{matrix}\right.Relu(z)={max(0,z),z00,z<0
Relu

3 全连接神经网络

3.1 回归任务

全连接神经网络由输入层、隐藏层和输出层组成。N层神经网络=隐藏层总数+输出层,例如2层神经网络=1个隐藏层+1个输出层。用全连接神经网络实现回归问题,结构如图:
回归问题
假设一个样本x1×nx_{1\times n}x1×n作为输入层,经过隐藏层和输出层,得到预测结果y^\hat{y}y^,用矩阵表示:
(1)隐藏层:z1×5=σ(x1×nWn×5(1)+b1×5(1))z_{1\times 5}=\sigma (x_{1\times n}W^{(1)}_{n\times 5}+b^{(1)}_{1\times 5})z1×5=σ(x1×nWn×5(1)+b1×5(1))
(2)输出层:y^1×1=σ(z1×5W5×1(2)+b1×1(2))\hat{y}_{1\times 1}=\sigma (z_{1\times 5}W^{(2)}_{5\times 1}+b^{(2)}_{1\times 1})y^1×1=σ(z1×5W5×1(2)+b1×1(2))
假设batch_size个样本xb×nx_{b\times n}xb×n作为输入层,经过隐藏层和输出层,得到预测结果y^b×1\hat{y}_{b\times 1}y^b×1,用矩阵表示:
(1)隐藏层:zb×5=σ(xb×nWn×5(1)+bb×5(1))z_{b\times 5}=\sigma (x_{b\times n}W^{(1)}_{n\times 5}+b^{(1)}_{b\times 5})zb×5=σ(xb×nWn×5(1)+bb×5(1))
(2)输出层:y^b×1=σ(zb×5W5×1(2)+bb×1(2))\hat{y}_{b\times 1}=\sigma (z_{b\times 5}W^{(2)}_{5\times 1}+b^{(2)}_{b\times 1})y^b×1=σ(zb×5W5×1(2)+bb×1(2))
比较样本预测值y^b×1\hat{y}_{b\times 1}y^b×1和真实值yb×1y_{b\times 1}yb×1的误差可以用平均绝对误差(Mean Absolute Error,MAE)、均方误差(Mean Square Error,MSE)和均方根误差(Root Mean Square Error,RMSE)等。
(1)MAE=1b∑i=1b∣yj−yj^∣MAE=\frac{1}{b}\sum_{i=1}^{b}\left | y_{j}-\hat{y_{j}} \right |MAE=b1i=1byjyj^
(2)MSE=1b∑i=1b(yj−yj^)2MSE=\frac{1}{b}\sum_{i=1}^{b}(y_{j}-\hat{y_{j}})^{2}MSE=b1i=1b(yjyj^)2
(3)RMSE=1b∑i=1b(yj−yj^)2RMSE=\sqrt{\frac{1}{b}\sum_{i=1}^{b}(y_{j}-\hat{y_{j}})^{2}}RMSE=b1i=1b(yjyj^)2

3.2 分类任务

当用全连接神经网络实现多分类问题,需要知道每个样本为每个类别的概率是多少,这时可以在输出层后面接入softmax函数。softmax是先对每个输出pjp_{j}pj进行exe^{x}ex指数函数变换,然后进行归一化处理,最终输出每个类别的概率值,结构如图:
在这里插入图片描述假设数据集分为3类,则输出层包括3个神经元。将一个样本x1×nx_{1\times n}x1×n作为输入层,经过隐藏层和输出层,得到预测分布为p1p_{1}p1p2p_{2}p2p3p_{3}p3,最后经过softmax层进行归一化,将该样本的预测分布变为y^1\hat{y}_{1}y^1y^2\hat{y}_{2}y^2y^3\hat{y}_{3}y^3 。用矩阵表示:
(1)隐藏层:z1×5=σ(x1×nWn×5(1)+b1×5(1))z_{1\times 5}=\sigma (x_{1\times n}W^{(1)}_{n\times 5}+b^{(1)}_{1\times 5})z1×5=σ(x1×nWn×5(1)+b1×5(1))
(2)输出层:p1×3=σ(z1×5W5×3(2)+b1×3(2))p_{1\times 3}=\sigma (z_{1\times 5}W^{(2)}_{5\times 3}+b^{(2)}_{1\times 3})p1×3=σ(z1×5W5×3(2)+b1×3(2))
(3)softmax层:y^1×3=softmax(p1×3)\hat{y}_{1\times 3}=softmax(p_{1 \times 3})y^1×3=softmax(p1×3)
假设batch_size个样本xb×nx_{b\times n}xb×n作为输入层,经过隐藏层和输出层,得到预测结果y^b×3\hat{y}_{b\times 3}y^b×3,用矩阵表示:
(1)隐藏层:zb×5=σ(xb×nWn×5(1)+bb×5(1))z_{b\times 5}=\sigma (x_{b\times n}W^{(1)}_{n\times 5}+b^{(1)}_{b\times 5})zb×5=σ(xb×nWn×5(1)+bb×5(1))
(2)输出层:pb×3=σ(zb×5W5×3(2)+bb×3(2))p_{b\times 3}=\sigma (z_{b\times 5}W^{(2)}_{5\times 3}+b^{(2)}_{b\times 3})pb×3=σ(zb×5W5×3(2)+bb×3(2))
(3)softmax层:y^b×3=softmax(pb×3)\hat{y}_{b\times 3}=softmax(p_{b \times 3})y^b×3=softmax(pb×3)
比较样本的预测分布y^b×3\hat{y}_{b\times 3}y^b×3和真实分布yb×3y_{b\times 3}yb×3的误差可以用交叉熵度量。
例如:batch_size为4,待分类标签有3个,其中预测分布y^4×3=(0.33410.58510.08080.54280.17700.28030.28210.16650.55150.19660.48350.3199)\hat{y}_{4\times 3}=\begin{pmatrix} 0.3341& 0.5851& 0.0808\\ 0.5428& 0.1770& 0.2803\\ 0.2821& 0.1665& 0.5515\\ 0.1966& 0.4835& 0.3199 \end{pmatrix}y^4×3=0.33410.54280.28210.19660.58510.17700.16650.48350.08080.28030.55150.3199,真实分布y4×3=(010100001010)y_{4\times 3}=\begin{pmatrix} 0& 1& 0\\ 1& 0& 0\\ 0& 0& 1\\ 0& 1& 0 \end{pmatrix}y4×3=010010010010。因此,batch_size的损失函数Loss是batch_size的平均Loss,即Loss=−[log0.5851+log0.5428+log0.5515+log0.4835]/4Loss=-[log0.5851+log0.5428+log0.5515+log0.4835]/4Loss=[log0.5851+log0.5428+log0.5515+log0.4835]/4

您可能感兴趣的与本文相关的镜像

Qwen3-32B-Chat 私有部署镜像 | RTX4090D 24G 显存 CUDA12.4 优化版

Qwen3-32B-Chat 私有部署镜像 | RTX4090D 24G 显存 CUDA12.4 优化版

Qwen
文本生成
Qwen3

本镜像基于 RTX 4090D 24GB 显存 + CUDA 12.4 + 驱动 550.90.07 深度优化,内置完整运行环境与 Qwen3-32B 模型依赖,开箱即用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值