自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PyTorch正则化和批标准化

偏差是指在所有训练数据上训练得到的模型性能和在真实数据上表现的差异,方差是指模型在训练集和验证集(测试集)上的差异,方差重点在于不同数据集;噪声则是指给定的数据集(其可能存在噪声),那么当前数据集的数据质量已经决定了学习性能的上限,学习的目标就是尽可能的接近这个上限。

2023-03-09 23:05:24 734 1

原创 Pytorch优化器Optimizer

pytorch的优化器:管理并更新模型中可学习参数的值,使得模型输出更接近真实标签

2023-03-09 22:58:40 2099 1

原创 pytorch权值初始化和损失函数

可以发现,w2的梯度与H1(上一层网络的输出)有很大的关系,当h1趋近于0时,w2的梯度也趋近于0,当h1趋近于无穷大时,w2的梯度也趋近于无穷大。一旦发生梯度消失或梯度爆炸,那么网络将无法训练,为了避免梯度消失或梯度爆炸的出现,需要控制网络输出值的范围(不能太大也不能太小)

2023-03-09 22:54:05 597

原创 PyTorch的自动微分(autograd)

torch.Tensor 是包的核心类。如果将其属性 .requires_grad 设置为 True,则会开始跟踪针对 tensor 的所有操作。完成计算后,您可以调用 .backward() 来自动计算所有梯度。该张量的梯度将累积到 .grad 属性中。

2023-03-09 22:43:20 1165

原创 关于Pytorch中的张量学习

Tensor是pytorch中非常重要且常见的数据结构,相较于numpy数组,Tensor能加载到GPU中,从而有效地利用GPU进行加速计算。但是普通的Tensor对于构建神经网络还远远不够,我们需要能够构建计算图的 tensor,这就是 Variable。Variable 是对 tensor 的封装,主要用于自动求导。

2023-03-09 22:40:36 630

原创 Git简单使用

工作区(Working Directory):指的是在电脑里能看到的目录,即本地工作目录;暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。;版本库(Repository):.git目录, Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

2023-03-09 22:37:26 304

原创 一篇基于深度学习的命名实体识别技术的研究报告

本篇文章主要是自己刚接触NER领域时,研读这篇《 A Survey on Deep Learning for Named Entity Recognition 》NER综述论文时翻译的中文版,这篇综述时间是2020年,可能近两年的部分成果暂未包含,很多内容是通过百度翻译直接翻的,部分内容进行了一定的调整。有少部分内容省略了,具体可以参考原论文,所有涉及的文献引用也请参考原论文。

2023-01-25 14:10:38 2182

原创 CLUE命名实体识别

本文介绍了如何利用UER-py工具包进行命名实体识别,以CLUE数据集作为实验数据集,手把手教你如何实践。

2023-01-25 13:22:14 1090 1

原创 深度学习超参设置的一般性方法

建议先参考相关论⽂,以论⽂中给出的参数作为初始参数。 ⾄少论⽂中的参数,是个不差的结果。

2023-01-25 13:15:56 718 1

原创 Out of Vocabulary处理方法

我们在NLP任务中一般都会有一个词表,这个词表一般可以使用一些大牛论文中的词表或者一些大公司的词表,或者是从自己的数据集中提取的词。但是无论当后续的训练还是预测,总有可能会出现并不包含在词表中的词,这种情况叫做Out of Vocabulary。

2023-01-25 13:11:45 1216

原创 文本摘要生成的评估指标

这里的N就是指的n-gram,n=1时叫ROUGE-1(也叫Unigrams);n=2时,叫ROUGE-2(也叫Bigrams);n=3时,叫ROUGE-3(Trigrams)。

2023-01-25 13:06:16 1053

原创 NLG采样策略

因为模型生成时,一定程度上依赖于已经生成的句子,所以一味的选取概率最大的,可能会使句子的生成陷入不断地重复循环中,所以针对beam search这些特点,为了可以生成更多样化的句子(引入一定的随机性)又不偏离主题,以下几种采样策略被研究者提出。

2022-12-12 22:31:37 660

原创 NLG解码策略

seq2seq模型最后经过一个softmax层,在每个时间步均得到一个词表大小的概率分布,如何利用这些概率分布得到最终的预测句子就是本节学习的解码策略。

2022-12-12 22:22:05 405

原创 构建文本摘要Baseline并且开始训练

首先利用上一节seq2seq实践中,封装的encoder、decoder和attention,集成到此模型中来,另外就是增加了一个训练技巧–teacher forcing。

2022-12-12 22:10:52 419

原创 使用tensorflow实现seq2seq

上篇文章记录了seq2seq和attention机制的基本原理,这篇文章趁热打铁看看如何自己写代码实现。

2022-12-12 22:07:04 655

原创 Seq2Seq基本原理

在seq2seq结构中,通常将整个模型分为encoder和decoder两个核心组件,连接两个组件的就是context vector,即Encoder组件生成的上下文向量。

2022-12-12 22:04:45 780

原创 Word2Vec 实践

本博文主要介绍借助 gensim 库实现Word2Vec,并且基于文本摘要任务的Word2Vec的数据预处理和训练过程,以及后续词向量的保存和加载。

2022-11-26 15:57:22 1520

原创 Word2Vec

word vector的核心思想:为每个单词构建一个密集向量,选择后的向量与出现在类似上下文中的单词向量相似。注:word vectors 也叫 word embeddings 或者 (neural) word representations,它们是分布式表示的。

2022-11-26 15:50:10 1157

原创 LSTM和GRU

主要介绍LSTM和GRU的基本原理和简单实现,以及RNN、LSTM和GRU之间的区别。

2022-11-26 15:07:39 1694

原创 理解循环神经网络

理解循环神经网络的基本原理和计算过程,以及使用tensorflow实现RNN的基本方法。

2022-11-26 14:58:04 1227

原创 TextRank算法实践

PageRank算法主要用于给互联网网页排序,根据网页之间的跳转来构造一个初始权重矩阵(转移矩阵),默认每个网页质量都是1;TextRank算法的思想主要源于PageRank算法,给句子排序从而从原文本中抽取出摘要。

2022-11-26 14:46:10 1233

原创 BERT finetune

本文的主要内容是基于huggingface transformer的chinese-bert-wwm模型,在自己的语料集上进行finetune的整体步骤和代码实现。

2022-10-15 13:15:56 1492

原创 Whole Word Masking (wwm)

在BERT中,原有基于WordPiece的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时,这些被分开的子词会随机被mask。 在全词Mask中,如果一个完整的词的部分WordPiece子词被mask,则同属该词的其他部分也会被mask,即全词Mask。

2022-10-15 13:13:40 1984

原创 利用huggingface-transformers进行命名实体识别

Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。

2022-10-15 13:09:57 1905 1

原创 遗传算法-GA

遗传算法的基本思想可归为三点:1)遗传:子代总是和亲代相似。2)变异:子代和亲代有某些不相似的现象。3)选择:具有精选的能力,它决定生物进化的方向。

2022-09-21 21:40:03 1455

原创 无监督学习--聚类算法

聚类算法是一种无监督学习算法,监督学习指的是我们的训练数据有一系列标签,我们通过假设函数去拟合它,而在无监督学习中,我们的数据不带有任何标签

2022-09-21 21:29:31 5654 1

原创 感知机与BP算法

M-P神经元模型:输入:来自其他n个神经元传递过来的输入信号(特征值);处理:输入信号通过带权重的连接进行传递, 神经元接受到总输入值将与神经元的阈值进行比较;输出:通过激活函数的处理以得到输出

2022-09-21 21:21:33 2120

原创 决策树主要原理

1、决策树是一种分类器,是一个有向、无环树。2、树中根节点没有父节点,一个节点可以有1-2个或者没有子节点。3、每个叶节点都对应一个类别标识C的值;每个内部节点都对应一个用于分割数据集的属性Xi,称为分割属性;每个内部节点都有一个分割判断规则qj。4、节点n的分割属性和分割判断规则组成了节点n的分割标准。

2022-09-20 22:39:50 9520 1

原创 贝叶斯分类(朴素)

贝叶斯分类(朴素)• 是一种统计学分类方法• 可以用来对一个未知的样本判定其属于特定类的概率• 分类模型是在有指导的学习下获得• 分类算法可与决策树和神经网络算法媲美• 用于大型数据库时具有较高的分类准确率和高效率。

2022-09-20 22:27:29 1982

原创 关联规则--Apriori算法

啤酒与尿布的故事:在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻的父亲们中,有30%~40%的人同时要买一些啤酒。超市随后调整了货架的摆放,将尿布和啤酒放在一起,因此,明显增加了销售额。

2022-09-20 22:20:23 20007 3

原创 使用HanLP进行分词和实体抽取

本文记录使用HanLP进行分词和实体抽取的学习过程,包括模型加载、分词和自定义词典、实体抽取和自定义实体词典等步骤。

2022-07-16 15:44:19 4584

原创 关于神经网络的一些调参经验

关于神经网络的一些调参经验以下经验均是个人实践过程中总结得到的,不成系统,一点拙见~训练损失不下降关于训练损失不下降,根据我的一些经验和理论知识,可以从以下角度来分析首先,从数据集来分析:是否数据集存在比较多的标注错误?针对类似分类的项目,是否数据集分布不均衡,某些类别的样本数量太少?数据集特征不明显,举个验证码的例子,很多字符类的验证码,为了不让别人破解,会加上背景、斑点和干扰线等,如果这些干扰元素影响很大,人类肉眼分辨都存在难度,那直接丢给神经网络学习也是很难的,你需要想办法去除干扰元素

2022-05-05 17:50:09 4092 4

原创 CRNN项目实战

CRNN项目实战之前写过一篇文章利用CRNN进行文字识别,当时重点讲的CRNN网络结构和CNN部分的代码实现,因为缺少文字数据集没有进行真正的训练,这次正好有一批不定长的字符验证码,正好CRNN主要就是用于端到端地对不定长的文本序列进行识别,当然是字符和文字都是可以用的,所以这里进行了一次实战。主要是参考github项目:https://github.com/meijieru/crnn.pytorch关于lmdblmdb安装首先关于lmdb这个数据库,python有两个包,一个是lmdb,另一个是

2022-05-05 17:43:22 5392 29

原创 使用Pytorch-Yolov3识别滑动验证码

上一篇介绍了keras版本的yolov3项目使用经验,这一篇是pytorch版本的。前言本文主要的参考资料和github项目如下:Could not find the Qt platform plugin windows错误解决方法:https://blog.csdn.net/DonetRen/article/details/106437538pytorch版yolov3训练自己数据集:https://www.cnblogs.com/pprp/p/10863496.htmlhttps://bl

2022-04-29 18:31:36 863

原创 使用Keras-yolov3来识别滑动验证码

深度学习目标检测破解滑动验证码前言本文主要参考以下文章:利用深度学习识别滑动验证码缺口位置利用深度学习 PyTorch 识别滑动验证码缺口这两篇文章都是同一位大佬所写,第一篇是利用华为云的一个深度学习平台做的(无需做任何编码工作),第二篇是通过PyTorch来做的,要自己代码实现。我这里主要参考第二篇文章,也直接在这里把作者使用到github项目列出来:标注工具labelImgPyTorch-YOLOv3作者自己的破解项目因为我在次之前接触过一点Keras,还没有接触过PyTorch,所以

2022-04-29 18:13:09 1171

原创 字符验证码识别干扰线处理

Python的PIL库python imaging library是Python平台的图像处理标准库,我们在图像处理时不仅可以使用opencv,PIL也是可以的。from PIL import Image# 打开图片img = Image.open("123.jpg")# 获取宽、高width, height = img.size()# 获取像素值r, g, b = img.getpixel((15, 9))# 保存图片img.save('456.png')PIL还可以做图片剪裁,

2022-04-28 20:58:15 4763

原创 使用Pytorch识别字符验证码

使用Pytorch识别字符验证码之前已经学习过利用Keras搭建神经网络模型来识别字符验证码,相关的文章:字符验证码识别之数据预处理涉及图像预处理和标签处理等操作字符验证码识别之模型构建涉及模型构建以及训练过程。近期又学习了pytorch实现卷积神经网络相关的技术,正好遇到一个验证码识别的需求,所以尝试使用pytorch来实现。数据预处理要训练的验证码如下所示:其为中文汉字的简单运算,实际上仅包括零壹贰叁肆伍陆柒捌玖加减乘等于,这15个汉字,等于可以不识别(其实识别也完全没问题,只不过问

2022-04-28 20:08:13 3414

原创 Linux 常用命令

Linux shell命令vim程序编译器vi分为3种模式,分别是一般命令模式,编辑模式与命令行模式。一般命令模式:以vi/vim打开一个文件就直接进入一般命令模式,在该模式下可以进行光标移动、复制、粘贴、删除操作。编辑模式:在一般命令模式下,输入【i、o、a、r】(大写也可),进入编辑模式。按【ESC】键回到一般命令模式。命令行模式:在一般命令模式下,输入【: / ?】中的任何一个,进入到命令行模式,光标会移动到最下面一行,可以进行读取、保存、批量替换字符、退出vi、显示行号等操作。

2022-04-26 22:58:10 1197

原创 KNN分类算法实践

KNN分类算法KNN是机器学习种最简单的分类算法,而图像分类也是图像识别种最简单的问题,所以这里使用KNN来做图像分类,帮忙大家初步了解图像识别算法。KNN(K-NearestNeighbor),即K-最近邻算法,顾名思义,找到最近的k个邻居,在前k个最近样本(k近邻)中选择最近的占比最高的类别作为预测类别。KNN算法的计算逻辑:给定测试对象,计算它与训练集中每个对象的距离;圈定距离最近的k个训练对象,作为测试对象的邻居;根据这k个近邻对象所属的类别,找到占比最高的那个类别作为测试对象的预测类

2022-04-26 22:51:11 2327

原创 浏览器调试功能介绍

浏览器调试功能介绍平时我们在做爬虫的过程中,经常会遇到一些带有js加密的网站,想要破解js,学习使用浏览器的调试功能是必不可少的技能,这篇文章简单讲下如何使用Chrome浏览器的调试功能(主要指Source调试),并且后面简单使用几个例子进行了演示。Source面板首先来看一下Source面板,我这里将其分为四个部分:接下来分别简单讲下这四个部分。第一部分:Page:已加载的全部资源,以域名划分文件夹,ctrl+p进行搜索;Filesystem & Overrides:

2022-04-26 22:33:20 2222

空空如也

空空如也

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

TA关注的人

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