transformer的扩展

bert

  • bert是有一个固定的词表(不把words当成tokens,而是将wordpieces(是一种subword)当做tokens)中的,预训练模型中有词表中的embedding和所有层的参数。
  • base的是12层的encoder,和transformer中的encoder只有在模型输出部分不一样,其他地方全都一样。
  • 在分类任务中,输入的第一个符号是[CLS],我们只用将这个位置的embedding(768维)传递给用于分类的单层前向神经网络即可,因为是fine-turn所以用于分类的网络要尽可能的简单。

masked language model

  • 按理说因为有self-attention的原因,每个单词都能看到其他单词的信息,因此transformer不能当做语言的encoder的(根据中心词预测其他词,或者根据其他词预测中心词),因此作者想到的解决方法是mask掉这个词的位置,然后预测出这个mask掉的词。

双句子任务

  • 有一些任务的输入时两个句子(比如说是判断两个句子是不是互为复述),因此需要训练过程中加入两个句子来训练的任务,bert使用的方法是两个句子中间加入[sep]进行分割,预训练的任务也是,预测A句子是否在B句子的前面,这有就能捕获两个句子之间的依赖关系了。
  • 同时要注意的是为了适用于双语的句子,bert加入了segment embeddings,句子1segment embedding0,句子2segment embedding1,如果输入只有一种句子,那么就只用一种segment embedding

其他的使用bert的方式

  • 使用encoder的不同的位置用于不同的任务。
  • 也可以使用bert提取了句子中每个词的表示,然后用于你自己的任务中,就像命名实体识别一样。
  • 但是使用哪些embedding是最好的?还是无法得知的,论文中给出了命名实体识别任务中的6种使用embedding的方式,可以看到,concat最后四层的embedding的效果是最好的。

fineturn时候的参数

  • 这些参数再所有task上都表现的不错
    • Batch Size: 16, 32
    • Learning Rate: 5e-5, 3e-5, 2e-5
    • Number of epochs: 3, 4

lr 3e-5,epoch 4 ,bs 32

  • finetune的脚本
export BERT_BASE_DIR=/downloaded_model_path/bert
export GLUE_DIR=/downloaded_data_path/glue
export BERT_OUTPUT_DIR=/trained/model/bert/

python run_classifier.py \
  --task_name=MRPC \
  --do_train=true \
  --do_eval=true \
  --data_dir=$GLUE_DIR/MRPC \
  --vocab_file=$BERT_BASE_DIR/vocab.txt \
  --bert_config_file=$BERT_BASE_DIR/bert_config.json \
  --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt \
  --max_seq_length=128 \
  --train_batch_size=32 \
  --learning_rate=2e-5 \
  --num_train_epochs=3.0 \
  --output_dir=$BERT_OUTPUT_DIR

用bert提取单词的表示(像elmo一样)

echo 'Who was Jim Henson ? ||| Jim Henson was a puppeteer' > input.txt

python extract_features.py \
  --input_file=input.txt \
  --output_file=$BERT_OUTPUT_DIR/output.jsonl \
  --vocab_file=$BERT_BASE_DIR/vocab.txt \
  --bert_config_file=$BERT_BASE_DIR/bert_config.json \
  --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt \
  --layers=-1,-2,-3,-4 \
  --max_seq_length=128 \
  --batch_size=8
  • 得到的文件里面就是对应单词的各个层的参数。
- features
  - token: Token value (e.g. Who)
  - layers
    - index: Layer number (from -1 to -4) per token
    - values: Vector values. Default model dimension is 768
  • 一些超参数,使用bert训练自己的模型的时候可能会用到
    • data_dir: Data directionary
    • task_name: Specific what task do you use. Specific tasks processors are ready for use. Possible task_name are “cola”, “mnli”, “mrpc” and “xnli”. You can implement your own data processor by extending DataProcessor class.
    • do_train: Include training step. Any one of do_train , do_eval or do_test have to been enabled.
      一些补充
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352