自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 算法题总结1--排序篇

1.快排2.力扣11 盛水最多的容器双指针思路:由短板决定储水量,所以从序列两端遍历,最终的容水量=max(最短板的高度*两板之间的距离),同时在遍历的时候,选择短板向中间移动。3.力扣42 接雨水双指针思路:每个柱子接到的雨水等于这个柱子左右两边最大值中较小者减去柱子本身的高度4.力扣96 不同的二叉搜索树...

2020-09-01 16:21:14 293

原创 面试算法题--股票问题

1.只能进行一次的股票交易给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意: 利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。#用了双层循环,复杂度是O(n^

2020-08-21 10:34:44 1278

转载 ppt免费模版

高质量PPT模板网站

2020-08-19 21:18:04 204

原创 检索评价指标--准确率、召回率、mAP

2020-08-04 22:07:42 744

原创 gradient_accumulation_steps

gradient_accumulation_steps如果显存不足,我们可以通过gradient_accumulation_steps梯度累计来解决。假设原来的batch size=10,数据总量为1000,那么一共需要100train steps,同时一共进行100次梯度更新。若是显存不够,我们需要减小batch size,我们设置gradient_accumulation_steps=2,那么我们新的batch size=10/2=5,我们需要运行两次,才能在内存中放入10条数据,梯度更新的次数不

2020-08-04 14:07:39 8534 4

原创 SQUAD数据集分析

数据集demo总结:object 包含了data和version。data中包含了好多条文本(doc),每条文本包含题目(title)和不同段落(paragraphs),每个段落中包含qas(问题和答案)。

2020-08-03 22:09:58 2610

原创 【论文笔记】Retrieve, Read, Rerank: Towards End-to-End Multi-Document Reading Comprehension

任务描述多文档阅读理解的抽取式任务,根据给定的一个问题和若干个文档中,找到问题答案。涉及了信息检索、文本问答、答案排序等,总共有三个模块:1.检索模块:从多个文档中召回少量和问题相关的段落内容2.阅读模块:从召回段落中抽取候选答案(单文档的抽取式任务问答)3.答案重排序模块:将多个候选答案重排本篇论文以往的多文档的阅读理解,检索模块、阅读模块、答案重排是独立的,是流水线方法,会面临两个问题:1.流水线方法内中包含若干个独立模块,每个模块都需要重复编码的输入,在处理大规模的文本效率低。2.由于

2020-07-30 14:53:00 394 1

转载 服务器指定GPU跑程序

在.py中指定import osos.environ["CUDA_VISIBLE_DEVICES"] = "3"  #指定第三块gpu在命令行指定CUDA_VISIBLE_DEVICES = 2, 3, 4 bash your_file.sh在环境变量中指定#打开.bashrc,#打开.bashrc,加入下面代码export CUDA_VISIBLE_DEVICES = 2, 3, 4转载服务器指定GPU跑程序...

2020-07-24 09:38:14 1542

转载 pytorch中查看gpu信息

torch.cuda.is_available()cuda是否可用;torch.cuda.device_count()返回gpu数量;torch.cuda.get_device_name(0)返回gpu名字,设备索引默认从0开始;torch.cuda.current_device()返回当前设备索引;params.device = torch.device(‘cuda’ if torch.cuda.is_available() else ‘cpu’)params.device = torc

2020-07-21 17:06:25 2020

原创 半监督学习

我们真的需要那么多标注数据吗?半监督学习技术近年来的发展历程及典型算法框架的演进文章中的重点获取高质量的有标注数据的成本非常高,有时候对于某些领域可能没有那么足够多的有标注的数据来辅助我们模型的训练,所以我们希望可以通过少量有标注的数据和大量无标注的数据也可以得到效果近似的模型,半监督的学习由此而来。核心问题:如何从无标签数据中获取学习信号来指导监督学习?如何平衡运用有标签数据和无标签数据各自的学习信号?如何选择无标签数据所得根据无标签数据增强得到的语句和原始的无标签语句得到的概率进行

2020-07-08 14:52:45 297

原创 初识文本分类

文本分类的认识传统的文本分类文本分类被拆分成特征工程和分类器两个部分文本预处理:指的是对数据集进行处理,去除掉一些无用的信息,如特殊字符,标点符号等等。特征提取:简单来说,就是在文本中提取与分类指标相关的关键词文本表示:就是把提取出来的文本特征转换成机器能理解的语言,传统做法常用词袋模型(BOW, Bag Of Words)或向量空间模型(Vector Space Model)分类...

2020-07-03 16:04:10 196

原创 最近要读的论文

1.Enhancing Pre-Trained Language Representations with Rich Knowledge for Machine Reading Comprehension2.Commonsense for Generative Multi-Hop Question Answering Tasks3.Dynamic Integration of Background Knowledge in Neural NLU Systems4.Explicit Utilizatio

2020-07-01 20:39:27 206

原创 【论文翻译】UNSUPERVISED DATA AUGMENTATION FOR CONSISTENCY TRAINING

用于一致性训练的无监督数据的增强摘要当数据的标签稀缺的时候,半监督学习在改善深度学习的模型上很有效果。在最近的方法中是利用大量的无标签数据去进行一致性训练使得模型的结果预测不受输入的噪声影响。在这项工作中,我们提出了一个观点,如何有效的干扰无标签的 例子,并且使这些由数剧增强产生的噪声保证质量,它们在半监督学习中扮演着重要的角色。通过用先进的数据增强方法代替简单的噪声处理,我们的方法在相同的一致性训练框架下,对6种语言和3种视觉任务都有了显著的改进。在IMDb文本分类的数据集中,仅仅使用了20条有标签的

2020-07-01 10:14:51 1120 1

原创 【论文笔记】Read + Verify: Machine Reading Comprehension with Unanswerable Questions

概述针对前人没有验证所抽取的答案是否合理,本篇论文提出了Read + Verify的结构,首先利用无答案阅读器提取候选答案并检测该问题是否无法回答。然后,它利用答案验证器进一步检查预测答案的合法性。一共分为两步:一个用于提取候选答案和验证无法回答问题的无答案阅读器一个用于决定提取的候选答案是否合法的答案验证器细节无答案阅读器:将有无答案和答案跨度抽取作为同一个任务进行训练,将答案跨度的打分和没有答案的概率进行softmax标准化,计算联合无答案的损失。同时,若无答案的概率超过某个阈值,我们就

2020-06-20 15:51:00 428

原创 KL散度

含义KL散度就是衡量两个概率差异性的一个指标,差异性越大,那么KL散度就越大。散度也叫做相对熵。公式如下:p(x)是实际的概率分布,q(x)是预测的概率分布,当两者完全一样的时候,散度为0。【注意】D(q||p)不一定等于D(p||q)...

2020-06-17 10:29:35 554

原创 【论文笔记】Distilling Task-Specific Knowledge from BERT into Simple Neural Networks

为什么引入Bert的蒸馏Bert在很多NLP上的效果都很不错,但是在落实在实际应用上,我们要考虑其所需要的内存空间和计算资源,Bert模型很大,相对来说计算量也很大,不适用于实时的任务当中。所以针对这个问题,我们对Bert模型提出了蒸馏,希望通过蒸馏将Bert的表征能力distill到小模型当中。【注】压缩模型的手段模型蒸馏 distillation用大模型学习到的知识去训练小模型,使小模型具有大模型的效果量化 quantization降低大模型的精度,减小模型剪枝 pruning去掉模型

2020-06-15 16:05:39 2293

转载 Nvidia-smi

2020-06-12 09:56:02 166

原创 liunx常用操作(陆续填充~)

创建文件mkdir file_name解压操作unzip file_name.zip有一次显示解压不成功,后面发现是压缩包没有下载全tar -zxvf file_name.tar.gz移动mv file_name.txt 想要移动到的目录文件夹举例: mv file_name.txt new_path删除文件rm file_name.txt...

2020-06-09 10:07:04 136

原创 【论文笔记】Distilling the Knowledge in a Neural Network

为什么出现知识蒸馏集成模型和预训练好的模型效果会很好,但往往都会需要很大的内存空间和计算资源,这样对应用于工业界非常的不友好。所以我们希望压缩模型,使得小模型也能具有和大模型同样好的效果。为了达到这个目的,提出了知识蒸馏的做法。蒸馏的概念知识蒸馏使用的是Teacher-Student模型,原模型为老师(知识的输出者),新模型为学生(知识的学习者),我们的目标是让新模型近似于原模型。知识蒸馏分为2个过程:1. 原模型的训练。原模型可能是参数多,结构复杂,也有可能为多个模型集合而成。先用hard ta

2020-06-05 15:50:30 346

原创 自然语言理解中的意图识别

概念通过分类的方式将句子(query)划分到相应的意图种类当中,判断其属于哪个领域的问题。意图识别的方法基于词典以及模版的规则方法不同的意图会有不同的领域词典 ,比如书名、歌曲名、商品名等。根据用户的意图和词典的匹配程度或者重合程度来进行判断。基于机器学习模型对用户意图进行判别通过机器学习和深度学习的方法,对已经标注好的领域语料进行训练学习,得到意图识别的模型。在经过测试集得到语料对应的分类。fastText快速文本分类模型1.快速训练和预测,适合用于工业界2.重要的优化:层序遍历和

2020-06-02 09:14:36 1998

原创 【论文笔记】Gated Self-Matching Networks for Reading Comprehension and Question Answering

概述本文提出了门机制和自匹配注意力机制。门机制:原先的做法是将得到的问题注意力向量和文本编码直接送入到RNN中得到新的融入问题的文本表示。但是考虑到文本中的每个词对于问题是有不同的重要程度的,引入了一个门机制,根据与问题的相关程度给文本每个词赋于不同的权重。然后把问题注意力向量和赋予权重后的文本表示送入RNN中得到新的融入问题的文本表示。自匹配注意力机制:self-attention和gate机制的融合对融入问题的新文本表示进行self-attention,加强文本内部之间的联系,并同理运用门机

2020-05-18 12:20:36 570

原创 word2vec的梳理

简介word2vec包含两个模型,跳字模型(skip-gram)和连续词袋模型(CBOW),以及两种高效的训练方法:负采样和层序softmax。模型CBOW 根据上下文的词来预测中心词分为三层:输入层:我们上下文窗口中包含的词举个例子:I like my new bike 这句话中,假设中心词my, I like 是上文词,new bike是下文词。 那么我们输入层对应的就是这四个词的...

2020-04-24 16:44:10 240

原创 【总结】数据结构

常见的数据结构数组、栈、队列、链表、树、散列表、堆、图数组数组在内存中的存储是连续,我们可以通过索引来查找元素。适用的场景:要预先知道数据量,数据量少,适合频繁查询的场景,对存储空间要求不大。总结起来就是寻址容易,插入和删除困难,需要移动大量元素。栈栈是一种特殊的线性表,它的特点就是先进后出适用的场景:可以用来逆序输出排列、用在数制转换以及括号匹配等队列队列也是特殊的线性表,他...

2020-04-14 15:34:05 141

原创 面试中的概率题(持续更新中)

概率题1.飞机上有100个座位,有100个乘客准备登机,每个乘客按顺序上飞机,但是第一个乘客喝醉了,随机挑了一个座位来坐。每个乘客的选座位规则:1)如果自己的座位没被坐,则坐自己的位置;2)如果自己的座位被坐了,则从剩下的座位中随机选一个来坐。则第100个人能做到自己座位的概率是?答案:1/2解析:面试中被问到的概率题2.甲乙射击比赛,单局甲胜率0.6,3局2胜和5局3胜两种赛制甲如何选择...

2020-03-18 18:46:04 1447

原创 面试bert相关知识总结(持续更新中)

简述 bertBert 是一个预训练语言模型,它主要有两个任务。第一个任务是将数据集中的句子随机遮掩一部分,通过训练,来预测这些词是什么,加强了句子内部之间的联系;第二个任务是判断两个句子是否是连续的上下句,通过训练来识别,加强了句子外部之间的联系。bert 的创新点在于它将双向 Transformer 用于语言模型,Transformer 的 encoder 是一次性读取整个文本序列,而不是...

2020-03-18 16:55:58 2539 2

原创 SVM

概念SVM(Support Vector Machine)是最大间隔分类器。简单来说,就是从众多的超平面中找到一个最好的超平面,能够分割两类。svm要最大化这个marginsvm有三宝:间隔、对偶、核技巧类别:hard margin svm:不允许有点落在间隔内,也就是说没有容错性soft margin svm允许有少数点出现在间隔之内,也就是有容错性。但是这...

2020-03-16 17:04:28 141

原创 机器学习面试题(一)

1.请简要介绍下SVMsvm是一个寻求最大间隔的分类器。它希望能在众多平面中找到一个可以很好划分数据的超平面,让离其最近的点到其的距离最大化。当数据线性可分的时候,用硬间隔svm,不允许有点出现在间隔之内(也就是划分错误的点);当数据近似线性可分的时候,用软间隔svm,允许少量点出现在间隔之内(也就是划分错误的点);当数据线性不可分的时候,通过使用核技巧及软间隔最大化,学习非线性支持向量机。2...

2020-03-15 16:18:36 812 1

原创 Bert实战--阅读理解(一)

bert做阅读理解SquadExampleclass SquadExample(object): def __init__(self, qas_id, question_text, doc_tokens, orig_answer_text=None, ...

2020-03-13 20:52:31 1747

原创 Focal Loss解读

普通的交叉熵函数例如:二分类的交叉熵010.30.7loss=-log0.7Focal Loss相较于标准的交叉熵函数,简单来说就是focal loss函数总共解决了两个方面的问题样本的类别不均衡,比如某个标签的种类数量特别多,而某个标签的数量又特别少。通过设定a的值来控制正负样本对总的loss的共享权重,对于数目多的样本我们分配小的权重。例如:...

2020-03-10 17:43:18 226

原创 【文本分类】TextCNN的实现

模型论文可以在这里找到Convolutional Neural Networks for Sentence Classification后面的实现参考文本分类实战(二)—— textCNN 模型因为用的自己的数据集,所以在此基础上做了一点点改动代码import osimport csv#import time#import datatimeimport randomimpor...

2020-03-07 20:11:14 786 1

原创 【论文笔记】Simple and Effective Multi-Paragraph Reading Comprehension

Simple and Effective Multi-Paragraph Reading Comprehension概述对于多段落的文章来说,我们主要有两种方法筛选出文章中最有可能包含答案的段落,然后将这个段落送入模型当中,最后得到答案的位置标签将文本每个段落都送入到模型当中,得到每个段落的答案位置并通过相关算法得到置信度的打分,选择分高的作为答案在这篇论文中提出了一种结合以上两种方...

2020-03-02 17:54:20 1141

转载 BERT-wwm、RoBERTa-wwm、SpanBERT、ERNIE2

BERT-wwm、RoBERTa、SpanBERT、ERNIE2BERT-wwm/RoBERTa-wwmwwm是Whole Word Masking(对全词进行Mask)。简单来说,原有基于WordPiece的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时,这些被分开的子词会随机被mask。 在全词Mask中,如果一个完整的词的部分WordPiece子词被mask,则同属该词的其他...

2020-03-01 19:37:24 2564

原创 阅读理解实战(二)

BIDAF基线模型模型介绍详细介绍可参考BiDAF-【论文笔记】模型的主要特点就是在于双向注意力流层的建立,考虑到问题到文本和文本到问题的两个方向的注意力计算。模型的输入:文本和问题模型的输出:通过point_net输出答案的开始和结束位置对应模型的每一层self._embed() #问题和文本的embeddingself._encode() #经过bi-lstm得到文...

2020-03-01 17:35:07 249

原创 阅读理解实战(一)

BIDAF基线模型基线系统实现数据集分析数据集是DuReader,特点是一个问题对应着多篇文章,我们要从多篇文章中抽取出正确的答案。一条训练数据样式如下:预处理这里使用的是训练好的sgns.wiki.word的词向量下载地址为sgns.wiki.word也可以建立词表,随机初始化词向量def prepare(args): """ checks data, cre...

2020-03-01 16:29:37 604

原创 词向量的认识

词向量在使用的一些认知粗浅的理解:词向量是很多任务的一个基础,一般我们都是如何获得词向量根据数据集,去除一些低频的词,然后根据剩余的词建立词表,然后按照给定的维度随机初始化得到一组向量,就是该词对应的词向量。在后续的神经网络训练中,词向量会随着训练过程而更新根据数据集自己训练,得到词向量,比如调用word2vec模型来训练语料加载别人预训练好的词向量+微调过程,简单来说,就是把被人的t...

2020-02-29 12:08:50 1577

转载 深度优先遍历和广度优先遍历

深度优先遍历类似于树的先序遍历的推广。过程:1.从图中某个顶点出发,访问该点2.然后选择该顶点旁边的某个未访问过的邻接点,访问它。然后把该邻接点作为一个新的顶点,继续访问该节点旁边的邻接点,以此类推,直至刚访问过的节点周边没有被访问过的邻接点为止3.回退一步,看上一步节点是否有未访问过的邻接点,若没有,继续回退到有未访问过的邻接点存在的节点为止,然后将其作为新的顶点继续4.重复以上步骤...

2020-02-21 18:33:22 174

原创 训练词向量实战

基于gensim训练中文词向量数据集下载中文维基百科数据[维基百科数据链接](https://dumps.wikimedia.org/zhwiki/),在该目录下选择最新的数据,我下载的是zhwiki-latest-pages-articles.xml.bz2创建环境conda install -n python35 python=3.5 #创建python35环境conda inst...

2020-02-21 11:08:12 433

原创 Bert实战--文本分类(一)

使用Bert预训练模型进行文本分类bert做文本分类,简单来说就是将每句话的第一个位置加入了特殊分类嵌入[CLS]。而该[CLS]包含了整个句子的信息,它的最终隐藏状态(即,Transformer的输出)被用作分类任务的聚合序列表示。下载bert预训练模型Google提供了多种预训练好的bert模型,有针对不同语言的和不同模型大小的。我们的任务是针对临床试验筛选标准进行分类,是中文模型,所以...

2020-02-20 15:05:44 4045 4

原创 bert模型学习随笔

bert 模型BERT的全称是Bidirectional Encoder Representation from Transformers,简单来说就是双向的transformer的编码。模型的结构模型的创新点预训练任务一Masked LM随机mask句子中的部分token,然后将masked token 位置输出的final hidden vectors送入softmax,来预测mas...

2020-02-20 11:05:33 352

原创 简单地读懂Bert代码

使用Bert预训练模型进行文本分类bert做文本分类,简单来说就是将每句话的第一个位置加入了特殊分类嵌入[CLS]。而该[CLS]包含了整个句子的信息,它的最终隐藏状态(即,Transformer的输出)被用作分类任务的聚合序列表示。下载bert预训练模型Google提供了多种预训练好的bert模型,有针对不同语言的和不同模型大小的。我们的任务是针对临床试验筛选标准进行分类,是中文模型,所以...

2020-02-19 21:20:54 523

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除