一文介绍CNN/RNN/GAN/Transformer等架构 !!

news2025/1/11 15:54:41

文章目录

前言

1、卷积神经网络(CNN)

2、循环神经网络(RNN)

3、生成对抗网络(GAN)

4、Transformer 架构

5、Encoder-Decoder架构


前言

本文旨在介绍深度学习架构,包括卷积神经网络CNN循环神经网络RNN生成对抗网络GANTransformerEncoder-Decoder架构。


1、卷积神经网络(CNN)

 卷积神经网络CNN是一种人工神经网络,旨在处理和分析具有网格状拓扑结构的数据,如图像和视频。将CNN想象成一个多层过滤器,可以处理图像以提取有意义的特征并进行推理预测。

想象一下,假设我们有一张手写数字的照片,希望计算机能识别出这个数字。CNN的工作原理是在图像上应用一系列滤波器,逐渐提取出越来越复杂的特征。浅层的滤波器检测边缘和线条等简单特征,而深层的滤波器则检测形状和数字等更复杂的模式特征。

CNN的层可分为三种类型:卷积层、池化层和全连接层。

  • 卷积层:这些层将滤波器应用于图像,每个滤波器在图像上滑动,计算滤波器与其覆盖像素之间的点积。这一过程会生成新的特征图,突出图像中的特定模式。这个过程会用不同的滤波器重复多次,从而生成一组捕捉图像不同方面的特征图。
  • 池化层:池化层对特征图进行下采样操作,在保留重要特征的同时减少数据的空间维度。这有助于降低计算复杂度,防止过拟合。最常见的池化类型是最大值池化,它从像素的一个小邻域中选择最大值。
  • 全连接层:这些层与传统神经网络中的层类似。它们将一层中的每个神经元与下一层中的每个神经元连接起来。卷积层和池化层的输出会被平铺并通过一个或多个全连接层,从而让网络做出最终预测,例如识别图像中的数字。

总之,CNN是一种神经网络,旨在处理非结构化数据,如图像。它的工作原理是对图像应用一系列滤波器或核函数,逐渐提取更复杂的特征。然后,通过池化层,以减少空间维度,防止过拟合。最后,输出将通过全连接层进行最终预测。

2、循环神经网络(RNN)

循环神经网络RNN是一种人工神经网络,旨在处理时间序列、语音和自然语言等序列数据。将RNN想象成传送带,一次处理一个元素的信息,从而“记住”前一个元素的信息,对下一个元素做出预测。

想象一下,我们有一串单词,我们希望计算机生成这串单词中的下一个单词。RNN的工作原理是每次处理序列中的每个单词,并利用前一个单词的信息预测下一个单词。

RNN的关键组成部分是递归连接。它允许信息从一个时间步流动到下一个时间步。递归连接是神经元内部的一个连接,它能“记住”上一个时间步的信息。

RNN可分为三个主要部分:输入层、递归层和输出层。

  • 输入层:输入层接收每个时刻的输入信息,例如序列中的一个单词。
  • 递归层:递归层处理来自输入层的信息,利用递归连接“记忆”前一时刻的信息。递归层包含一组神经元,每个神经元都与自身有递归连接,并与当前时刻的输入进行连接。
  • 输出层:输出层根据递归层处理的信息生成预测结果。在生成序列汇中下一个单词的情况下,输出层会预测序列中前一个单词之后最有可能出现的单词。

总之,RNN是一种用于处理顺序数据的神经网络,它每次处理一个元素的信息,利用递归连接来“记忆”前一个元素的信息。递归层允许网络处理整个序列,使其非常适合语言翻译、语音识别和时间序列预测等任务。

3、生成对抗网络(GAN)

生成对抗网络GAN是一种深度学习架构,它使用两个神经网络(生成器和判别器)来创建新的、逼真的数据。将GAN想象成两个敌对的艺术家,一个创造假艺术,另一个则试图辨别真假。

GAN的目标是在图像、音频和文本等不同领域生成高质量的真实数据样本。生成器网络创建新样本,而判别器网络则评估所生成样本的真实性。这两个网络以对抗的方式同时进行训练,生成器试图生成更逼真的样本,而判别器则更善于检测伪造样本。

GAN的两个主要组成部分如下:

  • 生成器:生成器网络负责创建新样本。它将随机噪声向量作为输入,并生成输出样本,如图像或句子。生成器通过最小化损失函数来测量生成样本与真实数据之间的差异,从而训练生成更真实的样本。
  • 判别器:判别器网络评估生成样本的真伪。它将一个样本作为输入,然后输出一个概率,表明该样本是真的还是假的。判别器通过损失函数来测量真实样本和生成样本概率之间的差异,从而训练判别器分辨真假样本。

GAN的对抗源于生成器和判别器之间的竞争。生成器试图生成更逼真的样本来欺骗判别器,而判别器则试图提高自己分辨真假样本的能力。这个过程会一直持续下去,直到生成器生成高质量、逼真的数据,而这些数据很难与真实数据区分开来。

总之,GAN是一种深度学习架构,它使用两个神经网络(生成器和判别器)来创建新的真实数据。生成器创建新样本,判别器评估样本的真实性。这两个网络以对抗的方式进行训练,生成器生成更逼真的样本,而判别器则提高检测真假样本的能力。GAN目前可应用于各种领域,如图像和视频生成、音乐合成和文本到图像合成等。

4、Transformer 架构

Transformer是一种神经网络架构,广泛应用于自然语言处理NLP任务,如翻译、文本分类和问答系统。它们是在2017年发表的开创性论文“Attention Is All You Need”中引入的。

将Transformer想象成一个复杂的语言模型,通过将文本分解成更小的片段并分析它们之间的关系来处理文本。然后,该模型可以对各种查询生成连贯流畅的回复。

Transformer由多个重复的模块组成,称为层。每个层包含两个主要组件:

  • 自注意力机制:自注意力机制允许模型分析输入文本不同部分之间的关系。它的工作原理是为输入序列中的每个单词分配权重,以显示其与当前上下文的相关性。这样,模型就能将注意力集中在重要的词语上,而淡化不那么相关的词语的重要性。
  • 前馈神经网络:前馈神经网络是处理自我注意机制输出的多层感知机。它们负责学习输入文本中单词之间的复杂关系。

Transformer的关键创新之处在于使用自注意力机制,这使得模型能够高效处理长序列文本,而无需进行昂贵的递归或卷积操作。这使得Transformer的计算效率高,能够有效地完成各种NLP任务。

简单地说,Transformer是一种功能强大的神经网络架构,专为自然语言处理任务而设计。它们通过将文本分解成更小的片段,并通过自注意机制分析片段之间的关系来处理文本。这样,该模型就能对各种查询生成连贯流畅的回复。

5、Encoder-Decoder架构

编码器-解码器架构在自然语言处理NLP任务中非常流行。它们通常用于序列到序列问题,如机器翻译,其目标是将一种语言(源语言)的输入文本转换为另一种语言(目标语言)的相应文本。

把编码器—解码器想象成一个翻译员,他听一个人说外语,同时将其翻译成听者的母语。

该架构由两个主要部分组成:

  • 编码器:编码器接收输入序列(源文本)并按顺序进行处理,生成一个紧凑的表示形式,通常称为 context vectorcontext embedding。这种表示概括了输入序列,并包含有关其语法、语义和上下文的信息。编码器可以是递归神经网络RNN,也可以是Transformer,具体取决于具体任务和实现方式。
  • 解码器:解码器采用编码器生成的上下文向量,逐个元素生成输出序列(目标文本)。解码器通常是一个递归神经网络或Transformer,与编码器类似。它根据前面的单词和上下文向量中包含的信息预测目标序列中的下一个单词,从而依次生成输出序列。

在训练期间,解码器接收真实的目标序列,其目标是预测序列中的下一个单词。在推理过程中,解码器接收直到此时为止生成的文本,并用它来预测下一个单词。

总之,编码器-解码器架构是自然语言处理任务中的一种流行方法,尤其适用于序列-序列问题,如机器翻译。该架构由一个编码器和一个解码器组成,编码器负责处理输入序列并生成一个紧凑的向量表示,解码器负责根据该表示生成输出序列。这样,该模型就能将一种语言的输入文本翻译成另一种语言的相应文本。

参考:AI算法之道

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

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

相关文章

K8S node节点配置

1.开始操作之前要先关闭防火墙,SELinux,swap分区 关闭防火墙 sudo systemctl stop firewalld关闭SELinux sudo setenforce 0 # 临时关闭 sudo sed -i s/^SELINUXenforcing$/SELINUXper…

应用Ribo-seq技术量化tRNA对乳腺癌细胞转移的调控

技术简介 Ribo-seq,又称为Ribosome Profiling或者翻译组测序,能够对与核糖体结合并正在被翻译的约30 nt的mRNA片段进行测序,详细检测体内的翻译状态,Ribo-seq是连接转录组学与蛋白质组学之间的桥梁。该技术可构建癌细胞全基因组水…

为什么PCB板上需要晶振

PCB板,即印刷电路板,是现代电子设备中不可或缺的组成部分。它的基本功能是提供电子元件之间的电气连接,使电子元件能够正确、高效地工作。然而,为了使电子设备能够正常工作,PCB板上的电子元件需要遵循一定的时序和频率…

Java入门基础知识第八课(数组)——冒泡排序、Arrays工具类

前面二白讲了关于数组的概念、语法以及简单的输入输出,实际上关于数组的知识还有很多,接下来咱们讲一下冒泡排序以及一些常用的Arrays工具类,需要记忆的知识很多,而且容易混淆。 一、冒泡排序 简介(原理)…

浅谈LockBit勒索病毒

在数字时代,随着科技的飞速发展,网络安全问题愈发凸显。恶意软件和勒索软件等网络威胁正不断演变,其中一款备受关注的勒索软件就是LockBit。本文将深入介绍LockBit的特征、攻击手段及对网络安全的威胁。 主要特征 LockBit是一种高度复杂且具…

线上环境 CPU 使用率飙升如何快速排查?

相比于一大堆复杂的 JVM 调优过程,本文介绍的排查步骤还是挺简单的,可以帮助各位小伙伴排查一些简单问题,面试官问起来也好过啥也不会(这个 CPU 打满如何排查我被问过好多次......)。 模拟高 CPU 场景 这里就不麻烦地…

每日一题:矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]使用两个标记变量。 class Sol…

html基础——CSS

在HTML中,CSS的作用是用于控制网页的样式,包括字体、颜色、背景、布局等方面的设计。通过一个样例来说明CSS的作用: 如下是一个名为global.css的CSS文件: .C1{font-size: 10px;color: blue;border:1px solid red;height: 200px;…

AI写作软件哪个好?分享9AI写作工具 #其他#科技

从事自媒体运营光靠自己手动操作效率是非常低的,想要提高运营效率就必须要学会合理的使用一些辅助工具。下面小编就跟大家分享一些自媒体常用的辅助工具,觉得有用的朋友可以收藏分享。 1.七燕写作 这是一个微信公众号,可以进行AI对话、AI创作…

适合虚拟主持人活动的全身动作捕捉设备:VDSuit Full

在虚拟主持人领域,全身动作捕捉设备一直以其逼真的效果和生动的表现力备受瞩目。相比光学全身动作捕捉设备,惯性全身动作捕捉设备更适合应用在企业品牌虚拟主持人发布会、虚拟主持人直播等活动场合。 广州虚拟动力全身动作捕捉设备VDSuit Full&#xff0…

Java项目中使用事务

事务的四大特性 事务特性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 原子性是指事务包含的所有操作要么全部成功&#x…

C#体检中心源码,C/S架构的健康体检系统源码,三级综合医院应用案例

健康体检管理系统源码,C#体检中心源码,三级医院应用案例。 智慧健康体检管理系统是为体检中心服务的,帮助体检机构实现业务市场开拓,实现检前、检中、检后全过程的体检健康管理。检前微信平台/网络预约登记、收费,检中…

Windows下docker-compose部署DolphinScheduler

参照:快速上手 - Docker部署(Docker) - 《Apache DolphinScheduler v3.1.0 使用手册》 - 书栈网 BookStack 下载源文件 地址:https://dolphinscheduler.apache.org/zh-cn/download/3.2.1 解压到指定目录,进入apache-dolphinscheduler-xxx-…

排序:冒泡排序,直接插入排序,简单选择排序,希尔排序,快速排序,堆排序,二路归并排序

目录 一.冒泡排序 代码如下 冒泡排序时间复杂度分析 二.直接插入排序 直接插入排序时间复杂度分析 直接插入排序优化:折半插入排序 三.简单选择排序 简单选择排序优化:双向选择排序 选择排序时间复杂度 双向选择排序时间复杂度 四.希尔排序 希…

winfrom入门篇4 -- 添加控件

添加控件 打开工具箱 在公共控件中,选择Button 直接拖动到窗体中 运行程序 此时查看Form1.Designer.cs 在InitializeCompent() 方法中自动生成了button 相关代码 同时添加了一个button1 字段 右键按钮选择属性,查看属性栏 改变Text 属性 此时在观…

Excel文本内容抽取工具[Python]

#创作灵感# 一堆Excel文件,每个打开看太累了。写个脚本直接显示里面的内容多好。最好这些内容可以直接复制到剪切板,方便以后编辑修改。只需要将文件拖动到全屏置顶的文本框内,就能弹出Excel里的内容。支持一次选取多个文件。 开干&#xff…

快速入门Kotlin④集合

集合概述 继承关系(List、Set和Map均继承了Collection) List List 是一个接口,用于表示列表(List)数据结构。它是一个有序的集合,允许重复元素。 listOf 创建的列表是不可变的,而 mutableListOf 创建的列表是可变的,允许对其进行添加、删除和更新操作。 fun main()…

电脑实时监控软件分享|五个好用的实时屏幕监控软件

电脑实时监控软件是一种专门设计用于实时监控和记录电脑用户操作行为、系统状态以及网络活动的软件工具。 这类软件主要服务于企业、教育机构、家庭或个人用户,用于确保网络安全、提升工作效率、监督员工行为、保护儿童在线安全、防止数据泄露等多种目的。 针对企业…

蓝桥ROS云课一键配置f1tenth和PID绕圈(竞赛更新版)

准备资料 竞赛说明: ROS机器人虚拟仿真挑战赛学习笔记 之前版本: 蓝桥ROS云课→一键配置←f1tenth和PID绕圈 修改定制 提高调试效率,非常关键^_^ 配置文件: echo "Upgrade Mission Begins."echo "-----BEGI…

用AI作图,使用这个免费网站,快看我画的大鹏鸟和美女

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…