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

文章目录

前言

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算法之道

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

javaScript常见对象方法总结

1,object.assign() 用于合并对象的属性。它可以将一个或多个源对象的属性复制到目标对象中,实现属性的合并。 语法 Object.assign(target, ...sources); 1,target:目标对象,将属性复制到该对象中。 2,sources:一个…

2024大环境差、行业卷,程序员依然要靠这份大厂级24 W字java面试手册成功逆袭!

2024大环境差、行业卷,程序员该怎么办? 2024年金三银四程序员跳槽或者找工作并不理想,迟迟找不到工作,甚至大厂还进行几轮裁员,导致整个就业市场都不是太好! 出现这种情况是因为中美贸易战,导…

HubSpot出海营销CRM的创新实践:引领行业变革

在全球化的浪潮下,越来越多的企业选择出海,寻求更广阔的市场和更多的机遇。然而,出海营销并非易事,其中涉及到的CRM(客户关系管理)更是挑战重重。在这个领域,HubSpot以其创新的实践,…

C/C++如何快速学习?少走3年弯路

于我而言,最开始学习就是 C,除了计算机专业,其他专业可能学习的第一门编程语言为 C 语言,还是谭浩强爷爷那本,当时想着有点 C 基础,无外乎就是 C 语言的升级版,于是开启了 C 的路程。 语言这个…

访问网站时你的电脑都做了什么

电脑在访问百度时 首先在本地hosts文件里面查看本地有无域名对应的IP地址,若有就直接返回。若无,则本地DNS服务器当DNS的客户,向其它根域服务器发送报文查询IP地址,简单来说就是帮助主机查找IP,所以递归查询就在客户端…

SpringBoot之集成Redis

SpringBoot之集成Redis 一、Redis集成简介二、集成步骤2.1 添加依赖2.2 添加配置2.3 项目中使用 三、工具类封装四、序列化 (正常都需要自定义序列化)五、分布式锁 一、Redis集成简介 Redis是我们Java开发中,使用频次非常高的一个nosql数据库…

【双指针】接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的…

逆向案例十七(1)——webpack加如果之前发送公钥如何定位参数,基于中国五矿

网址链接:中国五矿集团有限公司采购电子商务平台 定位到数据包,载荷中param是一个加密参数。 每一个数据包前都有一个public返回公钥。 点击查看返回的数据 如何定位参数加密位置? 复制公钥包url的后面,进行搜索 ,查…

无需训练,这个新方法实现了生成图像尺寸、分辨率自由

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 近日,来自香港中文大学 - 商汤科技联合实验室等机构的研究者们提出了FouriScale&…

C语言单链表

1. 单链表的概念和结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 链表与顺序表都属于线性表,顺序表在物理存储结构上是线性的,但是链表在物理存储结构上…

react-静态组件,动态组件

react09- 组件 静态组件 动态组件 静态组件: 函数组件,在第一次渲染完成后,组件中的内容,不会根据组件内的某些操作再次进行更新,页面并不会跟着改变 过程: 第一次渲染时,执行函数方法&#x…

202458读书笔记|《风来自你的方向》——我每次见你时的百米冲刺,加起来就是一生的长跑

《风来自你的方向》隔花人著 大绵羊BOBO绘,狗狗🐶绘本,这是看的第3本书。上俩本是《我是你的小狗 狗狗心事绘本》,《我是你的小狗2 当我有了你》。 同样的简短文字小狗🐶漫画,有爱的主人,有趣…

[中级]软考_软件设计_计算机组成与体系结构_12_概述及回顾

概述及回顾 总纲考情分析与分值海明校验码计算公式重点 总纲 考情分析与分值 海明校验码计算公式 2 r m r 1 2^r mr1 2rmr1 重点 数据的表示是计算题型的基础计算机组成中的CPU组成计算机组成中的存储系统,是核心重点的考察CISC与RISC及流水线执行时间的求取

lgwr超时如何判断存储还是cpu问题?(等待事件各种类型和说明及相关查询)

通过awr报告看: 分析: log file parallel write平均等待8毫秒 log file sync平均等待402毫秒 排查: log file sync parallel write lgwr cpu log file parallel write等待少说明存储不慢。 所以:log file sync等待长是因为…

css字体相关属性

属性汇总 属性作用font-family 设置文章字体 font-size 设置字体大小 font-weight设置字体粗细font-style设置字体斜体font总体设置以上属性 设置文章字体 font-family属性 案例: 设置字体大小 font-size属性 注意事项: 1.必须要加单位&#xff0…

很牛的一套仓库管理系统,免费复用【带源码】

今天给大家分享一套基于SpringbootVue的仓库管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取) ​一、系统运行图(设计报告和接口文档) 1、登陆页面 2、物品信息管理 3、设计报告包含接口文档 二、系统搭建视频教程 …

Training - Kubeflow 的 PyTorchJob 配置 DDP 分布式训练 (ncclInternalError)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/137569332 Kubeflow 的 PyTorchJob 是 Kubernetes 自定义资源,用于在 Kubernetes 上运行 PyTorch 训练任务,是 K…

谷歌浏览器快捷键, VScode 快捷键

谷歌浏览器快捷键 谷歌浏览器跳转标签页的方式: control Tab 跳转下一个标签页 control shift tab 上一个标签页 command 1-8 跳转对应的标签页,而command 9 则是跳转最后一个标签页 Previous Tab 插件实现谷歌浏览器两个tab页来回切换。快捷键为…

猫头虎分享已解决Error: 已解决“ModuleNotFoundError: No module named“

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 领域矩阵: 🌐 猫头虎技术领域矩阵: 深入探索各技术领域,发现知识的交汇点。了解更多,请访问: 猫头虎技术矩阵…

Docker入门指南:从安装到基本操作和镜像构建的全面教程

文章目录 一、Docker简介二、Docker的安装三、Docker的基本概念四、Docker的基本操作五、Dockerfile和镜像构建六、总结 一、Docker简介 Docker是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后在任何支持Dock…