質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

620閲覧

BERTの事前学習について

T1T1T1

総合スコア2

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/11/07 05:45

BERTの事前学習には、training loss と validation loss の概念はないのでしょうか。
さまざまな記事を検索していても、lossの出力をしている方は見かけるのですが、そのlossが何を表しているのか分かりません。
どなたかご教示いただけますと非常に助かります。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coffeebar

2021/11/12 02:06 編集

質問日時から時間が経っても回答がつかないので、自信はありませんが 私の憶測を書きます。 BERTの事前学習タスクは ・Masked LM (Masked Language Model, MLMとも略されます) ・Next Sentence Prediction の2つです。このタスクの不正解率がlossなのではないでしょうか? 文書コーパスから 上記2つのタスク用テストデータを作る(マスクありデータを作り、連続文セットを作る)という流れなため、通常のtraining dataとvalidation dataに分けるというのとは違うデータセットの用意の仕方と思います。 (コーパス自体がtraining dataでもあり、validation dataでもあるということかと。)←このコメントは間違いに思えてきました。謝罪の上、撤回させていただきます。
T1T1T1

2021/11/11 14:26

お忙しいところ貴重なご意見ありがとうございます。 大変勉強になりました。 そうしますと、trainingとvalidationに分けて考えようとすること自体間違っているという認識であってますでしょうか。
coffeebar

2021/11/12 02:21 編集

追記です。オリジナル論文のAppendixに The training loss is the sum of the mean masked LM likelihood and the mean next sentence prediction likelihood. という記述がありましたので、不正解率ではなく、2つのタスクの平均尤度合計のようです。 またtrainingとvalidationの分割の件ですが、通常バリデーションは教師あり学習のモデル評価に使われるものだと理解していますが、BERTの事前学習は「教師なし(ラベルなし)学習」であるため、個人的にはバリデーション・データを分けることと噛み合わないように感じます。(マスク位置の選択や、連続文の選び方で正解率も変わってしまう) とはいえ、下記の事前学習デモにはValidation Lossが載っているので、私の思い違いかも知れません。 https://www.thepythoncode.com/article/pretraining-bert-huggingface-transformers-in-python もう一つ大事だと思うのは、事前学習で2つのタスクのロスを下げることは主目的ではなく、あくまで事前学習の目的は、ファインチューニング時に下流タスクの正解率を上げることです、バリデーション的なこと(モデルのアーキテクチャやパラメーターの調整をすること)はファインチューニングの結果に基づいてやっているのでは、とも推測します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問