【生成AI×UIデザイン】一貫性のあるアイコンをLoRAで安定生成する技術検証

デジタルの生態系において、アイコンとは単なる「記号」ではない。それは、複雑な機能を一瞥で理解可能な直感へと変換する、視覚言語の最小単位である。
しかし、現代の画像生成AIという「万能の筆」を手に入れた我々が直面しているのは、皮肉にもこの「引き算の美学」の喪失だ。AIはノイズの海から意味を掬い上げる過程で、求められてもいない微細なテクスチャや背景、不要なリアリティを執拗に描き込んでしまう。
厄介なことに、その過剰な描き込みは一貫性を欠いている。最初に生成した画像に施された過剰な描き込みが偶然好みにあったとしても、その次に生成される画像にはまた新たな気まぐれて全く異なるスタイルの描き込みが施される。
本稿は、AIが本能的に抱える「情報の過剰」「一貫性の不在」というバイアスを、LoRA(Low-Rank Adaptation)という手法によっていかに制御し、純粋な視覚記号としてのアイコンを再構築できるか、その一連の技術的デコンストラクション(脱構築)を記録した検証の第1弾である。
なぜ我々はアイコンを自ら生成する必要があるのか
「Geminiに描かせれば簡単ではないか」と思うかもしれないが、これが案外上手くいかない。試しに、Geminiの画像生成ツールであるNano Banana 2に以下のように依頼してみる。
カジュアルゲームで使う剣のアイコンを生成してください。背景は透明です。

結果、剣の質感こそ悪くないが、背景については完全に無視される。もう一度、念押しをしてみよう。
背景は透明です。

今度は成功したかに見えるが、騙されてはいけない。このグレーの市松模様は、透明を表す表示用データではなく、背景に「市松模様そのもの」が描き込まれているのだ。
これは、各社のAIが有料アイコン販売サイトのプレビュー画像など、法的にグレーな素材からも学習しているために発生する問題である。市松模様だけでなく、無料版の透かし(斜線)の痕跡や、ひどい時には画像下部に「Shutterstock」のロゴとおぼしきものがうっすら生成されることも日常茶飯事だ。
また、今回は「カジュアルゲーム風」という要望だったため比較的形になったが、指定するスタイルによっては「アイコン」という概念すら軽々と逸脱してくる。
近未来SFゲームのためのスイカのアイコンを生成してください。正方形画像で、白背景でお願いします。

出力されたのは、確かにSF風のスイカではあるが、指定はことごとく無視され、用途不明な画像が生成された。
そもそも「アイコン」という概念が希薄である
考えてみれば、これは無理もない話だ。 Nano Bananaは、世の中のあらゆる画像生成ニーズに応えるべく最適化されている。「アイコン」という極めてニッチな表現形式は、AIが描ける森羅万象のごく一部に過ぎない。何がアイコンであり、何がそうでないかという区別を、AIは持ち合わせていないのである。
「引き算」ができないAIの「盛り込み」体質
アイコンの本質は「抽象化」と「簡略化」にある。しかし、現在の画像生成AI(特に拡散モデル)の仕組みは、ノイズの中から「もっともらしいディテール」を見つけ出し、描き込んでいくプロセスである。
AIにとって、情報の密度が高い(描き込みが多い)画像ほど「クオリティが高い」と判断されやすい。そのため、「スイカのアイコン」と頼んでも、AIは単なるマークでは満足できない。「スイカがあるなら光の反射があるはずだ」「近未来風ならネオンの装飾やメカニカルな台座が必要だ」と、親切心で余計な情報をどんどん盛り込んでしまうのだ。しかもその場凌ぎで。一貫性を欠いて。
ならば自作するしかない
ここでようやく本題に入る。 森羅万象のアイコンを同じスタイルで生成するため、以下の仮説を立てた。
Stable Diffusionに「アイコンとは何か」を補強するLoRAを用いることで、安定してアイコンを生成できるのではないか。
LoRAとは?
画像生成AIの文脈で使われる「LoRA」とは、一言で言えば「特定のスタイルやキャラクター、概念をAIに追加学習させるための、軽量で効率的な仕組み」のことである。
「巨大な脳」のすべてを書き換えない
Stable Diffusionなどの本体モデル(チェックポイント)は数GBという巨大なデータサイズを持つ。これを丸ごと再学習させるには膨大な計算リソースが必要だが、LoRAは「巨大な脳」の全体をいじるのではなく、脳の重要な回路の横に「小さな追加回路」を付け足すようなイメージだ。
また、LoRAはモデル本体と比較して、データサイズが小さい。数MB〜数百MB程度であり、配布や管理が容易である。
さらには、組み合わせも可能だ。例えば「SF風にするLoRA」と「特定のキャラのLoRA」を掛け合わせるような運用ができる。
少ない画像で学習可能である事も忘れてはいけない利点である。わずか10枚〜数十枚の画像があれば、特定のスタイルを覚えさせることが可能だ。
なぜアイコン生成にLoRAが有効なのか
標準的なAIは「描き込みすぎる」傾向にある。そこで、「徹底的に余計なディテールを削ぎ落とした、シンプルなフラットデザインのアイコン」だけを数十枚学習させたLoRAを作成し、適用する。 すると、AIの「描き込みたがる本能」をLoRAが抑制し、求めている「素材としてのアイコン」へと出力を誘導できる。いわば、AIに「アイコン専用の眼鏡」をかけさせ、余計な背景や装飾を見えなくさせる技術、それがLoRAなのである。
先行事例
我々の目論見と同様のアイコン特化型LoRAは、すでにいくつか公開されている。 しかし、特定のスタイルに偏っていたり、期待通りに動作しなかったりと、まだ「決定版」を欠いている印象だ。複数重ねて使用できるのがLoRAの長所である以上、特定のスタイルを強制せず「アイコン」という指示だけを安定させるLoRAを自作することには、十分な意義があるとの確信に至った。
実践編
それでは作業に入る。 まずは比較のため、LoRAを使用しない状態のStable Diffusionがどのような挙動をするか確認する。 自然言語で依頼できるNano Bananaとは異なり、Stable Diffusionでは「プロンプト」を厳密に指定する必要がある。まずはアイコンという指定すら排し、"watermelon"のみで生成してみる。

結果はひどい駄作である。 こちらが手抜きのプロンプトを書けば、AIも極めて凡庸な結果を返してくる。だが、それでいい。この一切の忖度がない冷酷さこそが、今我々が求めているものである。余計なことをして欲しくないからだ。
続いて、プロンプトを工夫してみる。


理想には程遠いが、わずかな改善が見られた。 本気でプロンプトを指定すれば、それに見合った品質の画像が生成される傾向にある。また、"icon"という単語を重ねることで、多少はアイコンらしく仕上がることも分かった。 Stable Diffusionが「アイコン」という概念を全く理解していないわけではないが、プロンプトの微妙な差で結果が激変する事実からも、その理解は極めて曖昧だと言える。
LoRA作成
いよいよLoRAの作成に取り掛かる。 今回、訓練に使用したのは65枚の画像である。これらはAPIを経由し、Nano Banana 2で生成したものだ。 「Nano Banana 2では安定しない」と前述したが、実はAPI経由で厳密なプロンプトを渡せば、この程度までは安定する。ただし、キノコ同士など似た対象を比較すると、スタイルにはかなりのばらつきがある。これでは実用に耐えないため、これを超える高みを目指すのが今回の最終目標だ。

本来、概念そのものを司るLoRAには、より多様なスタイルのアイコンを学習させるべきかもしれない。しかし今回は概念実証の第1弾として、これら65枚の画像のみで作成した。
具体的な手法は後日機会があれば別記事で紹介するが、基本方針は、LoRA専用のキーワード(今回は "casual-rpg-icon")を決め、そのキーワードと訓練画像との関連性を教え込む手法をとった。
LoRA注入
作成したLoRAがStable Diffusionの出力にどのような影響を与えるか、確認する。

かなりアイコンらしくなった
いかがだろうか。 先ほどの画像とほぼ同等のプロンプト内容であるにもかかわらず、LoRAを適用しただけで「白背景の中央にたったひとつのスイカ」という表現に一気に近づいたのである。
しかし、このスイカは絶望的に気味が悪い。
ここでひとつ重要な誤りに気付いた。先ほどのプロンプトでは"green and red watermelon fruit"という文言を使用している。しかし、この文言は「あちらを立てればこちらが立たず」な内容である。fruitという言葉は果実全体を想起させる。その一方で、スイカを果実全体として扱うならば、赤いその中身は決して外側からは見ることができない。
先ほどのスイカの「キュビズム」のような佇まいには、同時には成立し得ないスイカという果物の二面性を無理やり1枚の画像に収めた苦悩が滲み出ている。
そこで、redという文言を抜き、スイカの果実全体を表すように意図したプロンプトで再度望んでみた。

ついにスイカの果実から赤い中身が除くその裂け目を取り除くことができた。しかし、根本的な不気味さは取り除ききれていない。
その後、LoRAを適用する重みを変更してみたものの、どの値を用いても食欲をそそるようなスイカを生成することは出来なかった。

Fluxという選択肢
ここで、Stable Diffusionによる検証は一度中断し、Fluxを導入してみることにした。
Fluxとは、かつてのStable Diffusion開発チームの主要メンバーたちが設立した「Black Forest Labs」によって生み出された、次世代の画像生成AIモデルである。
従来のモデルを圧倒する120億(12B)ものパラメータ数を誇り、画像生成AIが長年苦手としていた「複雑なプロンプトへの忠実な従順さ」や「画像内への正確な文字の描写」、そして「極めてリアルな人間の質感」を驚異的な精度で実現している。
現在の画像生成AI界における「新たなスタンダード」であり、オープンソースに近い形で公開されているモデルの中では、商用・非商用を問わず最高峰の表現力を持つ存在である。
しかし、その圧倒的な表現力と引き換えに、要求される計算リソースは極めて膨大だ。一般的なオフィス用PCやエントリークラスのゲーミングPCでは、起動することすら叶わない。VRAM(ビデオメモリ)を大量に消費するため、RTX 4090のようなハイエンドGPUを搭載したローカル環境、あるいはクラウド上の高性能GPUサーバーの利用が事実上の前提となる。
いわば、画像生成AIにおける「プロフェッショナルのための重量級エンジン」であり、その真価を引き出すには相応のインフラ構築が求められる。
そこで、まずは検証のためにFluxであれば何が出来るのかを見極め、その知見をもってStable Diffusionによるアイコン生成が可能なのかを判断したい。
先ほどと同じ学習画像を用いて、Flux専用のLoRAを作成した。
以下がその結果である。


Stable Diffusionと比較して、その差は歴然である。あの名状しがたい特有の不気味さそして破綻が、Fluxでは全く見られない。
ただ、ここで満足する訳にはいかない。
LoRAの重みが低いほど、Fluxはより正確にその物体の本来の姿を描くことができる反面、アイコンと呼ぶには程遠いスタイルとなる。
一方、スタイルを優先し重みを最大化すると、今度は形状が大きく歪められそれが本当にスイカであるのか怪しくなってくる。
単純にFluxにLoRAを導入しただけでは、この二律背反を解消することは出来ないという事だ。
ピザの崩壊
スイカではその破綻はそれほど顕著とも言えなかったかもしれない。しかし、代わりに「ピザ」をモチーフにすると、強すぎるLoRAの重みがいかに本来の形状を歪めるかは一目瞭然となる。

LoRAを全く適用しない時は完璧に描かれていた一切れのピザが、LoRaの重みを増すごとに次第に崩壊し、時折持ち直しはするものの、最終的にピザとは到底呼べない代物が生成されてしまった。
LoRAの元となった訓練データのスタイルに最も近いと思われるのは0.8だが、ハーフカットのピザは決して典型的なピザとは言えない。
アイコンにとって典型的であるということは極めて重要な素質である。事実、Fluxもそのことは膨大な学習を経て知識として持ち合わせているため、LoRAによる制限がない状態では、1/4 カットを正しく選び取っている。
我々に残された課題は以下の通りである。
- 形状には影響せずスタイルのみに影響を与えるLoRAの作成は可能か
- LoRAから形状への影響を受けつつも物体の本来の形状を保つことは可能か
- これらの知見を元にStable Diffusionによる高品質なアイコンの生成は可能か
これらの問題に関して、我々は真に驚くべき解決方法を見つけたが、この余白はそれを書くには狭すぎる。
「Generative AI & ML」の関連記事

AI Economist: Reinforcement Learning in Economics
Experimenting with the AI Economist API to simulate free markets and communism using Reinforcement Learning (RL) agents.

Applying Self Pre-Training Method to GNN for Quantum Chemistry
Explore how self pre-training methods are applied to Graph Neural Networks (GNN) to improve predictions in quantum chemistry.

Transformer with OCR: From Molecule to Manga
Exploring the application of Transformer encoder-decoder models in OCR tasks, analyzing performance on Manga datasets.