当前位置:网站首页>NLP model Bert: from introduction to mastery (1)
NLP model Bert: from introduction to mastery (1)
2020-11-06 01:22:00 【Elementary school students in IT field】
List of articles
Before you say anything ,bert Prepare the basic information
Basic data preparation
tensorflow edition : Click on the portal
pytorch edition ( Note that this is achieved by a third party team ): Click on the portal
The paper : Click on delivery door
from 0 To 1 Understand the advantages and disadvantages of the model
Judging from the current trend , It seems to be a reliable way to pre train a language model with a certain model . From before AI2 Of ELMo, To OpenAI Of fine-tune transformer, Until then Google This BERT, It's all about the application of pre trained language models .
BERT This model is different from the other two :
- 1、 When it trains a two-way language model, it replaces a small number of words with Mask Or another random word . The aim is to force the model to increase its memory of the context . As for the probability, that's the sense of peace .
** Reading :** Mission 1: Masked LM
Intuitively , The research team has reason to believe , Depth bidirectional model ratio left-to-right A model or left-to-right and right-to-left The shallow connection of the model is more powerful . Unfortunately , The standard conditional language model can only be trained from left to right or from right to left , Because bidirectional conditionality will allow each word to be grounded in the middle of a multi-level context “see itself”.
To train a deep two-way representation (deep bidirectional representation), The team took a simple approach , Random screening (masking) Partial input token, Then only those that are blocked token. The paper calls this process “masked LM”(MLM), Although in the literature it is often called Cloze Mission (Taylor, 1953).
In this case , And masked token The corresponding final hidden vector is input to the output of the glossary softmax in , It's like the standard LM In the same . In all the experiments of the team , Randomly masked... In each sequence 15% Of WordPiece token. Automatic encoder with de-noising (Vincent et al., 2008) contrary , Only predict masked words Instead of rebuilding the entire input .
Although it does give the team a two-way pre training model , But this method has two disadvantages . First , Pre training and finetuning There's no match , Because in finetuning I never saw [MASK]token. To solve this problem , Teams don't always use practical [MASK]token Replace the quilt “masked” 's vocabulary . contrary , The training data generator is randomly selected 15% Of token. For example, in this sentence “my dog is hairy” in , It chose token yes “hairy”. then , Perform the following procedure :
The data generator will do the following , Instead of always using [MASK] Replace the selected word :
80% Time for : use [MASK] Mark replacement words , for example ,my dog is hairy → my dog is [MASK]
10% Time for : Replace the word with a random word , for example ,my dog is hairy → my dog is apple
10% Time for : Keep the word the same , for example ,my dog is hairy → my dog is hairy. The purpose of this is to bias the representation towards the actual observed words .
Transformer encoder It is not known which words it will be asked to predict or which words have been replaced by random words , So it's forced to keep every input token The distributed context representation of . Besides , Because random substitution only happens in all token Of 1.5%( namely 15% Of 10%), This does not seem to impair the model's ability to understand language .
Use MLM The second drawback is that each batch Only predicted 15% Of token, This suggests that the model may require more pre-training steps to converge . Team proof MLM The rate of convergence is slightly slower than left-to-right Model of ( Forecast each token), but MLM The improvement of the model in the experiment far exceeds the increased training cost .
- 2、 Added a prediction for the next sentence loss. From this point of view, it is relatively new .
Reading :
Mission 2: The next prediction
Many important downstream tasks , Such as Q & A (QA) And natural language reasoning (NLI) Both are based on the understanding of the relationship between two sentences , This is not directly obtained through language modeling .
In order to train a model to understand sentences , Train a binary test task in advance , This task can be generated from any monolingual corpus . To be specific , When you choose a sentence A and B As a pre training sample ,B Yes 50% Is the possibility of A Next sentence of , Also have 50% May be random sentences from corpus . for example :
Input = [CLS] the man went to [MASK] store [SEP]
he bought a gallon [MASK] milk [SEP]
Label = IsNext
Input = [CLS] the man [MASK] to the store [SEP]
penguin [MASK] are flight ##less birds [SEP]
Label = NotNext
The team chose... Completely at random NotNext sentence , The final pre training model is implemented on this task 97%-98% The accuracy of .
BERT The model has the following two characteristics :
First of all , It's a very deep model ,12 layer , It's not wide (wide), There's only... In the middle 1024, And before Transformer The middle layer of the model has 2048. This seems to confirm another point of view of computer image processing —— Deep and narrow Than Shallow and wide A better model .
second ,MLM(Masked Language Model), Use the words on the left and right at the same time , This is in ELMo There has been , Absolutely not original . secondly , about Mask( Occlusion ) Application in language model , Has been Ziang Xie Put forward ( I am very lucky to be involved in this paper ):[1703.02573] Data Noising as Smoothing in Neural Network Language Models. It's also a paper of superstars :Sida Wang,Jiwei Li( Founder and CEO And the one who has the most articles in history NLP scholars ),Andrew Ng,Dan Jurafsky All are Coauthor. But it's a pity that they didn't pay attention to this paper . Use the method of this paper to do Masking, Believe in BRET Maybe we can improve our ability .
Model input
BERT Input means . The input embed is token embeddings, segmentation embeddings and position embeddings The sum of
As follows :
(1) Use WordPiece The embedded (Wu et al., 2016) and 30,000 individual token The vocabulary of . use ## It means participle .
(2) Use learned positional embeddings, The supported sequence length is at most 512 individual token.
The first... Of each sequence token Always special categories are embedded ([CLS]). Corresponds to the token The final hidden state of ( namely ,Transformer Output ) An aggregate sequence representation used as a classification task . For unclassified tasks , This vector will be ignored .
(3) Sentence pairs are packed into a sequence . Distinguish sentences in two ways . First , Use special marks ([SEP]) To separate them . secondly , Add one learned sentence A Embed each... In the first sentence token in , One sentence B Embed each... In the second sentence token in .
(4) For single sentence input , Use only sentence A The embedded .
Reference material :
1. The interpretation of the paper :
NLP Required reading : Ten minutes to read Google BERT Model
https://zhuanlan.zhihu.com/p/51413773
Interpretation of the thesis :BERT Models and fine-tuning
https://zhuanlan.zhihu.com/p/46833276
2. Interpretation of principles
https://zhuanlan.zhihu.com/p/68295881
https://zhuanlan.zhihu.com/p/49271699
http://www.52nlp.cn/tag/tensorflow-bert
版权声明
本文为[Elementary school students in IT field]所创,转载请带上原文链接,感谢
边栏推荐
- 基於MVC的RESTFul風格API實戰
- 速看!互联网、电商离线大数据分析最佳实践!(附网盘链接)
- 采购供应商系统是什么?采购供应商管理平台解决方案
- Wiremock: a powerful tool for API testing
- git rebase的時候捅婁子了,怎麼辦?線上等……
- How do the general bottom buried points do?
- A debate on whether flv should support hevc
- Swagger 3.0 天天刷屏,真的香嗎?
- Python + appium automatic operation wechat is enough
- PHP应用对接Justswap专用开发包【JustSwap.PHP】
猜你喜欢
How to encapsulate distributed locks more elegantly
Computer TCP / IP interview 10 even asked, how many can you withstand?
From zero learning artificial intelligence, open the road of career planning!
Linked blocking Queue Analysis of blocking queue
[C / C + + 1] clion configuration and running C language
Can't be asked again! Reentrantlock source code, drawing a look together!
一篇文章带你了解CSS对齐方式
Calculation script for time series data
Filecoin的经济模型与未来价值是如何支撑FIL币价格破千的
关于Kubernetes 与 OAM 构建统一、标准化的应用管理平台知识!(附网盘链接)
随机推荐
一篇文章带你了解CSS3圆角知识
Calculation script for time series data
Deep understanding of common methods of JS array
Natural language processing - BM25 commonly used in search
关于Kubernetes 与 OAM 构建统一、标准化的应用管理平台知识!(附网盘链接)
Save the file directly to Google drive and download it back ten times faster
合约交易系统开发|智能合约交易平台搭建
中国提出的AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律
It's so embarrassing, fans broke ten thousand, used for a year!
阿里云Q2营收破纪录背后,云的打开方式正在重塑
一篇文章带你了解SVG 渐变知识
OPTIMIZER_ Trace details
Filecoin主网上线以来Filecoin矿机扇区密封到底是什么意思
速看!互联网、电商离线大数据分析最佳实践!(附网盘链接)
IPFS/Filecoin合法性:保护个人隐私不被泄露
小程序入门到精通(二):了解小程序开发4个重要文件
What is the side effect free method? How to name it? - Mario
加速「全民直播」洪流,如何攻克延时、卡顿、高并发难题?
Didi elasticsearch cluster cross version upgrade and platform reconfiguration
Swagger 3.0 天天刷屏,真的香嗎?