目录
2:Batch Normalization 及迁移学习(transfer learning)的理解
一:Transformer 的学习与理解
1.attention模块
QK两个向量做内积:若值越大,表示cos值越大,相似度越高。
:表示向量的长度。为什么要使用dk, 其实dk不是很大的话除不除都没有关系,但值很大时,softmax的值会更接近1,余下的值会更加靠近0,值向两端靠拢,这样算梯度时,值会比较小,这样梯度比较小。会跑不动(我们希望的是置信的靠近1,不置信的靠近0)
softmax获得权重:1个query,n个key,相乘得到n个值,放入softmax,得到n个非负的且和为1的权重
2.masked 模块
避免看到t时刻及以后得信息,具体是如何实现的呢?
在进入softmax前,输出计算权重的时候:mask把kt_kn及以后的值设为很大的负数,如
softmax之后这个权重便为0
3.multihead模块
通过linear线性投影到低的维度,其中投影的Wi是可以学习到的参数。
二:Vision transformer 的学习与理解
三:VGG 的学习与理解
VGG能用来干嘛? Localization Task (定位任务) 和 Classification Task (分类任务)
paper: Very Deep Convolutional Networks For Large-Scale Image Recognition
1:VGG亮点
通过堆叠多个 3*3 的卷积层来代替一个大的卷积层。
为什么使用多个堆叠的小卷积层代替一个大的卷积层呢?
因为这样可以减少计算的参数:
3个3*3的卷积核 参数:
1个7*7的卷积核参数:
2:感受野(receptive field)的理解及计算
概念:输出层中一个单元(小方格)所对应的输入层的区域大小
感受野计算公式:
F(i):第i层感受野
Stride : 第i层的步距
Ksize: 卷积核或池化层尺寸
3:VGG网络详解
原文网络结构 一般常用16层的结构:
最后一个1000的全连接层没有使用RELU 而是使用的softMax函数
注意事项:
我们通常看到别人在搭建VGG网络时,图像预处理的第一步会将图像的RGB分量分别减去[123.68, 116.78, 103.94]这三个参数。这三个参数是对应着ImageNet分类数据集中所有图像的R、G、B三个通到的均值分量。如果你要使用别人在ImageNet数据集上训练好的模型参数进行fine-trian操作(也就是迁移学习)那么你需要在在图像预处理过程中减去这[123.68, 116.78, 103.94]三个分量,如果你是从头训练一个数据集(不使用在ImageNet上的预训练模型)那么就可以忽略这一步。
四:Googlenet的学习与理解
1: Googlenet 亮点
原论文《going deeper with convolutions》
Googlenet 能用来干嘛