![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 83
聚焦深度学习心得分享
HadesZ~
HadesZ~的博客主页
展开
-
梯度累积(Gradient Accumulation)
随着深度学习模型参数量的增加,现有GPU加载一个深度模型(尤其是预训练模型)后,剩余显存无法容纳很多的训练数据,甚至会仅能容纳一条训练数据。梯度累积(Gradient Accumulation)是一种不需要额外硬件资源就可以增加批量样本数量(Batch Size)的训练技巧。...原创 2022-06-01 09:37:05 · 3067 阅读 · 0 评论 -
自然语言处理(NLP)之五:知识图谱
现在的很多数据是互相连接的,如果想分析这些链接的价值,知识图谱可以是一种有效的工具。而且随着万物互联时代的到来,链接中所包含的信息必然会发挥更大的价值,这也是为什么知识图谱在最近几年发展这么快的主要原因。知识图谱的概念、应用、构建知识图谱的定义知识图谱是2012年Google公司提出的一个新名词,这项技术的出现可以追溯到上世纪的六七十年代,在Google公司为发展产业化将其称为知识图谱之前,它一直被学术界称作语义网络(Semantic Network)。ICSW(international con原创 2022-04-07 15:22:03 · 7020 阅读 · 0 评论 -
语言模型:注意力机制(Attention)
1. 注意力机制(Attention)注意力机制(Attention Mechanism)是一种信息筛选方法,可进一步缓解LSTM和GRU中的长期依赖问题。其实现分三步进行:它首先引入一个和任务相关的表示向量作为特征选择的基准,该向量被称为查询向量(Query Vector);然后选用一种打分函数计算输入特征与查询向量之间的相关性,得到特征被选择的概率分布,这称作注意力分布;最后按注意力分布对输入特征的加权平均筛选出与任务相关的特征信息。1.1 查询向量(Query Vector)如图所示,查询向量原创 2022-04-02 20:33:53 · 2963 阅读 · 0 评论 -
预训练模型:GPT
GPT 是 OpenAI 在论文《Improving Language Understanding by Generative Pre-Training》中提出的生成式预训练语言模型。该模型的核心思想是通过二段式的训练,以通用语言模型加微调训练的模型完成各项下游NLP任务,包括文本生成、二分类、蕴含、相似度、多分类等。1. 预训练任务GPT模型采用标准的语言模型训练方法,即给定上文令模型预测下一单词,模型的目标函数为:Li=∑t∈TlogP(ut∣ut−k,⋯ ,ut−1;θ)L_i = \sum_原创 2022-03-31 21:15:09 · 2663 阅读 · 0 评论 -
预训练模型:BERT
0. BERT总述BERT全称为 Bidirectional Encoder Representation from Transformers(来自 Transformers 的双向编码器表示),是谷歌2018年发表的论文中1,提出的一个面向自然语言处理任务的无监督预训练语言模型。其意义在于:大量无标记数据集中训练得到的深度模型,可以显著提高各项自然语言处理任务的准确率。BERT采用Transformer的编码器(Encoder)结构作为特征提取器,并使用与之配套的MLM训练方法,实现输入序列文本的双向原创 2022-03-31 13:32:15 · 13897 阅读 · 1 评论 -
时序模型:线性条件随机场模型 ( Linear - CRF )
1. 线性条件随机场(Linear-CRF)线性条件随机场(linear chain conditional random field,Linear-CRF)是对隐马尔科夫模型(hidden Markov model,HMM)在更普遍的实际问题上的推广1。隐马尔科夫(HMM)模型假设序列数据具有齐次马尔可夫性和观测独立性,这是对实际问题的两种近似简化。线性条件随机场(Linear-CRF)模型取消了观测独立性假设,并削弱了齐次马尔可夫性假设;Linear-CRF考虑一个模型每时刻隐藏状态,都是受其相邻时原创 2022-03-26 07:34:18 · 4161 阅读 · 0 评论 -
文本生成:Transformer
1. 模型原理Transform是一种基于全连接神经网络的编码器-解码器(encoder-decoder)架构实现,它由输入模块、编码器模块、解码器模型和输出模型四部分组成。其结构如下图所示:图1 Transform模型关于Transform的基础知识介绍,网上已有许多公开的资料。读者可自行查阅学习。本文默认大家已具备Transform相关的基础知识,文本将讨论其中值得注意的四个问题:Transform中有几种mask机制,它们是如何去除小批量样本padding操作引入的噪声的?自注意力机制为原创 2022-03-17 19:05:46 · 2620 阅读 · 1 评论 -
自然语言处理(NLP)之三:语言模型
语言模型是预测句子符合语法规范(语言惯用的单词搭配规范)的概率的计算方法,对给定语句S=W1,W2,W3,…,WnS = W_1, W_2, W_3, …, W_nS=W1,W2,W3,…,Wn,其表达式为:P(S)=P(W1,W2,W3,…,Wn)P(S) = P(W_1, W_2, W_3, …, W_n) P(S)=P(W1,W2,W3,…,Wn)P(W1,W2,W3,…,Wn)P(W_1, W_2, W_3, …, W_n)P(W1,W2,W3,…,Wn),W1,W2原创 2022-02-05 15:24:09 · 3055 阅读 · 0 评论 -
文本生成:加入注意力( Attention )机制的 Seq2Seq
1. 加入Attention机制的Seq2Seq模型注意力层(Attention)添加到解码器与输出层之间,它负责从编码器输出序列中挑选出任务相关的信息,将其与解码器输出序列最后时刻状态一起传入输出层,供文本生成预测使用。如下图所示:图1 加入Attention机制的Seq2Seq 模型Attention机制在计算注意力分布之前,引入由编码器(Encoder)输入序列长度决定的mask矩阵与注意力得分矩阵相乘,令输入序列padding值对应位置的注意力得分为0(然后再加一个负无穷),使计算注意力分布原创 2022-03-14 18:17:55 · 2915 阅读 · 0 评论 -
文本生成:Seq2Seq
1. Seq2Seq模型Seq2Seq是一种基于循环神经网络的编码器-解码器(encoder-decoder)架构实现。它使用两个神经元数量相同的LSTM(或GRU)作为编码器和解码器,如下图所示:图3 Seq2Seq 模型为配合Mini-batch SGD1模型训练策略,工程实现时要添加两种mask机制,来消除对输入序列和标签序列添加padding值进行(序列)长度补齐带来的噪声干扰。经典Seq2Seq模型的实现中,引入动态损失函数机制(mask softmax),来消除标签序列中padding值原创 2022-03-14 16:21:34 · 2431 阅读 · 0 评论 -
时间序列模型
0. 时间序列的定义时间序列是一族依赖于时间 ttt 的随机变量,它在统计学上被称作随机过程。设 TTT 是一段无限长时间的时刻实数集,随机过程是依赖于参数 t∈Tt \in Tt∈T 的一族(无限多个)随机变量,记作{X(t),t∈T}\{ X(t), t \in T \}{X(t),t∈T}。其中,TTT 叫做参数集,X(t)X(t)X(t)为 ttt 时刻时随机过程的状态,而 X(ti)=xi,xi∈RX(t_i) = x_i, x_i \in RX(ti)=xi,xi∈R 说成是 tit_原创 2022-02-06 20:15:23 · 2617 阅读 · 0 评论 -
时序模型:门控循环单元网络(GRU)
时序模型:门控循环神经网络(GRU)原创 2022-02-25 20:16:32 · 1574 阅读 · 0 评论 -
时序模型:长短期记忆网络(LSTM)
时序模型:长度记忆循环神经网络(LSTM)原创 2022-02-25 20:14:01 · 6086 阅读 · 0 评论 -
时序模型:循环神经网络(RNN)
1. 循环神经网络(RNN)定义循环神经网络(recurrent neural network, RNN)是一类专门设计处理不定长序列数据的神经网络。与使用一种新计算1作为核心的卷积神经网络不同,循环神经网络仍使用特征的线性组合作为计算核心,并使用共享参数策略使模型能泛化不同长度的序列数据。2. 循环神经网络的由来:从全连接神经网络(DNN)到循环神经网络(RNN)2.1 全连接神经网络的不足最初,研究者直接将时间序列看作特征向量,将序列每一时刻的观测作为一种特征输入全连接神经网络,来预测序列的标原创 2022-02-22 22:44:49 · 11737 阅读 · 0 评论 -
深度学习中超参数调整与网络结构设计原则浅谈
0. 总述不同于XGboost和LightGBM等传统机器学习模型,神经网络凭借极大的灵活性具有更好的学习能力,但也在网络结构设计和超参数调整上存在极大的困难。本文阐述作者在这方面实践中的一些心得体会,希望能帮大家打开新世界的大门。神经网络模型中主要的超参数有:样本批量大小(batch_size)、周期步幅(steps)、迭代次数(epochs)、模型深度(网络隐藏层数量)、隐藏层神经元数量、优化算法、学习率(learn_rate)、激活函数、初始化方法、批量归一化(BatchNormalization原创 2022-01-01 16:58:30 · 1818 阅读 · 0 评论