英単語で指示を出すと、AI画伯がイメージして絵を描いてくれる画像生成AI Stable Diffusion。
「こんな技術が一般人でも使える時代が来るなんて」と感動して試しています。
英単語での指示は英語アレルギーの人にはハードルですが、A I業界はまさに日進月歩。本家公開から1ヶ月も経たないうちに、日本語対応版がリリースされました。
株式会社りんなさんから、その名もJapanese Stable Diffusion。まんまのネーミングですが、本家同様にもちろん自由に利用できます。
prtimes.jp
下は「鉛筆画のサラリーマン」。こんな感じで日本語の指示でお絵描きしてくれます。
今回オリジナル版と比較しながら使ってみた感想を記事にしたいとおもいます。
Japanese Stable Diffusion利用までの手順
今回もGoogle Colabを使用して、コードのコピペ編集で使用することができます。
詳しい手順は前回記事を参照し、コードの部分だけ今回のものに置き換えください。
www.boardgamepark.com
今回するコードは以下のとおり。
なお、YOUR_TOKENの部分を自分で取得したトークンに置き換えるのもお忘れなく。
# Google Drive との連携 from google.colab import drive drive.mount('/content/gdrive') # jdiffusersパッケージのインストール !pip install git+https://github.com/rinnakk/japanese-stable-diffusion #パイプラインの準備 import torch from torch import autocast from diffusers import LMSDiscreteScheduler from japanese_stable_diffusion import JapaneseStableDiffusionPipeline scheduler = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule='scaled_linear', num_train_timesteps=1000) pipe = JapaneseStableDiffusionPipeline.from_pretrained('rinna/japanese-stable-diffusion', scheduler=scheduler, use_auth_token='YOUR_TOKEN') pipe = pipe.to('cuda')
prompt = '猫の肖像画' image_number=5 for i in range(image_number): with autocast("cuda"): image = pipe(prompt, guidance_scale=7.5)["sample"][0] image.save('/content/gdrive/MyDrive/image'+str(i)+'.png')
Japanese Stable Diffusion の仕事ぶりはいかに
本家のStable Diffusionには、
- 英語で表現しにくい言葉の指示が難しい
- 欧米人と比べて日本人の顔が崩壊傾向
- Japaneseを常につけないと日本の画像が生成できない
と、グローバル版ならではの課題がありましたが、日本語版では解消できるでしょうか。
今回、特に日本語で使われている固有名詞にフォーカスして試したいと思います。
奈良の大仏
トップバッターは修学旅行の定番「奈良の大仏」です。
さすがは日本版。ちゃんと奈良の大仏です。
手がどっかに行っている、どこに大仏が置かれてるのかなど、突っ込みどころはありますが、間違いなく奈良の大仏。
一方で、本家に英語で指示すると・・・。
う〜ん、確かに大仏ですが、ちょっと東南方面のアジアンテイストが入っています。
グローバルの本家では、仏像もグローバル基準で表現するわけですね。
判定:日本版の勝ち
ゴッホが描いた金閣寺の油絵
続いて、アーティストの指定も日本語でできるのか試してみました。
これはなかなかの再現度。うまくできています。
本家の方も試してみると・・・。
こちらもちゃんと生成してくれました。
判定:両者互角
どちらがゴッホっぽいかという話はありますが、どちらもちゃんとした画像を生成することができます。
伏見稲荷
続いて、千本鳥居で有名な伏見稲荷。
鳥居の上がとれて柵になっている!
たくさんある鳥居の再現が難しいのか、失敗作が多かったです。「千本鳥居」と指定した方がよかったかもしれません。
一方で本家の方は
こちらの方がイメージに近い感じです。失敗作も本家の方が少ない印象です。
判定:本家
金閣寺のときは気にならなかったのですが、例えば姫路城などいろいろな観光地を指定したところ海外でも有名な観光スポットは英語の指示の本家の方が綺麗にできる傾向にありました。
木漏れ日
続いて、英語では表現が難しい言葉である「木漏れ日」を試してみます。
う〜ん、こう、木々の間から注いでいるイメージなんだけどな・・・。
「木」と「日」で判定した感じでしょうか。AIにはちょっと難しい言葉のようです。
満員電車
日本の名物と言ってもいい「満員電車」ですが、
これ、ただの電車ですね。
よく考えると、満員電車で写真を撮っていたら犯罪者になってしまいますし、満員電車の絵を描く人がいるとは思えません。
AIが学ぶのは人間のカメラレンズなどを通しての画像。人間がいつも体験していても絵にできていないものは学習できないわけですね。
修学旅行の男子中学生
日本人の描写はなかなか本家では苦手です。
指示するときもJapaneseを常につけたうえ、出てくる結果もあまりかんばしくありません。
というわけで「修学旅行」を指定。
集合写真っぽいものが出てきました。
ただ、顔面崩壊気味で、男子と書いたのに男子と女子が入り混ざったような服装です。
踊るアイドル
「アイドル」という言葉も、英語では表現しにくい言葉ですが結果はいかに。
一応それっぽい画像がでてきました。ただ、顔面はいずれも崩壊しています。
英語で指定しようとすると、ちょっとテイストが違う画像ですが出てきます。韓流が混ざっているのかな?
同じく顔は崩壊ぎみです。
大阪のおばちゃん
続いて、日本人しかイメージできないワードとして「大阪のおばちゃん」をセレクト。
パーマにヒョウ柄でアメちゃんを配っているステレオタイプな「大阪のおばちゃん」がでてくれば、日本人の感覚をもったAIですが・・・。
おばちゃんっていうより、おばあちゃんですね。
何枚出しても「おばあちゃん」でした。
こち亀の両津勘吉
日本では知名度が高いけれど、海外ではマイナーな固有名詞代表で「こち亀の両津勘吉」。
どうみても亀でしかありません。
さてはAl、言葉が分からなかったので、分かる亀だけ解釈したと思われます。
イチローの油絵
続いて人名の固有名詞で本家と比較しようと、日米で知名度の高い「イチロー」をセレクト
誰?
何度かトライしましたが、イチローぽい画像はでませんでした。
しまいにはなんとイチゴが登場。AIは苦しくなるとボケで逃げるようです。
本家に指示すると、ちゃんとイチローした画像が出てきます。
その他いろいろ試してみましたが、今回のバージョンでは人名にかかる固有名詞はほとんど対応不可。おそらく学習してなさそうです。
肖像権などに配慮して、画像を絞ったのでしょうか。個人的には、権利にうるさいジャ○ーズの画像を生成できるか気になっていましたが、それ以前のようです。
使用した所感と推察
さて、今回の日本語版のリリースにあたっては、1億枚の画像を追加学習したとのことで、日本独自のコンテンツは確かに増加している印象です。
一方で、日本の観光地をはじめ特定の画像を出力させたいときに、英語での指示と日本語での指示を比べると英語で指定した方が軒並みよい結果となる傾向です。
おそらく今回の追加学習は、画像と日本語の関係性で学習したため、ベースにある英語学習データとのリンクつが希薄となっていると思われます。
このため、日本語で指示を出す場合は新たに学習した日本語データからの導出が中心となり、これまでのグローバル学習データが生かされない状態となっていると推察されます。
いわば学習情報ネットワークが言語で分断され日本語対応版がガラパゴス化している状態。
日本語指示に混ぜて英単語を加えても効果がほとんどないことからも、言語で分断されていると推測できます。分断されると、日本語対応版の1億枚と、本家の23億枚の圧倒的な学習量と体系化の違いで本家に軍配があがるのでしょう。
今のところは
- 追加学習した日本のコンテンツがほしい
- 英語で指示しづらい日本固有の言葉を指示したい
- 英語がきらいでどうしても日本語でないとダメ
という人が使ってプラスになる人。それ以外の人は、細かな指示もでき仕上がりもよい本家を使用した方が良さそうです。特に、はじめてチャレンジする人は本家の方がおすすめです。
www.boardgamepark.com
www.boardgamepark.com
ただ、それもこれからの学習のさせ方次第で改善余地は無限大。日々進化するAI業界、まだまだ目が離せません。
いずれにしても、こんな技術を無料公開してくれる企業・団体には感謝しかありません。みなさんもぜひ試してみてください。