====
论文
====

======
Python
=====
=

=========
Tensorflow
=========

=======
PyTorch
=======

=====
Keras
=====

====
专题
====

====
链接
====

====
视频

====

=======
药物设计

=======

=======
材料科学
=======

============
经济学与金融学
==========
==


===========
自然语言处理
==========
=

BERT Biological Language Model nltk
HuggingFace Transformers DNABERT transformer-xl
bert GitHub word vector GPT
BigBird longformer (GitHub)  
google/bigbird-pegasus-large-bigpatent allenai/longformer-base-4096  

BERT

BERT (GitHub)

传统的BERT模型通常有一个最大序列长度限制,如512个token。这意味着模型能够处理的输入序列的长度不能超过这个限制。

BERT Documentation in Higgingface

Bidirectional Encoder Representations from Transformers (BERT) 是一种基于变压器的机器学习技术,用于自然语言处理 (NLP) 预训练,由 Google 开发。BERT 由 Jacob Devlin 和他的 Google 同事于 2018 年创建并发布。

BERT 起源于预训练上下文表示,包括半监督序列学习、生成预训练、ELMo 和 ULMFit。 与以前的模型不同,BERT 是一种深度双向、无监督的语言表示,仅使用纯文本语料库进行预训练。 word2vec 或 GloVe 等无上下文模型为词汇表中的每个单词生成单个单词嵌入表示,其中 BERT 会考虑给定单词每次出现的上下文。 例如,尽管在 He is running a company 和 He is running a marathon 这两个句子中,running 的向量都具有相同的 word2vec 向量表示,而 BERT 将根据句子提供不同的上下文嵌入。

自然语言处理(NLP)入门
国内自然语言处理(NLP)研究组
NLTK 自然语言工具包
Deep Learning on Graphs for Natural Language Processing (Yu Chen, Facebook)
通俗理解word2vec

BERT的变种

BERT(Bidirectional Encoder Representations from Transformers)自2018年由Google提出以来,由于其在多种自然语言处理(NLP)任务上表现出的卓越性能,已经催生了许多变种和改进版。这些变种在原始架构的基础上进行了诸多创新,以解决特定问题或在特定场景下提高效率和效果。以下是一些比较著名的BERT变体:

  1. RoBERTa (A Robustly Optimized BERT Pretraining Approach) - Facebook AI提出的RoBERTa对BERT预训练过程做了改进,如训练数据和批次大小的增加,移除了Next Sentence Prediction (NSP)任务,增加了更多的训练步数等,显著提高了模型性能。

  2. ALBERT (A Lite BERT) - ALBERT通过参数共享和降低embedding层的维度来减少BERT的模型大小和提升训练速度,同时保持了类似的性能。

  3. DistilBERT - 一个小型的BERT模型,它通过knowledge distillation的技术从BERT学习,以更少的参数实现了接近BERT的性能。

  4. ERNIE (Baidu) - ERNIE是百度提出的一个增强版的BERT,它通过捕获实体级别的信息(如短语和实体)来增强语言表示。

    ERNIE1.0ERNIE2.0ERNIE3.0ERNIE-GramERNIE-health, etc. (These are all from Baidu。)

  5. ERNIE (Tsinghua) - 同名但与百度ERNIE不同,这个变体由清华大学提出,它结合了知识图谱,能更好地处理命名实体和短语。

  6. SpanBERT - 这个变种专注于更好地预测文本的跨度,即文本的连续片段,它通过修改预训练任务来提升对跨度的理解。

  7. DeBERTa (Decoding-enhanced BERT with Disentangled Attention) - 它引入了一种新的注意力机制,可以分解词与词之间的表示,并且通过增强的mask decoder来提升模型性能。

  8. TinyBERT - 一种为了适应资源受限环境而设计的小型BERT模型,通过模型压缩技术获得。

  9. CamemBERTFlauBERT - 这两种模型分别是针对法语的预训练BERT模型,通过在特定语言的大量数据上预训练,以提高处理该语言的性能。

  10. BERT-large (2.35亿个参数), BERT-base -(1.1亿个参数) 这不是一个变种,而是BERT模型的不同大小版本,其中BERT-large有更多的隐藏层、隐藏单元和注意力头。

这些变种都在BERT的基本思想上做出了各种扩展和改进,以提升特定领域的性能或是提高模型的效率。随着自然语言处理领域的不断发展,未来很可能会出现更多的BERT变体。

BERT(Bidirectional Encoder Representations from Transformers)模型有不同的版本,它们主要在大小(即模型的层数、隐藏层的维度、注意力头的数量等)和预训练时处理文本的方式(大小写敏感或不敏感)上有所区别。下面是BERT Large模型的几种变体的区别:

  1. BERT Large model (cased): 这个版本的BERT Large在预训练时保留了英文单词的大小写信息。这意味着“Apple”和“apple”在模型看来是不同的,它们的词嵌入会不一样。这个版本对于那些大小写变化带来语义变化的任务(如命名实体识别)是有益的。

  2. BERT Large model (uncased): 这个版本在预训练之前会将所有英文字母转换为小写。这样做的好处是模型不需要区分单词的大小写,可以降低模型的复杂性,并在某些任务上可能获得更好的性能,尤其是在大小写不是很重要的场景下。

  3. BERT Large model: 通常当提到BERT Large模型而不特指cased或uncased时,我们可能需要根据上下文来确定是在讨论哪一个版本,或者它可以泛指包括cased和uncased版本的BERT Large模型。

这些模型除了在大小写处理上有所不同外,在模型结构上都是相同的,BERT Large模型通常具有以下规模的参数:

  • 24个transformer层
  • 隐藏层的大小为1024个单元
  • 16个自注意力头
  • 总参数数量为3亿以上

由于BERT模型非常依赖于预训练数据,cased和uncased版本的模型可能在不同类型的语料上进行了预训练。因此,当在特定任务上选择模型时,应考虑任务的具体需求。例如,如果任务涉及到对特定名称敏感的文本(比如人名),那么可能更倾向于选择cased版本。而如果任务与大小写不敏感,比如情感分析,那么uncased版本可能是更合适的选择。


 

BERT (预训练Transformer模型(视频)
BERT微调【动手学深度学习v2】 (李牧视频)
BERT 论文逐段精读【论文精读】 (视频)
BERT 看透你说的话 双向语言模型 #6.4 【莫烦Python NLP 自然语言处理教学】(视频)
NLP | Historic Breakthrough! Quick Introduction of Google BERT Model + Word Embedding (视频)
动手学深度学习第十六课:词向量(word2vec)(视频)
台大資訊 深度學習之應用 | ADL 5.1: Word Embeddings - Word Representation Review (视频)
神经网络(五) 嵌入与表示学习(修正版)embedding & representation learning(视频)
 
 
 

 

 


NLP数据集

  • GLUE(通用语言理解评估)任务集(由 9 个任务组成)
  • SQuAD(斯坦福问答数据集)v1.1 和 v2.0
SWAG(对抗性世代的情况)
 
 
 
 
 
 

2023最新!【BERT+transformer】

1.1认识BERT-part1-1讲解
1.1认识BERT-part1-2点评
1.1认识BERT-part2-1讲解
1.1认识BERT-part2-2点评
1.1认识BERT-part3-1讲解
1.1认识BERT-part3-2点评
1.1认识BERT-part4讲解
1.2Transformer的结构详解-part1-1讲解
1.2Transformer的结构详解-part1-2点评
1.2Transformer的结构详解-part2-1讲解
1.2Transformer的结构详解-part2-2点评
1.3Transformer中Decoder的输入详解03-1讲解
1.3Transformer中Decoder的输入详解03-2点评
1.4Transformer中的自注意力机制以及为什么采用QKV三元组04-1讲解
1.4Transformer中的自注意力机制以及为什么采用QKV三元组04-2点评
1.5采用Multi-head Attention的原因和计算规则1-1讲解
1.5采用Multi-head Attention的原因和计算规则1-2点评
1.6Transformer相比于RNN的优势和原因1-1讲解
1.6Transformer相比于RNN的优势和原因1-2点评
1.7为什么说Transformer可以代替seq2seq1-1讲解
1.7为什么说Transformer可以代替seq2seq1-2点评
1.8self-attention公式中添加scaled的原因-part1-1讲解
1.8self-attention公式中添加scaled的原因-part1-2点评
1.8self-attention公式中添加scaled的原因-part2-1讲解
1.8self-attention公式中添加scaled的原因-part2-2点评
1.8self-attention公式中添加scaled的原因-part2-3点评
1.8self-attention公式中添加scaled的原因-part3-1讲解
1.8self-attention公式中添加scaled的原因-part3-2点评
1.9Transformer架构的并行化是如何进行的1-1讲解
1.9Transformer架构的并行化是如何进行的1-2点评
1.10BERT模型的优点和缺点1-1讲解
1.10BERT模型的优点和缺点1-2点评
1.11BERT的MLM任务为什么采用80% 10% 10%的策略1-1讲解
1.11BERT的MLM任务为什么采用80% 10% 10%的策略1-2点评
1.12长文本预测任务使用BERT如何构造训练样本1-1讲解
1.12长文本预测任务使用BERT如何构造训练样本1-2点评
 

BERT (预训练Transformer模型)

Shusen Wang

What is BERT
Revisit transformer's Encoder
Randomly masked a word
Predict the masked word
Predict next sentence
Input Representation
Training
Data
Cost of Copuntation
 
 

blastdbcmd -db nt_viruses.00 -entry all -out nt_viruses_00.fasta

自然语言处理

自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。