【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!
【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!
【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!
文章目录
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议入口:https://ais.cn/u/mmmiUz
FFN 和 E_FFN 的作用与区别
1. FFN(前馈神经网络)
功能:
FFN 是一种基础的全连接前馈神经网络。它由两层全连接层(Linear Layer)和一个激活函数(GELU)组成,通常用于神经网络的中间层进行非线性变换,增加模型的表达能力。
过程:
- 输入通过第一层全连接层(fc1)将输入的特征维度 in_features 映射 hidden_features。
- 然后经过激活函数(act),此处使用的是 GELU 激活函数,进行非线性变换。
- 然后通过第二层全连接层(fc2)将特征维度从 hidden_features 映射回 out_features。
- 最后,可能会应用 Dropout 来避免过拟合。
使用场景
FFN 在许多深度学习模型中作为基础模块,广泛应用于Transformer架构、MLP(多层感知器)等结构中,主要用于处理非线性关系和高维特征之间的映射。
代码示例:
class FFN(nn.Module):
def __init__(self, in_features, hidden_features=None, out_features=None, drop=0.):
super(FFN, self).__init__()
out_features = out_features or in_features
hidden_features = hidden_features or in_features
# 第一层全连接层
self.fc1 = nn.Linear(in_features, hidden_features) # in_features = 512, hidden_features = 128
# 激活函数 (使用GELU)
self.act = nn.GELU()
# 第二层全连接层
self.fc2 = nn.Linear(hidden_features, out_features) # hidden_features = 128, out_features = 512
# Dropout层
self.drop = nn.Dropout(drop)
def forward(self, x):
x = self.fc1(x) # 输入经过第一层
x = self.act(x) # 激活函数
x = self.fc2(x) # 输入经过第二层
x = self.drop(x) # 如果drop值大于0,应用dropout
return x
2. E_FFN(增强型前馈神经网络)
功能:
E_FFN 是对 FFN 的增强版本,通过卷积层和批归一化层增强其能力。与 FFN 主要依赖全连接层不同,E_FFN 引入了卷积操作,使其更适合处理空间结构数据(如图像或多维特征)。
过程:
- fc1 是一个卷积操作(ConvBNReLU),通过 1x1 卷积层将输入的通道数 in_channels 映射到 hidden_channels,并进行批归一化和激活。
- conv1 和 conv2 是基于输入特征的卷积操作,使用不同的卷积核大小(ksize 和 3x3)进行处理。
- 最后通过 fc2 将卷积操作的结果映射回 out_features,并通过激活函数(如 ReLU6)进行非线性变换。
使用场景:
E_FFN 是 FFN 的改进版本,特别适用于具有空间特征的任务(如图像处理、语义分割等),因为它使用了卷积操作,可以捕捉空间结构信息和局部特征。
代码示例:
class E_FFN(nn.Module):
def __init__(self, in_features, hidden_features=None, out_features=None, ksize=5, act_layer=nn.ReLU6, drop=0.):
super(E_FFN, self).__init__()
out_features = out_features or in_features
hidden_features = hidden_features or in_features
self.fc1 = ConvBNReLU(in_channels=in_features, out_channels=hidden_features, kernel_size=1)
self.conv1 = ConvBNReLU(in_channels=hidden_features, out_channels=hidden_features, kernel_size=ksize,
groups=hidden_features)
self.conv2 = ConvBNReLU(in_channels=hidden_features, out_channels=hidden_features, kernel_size=3,
groups=hidden_features)
self.fc2 = ConvBN(in_channels=hidden_features, out_channels=out_features, kernel_size=1)
self.act = act_layer()
self.drop = nn.Dropout(drop)
def forward(self, x):
x = self.fc1(x)
x1 = self.conv1(x)
x2 = self.conv2(x)
x = self.fc2(x1 + x2)
x = self.act(x)
return x
3. FFN 与 E_FFN 的区别
总结
- FFN 是一个基础的前馈神经网络,适用于处理一般的输入数据,如结构化数据或者经过预处理的特征。
- E_FFN 是对 FFN 的扩展,采用卷积操作使其能够更好地处理具有空间结构的输入数据,适合处理图像、视频或其他具有空间信息的任务。
交通运输、机电主题会议
第六届国际科技创新学术交流大会(IAECST 2024) 暨第四届物流系统与交通运输国际学术会议(LSTT 2024)
- 12月6-8日,广州
- 主办单位:IEEE PES智慧楼宇、负载和客户支持系统卫星技术委员会(中国)、华南理工大学、广东省艾思信息化学术交流研究院、艾思科蓝
- 院士主席团。IEEE出版,IEEE Xplore、EI检索。征集交通运输工程、交通信息与控制、交通规划与管理、载运工具运用工程、隧桥/道路与铁路工程、物流系统与信息化技术、航空/航海/港口水运主题论文
第四届机电一体化与智能控制国际学术会议(MIC 2024)
- 12月27-29日,南昌
- 主办单位:华东交通大学
- 前身为“智慧交通、能源与动力国际学术会议(STEP)”,多位国内外专家报告。多届论文已检索,本届征集机电一体化、智能控制。仪器仪表、电气、航空航天等论文
2024年智能船舶与机电系统国际学术会议(ICISES 2024)
- 12月27-29日,广州
- 主办单位:广州航海学院、广东海洋大学、重庆交通大学、集美大学
- IEEE出版,征集船舶工程、机电工程、控制系统、传感器、3D打印等主题论文。多位学科带头人、学院院长等作主讲报告
测绘遥感、地质主题会议
第三届地理信息与遥感技术国际学术会议(GIRST 2024)
- 11月29日-12月1日,意大利罗马
- 主办单位:罗马第三大学
- 多届IEEE/SPIE出版,完成EI检索。欧洲会议现正征集论文,含地理信息、测量与测绘、遥感等主题论文
2024年遥感技术与图像处理国际学术会议(RSTIP 2024)
- 11月29-12月1日,大理
- 支持单位:浙江海洋大学信息工程学院、苏州科技大学地理科学与测绘工程学院、阿卜杜勒阿齐兹国王大学
- 多位国内外专家报告。征集遥感技术、图像处理技术及其领域应用等主题论文
数学、力学、物理主题会议
第五届应用力学与机械工程国际学术会议(ICAMME 2024)
- 12月20-22日,长沙
- 多位国内外专家报告。征集力学、材料建模、机械工程、智能控制、材料力学、机电一体化等主题论文
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!
原文地址:https://blog.csdn.net/gaoxiaoxiao1209/article/details/144051602
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!