見出し画像

Transformer | 文を混ぜることができる生成AIを作ってみた

最近,生成系AI(GPTみたいなもの)を勉強していて,勉強がてらに作ってみました.Sentence Mixerといいます.HuggingFaceのSpaceで公開しているので,是非遊んでみてください.

例えば以下のように2つの文を入力すると,

A  : 今日入った温泉はこれまでのどこの温泉よりも格別だった。
B : 寒くて血が凍りそうだ・・・あれ、「血が凍る」の意味、ちょっと違うかな?

以下のような文が生成されます.

寒いのに、まだ風呂に浸かってる?

我ながら面白いものができたと思います.

Sentence Mixerの仕組みについて説明します.

Sentence Mixerは,エンコーダ・デコーダ型Transformerモデルを使用しています.エンコーダ・デコーダ型Transformerとしては,BARTやT5などがあり,翻訳,要約,パラフレーズ,生成系質疑応答などといった,変換生成系のタスクを中心に行っているモデルです.

エンコーダ・デコーダ型Transformerの使い方としては,まず入力文をエンコーダに入れ,エンコーダから出てきたものをデコーダに入れると,デコーダから出力文が得られます.

Sentence Mixerでは,要約タスクを訓練したT5モデルを使用し,以下のような図の流れで文を混ぜます.

入力した文2つをそれぞれエンコーダに通し,エンコーダから出てきたものを r : 1-r の比で内分します.内分したものをデコーダに入れると,2つの文が混ざったような文が出てくる訳です.

たったこれだけの足し算で,本当に文が足されてしまうのですから,興味深いです.

この記事が気に入ったらサポートをしてみませんか?