自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于bert中softmax前除以维度d的理解

这几乎是bert中的一个必考点,网上有很多大神讲的已经非常细致了,那我从另一个角度分享下自己的理解。小王出品:必接地气。首先我们看下原论文的解释:We suspect that for large values of dk,the dot products grow large in magnitude,pushing the softmax function into regions where it has extremely small gradients.To counteract th...

2021-04-23 11:10:45 1073 1

原创 神经网络权重初始化为0?

好多的解释都比较深奥。。。我来个比较浅显的吧。。。希望没说错。

2021-04-13 11:02:22 715 1

原创 Seq2Seq + Attention 笔记图 一目了然

在nlp中,常见的attention有3种,后续专题给出介绍,这里的attention使用的是:softmax(w*[Q, K]+b) * V的形式。

2021-01-14 10:58:52 218

原创 Soft-Masked-Bert网络细节解读

大家好,我是隔壁小王。Soft-Masked-Bert是复旦大学和字节跳动联合发布的在bert基础上针对文本纠正的网络模型,这里对其细节进行一个梳理。考虑到我另外一个网络中有讲过bert的细节,因此这里姑且把bert作为一个黑盒,详细介绍下smbert相比与bert改动的部分。首先上图:别看它这个图挺唬人,其实改动非常简单,该网络主要加入的是一个错别字的检测网络部分也就是图中的Detection Nerwork。假设输入的句长是128,embedding后的维度是768,batchs

2020-11-04 10:10:01 2449 13

原创 深度学习中Normalization方法们的经验总结

什么是Normalization其实归一化和标准化都是这个词,原始的归一化是这个样子的:然后可以适当的加一个线性的变换:原始的标准化是这个样子的:u是均值,分母是标准差,标准差就是xi与均值u差的平方和除以n再开根号。然后也可以再加一个线性变换:归一化和标准化的作用和区别在很多情况下,归一化和标准化的效果区别不是很大。他们两者首先都是线性变化,基本维持了原始数据的分部特征。1.显然归一化和标准化往往会压缩且平移了数据,这样做两大好处:避免分布数据偏..

2020-10-29 14:46:19 355

原创 提升汉字文本纠正性能的经验总结

经过我前段时间的研究和验证,在仅使用bert模型下做到以下几点,可以帮助大量提升文本纠正性能:1.放弃nsp任务,仅针对mlm任务;2.强化数据,对每个汉字均要mask;3.数据均衡,对训练集中每个训练单字进行数量统计,数量过低的冷僻字要进行补足,例如:“血清肌酐偏高”,“酐”是一个冷门字,可以生成若干随机字均替换该字,这种方式对于OCR识别结果的纠正有显著效果。...

2020-10-01 10:14:08 320

原创 无炫技:纯粹的Bert和Roberta

项目连接:https://github.com/whgaara/pytorch-roberta项目概述bert作为当代NLP的基石型模型,熟练掌握是至关重要的。笔者阅读了很多大牛的代码,发现很多内容过于反锁,考虑的范畴与功能也非常的复杂,本着让更多小伙伴能通过代码直击bert精髓因此自己一行行纯手工敲出这个项目,尽可能做到的是纯粹。因为roberta和bert极其相似,因此这里顺便给出了两种训练模式,其主要区别就是预训练数据的区别。此外,考虑到应用场景,此处bert也放弃了NSP任务,大家阅读时..

2020-09-16 09:40:40 1336 4

原创 关于Faspell的使用经验分享

faspell是2019年由爱奇艺发表的错别字检测纠错sota算法。因为工作原因,涉及到一些错别字的检测纠错技术,因此对相关内容做了点研究。从技术的原理来说,错别字显然是一个经验型的技术,输入的一句话怎么排?每个字出现的概率概率高低?都是依靠训练样本给出足够的场景数据得出的。从这方面来讲,LSTM+CRF的经典组合必然是首先考虑的。但是又考虑到bert的MLM任务是如此的符合错别字检测纠错场景,因此也关注到基于bert的ctc(Chinese text correction)算法。最终选择bert体

2020-07-26 14:26:40 1909 7

原创 原生Bert的训练和使用总结

bert诞生至今已经有2年了,其产生的影响和一直延伸至今的衍生模型固然是不用我来赘述,为了积累下以往的学习内容防止忘记,就把笔记整理下。本文的主要从模型运行过程的视角来介绍下google的原生bert是怎么运作和调用的。首先还是上图:这是一张transformer的模型框架,这个框架左边一半你就可以理解是一个bert的主干网络,真正的bert是由左边这一小块一小块堆叠而成的,所谓的bert(即双向Transformer编码器)就是指这一部分。我们本文中所有的举例参数都是基于google的

2020-07-24 11:27:22 1282

原创 Bert的训练数据生成和解读

生成MLM任务需要的mask数据用于训练的文本材料是以行排列的句子。首先读取一行句子,以:“工时填写。”为例,该句子会被认为是一个document和一个chunk,认定只有一个句子后,会随机从其他行的句子中挑一个出来,与该句组合成如下的结构:[‘[CLS]’, ‘工’, ‘时’, ‘填’, ‘写’, ‘[SEP]’, ‘平’, ‘安’, ‘好’, ‘医’, ‘生’, ‘非, ‘常’, ‘优’, ‘秀’, ‘[SEP]’]当然,在组合数据的过程中,会随机有如下的调整:在mask的个数.

2020-07-08 15:49:07 1226

原创 ELMO

ELMOELMO的每层计算中,通过一个正向RNN得到每个词的embedding,再通过一个反向的RNN得到每个词的embedding,再将同一个词的两个embedding进行contact,因此每个词在不同的上下文中,词向量就不同了。ELMO实际上是一个多层的组合,假设一个两层的ELMO计算后,每个词会得到两个embedding,那么ELMO会使用两个权重相乘再累加的方式求到最后该字的embedding。那么α1和α2如何获取呢?这两者是在任务中作为参数一并学习得到的(类似于一.

2020-06-10 18:46:09 264

原创 Linux Opencv编译安装手册

1.概述这次因项目需求编译安装了一下opencv3,查阅了网上很多资料,发现大多写的还是比较随意的,这里对此全部流程做了一次整合。opencv在linux环境下的编译安装需要按照依赖关系顺序安装多个依赖库,依次为:yum依赖包——yasm——ffmpeg——ant——ippcv——opencv,以下安装将依照该次序进行。2.编译安装流程2.1 yum依赖包l配置epel...

2019-10-10 17:55:24 276

原创 基于TensorFlow的多机多卡分布式训练搭建方法

1.概述TensorFlow分布式是基于GRPC库实现的高性能集群训练框架,能有效的利用多机多卡资源,将大型的模型或者代码拆分到各个节点分别完成,从而实现高速的模型训练。如下图所示,tensorflow的分布式集群中存在的节点主要有两种:ps节点和worker节点,ps节点是用于保存和计算训练参数的节点;worker节点是用于训练的节点。由于ps和worker节点都有可能存在多个,因此ps...

2019-06-28 17:17:03 6544 5

原创 TFX实例的环境搭建及可能涉及的问题

大家好,我是隔壁小王。本文主要是讲述在使用tfx实现官方案例的可能会遇到的一些报错及解决方法。在学习tfx的使用时,首先接触的是一个官方给出的案例,案例讲的是一个关于芝加哥出租车的模型:https://github.com/tensorflow/tfx/tree/master/examples/chicago_taxi_pipeline。在这个github项目中,chicago_taxi_pi...

2019-04-12 11:18:25 1795

原创 朴素贝叶斯模型的简单实现

# coding: utf-8from numpy import *def loadDataSet(): postingList = [ ['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], ['maybe', 'not', 'take', 'him', 'to', 'dog', ...

2019-03-28 17:07:04 280

原创 对CRF的原理理解

无线网络,又称贝叶斯网络或信念网络;有向网络,又称马尔科夫网络。针对于两者,尤其是无向网络的CRF的理解我做了一些随笔。由于公式较为复杂,使用手写版。...

2019-03-27 22:00:26 471

原创 用python实现ID3算法

# coding: utf-8from math import logimport operator"""数据样本:编号 用腮呼吸 是否有脚蹼 属于鱼类1 是 是 是2 是 否 ...

2019-03-27 21:31:00 1086

原创 维特比算法解决HMM的应用实例

因为内容涉及到比较复杂的图形和公式,因此这里用自己的手写版来展示,这次的内容是基于维特比算法来处理一个HMM问题的案例,方便大家能完整的体会维特比算法作为一种动态规划算法的属性。本人的案例也许很多人在网上是见过的,但是我加入了更加详细的注解,便于大家理解。...

2019-03-27 21:20:56 538 2

原创 MySQL学习手册--进阶篇

致力于性能稳定、执行高效的Mysql语句!大家好,我是隔壁小王~这次发布的是Mysql的进阶版,可以搭配之前发布的基础版一起观看。 1.修改linux版本mysql密码/user/bin/mysqladmin -u root password ****** 2.Linux的Mysql自启动服务chkconfig mysql on检查:chkconfig --list...

2019-02-27 10:56:03 607

原创 python的numpy库常用方法整理

感谢大家的阅读,毕竟是隔壁小王一笔一划打出来的,可转勿抄,多谢支持~1.概述numpy是用来操作矩阵的python库。在需要查阅官方文档时,可以通过print(help(模块名.函数名))来查看官方的注释。 2.基本功能简介2.1 genfromtxt(args)用于打开txt文档,读出的结果均是矩阵的格式。 2.2 核心结构array通过numpy.arr...

2018-08-12 23:35:17 819

原创 MySQL学习手册--基础篇

对于很多mysql的初学者,或者平时工作接触数据库较少的朋友,可能对mysql的概念较为生疏,这里总结了一篇mysql的基本语法手册,可以满足于基础sql语句的查询。后续有时间会更新更加高级,旨在编写优质sql语句的高级教程,敬请期待。PS:本文属于隔壁小王的原创,若觉得有用,可转勿盗,谢谢看官对在下劳动成果的珍惜和支持。1.MySql基本语句链接数据库mysql -h localho...

2018-08-08 00:19:51 1637

原创 利用python实现ftp和远程操作linux

    Hello,大家好,我是隔壁小王,最近在工作中初次接触了使用python进行远程的操作的模块,觉得蛮实用的,这里也跟大家分享下,当然大神就绕道吧。    这个库叫paramiko,这个库就是实现了一些远程协议的库,简单好用,功能能强大哦。    先介绍一下sftp的实现流程,假设我们的要下载一个目录下的所有文件,大体的实现流程是:链接目标主机;创建sftp对象;得到远程目录里的所有目标文件...

2018-03-08 14:37:53 2206

原创 Python的super()原理

在面向对象的语言中,super这个词表示的一般都是“父”的意思。在python中更是常见一个子类的__init__方法中时不时来一个super()。Good,那是不是就可以单纯的将其理解为是当前该类型的父类呢?我只能告诉你:单一继承的时候是这样的,但是多继承的时候不是的。 当然,对于常使用的py的朋友来说,super一定是耳熟能详的方法,这里就不多赘述用法,只聊原理。 在py中 ,每个

2018-01-31 14:38:54 717

原创 关于区块链的解读和简单Python实现

概念解读区块链几乎是数日间成为人尽皆知的名词,这个名词也勾起了我强烈的兴趣,但是通过在网上搜罗资料,多方阅读,发现很多介绍区块链的文献要么模棱两可,要么作者本身的理解也很有限,导致很多关键的问题叙述不清。本人花了一些时间总结归纳,希望可以给读者一个比较全面清晰的认识。区块链的官方定义是:一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。那么对于圈外人该如何理解...

2018-01-18 17:53:21 35217 16

空空如也

空空如也

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

TA关注的人

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