CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

【导师不教?我来教!】同济计算机博士半小时就教会了我五大深度神经网络,CNN/RNN/GAN/transformer/LSTM一次学会,简直不要太强!_哔哩哔哩_bilibili了解的五大神经网络,整理笔记如下:

视频是唐宇迪博士讲解的,但是这个up主发的有一种东拼西凑的感觉,给人感觉不是很完整

一、卷积神经网络(优势:计算机视觉)

1、卷积的作用:特征提取,本质就是提取卷积核那个大小区域中的特征值

2、利用不同的卷积核对同一数据进行提取,可以得到多维度的特征图,丰富特征内容

3、边缘填充(padding)可以解决边缘特征在提取时权重不高的问题

4、卷积的结果公式:

  其中size'是下一次特征图长或宽,size是这一次特征图的长或宽,kernelsize是卷积核大小,padding留白行数,step为卷积步长

5、为了减少计算量,在一轮卷积中,卷积核的参数是共享的,不会随着位置改变而改变

6、池化层的作用:特征降维

7、通常说几层神经网络的时候,只有带权值与参数的层会被计入,如卷积层与线性层,如池化层这种不带权值与参数的层不会被计入

8、经典的CNN网络模型:AlexNet、VGG、ResNet(利用残差相加提供了增加网络深度的方法)

9、感受野:特征图中特征所代表的原图中区域的大小

10、具有相同的感受野的多个小卷积核组合与一个大卷积核相比,所需要的参数少,特征提取更细致,加入的非线性变换也更多,所以现在基本上都使用小卷积核来进行卷积

二、循环神经网络(RNN)(优势:时间序列问题处理,多用于NLP)

1、输入数据为特征向量,并且按照时间顺序排列

2、RNN网络缺点是会记忆之前所有的数据,LSTM模型通过加入遗忘门解决了这个问题

3、示例:Word2Vec 文本向量化:创建一个多维的文本空间,一个向量就代表一个词,词义越相近的词在文本空间中的距离也就越近

4、Word2Vec模型中,反向传播的过程中,不仅会更新神经网络,还会更新输入的词向量

5、RNN经典模型:CBOW,skipgram

6、由于数据量大,模型构建方案一般不使用输入一词输出预测词的模式,而是使用输入前一词A和后一词B,输出B在A后的概率,但是由于数据集均为通顺语句采集而来,概率均为1,所以需要人为在数据集中加入错误语句,并且标记概率为0,被称为负采样

三、对抗生成网络(GNN)

1、对抗生成网络分为生成器、判别器、损失函数,其中生成器负责利用噪声生成数据,产生以假乱真的效果,判别器需要火眼金睛,分辨真实数据与虚假数据,损失函数负责让生成器更加真实,让判别器更加强大。

四、Teansformer(功能强大,但是需要很大数据来训练)

1、Transformer由编码器(Encoder)和解码器(Decoder)组成

2、Transfromer的本质就是重组输入的向量,以得到更加完美的特征向量

3、Transfromer的工作流程:

3.1、获取输入句子的每一个单词表示向量X(由单词特征加上位置特征得到)

3.2、将得到的单词表示向量矩阵X传入Encoder中,输出编码矩阵C,C与输入的单词矩阵X维度完全一致

3.3、将矩阵C传递到Decoder中,Decoder依次根据当前翻译过的单词预测下一个单词。

4、Transformer的内部结构如下图所示

5、在训练时,Decoder中的第一个Multi-Head Attention采用mask模式,即在预测到第i+1个单词时候,需要掩盖i+1之后的单词。

6、单词的特征获取方法有很多种,比如Word2Vec,Glov算法预训练,或者也可以使用Transformer训练得到,位置特征则可以通过公式得到,公式如下:

7、Add是残差链接操作,Norm是LayerNormalization归一化操作,Feed Forward层是两个全连接层,第一个全连接层使用ReLU进行非线性激活,第二个不激活

8、Transformer内部结构存在多个Multi-Head Attention结构,这个结构是由多个Attention组成的多头注意力机制,Attention 注意力机制为Transformer的重点,它可以使模型更加关注那些比较好的特征,忽略差一些的特征

9、Attention内部结构如下图所示

10、Attention接收的输入为单词特征矩阵X或者上一个Encoder block的输入,经过三个矩阵WQ、WK、WV的变换得到了三个输入Q、K、V然后经过内部计算得到输出Z

11、Attention内部计算的公式可以概况为

12、Multi-Head Attention将多个Attention的输出拼接在一起传入一个线性层,得到最终的输出Z

13、Transformer与RNN相比,不能利用单词顺序特征,所以需要在输入加入位置特征,经过实验,加入位置特征比不加位置特征的效果好三个百分点,位置特征的编码方式不对模型产生影响。

14、VIT是Transfromer在CV领域的应用,VIT第一层的感受野就可以覆盖整张图

15、VIT的结构如下:

16、VIT将图片分为多个patch(16*16)然后将patch投影为多个固定长度的向量送入Transformer,利用Transformer的Encoder进行编码,并且在输入序列的0位置加入一个特殊的token,token对应的输出就可以代表图片的类别

17、Transformer需要大量的数据,比CNN多得多,需要谷歌那个级别的数据量

18、TNT模型:VIT将图片分为了16*16的多个patch,TNT认为每个patch还是太大了,可以继续进行分割

19、TNT模型方法:在VIT基础上,将拆分后的patch当作一张图像进行transformer进一步分割,划分为新的向量,通过全连接改变输出特征大小,使其重组后的特征与patch编码大小相同,最后与元素输入patch向量进行相加

20、DETR模型,用于目标检测,结构如下

五、LSTM长短期记忆

这部分基本是代码解析了,就没有记录,我认为LSTM其实就是RNN的一个分支。

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

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

相关文章

git的简单使用

git 的简单使用 前言: 为了方便理解,文中一些内容表达的不是十分准确,如有错误,欢迎大家友善的指出。 接下来就开始了!! 使用git其实就是围绕下面这个图展开的,大家可以先看下图&#xff0c…

到站上海!见证这座零碳园区的绿色低碳新选择

不知不觉中,科士达新能源的零碳足迹已遍布五洲四海,为全球各地,千行百业、千家万户,带去了源源不断的绿色能源和低碳新选择。再次启航,这一站,抵达上海世博园。 小机身,大配置,灵活适…

【开源】基于Vue.js的社区买菜系统的设计和实现

项目编号: S 011 ,文末获取源码。 \color{red}{项目编号:S011,文末获取源码。} 项目编号:S011,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1…

Pandas 将DataFrame中单元格内的字典dict拆分成单独的列

核心是应用 pd.Series, 具体操作如下: import pandas as pddata {years: [2025],week: [{f"week_{i}": i for i in range(3)}]} df pd.DataFrame(data) print(df)df pd.concat([df, df[week].apply(pd.Series)], axis1).drop(week, axis1)…

java学习part03基本类型

22-变量与运算符-标识符的使用_哔哩哔哩_bilibili 1.标识符(变量)命名规则 2.变量类型 3.整型 4.浮点型 5.char字符 6.布尔boolean 7.基本类型的自动提升 8.强制转换 9.String String只能连接 会把其他类型的表面量转成字符串比如"true" &…

C++--第一个代码hello world

本篇开启C之旅... 先上代码&#xff1a; #include<iostream> using namespace std; int main() {cout << "hello world\n";return 0; }一. #include <iostream> 类比C语言中的#include<stdio.h>, #include <iostream>也是预处理指令…

喜讯 客户工艺线顺利通线

带你了解CiMEMS微纳制造工艺线 随着国内智能网联汽车、智能终端、可穿戴设备与消费电子的高速发展&#xff0c;以集成微纳系统&#xff08;Micro-electro-mechanical Systems&#xff0c;MEMS&#xff09;为代表的主要应用于激光雷达、汽车电子、环境感知与智能传感器的芯片&a…

[CISCN 2023 华北]pysym

源码如下 from flask import Flask, render_template, request, send_from_directory import os import random import string app Flask(__name__) app.config[UPLOAD_FOLDER]uploads app.route(/, methods[GET]) def index():return render_template(index.html) app.route…

Wordpress页面生成器:Elementor 插件制作网站页面教程(图文完整)

本文来教大家怎么使用Wordpress Elementor页面编辑器插件来自由创建我们的网页内容。很多同学在面对建站的时候,一开始都是热血沸腾信心满满的,等到实际上手的时候就会发现有很多问题都是无法解决的,希望本篇Elementor插件使用指南能够帮助到你。 Wordpress Elementor页面编…

【机器学习】 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)

1. 概念理解 逻辑回归&#xff0c;简称LR&#xff0c;它的特点是能够将我们的特征输入集合转化为0和1这两类的概率。一般来说&#xff0c;回归不用在分类问题上&#xff0c;但逻辑回归却能在二分类(即分成两类问题)上表现很好。 逻辑回归本质上是线性回归&#xff0c;只是在特…

【开源】基于JAVA的服装店库存管理系统

项目编号&#xff1a; S 052 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S052&#xff0c;文末获取源码。} 项目编号&#xff1a;S052&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 服…

通过内网穿透技术实现USB设备共享(USB Redirector)逆向共享

文章目录 前言1. 安装下载软件1.1 内网安装使用USB Redirector1.2 下载安装cpolar内网穿透 2. 完成USB Redirector服务端和客户端映射连接3. 设置固定的公网地址 前言 USB Redirector是一款方便易用的USB设备共享服务应用程序&#xff0c;它提供了共享和访问本地或互联网上的U…

Leetcode—2760.最长奇偶子数组【简单】

2023每日刷题&#xff08;三十一&#xff09; Leetcode—2760.最长奇偶子数组 实现代码 #define MAX(a, b) ((a > b) ? (a): (b)) int longestAlternatingSubarray(int* nums, int numsSize, int threshold){int ans 0;int i 0;while(i < numsSize) {if(nums[i] >…

Nginx的使用

Nginx的使用 1、反向代理一 实现效果&#xff1a;使用 nginx 反向代理&#xff0c;访问 www.123.com 直接跳转到 127.0.0.1:8080 准备工作 : &#xff08;1&#xff09;在 linux 系统安装 tomcat&#xff0c;使用默认端口 8080 &#xff08;2&#xff09;tomcat 安装文件放…

基于Vue+SpringBoot的大学计算机课程管理平台 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

2023数维杯数学建模C题完整版本

已经完成全部版本&#xff0c;获取请查看文末下方名片 摘要 随着人工智能在多个领域的快速发展&#xff0c;其在文本生成上的应用引起了广泛关注。本研究聚焦于辨识人工智能&#xff08;AI&#xff09;生成文本的基本规则&#xff0c;并探究AI文本的检测及其与人类文本的区分…

BlockCanary

卡顿检测框架,比如Activity Service ,BroadcastResoleve等,或者有延时执行造成卡顿 针对这些情况进行监控 引用: 初始化: 捕获异常结果: 源码: 使用双重锁的单例模式,enable 跳转到通知 主线程的监视器 Loop循环调用消息 根据dispathMessage判断是否造成卡顿,也就是消息的间…

「Verilog学习笔记」使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 当EI10时、U1禁止编码&#xff0c;其输出端Y为000&#xff0c;GS1、EO1均为0。同时EO1使EI00&#xff0c;U0也禁止编码&#xff0c;其输出端及GS0、EO0均为0。由电路…

一张图厘清各大操作系统的发展脉络

Unix&#xff1a;Unix是一种多用户、多任务、支持多种处理器架构的操作系统。它最初由贝尔实验室的Ken Thompson和Dennis Ritchie在20世纪70年代初开发&#xff0c;是第一个广泛使用的通用操作系统。Unix具有可移植性和可扩展性&#xff0c;因此被广泛应用于服务器、工作站和超…

精彩回顾|从架构到实践,AntDB融合型数据库揭秘

当今社会中的信息除了“多”&#xff0c;人们对于“效率”和“速度”的要求也越来越高。譬如&#xff0c;对于很多企业决策者来说&#xff0c;在当前的经济形势下需要尽一切可能降本增效。过去每周看看经营报表的习惯&#xff0c;现在慢慢转变为实时可视化分析企业当前的经营状…