![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 80
frostjsy
越努力,越幸运
展开
-
p5模型详解
p5模型统一建模这5类任务,通过设计个性化prompt模版进行输入转换,转化为自然语言序列,作为encoder端的输入,再label进行prompt转化作为decoder的输出,通过seq2seq模型的损失函数进行预训练。下游应用时,给定目标输入,通过zero-shot的prompts模板进行输入转换,输入到encoder端进行编码,通过预训练好的decoder端进行解码,得到预测值,比如:下一次交互的item、评分、推荐理由、topK item ID等。对四个真实世界的数据集进行了广泛的实验。原创 2023-06-23 21:36:31 · 1471 阅读 · 0 评论 -
bert4rec简介
bert4rec整体架构如下图(b)所示,bert4rec是一个含有L层的transformer,每一层都可以利用上一层的信息,通过self-attention并行捕获任意位置的信息。原创 2023-06-22 23:20:36 · 1575 阅读 · 0 评论 -
推荐搜索中各类排序算法综述
排序中常见的算法原创 2022-07-31 21:42:18 · 1691 阅读 · 0 评论 -
batch normalization详解
1、引入BN的原因1、加快模型的收敛速度2、在一定程度上缓解了深度网络中的“梯度弥散”问题,从而使得训练深层网络模型更加容易和稳定。3、对每一批数据进行归一化。这个数据是可以输入也可以是网络中间的某一层输出4、网络一旦train起来,那么参数就要发生更新,除了输入层的数据外(因为输入层数据,我们已经人为的为每个样本归一化),后面网络每一层的输入数据分布是一直在发生变化的,因为在训练的时候,前面层训练参数的更新将导致后面层输入数据分布的变化。我们把网络中间层在训练过程中,数据分布的改变称之为:原创 2022-03-23 22:24:05 · 2250 阅读 · 0 评论 -
tf查看模型参数
命令:tf.train.list_variables("bert_model.ckpt")输出:[('bert/embeddings/LayerNorm/beta', [768]), ('bert/embeddings/LayerNorm/gamma', [768]), ('bert/embeddings/position_embeddings', [512, 768]), ('bert/embeddings/token_type_embeddings', [2, 768]), ('bert/原创 2021-03-07 17:20:37 · 874 阅读 · 0 评论 -
优化器(九)
1、什么是优化器 优化器用来寻找模型的最优解。2、常见优化器2.1. 批量梯度下降法BGD(Batch Gradient Descent)2.1.1、BGD表示 BGD 采用整个训练集的数据来计算 cost function 对参数的梯度: 假设要学习训练的模型参数为W,代价函数为J(W),则代价函数关于模型参数的偏导数即相关梯度为ΔJ(W),学习率为ηt,则使用梯度下降法更新参数为: Wt+1=Wt−ηtΔJ(Wt) 其中,Wt表示tt时刻的模型参数。...原创 2021-02-14 22:32:04 · 905 阅读 · 0 评论 -
损失函数(八)
1、损失函数目的损失函数loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:2、损失函数、代价函数、目标函数之间的关系损失函数是代价函数的一部分,代价函数是目标函数的一种3、常见的损失函数回归常见的损失函数有:均方差(Mean S原创 2021-02-14 16:14:46 · 9237 阅读 · 0 评论 -
激活函数(七)
1、为什么要使用激活函数激活函数是为了进行特征选择和学到非线性特征。没有激活函数,网络层之间的传递只是简单的线性变换。https://blog.csdn.net/dss_dssssd/article/details/839273122、常见激活函数的表达式及优缺点Sigmoid Tanh ReLU Leaky ReLU2.1、sigmoid函数函数表示:Sigmoid(x)=σ(x)=1/(1+exp(−x))梯度表示:dσ(x)/dx=σ(x)(1-σ(x))原创 2021-02-13 20:40:19 · 811 阅读 · 0 评论 -
pytorch之BI-LSTM CRF(六)
11111原创 2021-01-23 15:00:39 · 676 阅读 · 0 评论 -
pytorch之模型保存与加载(五)
保存和加载模型当保存和加载模型时,需要熟悉三个核心功能:torch.save:将序列化对象保存到磁盘。此函数使用Python的pickle模块进行序列化。使用此函数可以保存如模型、tensor、字典等各种对象。 torch.load:使用pickle的unpickling功能将pickle对象文件反序列化到内存。此功能还可以有助于设备加载数据。 torch.nn.Module.load_state_dict:使用反序列化函数 state_dict 来加载模型的参数字典。1.什么是状态字典:st原创 2021-01-23 14:59:48 · 607 阅读 · 0 评论 -
pytorch之LSTM(四)
1、序列模型和长期记忆网络至此,我们已经看到了各种前馈网络。即,网络根本不维持任何状态。这可能不是我们想要的行为。序列模型是NLP的核心:它们是在输入之间存在一定时间依存关系的模型。序列模型的经典示例是用于词性标记的隐马尔可夫模型。另一个示例是条件随机场。递归神经网络是维持某种状态的网络。例如,它的输出可以用作下一个输入的一部分,以便信息可以随着网络在序列上传递而传播。对于LSTM,对于序列中的每个元素,都有一个对应的隐藏状态ht,原则上可以包含序列中任意点的信息。我们可以使用隐藏状态来预测语言模.原创 2021-01-17 13:55:16 · 572 阅读 · 0 评论 -
pytorch之词嵌入(三)
词嵌入:编码词法语义词嵌入是实数的稠密向量。如何在计算机中表示一个单词呢?存储它的ascii字符表示形式,但这只能表明词是什么,它并没有说明其含义(可以从其词缀或大写字母中得出其词性,但是不多)。在什么意义上组合这些表示形式,通常需要神经网络的稠密表示,其中输入为|V|维,V是词汇量,但通常输出仅是几维的。如何从高维空间变成低维空间?独热编码的表示形式如下:句子中词所在位置为1,非句子中词的位置为0;这种表示法有两个缺点:除了有很大的缺点外,还有一个很大的缺点。它基本上将..原创 2021-01-16 21:15:14 · 1123 阅读 · 0 评论 -
pytorch进行深度学习(二)
1、深度学习构建基块:仿射图,非线性和目标深度学习包括以巧妙的方式将线性与非线性组成。非线性的引入允许强大的模型。在本节中,我们将使用这些核心组件,组成目标函数,并了解如何训练模型。1.1、仿射线性函数仿射图是深度学习的核心动力之一,仿射图是一种功能f(x):对于矩阵A和向量x,b。这里要学习的参数是A和b。经常,b被称为偏差项。PyTorch和大多数其他深度学习框架的功能与传统线性代数略有不同。它映射输入的行而不是列。也就是,输出的第i行对应输入A的第行,加上偏差项...原创 2021-01-12 22:38:20 · 306 阅读 · 0 评论 -
pytorch简介(一)
自动微分 在pytorch中,神经网络的核心是自动微分,在本节中我们会初探这个部分,也会训练一个小型的神经网络。自动微分包会提供自动微分的操作,它是一个取决于每一轮的运行的库,你的下一次的结果会和你上一轮运行的代码有关,因此,每一轮的结果,有可能都不一样。接下来,让我们来看一些例子。1. 张量 torch.Tensor是这个包的核心类,如果你设置了它的参数 ‘.requires_grad=true’ 的话,它将会开始去追踪所有的在这个张量上面的运算。当你完成你得计算的时候,你可以调用原创 2021-01-11 23:45:34 · 380 阅读 · 0 评论 -
循环神经网络
1、基础神经网络神经网络可以当做是能够拟合任意函数的黑盒子,只要训练数据足够,给定特定的x,就能得到希望的y,结构图如下:将神经网络模型训练好之后,在输入层给定一个x,通过网络之后就能够在输出层得到特定的y,那么既然有了这么强大的模型,为什么还需要RNN(循环神经网络)呢?2、RNN引入原因1、只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的2、某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的3、RNN结构首先看一个简单的循环神经网原创 2020-09-27 23:36:28 · 1209 阅读 · 0 评论 -
模块化神经网络
1、神经网络的构建生成数据集 前向传播 反向传播2、生成数据代码3、前向传播代码4、反向传播代码参考:https://www.bilibili.com/video/BV1GE411k7Q2?p=21原创 2020-09-26 23:05:57 · 417 阅读 · 0 评论 -
神经网络的优化
1、神经元模型2、神经网络激活函数3、神经网络层数计算4、神经网络的优化5、学习率指数衰减学习率根据batch_size的轮数,动态更新学习率1、定义global_step记录当前运行了多少轮;只是计数功能,不可训练,trainable=False标记为不可训练2、学习率衰减率在(0,1)之间,滑动平均衰减率滑动平均tf 实现滑动平均通常有两个参数,滑动平均衰减率、global_step通过apply..原创 2020-09-26 22:54:34 · 841 阅读 · 0 评论 -
tensorflow网络构建结构入门
1、tensorflow中的神经网络表示数据:张量表示数据网络:计算图搭建网络;会话执行计算图,优化线上权重(参数),得到模型2、张量张量通熟地讲就是多维数组 (列表)3、数据类型常用的数据类型有tf.float32 ,tf.int32;4、计算图计算图是用来搭建神经网络的计算过程,只搭建,不运算5、SessionSession表示会话,用来执行计算图中的节点运算;6、参数7、构建神经网络构建神经网络过程:数据准备-->搭原创 2020-09-26 21:46:11 · 1078 阅读 · 0 评论 -
batch Nomarlization
1、BN (Batch Nomarlization)https://zhuanlan.zhihu.com/p/34879333原创 2020-09-24 00:29:30 · 284 阅读 · 0 评论 -
BERT之Estimator详解
https://zhuanlan.zhihu.com/p/112062303(较详细的Estimator解释)原创 2020-09-13 10:03:01 · 496 阅读 · 0 评论