ChatGPTで同じキャラを生成できる「gen_id」「seed」って結局何?
ChatGPTで良い画像が作れたり、良い命令ができた時に、それを取っておきたい、と思うことありますよね。そんな時にgen_id、seedが非常に使えますが、コードを打ってるだけで、結局それらの単語が意味することはなんなんでしょうか。
そこで今回は、gen_id、プロンプト、seedって言葉をはじめから理解をしていきます。
gen_idって何?
gen_idは、生成された画像やコンテンツにユニークになるように割り当てられる識別子です。つまりDAILL-Eで画像をすると、それをいつでも思い出せるようにユニークなIDが振られているのです。このIDを利用することで、特定の生成した画像を少し変えた表現を作る時とかの、後で再度アクセスしたりする際に、その画像を特定できるようになるんです。
gen_idは他人と共有することができます。gen_idを共有することで、他の人がその特定の生成された画像やコンテンツにアクセスすることが可能になります。これは他人に自分の作ったものを共有するにも便利です。
ChatGPTでは画像を生成した後に「gen_idを教えてください」で教えてくれます。
gen_idを教えてください。
ただしgen_idで覚えておかないといけないのは、gen_idは生成の方法を特定するだけで、全く同じ絵がかける訳ではありません。これにはDALL-Eの深層学習において、画像を生成する時にランダム要素を含んでいることが影響します。これは、モデルがデータの分布を学習し、その分布から新しいサンプルを生成するという原理に基づいています。そのため、同じ入力プロンプトを与えても、内部的な確率的プロセスにより異なる結果が生じることがあるんです。そのため、gen_idだけでは同じ画像を生成できないと、ChatGPTは生成してくれません。
プロンプトって何?
プロンプトは、特定のタスクを始めるための指示のことをいいます。AIの分野では、プロンプトはAIモデルに対する入力テキストや質問、または特定のタスクを行うための指示として使われます。プロンプトはAIがどのような回答や出力を生成すべきかを伝えるための重要な手段になります。例えば、ChatGPTに対して「天気についての短い記事を書いて」というプロンプトを与えると、AIはその指示に従って関連する内容のテキストを生成します。
プロンプトは、ユーザーとシステム間のインタラクションを促進するための重要なツールであり、ユーザーが望む情報や結果を得るためにどのようにシステムを操作すべきかを明確にするために使われます。
プロンプトを教えてください
このようにどのようにプロンプトにセットされているかが分かります。好きな感じのイラストが生成できたらここのプロンプトを見て、何のキーワードが良い雰囲気を作れたのか探ることができます。
seedって何?
「seed」は、「乱数を生成するときの元になる数字」です。コンピューターがランダムな数を作るとき、実は完全にランダムではなく、ある特定のルールに基づいて数を作ります。そのスタート地点となる数字が「seed」です。
DALL-Eで画像を作るとき、「seed」は画像がどう見えるかを決めるスタートの数字として使われます。同じ指示を入力しても、「seed」の数字を変えることで、異なる見た目の画像が生成されるんです。
つまり、「seed」は画像生成の「出発点」のようなもので、この数字によって、最終的にどんな画像ができあがるかが変わってくるんです。同じ出発点(同じ「seed」)なら、いつも同じ結果(同じ画像)が得られますが、出発点を変えれば結果も変わってくるんですね。
seedを教えてください
つまり3つはどう使うの?
これで3つをなんとなく理解できたと思いますが、画像生成する時にどうやって使うかっていうと、「あの画像を参考に(gen_id)、この命令文で(プロンプト)、こういう風に(seed)絵を描いて」と唱えることができるようになるんです。
この3つを使うことで、近い感じのイラストを作ることができるんです。
例えば、下記のような指示をすることで指示した部分が変わったイラストを描くことができます。
下記のプロンプトを元に、「〇〇を〇〇〇」にした絵を描いてください。
指示したもの以外のプロンプトは変更しないでください。
{
"prompt"ここにプロンプト入れる",
"referenced_image_ids": ["gen_id"],
"seed": seed
}
このようにして、好みの絵柄で生成をすることができます(もちろん違う絵柄が生成されることもあります)
良いイラストを生成するためのワンポイントアドバイス
良い感じの絵が生成できるようになってきたら、さらにプロンプトをいくつかの絵で見てみましょう。そうすると同じ絵でもプロンプトが異なることがあります。
プロンプトを見て、どの部分が自分の好きな味を出すことができたのか、を考えてみましょう。また、自分が不要だなと思う箇所はどこなのかを考えてみてください。
そうすることで、自分の好きな味の絵を思い通りに生成することができるようになっていきます。
ここまでみていただいて「ありがとうございました」