
Keras
文章平均质量分 87
keras 相关代码开发
BIT_666
天道酬勤,厚积薄发
展开
-
深度学习 - 36.TF x Keras TF 常用矩阵计算方法大全
tf 常用矩阵计算方法,包括 multiply、matmul、tensordot、dot、batch_dot 与 einsum原创 2023-03-01 10:54:07 · 942 阅读 · 10 评论 -
深度学习 - 35.TF x Keras FM、WideAndDeep、DeepFM、DeepFwFM、DeepFmFM 理论与实战
CTR 推荐场景下常用推荐算法 FM、DeepFM、FwFM、FmFM keras 实现。原创 2023-02-24 17:28:00 · 1751 阅读 · 12 评论 -
深度学习 - 34.GraphEmbedding Line 图文详解
一.引言前面介绍了 DeepWalk,Node2vec,通过不同游走方法获取游走序列,然后通过 word2vec 进行 embedding 训练, 在 word2vec 训练中,所有向量共用了同一个 embedding 空间即同一个 Variable,Line 提出了一阶和二阶相似度的概念,从而丰富了 embedding 空间。二.Line 算法1.Line 简介如上是一个信息网络的例子,在上例中 6 和 7 存在直连关系,可以判定为有较强联系,按照传统方法, 5 和 6 没有相连一原创 2021-09-13 13:27:15 · 1383 阅读 · 0 评论 -
深度学习 - 21.TF x Keras DSSM 理论与实践
一.引言DSSM (Learning Deep Structured Semantic Models for Web Search using Clickthrough Data) 一文利用点击数据挖掘词语的深层语义模型,其思路是构建一个 Query 塔和一个 Title 塔,利用深度学习进行特征挖掘,最终计算两个塔的向量相似度,结合标签进行反向传播训练,所以 DSSM 又叫双塔,其应用场景主要以搜索,召回等场景为主,当然也可用于给定 user-item 计算其向量与相似度,下面就看看双塔如何构造。原创 2021-06-22 12:02:06 · 2068 阅读 · 5 评论 -
深度学习 - 20.TF x Keras Dropout 理论与实践
一.引言Dropout 层用于解决过拟合的问题,当原始样本偏少而深度模型参数偏多时,模型偏向于学习一些极端的特征从而发生过拟合,在xun'li'na'yang原创 2021-06-09 17:09:59 · 1469 阅读 · 0 评论 -
深度学习 - 19.TF x Keras Batch Normalization 理论与实践
一.引言训练深层神经网络是一个复杂的事实每层输入的分布在随着前一层参数的变化,进行训练。这就降低了训练的速度,因为它需要较少的学习速率和仔细的参数初始化,并使其-很难训练具有饱和非线性的模型。我们把这种现象称为内部协变量移位,并通过规范化层输入来解决问题。我们的方法从使规范化成为模型体系结构的一部分和执行每个训练小批量的标准化。批量标准化允许我们使用更高的学习率和初始化时不要太小心。它还可以作为一个正则化,在某些情况下消除辍学的需要。......原创 2021-06-08 17:32:53 · 2891 阅读 · 0 评论 -
深度学习 - 18.TF x Keras DeepFM 原理与实现
一.引言之前的文章中循序渐进的介绍过 LR,FM,WideAndDeep,有了这些模型的了解,接一下介绍当下比较流行的深度模型 DeepFm,WideAndDeep 是原创 2021-06-03 12:07:27 · 1699 阅读 · 3 评论 -
深度学习 - 17.TF x Keras FM 原理与实现
一.引言之前讲到过常用的 CTR 模型类似 WideAndDeep,其中包含了 LR 与 DNN,LR主要着重于挖掘一阶特征,DNN主要挖掘特征高阶交叉,FM模型主要针对与模型的二阶交叉,原创 2021-06-02 11:57:58 · 2440 阅读 · 2 评论 -
深度学习 - 16.TF x Keras Losses 常见损失函数
一.引言:之前提到过自定义Loss与metrics,下面盘点下常用的损失函数供今后自定义损失函数使用。二.常见损失函数1. MAE 平均绝对误差 (mean-absolute error)pre为预测值,y为真实值,MAE为预测值与真实值差的绝对值之和# Mean Ablsolutely Errordef getMaeLoss(predict, label): loss = tf.reduce_mean(tf.losses.mean_absolute_error(..原创 2021-05-18 17:43:57 · 4504 阅读 · 0 评论 -
深度学习 - 15.TF x Keras WideAndDeep
一.引言Wide & Deep 模型的提出不仅结合了 Wide(线性模型)的记忆能力,同时结合了Deep(深度)的泛化能力,其在2016年由谷歌提出。记忆能力可以理解为模型直接学习历史数据的共现频率能力,结构简单也造成了原始数据很容易影响推算结果。泛化能力可以被理解为模型传递特征的相关性,以及挖掘稀疏甚至从未出现过的稀有特征的能力,矩阵分解能够优于协同过滤,就是因为加入了隐向量,丰富了稀疏特征的表示,Deep侧通过特征的多次自动组合,可以深度挖掘数据潜在的模式,即使是很稀疏的输入,也可以获取较为原创 2021-05-14 16:20:57 · 885 阅读 · 0 评论 -
深度学习 - 14.TF x Keras 共享层与共享模型
一.引言函数式 API 的重要特性是能够多次重复使用一个层实例,如果对一个层实例调用两次,而不是每次调用都实例化一个新层,那么每次调用就可以重复使用相同的权重。这样可以构建具有共享分支的模型。二.共享层权重1.模型结构假设模型判断两个句子的相似度,模型有两个输入,分别为句子A,句子B,并输出一个 0-1 的分数代表相似度。在这种前提下,句子AB是具备交换性的,即A与B的相似性应该与B与A的相似性是一致的,所以只需要用一个 LSTM 处理即可,其权重是根据两个输入共同学习的,模型也成为连.原创 2021-05-10 17:58:38 · 1632 阅读 · 0 评论 -
深度学习 - 13.TF x Keras Inception 模块
一.引言通过函数式 API,前面已经实现了多输入与多输出的模型,除此之外,函数式 API 还可以实现具有复杂内部拓扑结构的网络。 Keras 中的神经网络可以是层组成的有向无环图,无环代表图不能有循环,即张量 x 不能成为生成 x 的某一层的输入,但是允许循环连接,即循环层的内部循环。二.Inception1.模型结构Inception 是一种流行的卷积神经网络的架构类型,传统的深度卷积模型一味追求深度,虽然模型尺寸很大,但是对应的梯度消失,梯度爆炸,训练时间过长等问题还是比较明显,I.原创 2021-05-07 17:51:27 · 1283 阅读 · 0 评论 -
深度学习 - 12.TF x Keras 多输出模型
一.引言上一篇文章介绍了TensorFlow-Keras 多输入模型,利用相同的方法,还可以使用函数式 API 构建具有多个输出即多头的模型,一个简单的例子就是利用同一个数据,一次性预测某个体多个属性,例如输入某个用户的评论信息,预测该用户的社会属性比如年龄,收入,性别等等。二.多输出模型1.模型结构通过解析用户的评论信息,通过 Embedding 层进行文本向量化,随后利用 LSTM 进行处理,分别接入 Dense 层预测年龄,性别,收入,另外使用 GRU 预测用户的兴趣偏好,..原创 2021-05-07 10:39:54 · 3581 阅读 · 2 评论 -
深度学习 - 11.TF x Keras 多输入模型
一.引言函数式 API 可用于构建具有多个输入的模型,通常情况下,模型会在某一时刻用一个可以组合多个张量的层将不同输入得到的结果进行组合,组合方式可以是相加,连接等等,这其中常用的为 keras.layers.add, keras.layers.concatente 等。二.多输入模型1.模型结构典型的问答模型有两个输入:一个自然语言描述的问题和一个文本片段用于提供回答的相关信息,最后生成一个回答,这里回答只包含一个词,可以通过 softmax 得到。这里分别对参考文本 text .原创 2021-05-06 19:15:38 · 3497 阅读 · 10 评论 -
深度学习 - 10.TF x Keras 基于 CNN 与 RNN 的文本序列 - 温度预测问题
一.引言上一篇文章基础文本处理 processing && embedding介绍了常用的文本处理方法,趁热打铁了解一下处理连续文本的 demo 流程。二.数据信息与获取下面例子将用到气象记录站的天气时间序列,数据集中每10分钟记录14个不同的指标,包含气压,温度,湿度,风向等等环境相关的特征,这里采用 2009-2016 年的数据作为备选。1.源数据获取通过本地 terminal 输入如下命令,即可在对应 Downloads 文件夹下获取到原始数据。 ..原创 2021-04-29 16:51:48 · 2036 阅读 · 30 评论 -
深度学习 - 9.TF x Keras 基于 Processing 与 Embedding 的文本处理
一.引言:处理 IMDB 数据集 demo 时,用到了很多文本转 onehot,文本转 embedding 的方法,下面整理一下。本文后续样例测试数据集采用 IMDB 原始数据集,代表了用户对电影的评价,其中包含积极 positive 以及 消极 nagative 的评论:Working with one of the best Shakespeare sources, this film manages to be creditable to it's source, whilst stil原创 2021-04-27 18:12:57 · 1050 阅读 · 0 评论 -
深度学习 - 8.TF x Keras AutoEncoder 2D、3D 展示
一.引言:AutoEncoder-自编码是神经网络中常见的无监督学习,其目的一般为提取原始目标中的关键信息,类似于降维与主成分分析,但又不完全相同,其原理是用输入信息作为输出信息训练模型,最终提取中间的关键信息作为输入信息的抽象表达。二.实现:导入依赖:import numpy as npimport matplotlib.pyplot as pltfrom tensorflow.keras.datasets import mnistfrom tensorflow.keras.原创 2021-04-09 14:49:24 · 599 阅读 · 2 评论 -
深度学习 - 7.TF x Keras expand_dim 扩充维度
应用场景:面对有时候需要对数据维度进行扩充,例如低维数据向转高维度或者不规则张量 ragged Tensor的填充,这时候就需要expand_dims登场、同时还有 tf.tile 和preprocessing.sequence.pad_sequences 帮忙。一.expand_dimstf.expand_dims 可以扩充数组维度,参数包括: array:需要扩充的数组,这里 tensor,np.array 或者 python.list 都可以 axis:需要扩充......原创 2020-10-23 15:57:48 · 7035 阅读 · 10 评论 -
深度学习 - 6.TF x Keras SoftMax 自定义实现
简介SoftMax 函数在深度学习中十分常见,多见于多分类概率问题,通过softmax可以将预测结果映射到0-1且保证概率之和为1。假设一个数组中包含n个元素,则对应位置k的softmax计算公式如下: Keras ApiTensorflow keras 提供了计算softmax的方法 tf.nn.softmax,可以直接调用: lo...原创 2020-10-14 21:32:41 · 794 阅读 · 0 评论 -
深度学习 - 5.TF x Keras 编写回调函数
一.回调函数概述1.回调函数的功能回调是一种强大的工具,可以在训练,评估或推理期间自定义Keras模型的行为。我们可以在不同时期实现不同功能的回调函数,例如每次训练的开始或结束,每轮epoch的开始或结束,每一批batch的开始或结束等,并实现以下行为:1.在训练过程中的不同时间点进行验证(除了内置的按时间段验证)2.定期或在超过特定精度阈值时对模型进行检查3.当训练似乎停滞不前时,更改模型的学习率4.当训练似乎停滞不前时,对顶层进行微调5.在训练结束或超出特定性能阈值时发送电子邮件或即原创 2020-10-09 17:24:49 · 1487 阅读 · 6 评论 -
深度学习 - 4.TF x Keras 训练时对样本和类别加权
模型训练中,如果希望模型更偏向某一类数据或更聚焦于某一批样本,可以采用对数据类别和数据加权的形式达到上述效果。keras 默认设置下,样本的权重取决于其在数据集中的频率,即原始样本的分布。有两种方法可以对数据进行加权,而与采样频率无关。Tips:如下代码为方便测试跑通准备,分别构建了深度模型并加载了手写数字识别数据,可以直接忽略看后面~ def get_uncompiled_model(): inputs = keras.Input(shape=(784,).原创 2020-09-30 16:29:18 · 6195 阅读 · 2 评论 -
深度学习 - 3.TF x Keras 常见参数初始化方法
上篇文章自定义 metrics 用到了 add_weights 方法,这个方法会初始化一个变量,维度不定。下面就常见的初始化方法,进行介绍。原创 2020-09-28 16:12:43 · 9802 阅读 · 7 评论 -
深度学习 - 2.TF x Keras 自定义 Loss 与 Metrics
上一篇利用 keras 实现了最基本的手写数字识别模型,模型编译时loss用到了交叉熵 sparse_categorical_crossentropy,metrics 针对稀疏多分类问题用到了 sparse_categorical_accuracy,这里 loss 和 metrics 也支持自己实现,只需要继承 keras.losses.Loss 和keras.metrics.Metric 类即可。Tips:首先导入需要用到的类,实现和上一篇Demo一样的模型结构,并且加载后面要用到的数据集。唯一的原创 2020-09-25 17:28:29 · 7784 阅读 · 0 评论 -
深度学习 - 1.TF x Keras Train And Evaluate Demo
TensorFLow Kears 使用 Train 以及 Evaluate,以下代码基于tensorflow 2.0 版本,Conda环境。Tips:需要提前导入的类import numpy as npimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers一.初始化model与训练Demo1.构建模型 def get_uncompiled_mod.原创 2020-09-24 18:05:43 · 756 阅读 · 1 评论