ELMO、GPT、トランスフォーマー |
---|
1:単語の曖昧さを解決するモデルELMO、問題は、LSTMの特徴抽出能力がTransformerのそれよりはるかに弱いことです。 2:Transformerを使用して特徴を抽出するGPTモデル、問題は言語モデルが一方向であるということです 3:bert-Masked言語モデルと次の文の予測 Transformerは、RNNとCNNを開始した従来の機能抽出機能になり、トップブランドになり、大ヒットしました。あなたは尋ねました:注意メカニズムは何ですか?別の広告があります。注意がわからない場合は、2016年と17年に発行された次の改訂版を参照してください:「深層学習における注意モデル」、関連する基本的な知識を補足します。注意のメカニズムを理解していない場合は、間違いなく遅れます。時代の発展。Transformerに関するより良い記事については、次の2つの記事を参照してください。1つはJayAlammarのブログ投稿TheIllustrated Transformerで 、Transformerを視覚的に紹介しています。メカニズム全体を理解するのは非常に簡単です。これから始めることをお勧めします。その後、ハーバード大学のNLP研究を参照できます。グループによって書かれた 「AnnotatedTransformer。」、コードの原則は二面性であり、それは非常に明確です。Transformerを理解するには、上記の2つの記事で十分だと思いますので、ここでは紹介しません。 1つのタイプは、最も一般的なNLPタスクであるシーケンスタグ付けです。たとえば、中国語の単語のセグメンテーション、音声の一部のタグ付け、名前付きエンティティの認識、セマンティックロールのタグ付けなどはすべて、このタイプの問題に分類できます。その特徴は、文の各単語がコンテキストは分類カテゴリを与える必要があります。 2番目のカテゴリは、一般的なテキスト分類、感情計算などの分類タスクです。このカテゴリに分類できます。その特徴は、記事の長さに関係なく、全体として分類カテゴリを指定できることです。 3種類のタスクは、含意、QA、セマンティックリライト、自然言語推論などのセンテンス関係判断であり、その他のタスクはすべてこのモードです。2つのセンテンスが与えられると、モデルは2つのセンテンスに特定のセマンティック関係があるかどうかを判断するという特徴があります。 4つのタイプは、機械の翻訳、テキストの要約、詩の作成と文章の作成、写真の表示と会話などの生成タスクであり、すべてこのカテゴリに分類されます。その特徴は、テキストコンテンツを入力した後、テキストの別の段落を自律的に生成する必要があることです。 参照: 単語の埋め込みからバートモデルへ—自然言語処理における事前トレーニング技術の歴史 https://zhuanlan.zhihu.com/p/49271699 バート時代のイノベーション(アプリケーション):NLPのさまざまな分野におけるバートのアプリケーションの進歩 https://zhuanlan.zhihu.com/p/68446772 Meituan技術チーム: |
バート |
---|
SQuAD
バート文ベクトル: https://github.com/google-research/bert/blob/master/extract_features.py
1:准备预训练的data python create_pretraining_data.py \ --input_file=./sample_text.txt \ --output_file=/tmp/tf_examples.tfrecord \ --vocab_file=$BERT_BASE_DIR/vocab.txt \ --do_lower_case=True \ --max_seq_length=128 \ --max_predictions_per_seq=20 \ --masked_lm_prob=0.15 \ --random_seed=12345 \ --dupe_factor=5 2:预训练模型 python run_pretraining.py \ --input_file=/tmp/tf_examples.tfrecord \ --output_dir=/tmp/pretraining_output \ --do_train=True \ --do_eval=True \ --bert_config_file=$BERT_BASE_DIR/bert_config.json \ --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt \ --train_batch_size=32 \ --max_seq_length=128 \ --max_predictions_per_seq=20 \ --num_train_steps=20 \ --num_warmup_steps=10 \ --learning_rate=2e-5 3:提取特征 python extract_features.py \ --input_file=/tmp/input.txt \ --output_file=/tmp/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 4:阅读理解 python run_squad.py \ --vocab_file=$BERT_LARGE_DIR/vocab.txt \ --bert_config_file=$BERT_LARGE_DIR/bert_config.json \ --init_checkpoint=$BERT_LARGE_DIR/bert_model.ckpt \ --do_train=False \ --train_file=$SQUAD_DIR/train-v2.0.json \ --do_predict=True \ --predict_file=$SQUAD_DIR/dev-v2.0.json \ --train_batch_size=24 \ --learning_rate=3e-5 \ --num_train_epochs=2.0 \ --max_seq_length=384 \ --doc_stride=128 \ --output_dir=gs://some_bucket/squad_large/ \ --use_tpu=True \ --tpu_name=$TPU_NAME \ --version_2_with_negative=True \ --null_score_diff_threshold=$THRESH 5:fine-turn export BERT_BASE_DIR=/path/to/bert/uncased_L-12_H-768_A-12 export GLUE_DIR=/path/to/glue 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=/tmp/mrpc_output/ 6:predict export BERT_BASE_DIR=/path/to/bert/uncased_L-12_H-768_A-12 export GLUE_DIR=/path/to/glue export TRAINED_CLASSIFIER=/path/to/fine/tuned/classifier python run_classifier.py \ --task_name=MRPC \ --do_predict=true \ --data_dir=$GLUE_DIR/MRPC \ --vocab_file=$BERT_BASE_DIR/vocab.txt \ --bert_config_file=$BERT_BASE_DIR/bert_config.json \ --init_checkpoint=$TRAINED_CLASSIFIER \ --max_seq_length=128 \ --output_dir=/tmp/mrpc_output/ |