深度学习DeepLearning
文章平均质量分 91
-柚子皮-
╰☆ゞ不染纤尘,不忘初心ゞ☆╮
展开
-
InstructionGPT
之前是写在[]里的,抽出来单独讲一下。InstructGPT/ChatGPT都是采用了GPT-3的网络结构,通过指示学习构建训练样本来训练一个反应预测内容效果的奖励模型(RM),最后通过这个奖励模型的打分来指导强化学习模型的训练。:先采样一些demonstration数据,其包括prompt和labeled answer。基于这些标注的数据,对GPT-3进行fine-tuning,得到SFT(Supervised Fine-tuning);即使用采集的新数据,按照GPT-3的训练方式对GPT-3进行微调。原创 2023-10-26 11:37:55 · 889 阅读 · 0 评论 -
GPT-1、GPT-2和GPT-3模型详解及其进化之路
原文[OpenAI gpt模型基于Transformer的语言模型,其利用Transformer的decoder结构来进行单向语言模型的训练。GPT的核心思想是先通过无标签的文本去训练生成语言模型,再根据具体的NLP任务(如文本蕴涵、QA、文本分类等),来通过有标签的数据对模型进行fine-tuning。文中所用的网络结构如下:。原创 2020-09-22 23:27:17 · 3678 阅读 · 1 评论 -
GPT的前世今生:从gpt1到chatgpt的能力提升
从2017年google brain提出transformer模型,到2018年基于transformer模型open ai推出了gpt1模型以及google推出了bert模型,到2019-2021年open ai陆续推出gpt2和gpt3,再到2022-2023年推出chat-gpt和gpt4,大语言模型已经发展成了一个具有3个大分支的参天大树[在这里主要写写关于gpt的那些事。原创 2023-10-24 15:47:00 · 1271 阅读 · 0 评论 -
Sigmod/Softmax变换
softmax建模使用的分布是多项式分布,而logistic则基于伯努利分布。多个logistic回归通过叠加也同样可以实现多分类的效果,但是 softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类;多个logistic回归进行多分类,输出的类别并不是互斥的,即"苹果"这个词语既属于"水果"类也属于"3C"类别。原创 2017-09-03 11:39:32 · 11275 阅读 · 2 评论 -
深度学习:transformer模型
Google于2017年6月发布在arxiv上的一篇文章《Attention is all you need》,提出解决sequence to sequence问题的transformer模型,用全attention的结构代替了lstm,抛弃了之前传统的encoder-decoder模型必须结合cnn或者rnn的固有模式,只用attention,可谓大道至简。文章的主要目的是在减少...原创 2018-12-10 21:59:24 · 58001 阅读 · 8 评论 -
深度学习:BERT模型
BERT出自的全称是Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder。作为一个Word2Vec的替代者,其在NLP领域的11个方向大幅刷新了精度,可以说是近年来自残差网络最优突破性的一项技术了。模型的主要创新点都在pre-train方法上,即用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。原创 2018-12-18 15:48:37 · 46123 阅读 · 3 评论 -
深度学习:bert embedding用法详解
环境配置下载bert已训练好的模型如BERT-Base, Chinese: Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters解压到目录/.../chinese_L-12_H-768_A-12/,其中...为你自己的某个目录。[https://github.co...原创 2019-07-13 17:09:27 · 6516 阅读 · 1 评论 -
深度学习:ELMO模型
ELMo的整体图。第一使用了多层LSTM,第二增加了后向语言模型(backward LM)。Note:1 输入是一个句子的embedding E1~En,输出是T1~Tn(分别对应其上下文)。2 从图中箭头可以看出,目标T1生成的逻辑是,第1个lstm encoding的第1个输出(即E1对应)+ 第2个lstm encoding的最后一个输出(即En->E1)[即只使用了自己和下文];原创 2018-07-27 11:14:24 · 61 阅读 · 1 评论 -
深度学习:胶囊网络capsule net
这里计算有点不同,pytorch代码的实现里只有这个双线性变换参数大小,没有“还需要1152个b参数矩阵和1152个c参数矩阵”。上述函数可以直接通过probs = torch.softmax(logits, dim=2)替换,效果是一样的。torch.softmax归一化]2 priors的计算也可以替代。两部分损失函数加权和。原创 2021-03-30 21:39:16 · 254 阅读 · 0 评论 -
深度学习:蒸馏Distill
Distilling the knowledge in a neural networkHinton 在论文中提出方法很简单,就是让学生模型的预测分布,来拟合老师模型(可以是集成模型)的预测分布,其中可通过用 logits 除以 temperature 来调节分布平滑程度,还避免一些极端情况影响。蒸馏时的softmax比之前的softmax多了一个参数T(temperature),T越大产生的概率分布越平滑。[Distilling the knowledge in a neural原创 2021-05-25 15:50:07 · 4997 阅读 · 0 评论 -
深度学习:batch_size和学习率 及如何调整
-柚子皮-学习率衰减import torch.optim as optimfrom torch.optim import lr_scheduler# 训练前的初始化optimizer = optim.Adam(net.parameters(), lr=0.001)#学习率衰减scheduler = lr_scheduler.StepLR(optimizer, 10, 0.1) # # 每过10个epoch,学习率乘以0.1# 训练过程中for n in n_epoch: ...原创 2020-10-21 00:17:08 · 35024 阅读 · 2 评论 -
PyTorch:模型训练-分布式训练
-柚子皮-不同数据并行方案(parameter server 模式和 allreduce 模式,同步更新和异步更新)的详细介绍。分布式算法原理Parameter server 模式以参数????为同步基础,我们可以采用 master-slave 的同步模式:将 node 分成两种角色:parameter server(ps) 负责维护一份最新的参数 ,worker 负责利用从 ps 读到的最新参数计算出梯度(forward 和 backprop),并对 ps 发送梯度和参数更新请求。这被原创 2021-01-10 23:36:16 · 1655 阅读 · 0 评论 -
注意力机制之Pointer-Generator Networks
一个应用是自动文本摘要,即自动地把一段文字压缩为它对应的较短的文本的任务。文本摘要的主要方式分为两种,一种是抽取式(extractive),另一种是生成式(abstractive)。抽取式是根据词语重要性、句子重要性排序,抽取出重要度高的句子,从而形成摘要。主要是对文本的选择,过程相对更容易,但是对于复杂的文本时,很难仅仅通过选择文本来形成摘要,如小说。生成式则是通过自然语言处理,输出简洁、流畅、保留关键信息,更能模拟人进行摘要的过程,涉及到生成文本,过程更为复杂。原创 2017-12-19 21:33:07 · 3662 阅读 · 1 评论 -
深度学习:注意力机制Attention
注意机制最早由Bahdanau等人于2014年提出(统计机器翻译中的对齐过程[NEURAL MACHINE TRANSLATION BY JOINTLY。原创 2017-10-25 10:19:15 · 12597 阅读 · 3 评论 -
深度学习:Seq2seq模型
http://blog.csdn.net/pipisorry/article/details/78258198Seq2seq模型seq2seq是什么?简单的说,就是根据一个输入序列x,来生成另一个输出序列y。seq2seq有很多的应用,例如翻译,文档摘取,问答系统等等。在翻译中,输入序列是待翻译的文本,输出序列是翻译后的文本;在问答系统中,输入序列是提出的问题,而输出序列是答案。Enc...原创 2017-10-17 11:04:07 · 16778 阅读 · 2 评论 -
深度学习:语言模型的评估标准
http://blog.csdn.net/pipisorry/article/details/78677580 语言模型的评估主要measure the closeness,即生成语言和真实语言的近似度。 Classification accuracy provides additional information about the po原创 2017-11-30 17:03:38 · 2772 阅读 · 1 评论 -
深度学习:词嵌入之word2vec
http://blog.csdn.net/pipisorry/article/details/76147604word2vec简介 深度学习在自然语言处理中第一个应用:训练词嵌入。Google 的 Tomas Mikolov 在《Efficient Estimation of Word Representation in Vector Space》和《Distributed ...原创 2017-07-26 15:24:57 · 10023 阅读 · 1 评论 -
深度学习:词嵌入Embedding
http://blog.csdn.net/pipisorry/article/details/76095118词嵌入词嵌入其实就是将数据的原始表示表示成模型可处理的或者是更dense的低维表示(lz)。One-hot Embedding 假设一共有个物体,每个物体有自己唯一的id,那么从物体的集合到有一个trivial的嵌入,就是把它映射到中的标准基,这种嵌入叫做On...原创 2017-07-26 11:08:06 · 52366 阅读 · 26 评论 -
深度学习:自然语言生成-集束/柱搜索beam search和随机搜索random search
http://blog.csdn.net/pipisorry/article/details/78404964 当我们训练完成一个自然语言生成模型后,需要使用这个模型生成新的语言(句子),如何生成这些句子,使用如下的方法:采样,集束搜索,随机搜索。Greedy Search/采样Sampling 在每个阶段都选择分值最高的项。此方法经常奏效,但显然不是最优的...原创 2017-10-31 16:31:47 · 32953 阅读 · 6 评论 -
深度学习:LSTM的拓展(双向LSTM和GRU等)
这里三条黑线就是所谓的 peephole,传统的 LSTM 中遗忘门、输入门和输出门只用了 h(t-1) 和 xt 来控制门缝的大小,peephole 的意思是说不但要考虑 h(t-1) 和 xt,也要考虑 Ct-1 和 Ct,其中遗忘门和输入门考虑了 Ct-1,而输出门考虑了 Ct。RNN和LSTM都只能依据之前时刻的时序信息来预测下一时刻的输出,但在有些问题中,当前时刻的输出不仅和之前的状态有关,还可能和未来的状态有关系。而LSTM具有较多的参数,比较适合具有大量样本的情况,可能会获得较优的模型。原创 2017-11-13 18:19:16 · 20890 阅读 · 0 评论 -
深度学习:长短期记忆模型LSTM
http://原创 2017-10-27 10:14:05 · 46994 阅读 · 5 评论 -
深度学习:循环神经网络RNN的变体
http://blog.csdn.net/pipisorry/article/details/78246220双向RNN:BRNN模型(Bidirectional RNN)BRNN(Bi-directional RNN)由 Schuster 在"Bidirectional recurrent neural networks, 1997"中提出,是单向 RNN 的一种扩展形式。普通 R...原创 2017-10-16 09:09:52 · 5243 阅读 · 0 评论 -
深度学习:循环神经网络RNN
http://blog.csdn.net/pipisorry/article/details/77776743RNN模型 循环神经网络(recurrent neural network,RNN)是一种具有反馈结构的神经网络,其输出不但与当前输入和网络的权值有关,而且也与之前网络的输入有关;RNN通过添加跨越时间点的自连接隐藏层,对时间进行建模;换句话说,隐藏层的反馈,不仅仅进...原创 2017-09-01 19:49:34 · 9231 阅读 · 1 评论 -
深度学习:文本CNN-textcnn
对于文本分类问题,常见的方法无非就是抽取文本的特征,比如使用doc2evc或者LDA模型将文本转换成一个固定维度的特征向量,然后在基于抽取的特征训练一个分类器。然而研究证明,TextCnn在文本分类问题上有着更加卓越的表现。从直观上理解,TextCNN通过一维卷积来获取句子中n-gram的特征表示。TextCNN对文本浅层特征的抽取能力很强,在短文本领域如搜索、对话领域专注...原创 2018-12-18 20:30:48 · 62938 阅读 · 10 评论 -
深度学习:卷积神经网络CNN变体
http://blog.csdn.net/pipisorry/article/details/76573696带步幅的多通道巻积很多时候,我们输入的是多通道图像。如RGB三通道图像,下图就是。也有可能我们出于特定目的,将几张图组成一组一次性输入处理。多通道巻积假定我们有一个 4 维的核张量 K,它的每一个元素是 K i,j,k,l ,表示输出中处于通道 i 的一个单元和输入中处于通...原创 2017-08-02 11:31:21 · 3409 阅读 · 0 评论 -
深度学习:卷积神经网络CNN
http://blog.csdn.net/pipisorry/article/details/76571670Convolutional Neural Networks卷积神经网络 卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表...原创 2017-08-02 10:09:20 · 6106 阅读 · 1 评论 -
深度学习:径向基网络(RBF)
如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。为什么RBF网络学原创 2017-05-13 19:22:24 · 11059 阅读 · 0 评论 -
深度学习:神经网络neural network
http://blog.csdn.net/pipisorry/article/details/70919374神经网络一般有前馈神经网络FFNN模型(feedforward neural network),隐层多的可以叫深度神经网络DNN(deep nn)。固定基函数的线性组合构成的回归模型和分类模型。我们看到,这些模型具有一些有用的分析性质和计算性质,但是它们的实际应用被维数灾难问题...原创 2017-04-28 16:50:34 · 14036 阅读 · 1 评论 -
深度学习:感知机perceptron
感知机是二分类的线性分类模型,输入是特征向量,输出是类别,取值+1,-1。感知机学习旨在求出将训练数据进行线性划分的分离超平面wx + b = 0,其中w是超平面的法向量,b是超平面的截距。感知机模型1.分离超平面将样本点分成两部分,位于法向量w所指向的一面是正样本,另一面则是负样本;2.由输入空间到输出空间的模型函数如下:策略1.特征空间中任意一个样本点x0到分离超平面的距离可以记为:2.感知机原创 2017-04-22 20:58:21 · 1198 阅读 · 0 评论 -
最优化方法:深度学习最优化方法
http://blog.csdn.net/pipisorry/article/details/52135832深度学习最优化算法深度学习框架中常见的最优化方法,如tensorflow中的最优化方法及相关参数如下:tf.train.Optimizer tf.train.GradientDescentOptimizer tf.train.AdadeltaOptimizer tf.tr...原创 2016-08-18 14:33:32 · 11367 阅读 · 1 评论 -
深度学习:批归一化和层归一化Batch Normalization、Layer Normalization
深度神经网络模型训练难,其中一个重要的现象就是 Internal Covariate Shift. Batch Norm 自 2015 年由Google 提出之后, Layer Norm / Weight Norm / Cosine Norm 等也横空出世。Normalized的作用1.1 独立同分布与白化1.2 深度学习中的 Internal Covariate Sh...原创 2020-03-10 00:44:29 · 14622 阅读 · 4 评论 -
深度学习:正则化
http://blog.csdn.net/pipisorry/article/details/75307522机器学习模型过拟合可采用的方法参考[Machine Learning - X. Advice for Applying Machine Learning机器学习算法的诊断和改进]为了防止过拟合,提高模型泛化能力,减少测试误差,深度学习模型(如神经网络)一般采用正则化策略。采用的方法...原创 2017-07-18 15:54:15 · 2045 阅读 · 0 评论 -
深度学习:梯度消失和梯度爆炸
几种RNNs并不能很好的处理较长的序列。一个主要的原因是,RNN在训练中很容易发生梯度爆炸和梯度消失,这导致训练时梯度不能在较长序列中一直传递下去,从而使RNN无法捕捉到长距离的影响。原创 2017-05-13 19:32:36 · 4966 阅读 · 1 评论 -
损失函数loss
http://blog.csdn.net/pipisorry/article/details/23538535监督学习及其目标函数 损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部...原创 2014-04-12 16:43:39 · 26149 阅读 · 8 评论 -
深度学习:激活函数
激活函数神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function。 为什么要用激活函数神经网络中激活函数的主要作用是提供网络的非线性建模能力,如不特别说明,激活函数一般而言是非线性函数。假设一个示例神经网络中仅包含线性卷积和全连接运算,那么该网络仅能够表达线性映射,即便增加网络的深度也依旧还是线性映射,难以有效建模原创 2017-05-04 00:43:40 · 35948 阅读 · 1 评论 -
深度学习:初始化
高斯分布初始化:使用一个高斯分布对每个参数进行随机初始化。Xavier的基本思想是保持信息在神经网络中流动过程的方差不变。假设激活函数是关于0点对称的,且主要针对于全连接神经网络,适应于tanh和softsign。He的基本思想是正向传播时,状态值的方差保持不变;反向传播时,关于激活值的梯度的方差保持不变。原创 2023-05-31 23:32:22 · 544 阅读 · 0 评论 -
深度学习:综述
深度学习相比于传统方法的优势随着训练量的提高,传统方法很快走到天花板,而Deep Learning的效果还能持续走高。其实这是一个特征表达力的问题,传统方法特征表达力,不如Deep Learning的多层学习得到的更有效果的表达。举个例子,假定有一种疾病,这种疾病容易在个高且胖的人群,以及个矮且瘦的人群中易感。那么任意从给一个特征角度上看,比如肥胖,那么胖的这部分人中,得此病的概率为50%,不胖的原创 2017-04-22 20:56:58 · 1835 阅读 · 1 评论