- 博客(21)
- 资源 (13)
- 收藏
- 关注
原创 nlp小样本实践
小样本是个工业界是个广泛存在的问题,领域内相关研究也非常多,不过众多研究未必都可以经受住业务的考验,本文主要结合工作业务探索一下相关技术的收益情况, 所选择的任务为文本分类,模型采用Roberta。
2022-09-29 21:20:26
908
原创 sense_embeddings
1. Introduction word Embedding方式虽然在很多NLP任务中都已经成为标配,但是这种方法不能很好的区分一词多义(polysems),因此近年来有很多关于Sense Embedding的研究。sense embedding技术要解决的一个突出问题就是meaning conflation deficiency,它希望通过直接建模单词的不同含义来缓解这种缺陷。目前,关于这个技术,有两种方向:unsupervised&knowledge-based。meaning conf
2021-09-30 14:23:40
276
原创 sense_embeddings
1. Introduction word Embedding方式虽然在很多NLP任务中都已经成为标配,但是这种方法不能很好的区分一词多义(polysems),因此近年来有很多关于Sense Embedding的研究。sense embedding技术要解决的一个突出问题就是meaning conflation deficiency,它希望通过直接建模单词的不同含义来缓解这种缺陷。目前,关于这个技术,有两种方向:unsupervised&knowledge-based。meaning conf
2021-09-29 15:45:00
354
原创 2020-06-05-pytorch调参
1. 学习率 非常重要,设得太大,模型会发散,直接崩了;过小,则一直震荡,无法跳出局部最优解。看这里来通过一定的手段学习最佳学习率。def find_lr(init_value = 1e-8, final_value=10., beta = 0.98): num = len(trn_loader)-1 mult = (final_value / init_value) ** (1/num) lr = init_value optimizer.param_group
2021-09-29 10:47:28
964
原创 聊聊chatbot那些事
1. 生活中的chatbot 现在社会,随着AI的迅猛发展,各种新技术层出不穷,大大改变了我们的生活,其中,有很多技术已经走入了我们的日常生活,比如CV领域的人脸识别 ,NLP 领域的智能助手等。本次,我们就来聊聊智能助手中会涉及到的技术,也就是chatbot。 chatbot,其实是有很多分类的,目前,最常见的是把它分为一下几类:Chit-Chat-oriented Dialogue Systems: 闲聊型对话机器人,产生有意义且丰富的回复。Task-oriented: 任务驱动类,
2021-09-29 10:46:26
2919
原创 RNN中的Teacher Forcing
1. 什么是Teacher Forcing Teacher Forcing(下面简称tf)是一种快速有效地训练递归神经网络模型的方法,这个方法名字听着很高端,其实应用非常简单,就是使用上一时间步的输入的groud truth作为输入,而取代了真实的目标输入。该技术广泛使用在了机器翻译,文本摘要,图像描述( image captioning)等,在训练递归网络时,tf可以加快模型的收敛速度以及提升模型的不稳定性。2.序列预测问题 我们实际生活中的很多问题都是序列问题,就拿我们熟悉的机器翻译来说,它对
2021-09-29 10:45:42
1012
原创 文本生成评价指标串串烧
1. 前言 语言与图像,作为当前AI领域的两大热门方向,吸引了无数研究人员的目光。相比于图像,语言有简单易得,数据易于收取,存储空间低等优点,不过,由于语言本身的特性,他还有时序复杂,句式多变等缺点,带来的后果就是相比于CV领域的迅猛发展,nlp的发展好像差了点意思。不过,随之近年来以transformer为开端的技术的发展,nlp也迎来了自己的大发展,尤其是随着1700亿参数的GPT-3的开源,其生成的文本的质量达到了惊人的地步(缺陷就是,该模型太大了,远非一般公司所能承受)。这就引出了我们想讨论的内
2021-09-29 10:45:01
781
原创 多轮对话模型漫游
1. 基于问答对的模型的缺陷 基于问答对的chatbot我们已经讨论过,不过,这种简单的模型用来玩玩是可以的,真要是更强的场景是不适用的,因为实际场景中,我们的对话轮次是多轮的,比如下面的对话场景:“哪家餐馆好吃?”“你想吃什么口味呢?”“火锅吧!”“好的,为你挑选一下火锅店…”… 上面的场景需要多次的对话才能确定意图,其意图的确定也是有依赖关系的,而简单的问答对则显然不会捕捉到这种依赖关系,所以其表达能力也弱。 现在,是时候进入更高层次的chatbot中了!2. 多轮对话 多轮
2021-09-29 10:44:22
1438
原创 用于提升多样性的Maximum Mutual Information算法
MMI:Maximum Mutual Information1. 背景 在传统的seq2seq领域,多样性问题一直是个令人困扰的问题,一个典型的例子就是bot领域,在回答的时候容易生成一些非常safe,grammatical的reply,比如“呵呵”,“I don’t know”之类,这些回答可以顺应人们的问题,但是基本没有太多实际的意义,试想,谁会使用一个问啥都说不知道的bot呢。 针对这个问题,有很多相关的研究,比如模型派倾向于通过复杂精妙的模型来提升diversity,也
2021-09-29 10:43:51
751
原创 自然语言处理中的embeddings
1. 背景 自2010年代初以来,嵌入一直是自然语言处理(NLP)的主流热词之一。将信息编码成低维向量表示,在现代机器学习算法中很容易集成,这在NLP的发展中起到了核心作用。嵌入技术最初集中在单词上,但很快就开始将注意力转移到其他形式上:从图结构,如知识库,到其他类型的文本内容,如句子和文档。 接下来,我们会从最初的one-hot开始,探索embddings在nlp领域的发展。2. 概览 在embeddings技术出现以前,nlp领域应用较多的是以one-ho
2021-09-29 10:42:51
2886
原创 memory network
1. 背景 记忆网络是一种最早提出于2014年的网络,这个网络与seq2seq有许多相似之处,不过有其特殊之处,该网络经过几年的发展,已经发展出了不少的新技术,本篇文章讲话对该类网络进行个较为详细的介绍。2. 方法历程2.1 memory networks 这个网络提出的背景是基于大部分的机器学习模型不能读和写一个long-term memory component的部分内容,并能与inference无缝结合,这种缺陷使得他们无法良好利用现代计算机的资源。 传统的深度学习模型(RNN、
2021-09-29 10:42:09
2731
1
原创 contextualized_embeddings
1. Introduction 语境词嵌入(contextualized word (CW) )是新一代词嵌入技术,它的突出特点就是词的表示对其所处的上下文具有敏感性,一个目标词的embedding可以根据他出现的上下文而变化,这些动态embeddings减轻了许多与静态词embeddings相关的问题,并为捕捉自然语言在上下文中的语义和句法属性提供了可靠的手段。语境化词嵌入尽管历史不长,但在几乎所有被应用的下游NLP任务中,都提供了显著的收益。 自被引入以来,预训练的word embeddings
2021-09-29 10:41:26
925
原创 transformer
1. Introduction 在transformer模型问世以前,序列建模任务最常用的模型就是sequence-to-sequence了,尤其是随着各种attention机制的加入,attention-based seq2seq模型获得了更好的性能从而得到了更广泛的应用。 不过RNN也有自己的问题:无法并行,导致训练偏慢句间依赖序列问题其实包括了三种依赖:源句子内部依赖 ,目标句子内部依赖,源句子与目标句子之间的依赖。这三种依赖关系对于从源句子到目标句子的转换都十分重要,而seq2
2021-09-28 15:14:48
266
原创 transformer变体
1. Introduction 在这篇博客,我们详细的介绍了transformer的结构,也介绍了transformer还存在的问题,接着本篇文章将会介绍关于transformer的多种改进,让我们了解一下更加丰富多彩的transformer结构。2.各种变体2.1 Universal transformers(UT) 提出于2018年,是transformer的后续工作,它的提出是为了解决transformer固有的非图灵完备性及缺少conditional computation的问题。 UT与
2021-09-28 15:14:18
1552
原创 nlp领域的巧妙trick
1. adaptive softmax ICML 2017文章,该方法的灵感来自于hierarchy softmax及其变体,通过一种近似策略来实现超大词典上的语言模型的有效训练。1.1 特点该算法的提出利用到了单词分布不均衡的特点(unbalanced word distribution)来形成将单词分成不同的类, 这样在计算softmax时可以避免对词汇量大小的线性依赖关系,降低时间复杂度;通过结合现代架构和矩阵乘积操作的特点,使其更适合GPU单元的方式进一步加速计算。1.2 提出动机
2021-09-28 15:13:40
504
原创 bert家族
1. introduction Bert,目前nlp领域神器级模型,诞生于2018年,全称Bidirectional Encoder Representation from Transformers。该模型在其诞生时,在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE基准推至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进率5.6%)等,引起了极大的轰动。经过2年的发展
2021-09-28 15:12:17
558
原创 subword系列算法
1. 前言 nlp领域目前已经发展到一个非常高的层次了,这个层次不仅仅是模型和数据方面,还涌现出了很多非常巧妙的trick,这篇文章就记录一下关于tokenization方面的工作。 所谓的tokenization其实就是将文本切分成words或者subwords,然后转成ids以便模型处理。最初的nlp分词非常简单,对于英语类以空格分割的语言来说,简单的以空格进行分割就行,不过这样简单的处理还存在一些问题,比如说*“Don’t you love ???? Transformers? We sure d
2021-09-28 15:11:26
795
原创 流畅chatbot采样
流畅chatbot采样1. introduction 这篇博客可以作为chatbot旅程的终点了,前面已经介绍了模型相关的工作,那么做完模型训练以后,剩下的就是生成了。要注意的是,模型生成的内容并不是和训练过程类似的,要想生成流畅且通顺的response还是需要一些额外的处理,这里会介绍一些生成相关的工作,以便让自己训练的模型有用武之地,毕竟,辛辛苦苦做出来的东西,能用且可用才是最让自己有成就感的。2. 生成方法2.1 greedy search 每次预测的时候选择概率最大的那个token,最
2021-09-28 15:10:00
547
原创 模型蒸馏探索(Bert)
1. 蒸馏是什么? 所谓的蒸馏,指的是从大模型(通常称为teacher model)中学习小模型(通常称为student model)。何以用这个名字呢?在化学中,蒸馏是一个有效的分离沸点不同的组分的方法,大致步骤是先升温使低沸点的组分汽化,然后降温冷凝,达到分离出目标物质的目的。那么,从大模型中,通过一定的技术手段,将原模型中的知识提取出来,这个过程很类似于物质分离,所以将其称为是蒸馏。2. 蒸馏方法2.1 Logit Distillation 深度学习巨头Hinton提出,是一篇开创性的工作
2021-09-28 15:07:53
64222
原创 文本生成方法梳理
nlp领域个人还是非常喜欢文本生成这个方向,现在大致梳理一下文本生成的相关问题。1. 文本生成方案 目前业界的文本生成方案主要有三种:(1)规则模板。典型的技术就是AIML语言。这种回复实际上需要人为设定规则模板,对用户输入进行回复。优点:1、实现简单,无需大量标注数据;2、回复效果可控、稳定。不足:1、如果需要回复大量问题,则需要人工设定大量模板,人力工作量大;2、使用规则模板生成的回复较为单一,多样性低。(2)生成模型。主要用encoder-decoder结构生成回复。典型技术是S.
2021-09-28 15:05:33
8092
1
原创 变分自编码器
layout: posttitle: 变分自编码器subtitle: Variational Autoencoderdate: 2021-03-13author: ODheader-img: img/post-bg-ios9-web.jpgcatalog: truetags:- vae- generative model变分自编码器 变分自编码器(vae)这个东西知道很久了,不过一直理解不是很深刻,现在总结一下查阅到的文档,同时记录一下自己.
2021-09-28 15:00:56
208
OpenGL开发库(含VC和VS配置方法)
2017-10-09
推荐系统实践
2017-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人