![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NLP
文章平均质量分 80
沐兮Krystal
这个作者很懒,什么都没留下…
展开
-
【知识积累】准确率,精确率,召回率,F1值
准确率,精确率,召回率,F1值的简单易懂的介绍;多分类的情况;宏观和围观的情况。原创 2023-09-04 10:33:05 · 396 阅读 · 0 评论 -
【论文阅读】通过解缠绕表示学习提升领域泛化能力用于主题感知的作文评分
本文工作聚焦于从领域泛化的视角提升AES模型的泛化能力,在该情况下,目标主题的数据在训练时不能被获得。- 本文提出了一个主题感知的神经AES模型(PANN)来抽取用于作文评分的综合的表示,包括主题无关(prompt-invariant)和主题相关(prompt-specific)的特征。- 为了提升表示的泛化能力,我们进一步提出了一个新的解缠绕表示学习框架(disentangled representation learning)。在这个框架中,设计了一个对比的模长-角度对齐策略(norm-angula原创 2023-07-28 19:16:03 · 1634 阅读 · 1 评论 -
【论文阅读】聚集多个启发式信号作为监督用于无监督作文自动评分
- 本文提出一个新的无监督的AES方法ULRA,它不需要真实的作文分数标签进行训练;- ULRA的核心思想是使用多个启发式的质量信号作为伪标准答案,然后通过学习这些质量信号的聚合来训练神经自动评分模型。- 为了将这些不一致的质量信号聚合为一个统一的监督信号,我们将自动评分任务视为一个排序问题,并设计了一种特殊的深度成对排名聚合(DPRA)损失函数进行训练。- 在DPRA损失中,我们为每个信号设置了一个可学习的置信权重来解决信号间的冲突,并且以成对的方式训练神经AES模型以解开部分排序对之间的级联效应。原创 2023-07-18 17:25:13 · 1117 阅读 · 1 评论 -
【迁移学习】分布差异的度量以及迁移学习的统一表征方法
在文本分类中,由于文本数据有其**领域特殊性**,因此,在一个领域上训练的分类器,不能直接拿来作用到另一个领域上,这就需要用到迁移学习。**结构风险最小化**是统计机器学习中一个非常重要的概念。- SRM准测要求模型在你和训练数据的基础上,也要具有相对简单的复杂性(较低的VC维。领域(Domain)是学习的主体,主要由两部分构成: 数据 和 生成这些数据的概率分布。样本权重迁移法;特征变换迁移法;模型预训练迁移法。原创 2022-11-21 17:39:20 · 2934 阅读 · 1 评论 -
【Tensorflow】使用Tensorflow自定义模型和训练
Tensorflow的核心与NumPy非常相似,但具有GPU支持;Tensorflow支持分布式计算(跨多个设备和服务器)。Keras的底层API;定制模型和训练算法;自定义损失函数;保存和加载包含自定义组件的模型;自定义激活函数、初始化、正则化和约束;在每个训练步骤中,权重将传递给正则化函数,以计算正则化损失,并将其添加到主要损失中得到用于训练的最终损失。自定义指标原创 2022-11-15 20:00:38 · 1482 阅读 · 0 评论 -
使用BERT来进行作文自动评分:多规模文本表示的联合学习
- 在AES领域,预训练的语言模型没有被很适合地应用,来超过比如LSTM之类的深度学习方法。- 本文介绍了一个新的基于BERT的多规模的文本表示模型,它能够被联合学习。我们也应用了多损失和来自其他领域文章的迁移学习来进一步提升性能。- 本文的方法在ASAP数据集上取得了state-of-the-art的结果,并且提出的多规模文本表示在CRP数据集上的泛化结果也很好。原创 2022-11-08 20:10:47 · 1620 阅读 · 1 评论 -
【Keras】AveragePooling1D层和GlobalAveragePooling1D层
- 平均池化用于时序数据。- 下采样输入表示,通过对被定义为pool_size的窗口取平均值。窗口根据步长strides进行切换。- 当使用"valid" (padding)填充选项时,结果的输出的形状为:output_shape = (input_shape - pool_size + 1) / strides)inputs:一个三维的tensor。- mask:二元的tensor,它的shape是(batch_size, steps),表明给定的step是否应该被masked(也就是从平均值里剔原创 2022-11-01 20:35:08 · 1786 阅读 · 0 评论 -
【论文阅读】基于整合项目反应理论(IRT)的深度神经网络的解析自动作文评分
作文考试一直以来作为一种衡量应试者的更高等级的能力的方式吸引大家的注意,但是目前在对他们进行评分评定等级的时候有两个主要的缺陷,一是人力成本昂贵,二是存在公平性的问题。作为一种克服这些困难的方式,自动作文评分(AES)有着持续的需求。- 大多数现有的模型被设计为只是预测一个单一的整体分数。但是,在实际应用场景下如果要提供更加细致的反馈,我们不仅需要整体的分数,还需要**对应于文章的不用方面的解析分数**。- 卷积模型被设计为对每个解析分数都有着复杂的神经架构,这使得解释分数的预测非常的困难。原创 2022-10-25 19:48:37 · 984 阅读 · 0 评论 -
【Tensorflow】使用字符RNN生成莎士比亚文本
研究如何构建Char-RNN。将每个字符编码为整数。一种选择是创建自定义的预处理层。首先,我们需要为文本添加一个分词器;使用文本的前90%作为训练集(其余部分保留为验证集和测试集);Window()方法创建一个包含窗口的数据集;使用独热向量对每个字符进行编码;创建和训练Char-RNN模型;使用有2个GRU层的RNN。输出层是一个时间分布的Dense层,该层要有39个单元,将softmax应用于Dense层的输出。原创 2022-10-24 16:24:01 · 461 阅读 · 1 评论 -
【Keras】各个优化器的介绍与使用(动量优化,Nesterov, AdaGrad,RMSProp,Adam和Nadam优化)
动量优化;动量优化将沿着山谷滚得越来越快,知道达到谷底(最优解)。Nesterov加速梯度(Nersterov Accelerated Gradient,NAG)也称为Nesterov动量优化,它不是在局部位置$\theta$,而是在$\theta+\beta m$处,沿动量方向稍微提前处,测量成本函数的梯度。AdaGrad算法通过沿着最陡峭的维度按比例缩小梯度向量来实现,更早地纠正其方向。RMSProp算法通过只是累加最近迭代中的梯度(而不是自训练开始以来的所有梯度),通过在第一步中使用指数衰减来实现;A原创 2022-10-22 16:59:48 · 1489 阅读 · 0 评论 -
【Keras】重用预训练层
找到一个现有的与要解决的任务相似的神经网络,重用该网络的较低层,此技术称为迁移学习;用Keras进行迁移学习;假设Fashion MNIST数据集上仅包含8个类别(出来凉鞋和衬衫之外的所有类别),有人在该数据集上建立并训练了Keras模型,称为模型A。冻结或解冻层之后,总是要编译模型。训练模型几个轮次,然后解冻重用的层;在辅助任务上训练第一个神经网络,这个辅助任务中你可以轻松得为其获得或生成标记的训练数据,然后对实际任务重用该网络的较低层。第一个神经网络将学习特征检测器,第二个神经网络可能会重用这些特征检测原创 2022-10-20 20:19:53 · 457 阅读 · 0 评论 -
【神经网络】梯度消失与梯度爆炸问题
Glorot 和 He 初始化;我们需要信号在两个方向上正确流动:进行预测时,信号为正向;在反向传播梯度时,信号为反向。非饱和激活函数;ReLU函数的变体,例如leaky ReLU。使用激活函数,通常 SELU>ELU>Leaky ReLU(及其变体)>ReLU>tanh>logistic。2015年提出一种称为批量归一化(BN)的技术来解决梯度消失/梯度爆炸问题。该操作可以使模型学习各层输入的最佳缩放和均值。用Keras实现批量归一化;在每个隐藏层的激活函数之前或之后添加一个BatchNormalizat原创 2022-10-19 11:12:53 · 931 阅读 · 0 评论 -
【实验】主题建模工具BERTopic的安装及使用过程中的报错解决方案
手动安装主题建模工具BERTopic;注意.whl文件需要修改名字;FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\\Users\\pangu/.cache\\torch\\sentence_transformers\\sbert.net_models_all-MiniLM-L6-v2';requests.exceptions.SSLError: HTTPSConnectionPool(host='huggingface.co', port=443):原创 2022-10-17 16:48:27 · 2430 阅读 · 2 评论 -
【论文阅读】BERTopic:采用一个基于类的TF-IDF流程进行神经网络的主题建模
主题模型对于在文档的集合中发现潜在的主题非常有用。近期的研究已经展示了主题建模方法作为一个聚类任务的可行性。本文展示了BERTopic,它是一个话题模型,它通过对一个基于类的TF-IDF的变体的开发,抽取一致的话题表示。具体来说,BERTopic采用预训练的基于transformer的语言模型来产生文档的嵌入,对这些文档嵌入进行聚类,并最后利用基于类的TF-IDF过程来**产生话题的表示**。BERTopic 产生一致的话题,并且在有关的经典模型,以及最近的聚类方法的多种多样的基准中,原创 2022-10-16 20:47:30 · 3157 阅读 · 4 评论 -
【Keras】微调神经网络超参数
使用 GridSearchCV 或 RandomizedSearchCV 来探索超参数空间。深层网络可以使用更少的神经元对复杂的函数进行建模。现实中的数据通常以层次结构进行构造;找到一个好的学习率的方法是:对模型进行数百次迭代训练,从非常低的学习率(例如10-5)开始,然后并逐渐将其增加到非常大的值;ReLU激活函数是所有隐藏层的良好的默认设置。原创 2022-10-16 16:39:51 · 915 阅读 · 0 评论 -
【论文阅读】EssayGAN:基于生成对抗网络的数据增强用于自动作文评分
构建一个基于AES的深度学习系统,需要一个包含人为打分的训练数据集。本文介绍了EssayGAN,一个**基于生成对抗网络的自动文章生成器**。为了生成打分了的文本,EssayGAN有每个分数范围对应的生成器以及一个鉴别器。每个生成器致力于一个特定的分数,并且生成打分为该分数的文本。这样,生成器能够只关注于产生一个看起来实际可行的文章,这个文章能够欺骗鉴别器,使得鉴别器不用考虑目标分数。尽管普通文本的生成对抗网络(GANs)基于词来产生文本,EssayGAN基于句子来产生文本。原创 2022-10-11 14:53:50 · 1220 阅读 · 4 评论 -
【PyTorch】生成对抗网络GAN入门
如何训练生成器: 如果图像通过了鉴别器的检验,我们奖励生成器; 如果伪造的图像被识破,我们惩罚生成器。这种架构叫做生成对抗网络(Generative Adversarial Network, GAN)。它利用竞争来驱动进步,并且,我们不需要定义具体的规则来描述要编码到损失函数中的真实图像,相反,我们让GAN自己来学习什么是真正的图像。生成1010格式规律原创 2022-10-09 20:25:59 · 809 阅读 · 0 评论 -
【PyTorch】CUDA基础知识
为了追求更快的速度,机器学习研究人员开始利用一些计算机中的特殊硬件。这些硬件原本是用来提升图形处理性能的,叫做显卡。显卡中包含一个GPU,它能够以高度并行化的方式实现矩阵乘法。在很长一段时间,英伟达(NVIDIA)的GPU市场份额一直保持领先。他们有一套成熟的软件工具,可以充分利用硬件加速。这套软件框架就是CUDA。MVIDIA的竞争对手是AMD。在简单的基准测试中,GPU的速度超过CPU 150倍。原创 2022-10-08 11:11:28 · 1229 阅读 · 0 评论 -
【PyTorch】PyTorch神经网络实战入门
我们使用由谷歌提供的Colab免费服务,在谷歌的服务器上运行代码。将一行像素值转换成实际图像来直观地查看一下。构建神经网络类,以下为一个名为Classifier的类,它继承了nn.Module。使用损失来更新网络的链接权重替代方案是**Adam**,它利用动量的概念,减少陷入局部最小值的可能性,同时,它对每个可学习的参数使用单独的学习率原创 2022-10-08 10:07:09 · 988 阅读 · 0 评论 -
【论文阅读】自动作文评分系统:一份系统的文献综述
- 许多研究者在过去的几十年间都在致力于自动作文评分和简答题打分,但是通过像与提示之间的内容的相关性、思想的发展性、文章内聚力、文章连贯性等来评估一篇文章,到目前为止都是一项挑战。- 很少的研究者聚焦于基于内容的评分,他们中的大多数都强调基于风格的评分。- 我们观察到在内容和连贯性(coherence)方面对于文章评分的研究还没有完善。原创 2022-10-04 16:37:52 · 3802 阅读 · 2 评论 -
【深度学习】Keras人工神经网络简介(理论+实战)
感知器是最简单的ANN架构之一,它基于阈值逻辑单元(TLU)。信号仅沿一个方向(从输入到输出)流动,以下架构是前馈神经网络(FNN)的示例。创建一个隔离的Python环境:如果创建了virtualenv,则需要注册到Jupyter,并给它一个名字;创建一个Sequential模型(仅由顺序连接的单层堆栈组成,称为顺序API)原创 2022-10-03 15:08:53 · 1121 阅读 · 0 评论 -
【论文阅读】Bag of Tricks for Efficient Text Classification
这篇论文探索了一个简单有效的文本分类的baseline。实验表明快速文本分类器 fastText 与深度学习分类器在准确度方面等价,并且训练和评估过程要快。他们能够用不到10分钟训练 fastText 在超过10亿个单词上,并且用不到1分钟分类50万的句子在312000个类别上。原创 2022-09-15 10:07:27 · 281 阅读 · 1 评论 -
【NLP】多语言预训练模型(mBERT和XLM)
融合多语言的预训练模型将不同语言符号统一表示在相同的语义向量空间内,从而达到跨语言处理的目的。它能够将多种语言表示在相同的语义空间中。通过HuggingFace提供的transformers库:使用区分大小写的多语言BERT-base模型(bert-base-multilingual-cased),任务为掩码填充,即将输入的[MASK]填充为具体的标记。语言自身存在混合使用,共享子词等特点:XLM采用基于双语句对的 翻译语言模型 (Translation Language Modeling, TLM)原创 2022-07-01 13:12:48 · 3984 阅读 · 0 评论 -
【深度学习入门】PyTorch基础
PyTorch是一款基于自动微分且越来越流行的神经网络框架。首先,手动初始化Tensor:像处理ndarray一样,可以通过将其中包含的数据简单地包装在torch.Tensor中来初始化Tensor。当用这种方式初始化Tensor时,必须传递require_grad = True的参数,来告诉Tensor累积梯度。执行计算:如示例,一旦对计算的输出调用backward方法,就可以自动正确计算梯度。PyTorchLayer类可以写成如下形式:PyTorchModel类可以写成如下形式:...原创 2022-06-29 20:53:36 · 906 阅读 · 0 评论 -
【深度学习入门】构建和训练线性回归模型
使用链式法则为嵌套函数计算导数涉及两个步骤:Step1:执行前向传递,通过一系列输入连续向前传递,并保存计算所得的量;Step2:使用这些量在后向传递期间计算导数。(以下代码使用带有类型签名的函数,python3版本开始提供类型标记)这个函数可以预测,还可以根据给定的观测数据XbatchX_{batch}Xbatch及其对应的目标ybatchy_{batch}ybatch计算损失值。(Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。)这里的后向原创 2022-06-29 06:48:23 · 687 阅读 · 0 评论 -
【神经网络入门】损失函数与mini-batch学习
交叉熵误差(cross entropy error)如下式:yky_kyk是神经网络的输出,tkt_ktk是正确解标签,该式计算了正确解标签输出的自然对数,也就是说,交叉熵误差的值是由正确解标签所对应的输出结果决定的。用代码实现:参数yyy和ttt是NumPy数组。加上微小值,防止np.log(0)变为负无限大导致后续计算无法进行。...原创 2022-06-28 18:25:08 · 770 阅读 · 0 评论 -
【神经网络入门】前向传播:激活函数和输出层设计
转换器,进行信号的转换,转换后的信号传送给下一个神经元。用图来表示阶跃函数:该函数能支持NumPy数组。(NumPy的广播功能)sigmoid的平滑性对神经网络的学习具有重要意义。感知机中流动的是0或1的二元信号,而神经网络中流动的是连续的实值信号。神经网络可以用在分类和回归问题上,不过需要根据情况改变输出层的激活函数。一般而言,回归问题用恒等函数,分类问题用softmax函数。...原创 2022-06-28 16:55:33 · 647 阅读 · 0 评论