• 等级
  • 190906 访问
  • 295 原创
  • 62 转发
  • 8861 排名
  • 33 评论
  • 37 获赞

BERT大火却不懂Transformer?读这一篇就够了

编者按:前一段时间谷歌推出的BERT模型在11项NLP任务中夺得SOTA结果,引爆了整个NLP界。而BERT取得成功的一个关键因素是Transformer的强大作用。谷歌的Transformer模型最早是用于机器翻译任务,当时达到了SOTA效果。Transformer改进了RNN最被人诟病的训练慢的缺点,利用self-attention机制实现快速并行。并且Transformer可以增加到非常深的...

2019-01-14 23:55:17

NLP中语言模型预训练方法

最近,在自然语言处理(NLP)领域中,使用语言模型预训练方法在多项NLP任务上都获得了不错的提升,广泛受到了各界的关注。就此,我将最近看的一些相关论文进行总结,选取了几个代表性模型(包括ELMo [1],OpenAI GPT [2]和BERT [3])和大家一起学习分享。 1. 引言 在介绍论文之前,我将先简单介绍一些相关背景知识。首先是语言模型(Language Model),语言模型简单来...

2019-01-13 23:33:35

NLP中关于文本分类问题的常用方案

NLP通常包括两个关键问题: 1.选择什么样的语言模型? 2.选择什么样的分类算法? 第二个问题是机器学习领域的标准问题,各种针对不同数据类型、数据分布的算法和技巧,这里不再赘述。而在NLP当中,语言模型更加重要一些。不同语言模型的区别,也就是对文本提取特征的不同。常用的模型有: 1.Bag-of-words:最原始的特征集,一个单词/分词就是一个特征。往往一个数据集就会有上万个特征;有一些简单...

2019-01-13 23:30:33

梯度下降优化算法概述

    最近学习cs231n的课程,其中到梯度下降这一块时发现好几种方法,都不太懂。故学习下这篇博文。同时,翻译出来,供大家学习参考。    Feel free to contact me or leave a comment.    错误与不足之处,望各位读者指正。 梯度下降优化算法概述   梯度下降是优化过程中最流行的方法之一并且并广泛运用在优化神经网络的过程中,同时,每一个state ...

2019-01-13 01:02:26

机器学习期望最大算法:实例解析

  交流思想,注重分析,更注重通过实例让您通俗易懂。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来! 01 — 回顾 已经分析了朴素贝叶斯分类,拉普拉斯修正,半朴素贝叶斯分类器,在这些理论阐述中,都带有详细的例子解释,通过例子理解相关的理论是一种快速消化公式和理论比较不错的方法。 接下来,介绍一种非常经典的求解隐变量的算法,这也是一...

2019-01-07 00:04:02

并查集(Union-Find)算法介绍

并查集(Union-Find)算法介绍 http://blog.csdn.net/dm_vincent/article/details/7655764   本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论...

2019-01-06 23:17:01

一些重要的算法------启发式搜索,束搜索(beam search),二分查找算法 and so on............

一些重要的算法------启发式搜索,束搜索(beam search),二分查找算法 and so on............ 下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘...

2019-01-06 22:58:53

束搜索算法(Andrew Jungwirth 初稿)BEAM Search

最近搜了几篇BEAM SEARCH 束搜索的文章,这篇最直白易懂,并有示例的详细步骤图解,比维基百科的更为合适,因此拿在这里,供参考。 原文链接:Beam Search Algorithm (Draft by Andrew Jungwirth) 束搜索算法 本文目标: 1.演示了如何在存储有限的情况下进行类似的宽度优先的图搜索算法,即束搜索,使用启发式函数和限定的束宽度beam widt...

2019-01-06 22:55:43

Python并发编程之初识异步IO框架:asyncio 上篇(九)

大家好,并发编程 进入第九篇。 通过前两节的铺垫(关于协程的使用),今天我们终于可以来介绍我们整个系列的重点 -- asyncio。 asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。 有些同学,可能很疑惑,既然有了以生成器为基础的协程,我们直接使用yield 和 yield from 不就可以手动实现对IO的调度了吗? 为何Python吃饱了没事干,老重复造...

2019-01-04 12:16:02

Python并发编程之学习异步IO框架:asyncio 中篇(十)

大家好,并发编程 进入第十章。 好了,今天的内容其实还挺多的,我准备了三天,到今天才整理完毕。希望大家看完,有所收获的,能给小明一个赞。这就是对小明最大的鼓励了。 为了更好地衔接这一节,我们先来回顾一下上一节的内容。 上一节「」,我们首先介绍了,如何创建一个协程对象. 主要有两种方法 通过async关键字, 通过@asyncio.coroutine 装饰函数。 然后有了协程对象,就需要一个事...

2019-01-04 12:15:55

盘点 Python 中的那些冷知识(一)

小明在日常Code中遇到一些好玩,冷门的事情,通常都会记录下来。 现在已经积攒了一些了,最近打算整理一波,发出来给大家补补。一篇只分享五个,有时间了就整理。不想错过的,千万记得关注一下。 1. 省略号也是对象 ... 这是省略号,在Python中,一切皆对象。它也不例外。 在 Python 中,它叫做 Ellipsis 。 在 Python 3 中你可以直接写…来得到这玩意。 &gt...

2019-01-03 15:01:10

Python并发编程之消息队列补充及如何创建线程池(六)

大家好,并发编程 进入第六篇。 在第四章,讲消息通信时,我们学到了Queue消息队列的一些基本使用。昨天我在准备如何创建线程池这一章节的时候,发现对Queue消息队列的讲解有一些遗漏的知识点,而这些知识点,也并不是无关紧要的,所以在今天的章节里,我要先对Queue先做一些补充以防大家对消息队列有一些知识盲区。 再次提醒: 本系列所有的代码均在Python3下编写,也建议大家尽快投入到Pyth...

2019-01-03 14:56:14

Python并发编程之线程中的信息隔离(五)

大家好,并发编程 进入第三篇。 上班第一天,大家应该比较忙吧。小明也是呢,所以今天的内容也很少。只要几分钟就能学完。 昨天我们说,线程与线程之间要通过消息通信来控制程序的执行。 讲完了消息通信,今天就来探讨下线程里的信息隔离是如何做到的。 大家注意:信息隔离,这并不是官方命名的名词,也不是网上广为流传的名词。是我为了方便理解而自创的,大家知道就好咯。 本文目录 初步认识信息隔离 ...

2019-01-03 14:53:52

Python并发编程之线程消息通信机制任务协调(四)

大家好,并发编程 进入第四篇。 本文目录 前言 Event事件 Condition Queue队列 总结 . 前言 前面我已经向大家介绍了,如何使用创建线程,启动线程。相信大家都会有这样一个想法,线程无非就是创建一下,然后再start()下,实在是太简单了。 可是要知道,在真实的项目中,实际场景可要我们举的例子要复杂的多得多,不同线程的执行可能是有顺序的,或者说他们的执行是有条件的...

2019-01-03 14:52:19

Python并发编程之谈谈线程中的“锁机制”(三)

大家好,并发编程 进入第三篇。 今天我们来讲讲,线程里的锁机制。 本文目录 何为Lock( 锁 )?如何使用Lock( 锁 )?为何要使用锁?可重入锁(RLock)防止死锁的加锁机制饱受争议的GIL(全局锁) 何为Lock( 锁 )?如何使用Lock( 锁 )?为何要使用锁?可重入锁(RLock)防止死锁的加锁机制饱受争议的GIL(全局锁) . 何为Lock( 锁 )? 何为 Lock...

2019-01-03 14:51:18

Python并发编程之创建多线程的几种方法(二)

大家好,并发编程 进入第二篇。 今天的内容会比较基础,主要是为了让新手也能无障碍地阅读,所以还是要再巩固下基础。学完了基础,你们也就能很顺畅地跟着我的思路理解以后的文章。 本文目录 学会使用函数创建多线程 学会使用类创建多线程 多线程:必学函数讲解 经过总结,Python创建多线程主要有如下两种方法: 函数 类 接下来,我们就来揭开多线程的神秘面纱。 . 学会使用函数创建多线程 ...

2019-01-03 14:50:26

Python进阶开发之网络编程,socket实现在线聊天机器人

系列文章 √第一章 元类编程,已完成 ; √第二章 网络编程,已完成 ; 本文目录 什么是socket?创建socket客户端创建socket服务端socket工作流程图解socket公共函数汇总实战:搭建在线聊天机器人 . 什么是socket? 说到网络编程,难免要提到socket? 那什么是socket呢,中文名叫"套接字",更难理解了吧。 通俗来讲,socket表示一个网络连...

2019-01-03 14:49:38

Python进阶开发之元类编程

系列文章 √第一章 元类编程,已完成 ; 本文目录 类是如何产生的如何使用type创建类理解什么是元类使用元类的意义元类实战:ORM . 类是如何产生的 类是如何产生?这个问题肯定很傻。实则不然,很多人只知道使用继承的表面形式来创建一个类,却不知道其内部真正的创建是由type来创建的。 type?这不是判断对象类型的函数吗? 是的,type通常用法就是用来判断对象的类型。但除此之外,...

2019-01-03 14:44:17

Python并发编程之深入理解yield from语法(八)

大家好,并发编程 进入第八篇。 直到上一篇,我们终于迎来了Python并发编程中,最高级、最重要、当然也是最难的知识点--协程。 当你看到这一篇的时候,请确保你对生成器的知识,有一定的了解。当然不了解,也没有关系,你只要花个几分钟的时间,来看下我上一篇文章,就能够让你认识生成器,入门协程了。 再次提醒: 本系列所有的代码均在Python3下编写,也建议大家尽快投入到Python3的怀抱中来...

2019-01-03 14:42:55

Python并发编程之从生成器使用入门协程(七)

大家好,并发编程 进入第七篇。 从今天开始,我们将开始进入Python的难点,那就是协程。 为了写明白协程的知识点,我查阅了网上的很多相关资料。发现很难有一个讲得系统,讲得全面的文章,导致我们在学习的时候,往往半知半解,学完还是一脸懵逼。 学习协程的第一门课程,是要认识生成器,有了生成器的基础,才能更好地理解协程。 如果你是新手,那么你应该知道迭代器,对生成器应该是比较陌生的吧。没关系,看...

2019-01-03 14:41:48

Terry_dong

关注
  • 计算机软件/学生
  • 中国 广西 南宁市
奖章
  • 持之以恒