【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!

news2024/11/27 20:56:22

【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!

【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!


文章目录

  • 【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!
  • FFN 和 E_FFN 的作用与区别
    • 1. FFN(前馈神经网络)
      • 功能:
      • 过程:
      • 使用场景
      • 代码示例:
    • 2. E_FFN(增强型前馈神经网络)
      • 功能:
      • 过程:
      • 使用场景:
      • 代码示例:
    • 3. FFN 与 E_FFN 的区别
    • 总结
  • 交通运输、机电主题会议
    • 第六届国际科技创新学术交流大会(IAECST 2024) 暨第四届物流系统与交通运输国际学术会议(LSTT 2024)
    • 第四届机电一体化与智能控制国际学术会议(MIC 2024)
    • 2024年智能船舶与机电系统国际学术会议(ICISES 2024)
  • 测绘遥感、地质主题会议
    • 第三届地理信息与遥感技术国际学术会议(GIRST 2024)
    • 2024年遥感技术与图像处理国际学术会议(RSTIP 2024)
  • 数学、力学、物理主题会议
    • 第五届应用力学与机械工程国际学术会议(ICAMME 2024)


在这里插入图片描述
欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

大多数高校硕博生毕业要求需要参加学术会议,发表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日,长沙
  • 多位国内外专家报告。征集力学、材料建模、机械工程、智能控制、材料力学、机电一体化等主题论文

欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2248630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机从入门到精通:理论与实践指南(一)

单片机在智能控制领域的应用已非常普遍,发展也很迅猛,学习和使用单片机的人员越来越多。虽然新型微控制器在不断推出,但51单片机价格低廉、易学易用、性能成熟,在家电和工业控制中有一定的应用,而且学好了51单片机&…

java写一个石头剪刀布小游戏

石头剪刀布是一款经典的手势游戏,通常由两人参与,玩法简单且充满趣味。玩家通过出示手势代表“石头”、“剪刀”或“布”,并根据规则比较手势决定胜负。它广泛用于休闲娱乐、决策或解压活动。 一、功能简介 用户与计算机对战。 用户输入选择:石头、剪刀或布。 计算机随机生…

MATLAB深度学习(六)——LSTM长短期神经网络原理与应用

LSTM的应用可以参见一个相当好的视频:小车倒立摆最优控制教程 - Part1 Simulink Simscape Multibody仿真建模_哔哩哔哩_bilibili 6.1 序列建模——循环神经网络 循环神经网络RNN是一类专门用于处理序列性数据x,,xn的神经网络结构&#xff0c…

音视频技术扫盲之预测编码的基本原理探究

预测编码是一种数据压缩技术,广泛应用于图像、视频和音频编码等领域。其基本原理是利用数据的相关性,通过对当前数据的预测和实际值与预测值之间的差值进行编码,从而实现数据压缩的目的。 一、预测编码的基本概念 预测编码主要包括预测器和…

第六届国际科技创新学术交流大会暨信息技术与计算机应用学术会议(ITCA 2024)

重要信息 会议官网:itca2024.iaecst.org 会议时间:2024年12月06-08日 会议地点:中国-广州(越秀国际会议中心) 会议简介 第六届信息技术与计算机应用学术会议(ITCA 2024) 依旧作为第六届国际科技创新学术交流大会…

Leetcode 将有序数组转换为二叉搜索树

算法思想及代码解析: 这段代码的目的是将一个有序数组转换为 高度平衡的二叉搜索树(Balanced Binary Search Tree, BST)。以下是算法的详细解释: 1. 什么是高度平衡的二叉搜索树? 二叉搜索树:对于树中的每…

15 go语言(golang) - 并发编程goroutine原理及数据安全

底层原理 Go 的 goroutine 是一种轻量级的线程实现,允许我们在程序中并发地执行函数。与传统的操作系统线程相比,goroutine 更加高效和易于使用。 轻量级调度 用户态调度:Go 运行时提供了自己的调度器,这意味着 goroutine 的创建…

ESP-KeyBoard:基于 ESP32-S3 的三模客制化机械键盘

概述 在这个充满挑战与机遇的数字化时代,键盘已经成为我们日常学习、工作、娱乐生活必不可少的设备。而在众多键盘中,机械键盘,以其独特的触感、清脆的敲击音和经久耐用的特性,已经成为众多游戏玩家和电子工程师的首选。本文将为…

PyTorch基础05_模型的保存和加载

目录 一、模型定义组件——重构线性回归 二、模型的加载和保存 2、序列化保存对象和加载 3、保存模型参数 一、模型定义组件——重构线性回归 回顾之前的手动构建线性回归案例: 1.构建数据集;2.加载数据集(数据集转换为迭代器);3.参数初…

《Python基础》之函数的用法

一、简介 在 Python 中,函数是一段可重用的代码块,用于执行特定的任务。函数可以帮助你将代码模块化,提高代码的可读性和可维护性。 函数的用途 代码重用:通过函数,你可以将常用的代码块封装起来,避免重复…

java:aqs实现自定义锁

aqs采用模板方式设计模式,需要重写方法 package com.company.aqs;import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.AbstractQueuedSynchronizer; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock;…

【小白学机器学习34】基础统计2种方法:用numpy的方法np().mean()等进行统计,pd.DataFrame.groupby() 分组统计

目录 1 用 numpy 快速求数组的各种统计量:mean, var, std 1.1 数据准备 1.2 直接用np的公式求解 1.3 注意问题 1.4 用print() 输出内容,显示效果 2 为了验证公式的背后的理解,下面是详细的展开公式的求法 2.1 均值mean的详细 2.2 方差…

vue2 中使用 Ag-grid-enterprise 企业版

文章目录 问题Vue2 引入企业版不生效npm run dev 时卡住了94% after seal 卡在这里了测试打包源 git 解决方案记录 问题 我想用企业版的树状表格 Vue2 引入企业版不生效 编译引入 // vue.config.js module.exports {transpileDependencies: ["ag-grid-enterprise"…

RESTful快速开发

(3)RESTful快速开发 (2)中的控制器仍然存在大量的冗余代码 问题1: 每个方法的RequestMapping注解中都定义了访问路径/users,重复性太高 问题2:每个方法的RequestMapping注解中都要使用method属…

万能门店小程序管理系统 doPageGetFormList SQL注入漏洞复现

0x01 产品简介 万能门店小程序管理系统是一款功能强大的工具,旨在为各行业商家提供线上线下融合的全方位解决方案。是一个集成了会员管理和会员营销两大核心功能的综合性平台。它支持多行业使用,通过后台一键切换版本,满足不同行业商家的个性化需求。该系统采用轻量后台,搭…

【作业九】RNN-SRN-Seq2Seq

点击查看作业内容 目录 1 实现SRN (1)使用numpy实现 (2)在(1)的基础上,增加激活函数tanh (3)使用nn.RNNCell实现 (4)使用nn.RNN实现 2 使用R…

Emgu (OpenCV)

Emgu Github Emgu 环境: Emgu CV 4.9.0 netframework 4.8 1、下载 libemgucv-windesktop-4.9.0.5494.exe 安装后,找到安装路径下的runtime文件夹复制到c#项目Debug目录下 安装目录 c# Debug目录

YOLOv8模型pytorch格式转为onnx格式

一、YOLOv8的Pytorch网络结构 model DetectionModel((model): Sequential((0): Conv((conv): Conv2d(3, 64, kernel_size(3, 3), stride(2, 2), padding(1, 1))(act): SiLU(inplaceTrue))(1): Conv((conv): Conv2d(64, 128, kernel_size(3, 3), stride(2, 2), padding(1, 1))(a…

澳洲房产市场数据清洗、聚类与可视化综合分析

本项目涉及数据清洗及分析时候的思路,如果仅在CSDN中看,可能会显得有些乱,建议去本人和鲸社区对应的项目中去查看,源代码和数据集都是免费下载的。 声明:本项目的成果可无偿分享,用于学习交流。但请勿用于…

IT服务团队建设与管理

在 IT 服务团队中,需要明确各种角色。例如系统管理员负责服务器和网络设备的维护与管理;软件工程师专注于软件的开发、测试和维护;运维工程师则保障系统的稳定运行,包括监控、故障排除等。通过清晰地定义每个角色的职责&#xff0…