Qiita
Ryobotさんの解説
pytorch実装解説
などを参考にしています。
下記の回答はおそらく正しいですが、絶対の自信はないので参考にする程度でお願いします。
m(_ _)m
結論から言うと
Outputはtgtの前後にbosとeosトークンを付加したものを入力します。
また、OutputProbabilitiesは単語ID?の確率になります。
例えば
src:I like cat.
tgt:私は猫が好きです。
であれば
Decoder入力であるoutputは
<bos> 私 は 猫 が 好き です 。 <eos>
をID化したものになり
OutputProbabilitiesは
<bos> から 私 を予想した確率
私 から は を予想した確率
は から 猫 を予想した確率
つまり一つ未来の単語を予想した確率になります。
しかしそうすると、Decoderに入力する情報の中に答えが含まれてしまうので
Decoder部のSelf-Attentionで未来情報をマスキングしています。
Q&Aタスクに関してはTransformerでそのような問題を見たことがないので
提示してもらえれば何かわかるかもしれません。
おそらくそれこそBERTですかね?
語弊を恐れずに言うならBERTはTransformerのEncoder部分を色々と改造したもので
srcとtgtをくっつけたものを事前学習し、srcとtgtの関係性を学習した基礎を作り
後ほど基礎にGeneraterをくっつけて一つのモデルにします。
うまく説明できる気がしないので他の解説記事を参考にしてください
ただ、Transformer自体汎用性が高いので、割と無理やりなモデルを作っても意外と何とかなります。
teratailの質問は、今でこそ広く浸透してきたので初学者の質問が目立ちますが
割と込み入った質問も多くあるように思います。
規則に反してはいなさそうですしいいんじゃないでしょうか?
雑な回答ですがお役に立てるとうれしいです。
追記
Encoder、Decoderともに入力は単語IDとなります
ただ、単語IDは正式名称じゃないと思ったので?を一応つけておきました
正式にはなんて呼べばいいんですかね?
とりあえず、wordごとに任意に割り振った数字になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/01/31 01:04
退会済みユーザー
2019/01/31 04:11
2019/01/31 04:52
退会済みユーザー
2019/01/31 23:18
2019/02/03 04:19
2019/02/03 07:14