NLP/ML/DL
文章平均质量分 88
NLP/ML/DL
ywm_up
这个作者很懒,什么都没留下…
展开
-
GPT1、GPT2、GPT3原理
文章目录GPT-1:无监督学习GPT-1原理介绍预训练模型(无监督)fine-tuning(有监督)小结GPT-2:多任务学习GPT-2的改进模型参数为什么GPT-2能够适应多任务?GPT-3:海量参数AbstractIntroductionGPT-1:无监督学习GPT-1原理介绍GPT模型主要包含两个阶段,第一个阶段,先利用大量未标注的语料预训练一个语言模型,接着,在第二个阶段对预训练好的语言模型进行微改,将其迁移到各种有监督的NLP任务,并对参数进行fine-tuning。预训练模型(无监督)转载 2021-12-05 17:13:51 · 12306 阅读 · 0 评论 -
ELMo:Deep contextualized word representations
文章目录1. 从Word Embedding到ELMo2. ELMo2.1 ELMo原理2.2 双向语言模型(Bidirectionbbal language models, BiLM)ELMo向量的计算ELMo向量与具体NLP任务结合总结常见问题ELMo的模型结构是怎样的?ELMo解决了一个什么样的问题?ELMo是怎么进行预训练的?如何使用它?为什么ELMo用两个单向的LSTM代替一个双向的LSTM?ELMo 通过两个单向的LSTM对原始词向量进行训练,训练是用上下文来预测当前词,两个LSTM不共享参转载 2021-12-05 17:05:57 · 837 阅读 · 0 评论 -
GloVe: Global Vectors for Word Representation
文章目录模型的提出共现概率矩阵1. 什么是共现?2. 什么是共现矩阵?3. 共现概率4. 共现概率比GloVe训练过程1. 构建共现矩阵2. 构建词向量(WOrd Vector)和共现矩阵(Co-ocurrence Matrix)之间的近似关系3. 构造 loss function4. 训练共现矩阵包含了当前词的全局上下文信息。以共现矩阵为训练目标,构建词向量进行训练,使得训练出的词向量蕴含了共现矩阵所蕴含的信息。模型的提出尽管word2vector在学习词与词间的关系上有了大进步,但是它有很明显转载 2021-12-05 17:03:27 · 1431 阅读 · 0 评论 -
【综述】面向少量标注数据的命名实体识别研究
文章目录数据增强1. 样本选择(主动学习)2. 分类器集成(Boosting)模型迁移1. 共享词嵌入(预训练)2. 共享参数特征变换1. 特征选择2. 特征映射知识链接1. 基于知识库2. 基于本体系统四种方法比较常用数据集模型测评未来研究方向1. 样本选择策略的改进2. 考虑零样本学习3. 考虑予以漂移与噪声这篇博客的总结参考下面这篇文章,引用的序号对应论文中的引用,没有重新排序[1] 石教祥, 朱礼军, 望俊成,等. 面向少量标注数据的命名实体识别研究[J]. 情报工程, 2020, 6(4):转载 2021-12-05 16:59:38 · 622 阅读 · 0 评论 -
概率和似然的区别
概率:给定参数,结果是否合理;似然:给定结果,参数是否合理。“概率”描述了给定模型参数后,描述结果的合理性,而不涉及任何观察到的数据。举例:抛一枚均匀的硬币,拋20次,问15次拋得正面的可能性有多大? 这里的可能性就是”概率”,均匀的硬币就是给定参数θ=0.5\theta=0.5θ=0.5,“拋20次15次正面”是观测值OOO。求概率P(H=15∣θ=0.5)=?P (H=15 | \theta=0.5) = ?P(H=15∣θ=0.5)=?的概率。“似然”描述了给定了特定观测值后,描述模.原创 2021-12-05 16:56:23 · 308 阅读 · 0 评论 -
jieba 分词原理
小占同学:浅谈结巴分词算法原理总结结巴分词算法原理:基于词频统计基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)采用了动态规划查找最大概率路径, 基于词频找出句子的最大概率的划分对于未登录词典的词(OOV),采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法搜索最优划分在构建词典的时候,已经统计好了词频,同时生成前缀树。为了预防OOV的情况,同时生成了HMM的三个概率表,初始概率矩阵,状态转移矩阵,观测概率矩阵。一、基于前缀词转载 2021-12-05 16:55:28 · 568 阅读 · 0 评论 -
GBDT、XGBoost、LightGBM的区别和联系
文章目录1. Boosting算法2. GBDT算法GBDT的优点和局限性3. XGBoost算法GBDT和XGBoost对比:4. LightGBM算法4.1 LightGBM的并行方案4.1.1 特征并行4.1.2 数据并行4.1.3 基于投票的并行方案4.2 基于梯度的单边检测(GOSS)4.3 排他性特征捆绑(EFB)LightGBM和XGBoost对比1. Boosting算法首先这三种算法都属于Boosting方法。Boosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。转载 2021-12-05 16:54:28 · 358 阅读 · 0 评论 -
Word2Vec
文章目录基本原理原始模型Huffman树1. CBOW(Continuous Bag-of-Words) 连续词袋模型2. skip-gram 跳字模型对比CBOW和skip-gram优化1. Hierachical softmax(层级 softmax)2. negative sampling(负采样)面试问题word2vec的优化,包括层级softmax的复杂度word2vector负采样时为什么要对频率做3/4次方?对于其中的窗口选择策略?窗口选择5,10,15都有什么区别吗?是不是越大越好呢?wor转载 2021-11-13 09:59:07 · 383 阅读 · 0 评论 -
小BERT —— ALBERT
【关于 Bert 压缩】 那些你不知道的事文章目录ALBERTFactorized embedding parameterization【低秩因式分解】Cross-layer parameter sharing【跨层参数共享】Sentence Order Prediction【句子顺序预测】原BERT缺点:内存占用过高功耗过高延迟高Bert 模型压缩对比表论文剪枝低秩因式分解知识蒸馏参数共享量化预训练微调ALBERT: A Lite Bert for sel转载 2021-11-13 09:59:25 · 356 阅读 · 0 评论 -
大BERT —— RoBERTa
【关于 大 Bert 模型系列算法】大BERT模型总结名称介绍动机预训练方法微调问题BertTransformer的双向编码器多义词问题 && GPT 单向 TransformerTask 1:Masked LM && Task 2:Next Sentence Prediction直接利用 特定任务数据 微调1. [MASK]预训练和微调之间的不匹配2. Max Len 为 512XLNet广义自回归预训练方法1. Bert转载 2021-11-13 09:59:19 · 1350 阅读 · 0 评论 -
数据不均衡处理方法
1. 定义一般来说,只有数据的不均衡达到一定程度,正、负样本的数量比例达到10:1,100:1甚至1000:1,才认为是不均衡的,或者说才考虑不均衡的影响。正常情况下,数据量大的类别,分类准确率会很高,数据量小的类别,分类准确率会极低。而将正负样本分类错,影响是很大的,例如在进行癌症诊断时,患病的样本相比正常的样本是极其稀少的,样本的不均衡会导致分类器会将较多患病的诊断为正常的,这样会造成极大的影响处理数据不均衡问题的处理,目前主要从三个方面进行考虑:首先是从样本层面进行考虑,设计合理的采样方法,转载 2021-11-13 09:59:33 · 3628 阅读 · 0 评论 -
Attention机制
知乎JayJay的回答:目前主流的attention方法都有哪些?1. 为什么要引入Attention机制?根据通用近似定理,前馈网络和循环网络都有很强的能力。但为什么还要引入注意力机制呢?计算能力的限制:当要记住很多“信息“,模型就要变得更复杂,然而目前计算能力依然是限制神经网络发展的瓶颈。优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,有效缓解模型复杂度和表达能力之间的矛盾;但是,如循环神经网络中的长距离问题,信息“记忆”能力并不高。可以借助人转载 2021-11-12 10:09:59 · 403 阅读 · 0 评论 -
BERT结构及原理
文章目录BERT 结构BERT 输入输出特征BERT 预训练任务任务一、Masked LM 掩码语言模型1. BERT 为什么需要预训练任务 Masked LM ?2. masked LM 怎么做?任务二、Next Sentence Prediction 下一句预测1. 为什么要进行下一句预测?2. 下一句预测怎么做?BERT fine-turning 微调1. 为什么 BERT 需要 fine-turning?2. 如何进行 fine-turing?BERT 损失函数BERT优缺点面试问题1. BERT转载 2021-11-12 10:08:01 · 3091 阅读 · 0 评论 -
BERT 模型压缩 —— 知识蒸馏
知识蒸馏,可以将一个网络的知识转移到另一个网络,两个网络可以是同构或者异构。做法是先训练一个teacher网络,然后使用这个teacher网络的输出和数据的真实标签去训练student网络。知识蒸馏,可以用来将网络从大网络转化成一个小网络,并保留接近于大网络的性能;也可以将多个网络的学到的知识转移到一个网络中,使得单个网络的性能接近emsemble的结果。参考资料:知识蒸馏(Knowledge Distillation)简述(一)BERT模型蒸馏论文:Extreme Language Model C转载 2021-11-12 10:07:51 · 210 阅读 · 0 评论 -
标注数据少的方法 —— 词汇增强
参考链接:【关于 中文领域 NER】 那些的你不知道的事打开你的脑洞:NER如何进行数据增强 ?标注样本少怎么办?「文本增强+半监督学习」总结(从PseudoLabel到UDA/FixMatch)1. 中文NER的难点(和英文的区别)和英文NER每个单词都使用空格分隔不同,中文 NER 是基于字的表示方法,所以一般会涉及到中文分词和中文NER技术,导致 中文 NER 技术容易受到中文分词的误差的影响。那么常用的方法有哪些呢?词汇增强:在早期的中文NER技术中,基于字符的 NER 方法往往具有转载 2021-11-12 10:07:43 · 607 阅读 · 0 评论 -
GAN(生成对抗网络)
一、生成对抗网络 – Generative Adversarial Networks | GAN生成对抗网络(GAN)由2个重要的部分构成:生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”单独交替迭代训练生成器和判别器通过不断的循环,「生成器G」和「判别器D」的能力都越来越强。最终我们得到了一个效果非常好的「生成器G」,我们就可以用它来生成我们想转载 2021-11-12 10:07:35 · 1042 阅读 · 0 评论 -
反向传播(BP)及随时间反向传播(back-propagation through time, BPTT)
原文链接:动手学深度学习pytorch版:6.6_bpttgithub:https://github.com/ShusenTang/Dive-into-DL-PyTorch正向传播字训练神经网络中比较直观,而通过时间反向传播其实是反向传播在循环神经网络中的具体应用。我们需要将循环神经网络按时间步展开,从而得到模型变量和参数之间的依赖关系,并根据链式法则应用反向传播计算并存储梯度。1. 定义模型简单起见,我们考虑一个无偏差项的循环神经网络,且激活函数为恒等映射(ϕ(x)=xϕ(x)=xϕ(x)=x)。转载 2021-11-12 10:07:27 · 697 阅读 · 0 评论 -
RNN原理及公式
直接看这个博客吧,写得很好一、循环神经网络(RNN)原理通俗解释在图像处理中,目前做的最好的是CNN自然语言处理中,表现比较好的是RNN既然我们已经有了人工神经网络和卷积神经网络,为什么还要循环神经网络?原因很简单,无论是卷积神经网络,还是人工神经网络,他们的前提假设都是:元素之间是相互独立的,输入与输出也是独立的循环神经网络,他的本质是:像人一样拥有记忆的能力。因此,他的输出就依赖于当前的输入和记忆。RNN结构:RNN中的结构细节:可以把 StS_tSt 当作隐状态,转载 2021-11-12 10:03:50 · 1639 阅读 · 0 评论 -
神经网络中的Epoch、Iteration、Batchsize
总结:epoch=iteration∗batch_sizeepoch = iteration * batch\_sizeepoch=iteration∗batch_size1.batch_sizebatch_size:顾名思义就是批次大小,也就是一次训练选取的样本个数.batch_size的大小对模型的优化和速度都是很有影响的.尤其是你的GPU的个数不多时,最好不要把数值设置的很大。batch_size的正确选择是为了在内存效率和内存容量之间寻找最佳平衡。全批次(蓝色)是全批次,也就是当数据集数原创 2021-11-12 10:03:26 · 1549 阅读 · 0 评论 -
逻辑回归(Logistic Regression,LR)公式推导
什么是逻辑回归LR 是 Logistic Regression Classifier,本质上是线性回归,特殊之处在于特征到结果的映射中加入了一层逻辑函数 g(z) 是 sigmoid 函数。因此逻辑回归 = 线性回归 + sigmoid。线性回归公式:y=wTx+by = w^Tx + by=wTx+b有时候为了方便,将权值向量和输入向量加以扩充,仍记作 w,xw, xw,x 即 w=(w(1),w(2),...,w(n),b),x=(x(1),x(2),...,x(w),1)w = (w^{(转载 2021-11-12 10:03:19 · 9674 阅读 · 0 评论 -
维特比算法(Viterbi algorithm)
一、维特比算法(Viterbi)原理以及简单实现维特比算法(Viterbi algorithm)是一种动态规划算法。它用于寻找最有可能产生观测事件序列的维特比路径——隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。维特比算法实际是用动态规划解隐马尔可夫模型预测问题,即用动态规划求概率最大路径(最优路径)Viterbi算法通过保存之前的最优路径,再选择当前步的最优路径并记录,而降低时间复杂度。动态规划:典型的空间换时间,时间复杂度从n^l降为l*n*n,l为层数,n为状态数。算法原理转载 2021-11-11 10:54:27 · 2504 阅读 · 0 评论 -
负对数似然函数的推导
似然函数的理解概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果。参数->结果似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。结果->参数举个例子:关于硬币投掷两次,两次都正面朝上的概率。假设单次正面朝上的概率是pH=0.5,那么两次都正面朝上的概率为0.25。假设单次正面朝上的概率是0.6,那么两次都正面朝上的概率为0.36。如果参数pH的取值变为0.6的话,结果观测到两次正面朝上的概率要比假设pH=0.5时更大。也就是说,参数pH取成0.6原创 2021-11-11 10:51:51 · 2137 阅读 · 0 评论 -
梯度提升决策树(Gradient Boosting Decision Tree,GBDT)
文章目录总结综述一、Regression Decision Tree:回归树二、Boosting Decision Tree:提升树算法三、Gradient Boosting Decision Tree:梯度提升决策树四、重要参数的意义及设置五、拓展总结回归树:用均方误差的最小二乘法作为选择特征、划分树节点的依据,构造回归树提升树:迭代多颗回归树,新树以上一棵树的残差来构造。最终结果是树相同位置节点值的和。梯度提升决策树:在提升树的基础上,用梯度来替代残差构造新树。综述GBDT(Gradi转载 2021-11-11 10:49:33 · 9995 阅读 · 0 评论 -
Batch Normalization与Layer Normalization的对比
文章目录如何理解 Internal Covariate Shift(内部协变量漂移)?白化的优缺点?Batch Normalization请说明BN的原理,为什么要进行批归一化?1. 原理2. BN层的作用2.1 加快网络的训练和收敛的速度2.2 控制梯度爆炸防止梯度消失2.3 防止过拟合为什么BN层一般用在线性层和卷积层后面,而不是放在非线性单元后?Layer Normalization对比BN和LN为什么LN更适合于NLP?如何理解 Internal Covariate Shift(内部协变量漂移)?转载 2021-11-11 10:43:11 · 1227 阅读 · 0 评论 -
EM(Expectation Maximum,期望最大化算法)
1. EM算法原理总结我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数。怎么办呢?这就是EM算法可以派上用场的地方了。E步(期望步)M步(极大步)不断迭代直到收敛EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含数据,利用对隐藏变量的现有估计值,计算其转载 2021-11-11 10:39:44 · 197 阅读 · 0 评论 -
SA(Simulated Annealing,模拟退火算法)
一句话总结:模拟退火引入了随机因素,以一定的概率来接受一个比当前解要差的解,因此可能会跳出这个局部最优解,达到全局最优解。模拟退火算法描述:若J( Y(i+1) )>= J( Y(i) ) (即移动后得到更优解),则总是接受该移动。若J( Y(i+1) )< J( Y(i) ) (即移动后的解比当前解要差),则以一定的概率接受移动,而且这个概率随着时间推移逐渐降低(逐渐降低才能趋向稳定)。这里的“一定的概率”的计算参考了金属冶炼的退火过程(温度越高,粒子内能越高,温度发生跳转载 2021-11-11 10:39:01 · 159 阅读 · 0 评论 -
LDA(线性判别分析)与PCA
LDA:将样本投影到低维空间上,投影后类内方差最小,类间方差最大。PCA:让投影后的样本具有最大的发散性。可以看看博客里面的公式推导,比西瓜书写得易懂。一、LDA线性判别分析LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。LDA的基本思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点中心尽可能远离。更简单的概括为一句话,就是“投影后类内方差最小,类间方差最大”。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下.转载 2021-11-11 10:37:30 · 1551 阅读 · 0 评论 -
ME(maximum entropy model,最大熵模型)
最大熵模型(maximum entropy model)也是很经典的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型。在损失函数优化的过程中,使用了支持向量机类似的凸优化技术,而对熵的使用,让我们想起了决策树算法中的 ID3 和 C4.5 算法。理解最大熵模型,对逻辑回归,支持向量机以及决策树算法都会加深了解。1. 熵的概念熵度量了事物的不确定性,越不确定的事物,它的熵就越大。若随机变量退化为定值,熵为 0均匀分布是“最不确定”的分布2. 联合熵两个随机变量的 X,Y 的联合分布,可以转载 2021-11-11 10:36:35 · 1101 阅读 · 0 评论 -
GBDT、XGBoost、LightGBM的区别和联系
文章目录1. Boosting算法2. GBDT算法GBDT的优点和局限性3. XGBoost算法GBDT和XGBoost对比:4. LightGBM算法4.1 LightGBM的并行方案4.1.1 特征并行4.1.2 数据并行4.1.3 基于投票的并行方案4.2 基于梯度的单边检测(GOSS)4.3 排他性特征捆绑(EFB)LightGBM和XGBoost对比1. Boosting算法首先这三种算法都属于Boosting方法,且GBDT是机器学习算法,XGBoost和LightGBM是GBDT的算法实转载 2021-11-11 10:35:42 · 1136 阅读 · 0 评论 -
AUC-ROC曲线
在机器学习中,性能评估是必不可少的任务,因此,当涉及分类问题时,我们可以使用AUC-ROC曲线进行评价,当需要检查或可视化多类分类问题的性能时,我们使用AUC-ROC曲线,这是检查任何分类模型性能的最重要的评估指标之一。1. 什么是AUC-ROC曲线?AUC-ROC曲线是针对各种阈值设置下的分类问题的性能度量。ROC是概率曲线,AUC表示可分离的程度或测度,它告诉我们多少模型能够区分类别。用TPR相对FPR绘制ROC曲线,其中TPR在y轴熵,FPR在x轴上,如图:AUC值就是ROC曲线下的面积(灰转载 2021-11-11 10:33:55 · 263 阅读 · 0 评论 -
softmax及函数求导
softmax1. 概念softmax 的核心在于 soft,而 soft 有软的含义,与之相对的是 hard 硬。很多场景中需要我们找出数组所有元素中值最大的元素,是指上都是求的 hardmax。softmax 定义:softmax(zi)=ezi∑j=1nezjsoftmax(z_i) = \frac{e^{z_i}}{\sum^n_{j=1}e^{z_j}}softmax(zi)=∑j=1nezjezi其中,ziz_izi 为第i个结点的输出值,n为输出结点的个数,即分类的类原创 2021-09-22 10:44:42 · 6734 阅读 · 0 评论 -
常见损失函数
参考资料:常见的损失函数(loss function)总结文章目录常见的损失函数以及优缺点1. 0-1 损失函数2. 绝对值损失函数3. 平方损失函数4. log 对数损失函数5. 指数损失函数(exponential loss)6. Hinge 损失函数7. 感知损失(preceptron loss)函数8. 交叉熵损失函数(cross-etropy loss function)高频问题损失函数用来评价模型的预测值和真实值的不一致程度,损失函数越好,模型的性能越好。不同模型的损失函数一半也不一样。损转载 2021-09-22 10:41:04 · 240 阅读 · 0 评论 -
集成学习(Bagging、Boosting)
参考链接:一文看懂集成学习(详解 bagging、boosting 以及他们的 4 点区别)什么是集成学习?集成学习归属于机器学习,他是一种训练思路,并不是某种具体的方法或者算法。集成学习的核心思路就是“人多力量大”,它没有创造出新的算法,而是把已有的算法进行结合,从而得到更好的结果。集成学习会挑选一些简单的基础模型进行组装,组装这些基础模型的思路主要有 2 种方法:bagging(袋装法)boostingBaggingBagging 的核心思路是 —— 民主Bagging 的思路是所转载 2021-09-22 10:39:18 · 143 阅读 · 0 评论 -
一维随机游走
一维的随机游走可定义如下:每过一个单位时间,游走者从数轴 xxx 位置出发以固定概率随机向左或向右移动一个单位. 不妨将 nnn 时刻游走者的位置记为 LnL_nLn,则有Ln=x+X1+...+XnL_n = x + X_1 + ... + X_nLn=x+X1+...+Xn其中 X1,X2,...XnX_1, X_2, ... X_nX1,X2,...Xn 为互相独立的随机变量,满足P(Xi=1)=p=1−P(Xi=−1)P(X_i = 1) = p = 1 - P(X_i转载 2021-09-22 10:34:38 · 7432 阅读 · 0 评论 -
深度学习优化算法:Adam算法
原文链接:动手学深度学习pytorch版:7.8 Adam算法github:https://github.com/ShusenTang/Dive-into-DL-PyTorch[1] Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.论文链接Adam算法Adam算法在RMSProp算法基础上对小批量随机梯度也做了指数加权移动平均转载 2021-09-02 16:00:24 · 3892 阅读 · 0 评论 -
深度学习优化算法:AdaDelta算法
原文链接:动手学深度学习pytorch版:7.7 AdaDelta算法github:https://github.com/ShusenTang/Dive-into-DL-PyTorch原论文:[1] Zeiler, M. D. (2012). ADADELTA: an adaptive learning rate method. arXiv preprint arXiv:1212.5701.AdaDelta算法除了 RMSProp 算法以外,另一个常用优化算法 AdaDelta 算法也针对 Ada转载 2021-08-31 22:11:38 · 578 阅读 · 0 评论 -
深度学习优化算法:RMSProp算法
原文链接:动手学深度学习pytorch版:7.6 RMSProp算法github:https://github.com/ShusenTang/Dive-into-DL-PyTorch原论文:[1] Tieleman, T., & Hinton, G. (2012). Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural networks fo转载 2021-08-31 21:30:09 · 9407 阅读 · 1 评论 -
深度学习优化算法:AdaGrad算法
原文链接:动手学深度学习pytorch版:7.5 AdaGrad算法github:https://github.com/ShusenTang/Dive-into-DL-PyTorch原论文:[1] Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning R转载 2021-08-31 21:11:01 · 1523 阅读 · 0 评论 -
深度学习优化算法:梯度下降GD、随机梯度下降SGD、小批量梯度下降MBGD、动量法(momentum)
原文链接:动手学深度学习pytorch版:优化算法7.1-7.4github:https://github.com/ShusenTang/Dive-into-DL-PyTorch最好去看一下原书和GitHub,讲解更加详细。虽然梯度下降在深度学习中很少被直接使用,但理解梯度的意义以及沿着梯度反方向更新自变量可能降低目标函数值的原因是学习后续优化算法的基础。1. 梯度下降1.1 一维梯度下降我们先以简单的一维梯度下降为例, 解释梯度下降算法可能降低目标函数值的原因。假设连续可导的函数 f:R→转载 2021-08-31 19:51:13 · 894 阅读 · 2 评论 -
双向循环神经网络
原文链接:动手学深度学习pytorch版:6.10 双向循环神经网络github:https://github.com/ShusenTang/Dive-into-DL-PyTorch双向循环神经网络之前介绍的循环神经网络模型都是假设当前时间步是由前面的较早时间步的序列决定的,因此它们都将信息通过隐藏状态从前往后传递。有时候,当前时间步也可能由后面时间步决定。例如,当我们写下一个句子时,可能会根据句子后面的词来修改句子前面的用词。双向循环神经网络通过增加从后往前传递信息的隐藏层来更灵活地处理这类信息。图转载 2021-08-30 16:07:27 · 711 阅读 · 0 评论