
深度学习
EnjoyFailure
这个作者很懒,什么都没留下…
展开
-
注意力机制
注意力机制引入了显示的考虑随机线索(即有偏向性的选择某些输入)引入了三个概率:query(随机线索):想要查询的信息key(不随机线索):本身所具有的属性value(值):这个属性所对应的价值注:key和value可以相同,也可以不相同。。例如某物的价值因人而异。原创 2023-12-08 15:52:08 · 279 阅读 · 0 评论 -
seq2seq
2.encoder中最后一个RNN层的hidden输出与decoder的input的embedding拼接在一起作为decoder的输入(即decoder的输入大小为:embedding size + hidden size)1.encoder每一RNN层最后的hidden输出作为decoder的初始hidden。seq2seq代表着一种算法结构,是一种模型。原创 2023-12-07 18:41:27 · 108 阅读 · 0 评论 -
LSTM——长短期记忆网络
通过Ft来控制对过去数据的遗忘程度,通过It来控制对当下输入数据的遗忘程度,使得网络更加灵活。与GRU相比,LSTM网络结构把对过去数据的遗忘程度和对当下输入数据的遗忘程度。记忆单元(相当于个“日记本”):这里可通过It来决定是否忽略当前输入数据。Ot(输出门):决定是否使用当前计算出来的隐状态。It(输入门):决定是不是忽略输入数据。Ft(忘记门):决定是否忘记以前的状态。候选记忆单元:相当于获得当前输入。原创 2023-11-30 15:14:35 · 143 阅读 · 0 评论 -
GRU-门控循环单元
背景:在RNN结构中,当序列较长时,较远端的信息容易被遗忘。而对于一个序列,并不是每个位置的关注度(重要程度)都是一样的。引入两个概念:Rt(重置门):能遗忘的机制Zt(更新门):能关注的机制Rt和Zt的取值范围均为 [0,1]计算公式:都有自己对应的可学习权重参数,激活函数是sigmoid函数。本质也是一个向量,其候选隐藏状态:中间表示对应元素相乘,越靠近0,说明该位置越容易被遗忘当前隐藏状态的计算:Zt控制了隐藏状态的更新。原创 2023-11-29 21:10:29 · 155 阅读 · 0 评论 -
批量归一化
由于归一化操作会强行把输出拉到均值为0方差为1的标准正态分布上,这使得模型的拟合能力变差,此时通过这两个参数的学习,对x进行合适的缩放和偏移,可弥补这一情况。此处引入了两个可学习参数γ、β。,且不怎么影响模型的精度。原创 2023-11-17 00:08:03 · 83 阅读 · 0 评论 -
GoogleNet卷积神经网络
Concatenation将每条path的通道数组合起来,如上图,最终输出通道数是256。原创 2023-11-16 19:33:53 · 124 阅读 · 0 评论 -
AlexNet深度卷积神经网络
与LeNet相比,AlexNet具有以下新加入的东西:1.激活函数选择了ReLU函数,跟sigmoid相比,其缓解了梯度消失的现象2.加入了丢弃法(dropout)3.池化层选择了最大池化层4.数据增强操作,将不同情况下的数据也加入到训练中(例如不同的色温、不同的亮度、随机截取一部分作为输入等),给模型”脱敏“,因为卷积对位置敏感。原创 2023-11-13 15:36:06 · 105 阅读 · 0 评论 -
经典卷积神经网络——LeNet
结构模型图Pytorch的神经网络结构定义原创 2023-11-09 17:28:33 · 82 阅读 · 0 评论 -
卷积层(PyTorch)
此处为2d卷积的实现,原创 2023-10-23 20:50:34 · 81 阅读 · 0 评论 -
丢弃法(Pytorch)
丢弃法本质是个正则化项,可用于解决过拟合问题其中Xi撇是对每个输入Xi处理后得到的值,经过这样的处理后,Xi撇的期望与Xi相等。原创 2023-10-19 17:12:34 · 97 阅读 · 0 评论 -
权重衰减(PyTorch)
解决过拟合问题,通过给损失函数增加一个“惩罚项”,来减小权重w的取值范围,从而降低模型复杂度带有L2范数正则化项的新损失函数为: 因此,根据随机梯度下降算法,每次w的更新如下(通常 学习率×lambd原创 2023-10-17 21:36:02 · 96 阅读 · 0 评论 -
多层感知机模型(PyTorch)
该例子具有单隐藏层结构,实际是添。原创 2023-10-15 23:26:55 · 99 阅读 · 0 评论 -
Softmax函数解决分类问题(PyTorch)
定义神经网络模型net = nn.Sequential(nn.Flatten(), nn.Linear(784,10))# 有两层,第一层为展平层,第二层为输入784,输出10的线性层#初始化神经网络的参数def init_weights(m):# m为神经网络里的layernn.init.normal_(m.weights, std=0.01)# 权重初始化平均值为0,方差为0.01的正态分布,默认平均值为0net.apply(init_weights)# 神经网络里的每一层都调用这个函数。原创 2023-10-12 16:54:31 · 355 阅读 · 0 评论 -
线性回归-梯度下降算法(PyTorch)
定义神经网络模型'''from torch import nn # 需要导入的包,nn为神经网络的缩写对于标准深度学习模型,我们可以使用框架的预定义好的层。首先定义一个模型变量Net,它是一个Sequential类的实例,Sequential类将多个层串联在一起。当给定输入数据时,Sequential实例将数据传入到第一层中,然后将第一层的输出作为第二层的输入'''net = nn.Sequential(nn.Linear(2,1))# 两个输入,一个输出。原创 2023-10-09 20:16:49 · 179 阅读 · 1 评论 -
使用Pytorch求导
使用 x.grad.zero_() 可清除之前计算的梯度值。默认情况下,Pytorch会。原创 2023-10-07 16:49:41 · 117 阅读 · 1 评论 -
数据预处理
便于深度学习下一步处理。原创 2023-10-05 22:06:00 · 78 阅读 · 0 评论