news 2026/4/30 22:47:19

全连接层(Fully Connected Layer)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
全连接层(Fully Connected Layer)

全连接层(Fully Connected Layer,又称稠密层/Dense Layer)是神经网络中最基础且重要的组件之一,广泛应用于多层感知机(MLP)、卷积神经网络(CNN)和Transformer等架构中。以下是对全连接层的系统分析:
. 核心定义
结构特点:层中每个神经元与上一层的所有神经元相连,每个连接都有独立的权重参数。

数学表达:


2. 核心功能与原理
(1)特征空间变换
通过矩阵乘法将输入映射到新的特征空间,实现特征的组合与抽象。

示例:在图像分类中,CNN 末端的全连接层将卷积提取的局部特征整合为全局语义信息。

(2)非线性拟合能力
结合激活函数(如 ReLU)引入非线性,使网络能够逼近复杂函数(通用近似定理)。

(3)参数量与计算量
参数量:m×n+m(权重 + 偏置)

计算量:矩阵乘法复杂度 O(m×n),易成为计算瓶颈。

  1. 在全连接神经网络(MLP)中的角色
    通常多个全连接层堆叠,层间通过激活函数连接。

层级特征提取:浅层学习低级特征(如边缘),深层组合为高级抽象特征。

  1. 在CNN中的应用
    末端分类器:将卷积层输出的二维特征图展平为一维向量,通过全连接层映射到类别空间。
    1.基本使用
importtorchimporttorch.nnasnnimporttorch.nn.functionalasF# 1. 基本创建方式fc_layer=nn.Linear(in_features=784,out_features=256,bias=True)print(f"权重形状:{fc_layer.weight.shape}")# torch.Size([256, 784])print(f"偏置形状:{fc_layer.bias.shape}")# torch.Size([256])# 2. 前向传播示例batch_size=32input_tensor=torch.randn(batch_size,784)# [batch, features]output=fc_layer(input_tensor)# [batch, 256]print(f"输出形状:{output.shape}")

2 关键参数详解

classLinear(nn.Module):""" 参数说明: ---------- in_features : int 输入特征维度 out_features : int 输出特征维度 bias : bool, default=True 是否使用偏置项 device : torch.device, optional 计算设备 dtype : torch.dtype, optional 权重数据类型 """def__init__(self,in_features,out_features,bias=True):super().__init__()self.in_features=in_features self.out_features=out_features self.weight=nn.Parameter(torch.Tensor(out_features,in_features))ifbias:self.bias=nn.Parameter(torch.Tensor(out_features))else:self.register_parameter('bias',None)self.reset_parameters()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 9:30:51

5 分钟快速入门 Github Actions

GitHub Actions 是 GitHub 官方提供的 CI/CD 解决方案,它内置于 GitHub 平台,用于自动化你的软件构建、测试和部署工作流。🚀 快速入门 GitHub Actions:自动化你的开发流程 核心概念:理解 Actions 的基石 在开始编写配…

作者头像 李华
网站建设 2026/5/1 9:30:52

赶due党救急!论文降重2小时搞定,不熬夜

赶due党救急!论文降重2小时搞定,不熬夜 赶due党救急!论文降重2小时搞定,不熬夜 嘿,各位赶due党们!我是AI菌。今天,咱们就来聊聊那个让无数学生头疼的问题——论文降重。别担心,我不…

作者头像 李华
网站建设 2026/5/1 6:14:28

用C语言写计算器?新手避坑指南来啦

用C语言实现一个计算器程序,是许多编程初学者巩固基础语法、理解程序结构的经典练习。它涉及变量、运算符、分支、循环和函数等核心概念的综合运用,能将书本上的理论知识转化为一个可见可用的具体工具。下面我将分享实现过程中的几个关键考量。 如何用C语…

作者头像 李华