提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
VIT Transformer
前言
对vit代码的理解和学习
`
一、前置知识
drop_path理解
根据代码理解其实drop_path就是在一个batch里面随机去除一部分样本,(drop_path:drop掉一部分样本前进的path…)如图为在ViT中的实现
MLP
多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构。
Dropout
dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。
dropout是CNN中防止过拟合提高效果的一个大杀器。
classtoken
注意力机制
向量的内积:表示向量的相似度
attention计算:
注意力机制以一个很宽泛宏大的概念,满足qkv的公式就可以当作注意力机制
Q和K在一般情况下是相同的,也可以不同,但在内部一定需要有一定的联系
自注意力机制
关键点在与qkv同源 q 约等于 k 约等于 v,三者同源 ,通过x找到x的关键点
位置编码
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。