Search

JP-2026077496-A - 生成プログラム、生成方法及び情報処理装置

JP2026077496AJP 2026077496 AJP2026077496 AJP 2026077496AJP-2026077496-A

Abstract

【課題】画像生成の品質劣化を抑制することを課題とする。 【解決手段】生成プログラムは、コンピュータに、複数のニューラルネットワークそれぞれについて、それぞれが複数のニューラルネットワークごとに異なる特定の概念に対応した画像データと、特定のトークンおよび特定のトークンと異なる複数のトークンのうちの一部と、を対応付けた複数の訓練データを含む訓練データセットを用いて、ニューラルネットワークを訓練し、訓練後の複数のニューラルネットワークを融合させることで、複数の概念に対応したサブネットワークを生成する、処理を実行させる。 【選択図】図5

Inventors

  • 金月 寛彰

Assignees

  • 富士通株式会社

Dates

Publication Date
20260513
Application Date
20241025

Claims (7)

  1. 画像生成AIに付加するサブネットワークとして用いるニューラルネットワークの生成プログラムであって、 コンピュータに、 複数のニューラルネットワークそれぞれについて、それぞれが複数のニューラルネットワークごとに異なる特定の概念に対応した画像データと、特定のトークンおよび特定のトークンと異なる複数のトークンのうちの一部と、を対応付けた複数の訓練データを含む訓練データセットを用いて、ニューラルネットワークを訓練し、 訓練後の複数のニューラルネットワークを融合させることで、複数の概念に対応したサブネットワークを生成する、 処理を実行させることを特徴とする生成プログラム。
  2. 前記訓練する処理は、前記特定のトークンおよび前記複数のトークンのうちの一部を説明変数とし、前記画像データを目的変数として、前記ニューラルネットワークのパラメータを訓練する処理を含むことを特徴とする請求項1に記載の生成プログラム。
  3. 前記複数のトークンのうちの一部は、ランダムドロップアウトで選択されることを特徴とする請求項1に記載の生成プログラム。
  4. 前記画像生成AIは、拡散モデルにより実現されることを特徴とする請求項1~3のいずれか1つに記載の生成プログラム。
  5. 前記ニューラルネットワークは、LoRAにより実現されることを特徴とする請求項1~3のいずれか1つに記載の生成プログラム。
  6. 画像生成AIに付加するサブネットワークとして用いるニューラルネットワークの生成方法であって、 コンピュータが、 複数のニューラルネットワークそれぞれについて、それぞれが複数のニューラルネットワークごとに異なる特定の概念に対応した画像データと、特定のトークンおよび特定のトークンと異なる複数のトークンのうちの一部と、を対応付けた複数の訓練データを含む訓練データセットを用いて、ニューラルネットワークを訓練し、 訓練後の複数のニューラルネットワークを融合させることで、複数の概念に対応したサブネットワークを生成する、 処理を実行することを特徴とする生成方法。
  7. 画像生成AIに付加するサブネットワークとして用いるニューラルネットワークの生成方法を実行する情報処理装置であって、 複数のニューラルネットワークそれぞれについて、それぞれが複数のニューラルネットワークごとに異なる特定の概念に対応した画像データと、特定のトークンおよび特定のトークンと異なる複数のトークンのうちの一部と、を対応付けた複数の訓練データを含む訓練データセットを用いて、ニューラルネットワークを訓練し、 訓練後の複数のニューラルネットワークを融合させることで、複数の概念に対応したサブネットワークを生成する、 処理を実行する制御部を有することを特徴とする情報処理装置。

Description

本発明は、生成プログラム、生成方法及び情報処理装置に関する。 画像生成AI(Artificial Intelligence)等の訓練済みの機械学習モデルのファインチューニング手法の1つとして、LoRA(Low-Rank Adaptation)が提案されている。 LoRAは、画像生成AIのパラメータを変更する代わりに、画像生成AIのモジュールとして低ランク行列で表現されたサブネットワークを並列に追加し、当該サブネットワークでチューニングによる画像生成AIのパラメータの差分を訓練する手法である。 LoRAの長所の1つとして、タスクの切り替えが容易である点が挙げられる。例えば、複数のLoRAの各々に異なるオブジェクトの生成を訓練させておき、複数のLoRAを組み合わせることにより、1つの画像内で複数のオブジェクトを一括して出力させることもできる。 このようにLoRAを組み合わせる技術の1つとして、複数のLoRAの重みの平均を取ってLoRAを融合するWeight Fusionと呼ばれる手法がある。 Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen “LoRA: Low-Rank Adaptation of Large Language Models” International Conference on Learning Representations. 2021 図1は、サーバ装置の機能構成例を示すブロック図である。図2は、Single Subject Generationの一例を示す図である。図3は、Multi Subject Generationの一例を示す図である。図4は、LoRAを説明する模式図である。図5は、LoRAの融合を説明する模式図である。図6は、課題解決アプローチの一側面を示す模式図である。図7は、LoRAの重みの変化の一例を示す図である。図8は、領域設定の一例を示す図である。図9は、第1の訓練方法の一例を説明する模式図である。図10は、拡張プロンプトの一例を示す図である。図11は、第2の訓練方法を説明する模式図である。図12は、第3のサブネットワークの出力例を示す図である。図13は、第3のサブネットワークの融合時の出力例を示す図である。図14は、第3のサブネットワークの融合時の出力例を示す図である。図15は、単純融合の出力例を示す図である。図16は、第1の訓練処理の手順を示すフローチャートである。図17は、第2の訓練処理の手順を示すフローチャートである。図18は、ハードウェア構成例を示す図である。 以下、本開示に係る生成プログラム、生成方法及び情報処理装置を実施するための実施例について添付図面を参照して説明する。なお、この実施例には、あくまで1つの例や側面を示すに過ぎず、このような例示により、本開示に係る構造や作用、機能、性質、特性、方法、用途などは限定されない。 <実施例1> <システム構成> 図1は、サーバ装置10の機能構成例を示すブロック図である。図1には、複数のサブネットワークを融合することにより、1つの画像内で複数のオブジェクトを一括して出力させるLoRA融合機能を提供するサーバ装置10が示されている。 サーバ装置10は、PaaS(Platform as a Service)型のミドルウェア、あるいはSaaS(Software as a Service)型のアプリケーションを実行することで、上記のLoRA融合機能をクラウドサービスとして提供できる。なお、サーバ装置10は、LoRA融合機能を提供する情報処理装置の一例に過ぎない。 図1に示すように、サーバ装置10は、ネットワークNWを介して、クライアント端末30と通信可能に接続され得る。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。なお、図1には、1つのサーバ装置10につき1つのクライアント端末30が接続される例を挙げたが、任意の台数のクライアント端末30が接続されることを妨げない。 クライアント端末30は、上記のLoRA融合機能の提供を受ける端末装置である。例えば、クライアント端末30は、パーソナルコンピュータを始め、スマートフォンやタブレット端末、ウェアラブル端末などの任意のコンピュータにより実現されてよい。 なお、ここでは、上記のLoRA融合機能がクラウドサービスとして提供される例を挙げたが、これに限定されない。例えば、上記のLoRA融合機能は、オンプレミスに提供されることとしてもよい。また、上記のLoRA融合機能は、クライアントサーバシステムで提供される例を挙げたが、これに限定されない。例えば、クライアント端末30上で動作するアプリケーションが上記のLoRA融合機能に対応する処理をクライアント端末30に実行させることにより、上記のLoRA融合機能がスタンドアロンで提供されてもよい。 <画像生成AIの利用シーン> 画像生成AIを用いて特定のオブジェクトの画像を出力する場面では、あくまで一例として、次のような条件付けを行うことができる。例えば、特定の画像を条件付けして、当該画像に含まれるオブジェクトに関連する関連画像を画像生成AIに出力させる。 図2は、Single Subject Generationの一例を示す図である。例えば、図2には、Input Imageに含まれる特定の犬を入力として、「水を走る特定の犬」、「ポリゴン状になった特定の犬」、「Van Gogh画風の特定の犬」及び「ポリス服を着た特定の犬」等のプロンプトに対応する関連画像が出力される例が示されている。 図3は、Multi Subject Generationの一例を示す図である。例えば、図3には、2つのInput Imageの各々に含まれる特定の犬と特定のリュックを入力として、「砂利道上にいる特定の犬と特定のリュック」、「エッフェル塔と一緒の特定の犬と特定のリュック」及び「雪の中にいる特定の犬と特定のリュック」等のプロンプトに対応する関連画像が出力される例が示されている。 これら図2および図3に示す関連画像の出力を指してSubject/Object Generationという。ここで、単体のオブジェクトの出力である場合、Single Subject/Object Generationと言い、複数のオブジェクトの同時出力である場合、Multi Subject/Object Generationと言う。なお、ここで用いる“Subject”および“Object”は、同じ意味で用いられてよい。 <サブネットワークの一例> 以下、画像生成AIのモジュールとして追加されるサブネットワークの例として、LoRAを挙げる。LoRAは、チューニングによるオリジナルのモデルからの重みの差分を低ランク行列で表現することでスペースを節約する手法である。 図4は、LoRAを説明する模式図である。図4に示すように、差分を示す重み行列Wは、低ランク行列A、低ランク行列Bおよびスケーリングハイパーパラメータγにより構成される。この分解は、特定のパラメータグループにのみ適用され、各トランスフォーマーレイヤのSelf-Attentionの線形投影に対応する。これにより、オリジナルのモデルの計算負荷を軽減しながら、パフォーマンスを維持することが可能になる。 <LoRAの融合> このようなLoRAを用いてMulti Subject Generationを実現する場合、複数のLoRAの各々に異なるオブジェクトの生成を訓練させておき、複数のLoRAを組み合わせることにより、1つの画像内で複数のオブジェクトを一括して出力させる。 図5は、LoRAの融合を説明する模式図である。図5に示すように、特定のリュックの画像生成が訓練されたLoRAと、特定のぬいぐるみの画像生成が訓練されたLoRAとを融合することにより、融合されたLoRAから特定のリュックおよび特定のぬいぐるみの複数のオブジェクトを出力させることができる。 <課題の一側面> しかしながら、上記の背景技術の欄で説明したWeight Fusionの通り、複数のLoRAの重みの平均を取ってLoRAを単純に融合したのでは、画像生成が不安定になる崩壊と呼ばれる現象が生じやすいので、画像生成の品質劣化を抑制するのが難しい側面がある。 以下、上記の従来技術であるWeight FusionによるLoRAの融合を本実施例に係るLoRA融合機能と区別する側面から、前者のことを指して「単純融合」と記載する場合がある。 <課題解決アプローチの一側面> 図6は、課題解決アプローチの一側面を示す模式図である。図6に示すように、本実施例に係るLoRA融合機能では、LoRAの融合前に各LoRA自体が崩壊耐性を獲得可能な訓練を実現する。つまり、各LoRAの間で互いに異なる特徴抽出およびモデル表現を訓練させることにより、個々のLoRAに互いの表現能力が干渉せずに固有の表現能力を保ち続ける崩壊耐性を獲得させる。これにより、LoRAの融合時に崩壊現象が生じるのを抑制する。したがって、本実施例に係るLoRA融合機能によれば、画像生成の品質劣化を抑制できる。 ここで、本実施例に係るLoRA融合機能は、上記の単純融合以外の他の従来技術と比べても有利な効果を有する。 <Composable-Diffusion> 例えば、他の従来技術として、1つのモデルに統合するのではなく領域ごとに用いるLoRAの重みを変えるComposable-Diffusionと呼ばれる手法がある。例えば、Composable-Diffusionでは、画像生成AIに用いられるDiffusionモデルにおいてノイズの除去を反復する逆拡散プロセスの途中でLoRAの重みが切り替えられる。 図7は、LoRAの重みの変化の一例を示す図である。図7に示すグラフの縦軸は、LoRAの重みを指し、横軸は、Diffusionモデルの逆拡散プロセスのステップ数を指す。図7に示すように、オブジェクトD1の画像生成が訓練されたLoRA D1の重みと、オブジェクトD2の画像生成が訓練されたLoRA D2の重みとが切り替えられる。例えば、図7に示す例で言えば、逆拡散プロセスのステップ数が10に達するまでLoRA D1の重みが用いられる一方で、逆拡散プロセスのステップ数が10以降になるとLoRA D2の重みが用いられる。このような重みの変更が領域単位で適用される。 1つの側面として、Composable-Diffusionでは、画像生成に用いるLoRAをメモリ内に読み込んでおく必要があるので、LoRAの数が増加するに従って空間計算量が増大する側面がある。これに比べて、本実施例に係るLoRA融合機能では、1つに融合されたLoRAが画像生成に用いられるので、画像生成に用いるメモリの使用量および計算量を削減できる。 他の側面として、Composable-Diffusionでは、重みの大きさやパラメータが増加するので、ユーザ入力による調整の難易度が高い。例えば、重みの付け方によって絵柄が大きく変化するので、加減が難しい。これに比べて、本実施例に係るLoRA融合機能では、余分なユーザ入力を不要化できる。 更なる側面として、Composable-Diffusionは、逆拡散プロセスへの途中からへの介入(モデルの変更)であるので、直接的な課題の解決となっていない。その一方で、本実施例に係るLoRA融合機能では、各LoRAに崩壊耐性を獲得させるので、直接的な課題の