深度学习
文章平均质量分 95
zhong_ddbb
这个作者很懒,什么都没留下…
展开
-
DSIN模型解读
文章目录模型结构User Behaviors 部分其他部分深度会话兴趣网络Deep Session Interest Network for Click-Through Rate Prediction,跟DIN,DIEN 相比,最大的不同在于对用户的历史点击行为划分为不同session,对每个session使用Transformer学习session embedding,最后使用BiLSTM对session序列建模。在推荐系统中,用户兴趣是十分广泛的,但在一个较短的时间内,用户的兴趣是集中的,我们称这段原创 2021-01-26 21:06:34 · 1081 阅读 · 0 评论 -
GAT基本原理与tensorflow2.0实现
文章目录Attention的基本形式GAT基本原理GAT的原理tensorflow2.0 实现GATAttention的基本形式图注意力模型(Graph Attention Network GAN)将attention引入图神经网络。在GAN中有两种思路:(1)Global graph attention即在更新图中某一个节点的Embedding时,图上的每一个顶点 iii 都参与到attention运算。优点:完全不依赖于图的结构,对于inductive任务无压力缺点:忽略了图结构的这个特征原创 2020-12-07 21:28:52 · 2022 阅读 · 1 评论 -
【Graph Neural Network】 GraphSAGE 基本原理与tensorflow2.0实现
文章目录GraphSAGE 前向传播算法采样算法&聚合(aggragator)操作参数学习基于tensorflow2.0实现Graph SAGEGCN是一种利用图结构和邻居顶点属性信息学习顶点Embedding表示的方法,GCN是直推式学习(只能在一个已知的图上进行学习),不能直接泛化到未知节点,当网络结构改变以及新节点的出现,直推式学习需要重新训练(复杂度高且可能会导致embedding会偏移),很难落地在需要快速生成未知节点embedding的机器学习系统上。**GraphSAGE(Grap原创 2020-11-24 21:33:54 · 2102 阅读 · 1 评论 -
GCN基本原理与tensorflow2.0实现
文章目录基本符号定义图神经网络的公式定义GCN基本结构GCN层的tensorflow2.0实现图卷积神经网络(GCN)的核心思想:学习一个映射f(.)f(.)f(.),通过该映射图中的节点viv_ivi可以聚合它自己的特征xix_ixi与它的邻居特征xj (j∈N(vi))x_j \;(j \in N(v_i))xj(j∈N(vi))来生成节点的新viv_ivi表示。图卷积本质上是一种aggregation(聚合)操作,是一种局部加权平均运算。在图中"局部"是指他的邻居,简单起见,把有边的权原创 2020-11-20 21:30:30 · 5821 阅读 · 3 评论 -
Bert模型的基本原理与Fine-tuning
本文主要讲解Bert模型的基本原理与Fine-tuning。基本原理BERT是一种 预训练语言模型 ,即首先使用大量无监督语料进行语言模型预训练(Pre-training),再使用少量标注语料进行微调(Fine-tuning)来完成具体NLP任务(分类、序列标注、句间关系判断和机器阅读理解等)。BERT的全称是Bidirectional Encoder Representation from Transformers,即:基于transformer的双向Encoder,所以在学习BERT之前先对Sel原创 2020-10-25 18:27:30 · 6450 阅读 · 0 评论 -
SDNE(Structural Deep Network Embedding )的原理,实现与应用
文章目录SDNE基本思想二阶相似度(无监督)一阶相似度(有监督)核心代码库实现应用—阿里凑单算法SDNE基本思想SDNE(Structural Deep Network Embedding )主要目标是保持网络的一阶相似性和二阶相似性。(相似性定义参考 【Graph Embedding】LINE的原理、核心代码及其应用)一阶相似度指:具有边相连的节点的Embedding向量具有相似性。主要反映了 Graph 的局部特征二阶相似性指:拥有共同邻居但不是直接相连的两个顶点之间应该具有相似性。反映了 Gr原创 2020-10-18 17:22:26 · 5194 阅读 · 4 评论 -
tensoflow2.0常见函数速查
文章目录concat & concatenate & addFlatten & Embedding乘法tf.multiply(x,y)tf.tensordot(a,b,axes)tf.matmul其他tf.sequence_mask()tf.split()tf.tiletf.gather & tf.slice()tf.expand_dims & tf.squeezetf.where()tf.cast()concat & concatenate & a原创 2020-10-18 15:34:43 · 557 阅读 · 0 评论 -
【Graph Embedding】node2vec的原理、核心算法及其应用
文章目录node2vec的同质性和同构性node2vec的基本思想模型采样策略学习算法应用不同于基于DFS邻域的DeepWalk和基于BFS邻域的LINE。node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法,可以看作是deepwalk的一种扩展,是结合了DFS和BFS随机游走的deepwalk。node2vec的同质性和同构性(1)网络的同构性是指距离近的节点的Embedding的结果应相似,如下图的u和s1u和s_1u和s1;如何使Graph Embeddi原创 2020-10-17 17:25:49 · 3568 阅读 · 1 评论 -
【Graph Embedding】LINE的原理、核心代码及其应用
文章目录LINE基本思想一阶相似度二阶相似度优化技巧核心代码库实现LINE基本思想LINE: Large-scale Information Network Embedding与DeepWalk相似都是基于领域相似假设的方法,DeepWalk是基于深度优先搜索,LINE是基于广度优先搜索。LINE还可以应用在带权图中(DeepWalk仅能用于无权图)。不同graph embedding方法之间的一个主要区别是图中顶点之间的相似度的定义不同,在LINE中有两种相似度的定义方法。如下图:图中的边可以是原创 2020-10-16 09:44:43 · 1134 阅读 · 0 评论 -
【Graph Embedding】图嵌入的最佳实践—EGES(Enhanced Graph Embedding with Side Information)
DeepWalk理论DeepWalk的来源图嵌入是指在图中随机游走生成顶点的序列,构成训练集,然后采用word2vec中的Skip_gram方法为图中的每个结点学习一个低维向量表示,这是一个无监督训练生成表示向量的过程。DeepWalk 出自论文:DeepWalk: Online Learning of Social Representations,最初提出是用于社交网络关系的提取。给定一个关系:GL=(V,E,X,Y),G_L= (V, E, X, Y ),GL=(V,E,X,Y), 利用图结构中的原创 2020-10-15 11:25:39 · 2985 阅读 · 2 评论 -
[CTR模型] DIEN(Deep Interest Evolution Network)模型解读与Deepctr实现
文章目录背景基本原理1. 模型的输入2. Interest Extractor Layer3. Interest Evolving LayerDeepctr实现背景DIEN(Deep Interest Evolution Network)是DIN的改进版,先回顾一下DIN模型:DIN模型的核心思想是:在用户兴趣多样性的推荐背景下,利用用户的历史行为数据,通过Attention机制来捕捉被推荐物品的相对兴趣。DIN模型没有考虑到用户的兴趣的动态变化,如何在CTR中捕捉到用户兴趣的发展变化,就是DIEN原创 2020-10-10 19:12:45 · 1730 阅读 · 0 评论 -
[CTR模型] DIN(Deep Interest Network)模型解读与Deepctr实现
文章目录基本想法基准模型DIN模型基本原理训练技巧mini-batch aware激活函数GAUC 评估指标Deepctr实现基本想法首先说说DIN(Deep Interest Network)到底在干嘛,DIN主基本想法是:利用用户的历史行为序列(下单,点击等)提高推荐物品的点击率。论文中有这样一幅图:图中显示了一个女生的行为序列,被推荐物品是一个女大衣。传统的推荐物品的CTR计算方法是不会区别对待历史行为中的物品与被推荐物品的相关度,也就是下文提到的基础模型。DIN最大的特点是在计算推荐物品的原创 2020-10-10 10:57:08 · 2769 阅读 · 5 评论 -
tensorflow2.0实现复杂神经网络(多输入多输出nn,Resnet)
文章目录常见的‘融合’操作具有多个输入和输出的模型ResNet 模型常见的‘融合’操作复杂神经网络模型的实现离不开"融合"操作。常见融合操作如下:(1)求和,求差# 求和layers.Add(inputs)# 求差layers.Subtract(inputs)inputs: 一个输入张量的列表(列表大小至少为 2),列表的shape必须一样才能进行求和(求差)操作。例子:input1 = keras.layers.Input(shape=(16,))x1 = keras.layers原创 2020-10-03 19:52:59 · 9984 阅读 · 1 评论 -
基于tensorflow2.0的RNN实战(单向RNN,双向RNN,Attention+RNN)
文章目录基本结构实战—单向RNN实战—双向RNN实战—Attention+RNN基本结构RNN常见的结构如下:其中的单元AAA可以是全连接RNN,LSTM,GRU。tensorfow2.0中将这三个封装到以下接口中:keras.layers.SimpleRNNkeras.layers.GRUkeras.layers.LSTM对于序列预测,如机器翻译,我们需要同时获得所有的单元A的输出(h0,h1⋯ ,ht)(h_0,h_1\cdots,h_t)(h0,h1⋯,ht)。对于分类和回归问原创 2020-09-27 16:18:37 · 5508 阅读 · 3 评论 -
CNN的基本原理与实战(基于tensorflow2.0)
文章目录CNN基本原理卷积层池化层全连接层CNN的实现手写数字识别图片的编码解码CNN基本原理主要包括卷积层,池化层,全连接层。卷积层1、二维卷积(1)卷积(Conv2D)主要负责提取图像钟的局部特征,卷积核进行卷积运算的过程如下:注:蓝色图是输入,而青色图是输出,下同。具体计算细节如下图:每一个卷积核都可以从不同的角度提取图片中的信息。假定输入图片大小 W×W,Filter大小 F×F ,步长 S,padding的像素数 P。于是我们可以得出 输出图片大小为NxN,其中 N =原创 2020-09-25 16:40:45 · 3890 阅读 · 0 评论 -
AutoInt原理+实现代码+deepctr库实现
文章目录简介核心结构输入和嵌入InteractingLayer(交互层)损失函数tensorflow 2.0 实现AutoInt引入必要的库数据预处理模型的构建embedding层dense特征Embeddingsparse特征Embedding合并embedding层Interacting Layer输出层模型的编译模型的训练与验证deepctr库实现AutoInt简介AutoInt: Automatic Feature Interaction Learning viaSelf-Attentive N原创 2020-09-23 19:22:44 · 2906 阅读 · 1 评论 -
tensorflow2.0实现xDeepFM
文章目录数据预处理模型的构建part1—Linear层Part2—CINpart3—DNN部分part4—输出部分模型的编译与运行本文基于tensorflow2.0实现的 xDeepFM 结构。数据集: Criteo 的500000条数据子集。必要的库import numpy as npimport pandas as pdimport tensorflow as tffrom tensorflow.keras.layers import *from tensorflow.keras.mode原创 2020-08-16 19:17:59 · 1039 阅读 · 6 评论 -
tensorflow2.0实现Deep & Cross Network(DCN)
本文基于tensorflow2.0实现Deep & Cross Network(DCN)结构,数据集:Criteo 的500000条数据子集。预处理必要的库:import numpy as npimport pandas as pdimport tensorflow as tffrom tensorflow.keras.layers import *from tensorflow.keras.models import Modelimport tensorflow.keras.bac原创 2020-08-15 13:49:43 · 2278 阅读 · 1 评论 -
Deep & Cross Network (DCN) 与 xDeepFM 解读
文章目录Deep & Cross NetworkxDeepFMDeep & Cross Network在CTR模型中,FM可以自动组合特征,但也仅限于二阶叉乘。Deep & Cross 主要解决CTR模型中如何自动学习高阶的特征组合。Deep & Cross Network(DCN)自动构造有限高阶的交叉特征,并学习对应权重,告别了繁琐的人工叉乘。Deep & Cross的网络结构如图所示:主要包括四个部分,输入部分,Cross network部分,Deep原创 2020-08-13 16:40:53 · 1503 阅读 · 0 评论 -
tensorflow2.0教程—快速入门
文章目录模型的序列化API基本示例模型细节查看查看序列化模型中间层的输出序列化API型缺陷模型的函数式API基本步骤应用模型的训练和评估(1)加载数据集(2)模型的compile(3)模型的训练(4)模型的评估、预测多输入多输出模型模型的保存与读取本文主要讲解tensorflow 2.0 搭建网络结构的技术细节。在使用tensorflow 之前首先导入tensorflowimport tensorflow as tffrom tensorflow import kerasfrom tensorfl原创 2020-10-05 09:35:23 · 4234 阅读 · 0 评论 -
深入理解 Bert核心:Self-Attention与transformer
文章目录Attention机制基本思想Attention机制的权值transformer中的self-Attentionself-Attention多头机制self-Attention位置信息的表达Transformer本文主要讲解Bert模型的核心:transformer。transformer利用self-attention机制实现快速并行。并且Transformer可以增加到非常深的深度,充分发掘DNN模型的特性,提升模型准确率。通过先讲解Attention机制,再讲解Transformer模型,理原创 2020-07-24 16:42:03 · 3040 阅读 · 0 评论 -
FM系列—DeepFFM、DeepFM 结构详解
通过FM系列—FM+FFM详解我们知道:FM通过对于每一维特征的隐变量内积来提取特征组合。虽然理论上来讲FM可以对高阶特征组合进行建模,但实际上因为计算复杂度的原因一般都只用到了二阶特征组合。那么对于高阶的特征组合,则通过多层的神经网络即DNN去解决。背景DeepFM模型包含FM和DNN两部分,FM模型可以抽取low-order特征,DNN可以抽取high-order特征。在CTR中,通常将特征转为one-hot的形式,但如果将这些特征输入到DNN中,会导致网络参数太多,如下图所示:为了解决这个问原创 2020-07-23 20:30:29 · 4991 阅读 · 1 评论 -
LSTM原理详解
文章目录LSTM引例LSTM原理遗忘门输入门输出门LSTM总结GRU回顾RNN详解中,RNN的缺陷是无法做到长期依赖。为此我们引入LSTM(Long Short Term Memory networks(以下简称LSTM)),是一种特殊的RNN,主要是为了解决长期依赖问题。同时,介绍一种LSTM的变体GRU,简化了LSTM,提高运算速度。LSTM引例先来看这样一个例子:我们希望RNN可以学习到喝咖啡和打王者荣耀之间的依赖关系,早上喝了咖啡,下午才有精力打王者荣耀,但是二者在时间上并不接近。如何把这原创 2020-05-30 15:21:29 · 2409 阅读 · 0 评论 -
RNN详解
文章目录回顾FNNRNN基本模型基本结构通过时间反向传播几种特殊RNN基于上下文的RNN双向RNN基于编码—解码的序列到序列架构RNN应用回顾FNN先来回顾一下前馈神经网络(FNN),网络结构如下图所示:对于每个神经元进行如下运算:先进行加权求和z=b+∑i=1Nwixiz = b+ \sum_{i=1}^N w_i x_i z=b+i=1∑Nwixi在进行非线性变换:g(x)=σ(x)=11+e−xaout=g(z)=σ(∑i=1Nwixi+b)g(x)= \sigma(x)原创 2020-05-30 08:48:42 · 1227 阅读 · 0 评论 -
softmax回归详解
文章目录基本模型损失函数求解最优参数基本模型Softmax 回归是logistic回归是用的一般形式,它将logistic 激活函数推广到C类(C是神经网络模型的输出),而不仅仅是两类,是一种多分类器,如果C = 2,那么Softmax实际上变回了 logistic 回归。逻辑回归使用的是sigmoid函数,将wx+b\mathbf wx+bwx+b 的值映射到(0, 1)的区间,输出的结果为样本标签等于1的概率值;而softmax回归采用的是softmax函数,将wx+b\mathbf wx+bw原创 2020-05-27 17:24:13 · 990 阅读 · 0 评论 -
BP神经网络
文章目录基本概念神经网络模型基本概念1、神经元在这个模型中,神经元接收到来自n个其他神经元传递来的信号,这些输入信号通过带权的连接进行传递,神经元接收到总输入值,再与阈值进行比较,然后通过“激活函数”处理以产生神经元输出。2、激活函数为什么神经网络模型要使用激活函数:(1)引入非线性因素,解决非线性问题。(2)可知输出范围,有限的输出范围使得网络对于一些比较大的输入也会比较稳定,这也是为什么早期的激活函数都以此类函数为主,如Sigmoid、TanH。激活函数的性质要求:(1)可微性:BP原创 2020-05-26 17:04:51 · 693 阅读 · 0 评论