(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】学習システム、学習方法、及びコンピュータプログラム
(51)【国際特許分類】
G06T 11/60 20060101AFI20240925BHJP
H04N 1/387 20060101ALI20240925BHJP
H04N 1/393 20060101ALI20240925BHJP
【FI】
G06T11/60 100A
H04N1/387 110
H04N1/393
(21)【出願番号】P 2022546767
(86)(22)【出願日】2020-09-02
(86)【国際出願番号】 JP2020033195
(87)【国際公開番号】W WO2022049657
(87)【国際公開日】2022-03-10
【審査請求日】2023-02-16
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】戸泉 貴裕
【審査官】橘 高志
(56)【参考文献】
【文献】特開2020-057381(JP,A)
【文献】米国特許出願公開第2020/0151508(US,A1)
【文献】米国特許出願公開第2019/0377849(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/60
H04N 1/387
H04N 1/393
(57)【特許請求の範囲】
【請求項1】
入力されたレイアウトが有する
前記レイアウトの縦の長さが段組みの大きさによって量子化されているという制約を抽出して、制約付き訓練データを生成する訓練データ生成手段と、
乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習する学習手段と
を備えることを特徴とする学習システム。
【請求項2】
前記訓練データ生成手段は、
前記レイアウトの横の長さが行の幅よって量子化されているという制約を
更に抽出して、前記制約付き訓練データを生成することを特徴とする請求項
1に記載の学習システム。
【請求項3】
前記学習手段は、条件付き敵対的生成ネットワークにより学習を行うことを特徴とする請求項1
又は2に記載の学習システム。
【請求項4】
前記条件付き敵対的生成ネットワークの条件は、前記レイアウトに含まれる記事の長さ、前記記事の優先順位、前記記事に関連する画像の数、及び前記記事に関連する見出しの数の少なくとも1つであることを特徴とする請求項
3に記載の学習システム。
【請求項5】
前記訓練データ生成手段は、前記レイアウトを示すレイアウト画像を前記制約に基づいて縮小して前記制約付き訓練データを生成することを特徴とする請求項1から
4のいずれか一項に記載の学習システム。
【請求項6】
前記訓練データ生成手段は、前記レイアウト画像と、前記レイアウト画像を縮小した後に元のサイズに拡大した画像との差分に基づいて、前記レイアウト画像の縮小サイズを決定することを特徴とする請求項
5に記載の学習システム。
【請求項7】
前記レイアウトは、新聞又は雑誌のレイアウトであることを特徴とする請求項1から
6のいずれか一項に記載の学習システム。
【請求項8】
入力されたレイアウトが有する
前記レイアウトの縦の長さが段組みの大きさによって量子化されているという制約を抽出して、制約付き訓練データを生成し、
乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習する
ことを特徴とする学習方法。
【請求項9】
入力されたレイアウトが有する
前記レイアウトの縦の長さが段組みの大きさによって量子化されているという制約を抽出して、制約付き訓練データを生成し、
乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習する
ようにコンピュータを動作させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は、レイアウトに関する学習を実行する学習システム、学習方法、及びコンピュータプログラムの技術分野に関する。
【背景技術】
【0002】
例えば、新聞や雑誌等の文書のレイアウトを自動的に生成する技術が知られている。特許文献1では、過去に登録した参照レイアウトを用いてレイアウトを生成する技術が開示されている。特許文献2では、実際に使用されたレイアウトパターンを参考にしてレイアウトを生成する技術が開示されている。特許文献3では、ひな形のデータを属性に対応付けて記憶しておき、製作しようとする記事の属性に応じたレイアウトを提示する技術が開示されている。特許文献4では、複数のコンテンツを所定の領域内に配置してレイアウトを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2001-109745号公報
【文献】特許第5506176号公報
【文献】特開2018-067151号公報
【文献】特開2020-057381号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
文書を適切にレイアウトするためには、レイアウトを生成するモデルを事前に学習しておくことが望ましい。しかしながら、上述した各引用文献は、レイアウトの学習に関する議論が不十分であり、改善の余地がある。
【0005】
この開示は、上述した課題を解決することが可能な学習システム、学習方法、及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【0006】
この開示の学習システムの一の態様は、入力されたレイアウトが有する制約を抽出して、制約付き訓練データを生成する訓練データ生成手段と、乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習する学習手段とを備える。
【0007】
この開示の学習方法の一の態様は、入力されたレイアウトが有する制約を抽出して、制約付き訓練データを生成し、乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習する。
【0008】
この開示のコンピュータプログラムの一の態様は、入力されたレイアウトが有する制約を抽出して、制約付き訓練データを生成し、乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習するようにコンピュータを動作させる。
【発明の効果】
【0009】
上述した学習システム、学習方法、及びコンピュータプログラムのそれぞれの一の態様によれば、文書等のレイアウトを適切に学習することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る学習システムのハードウェア構成を示すブロック図である。
【
図2】第1実施形態に係る学習システムの機能的構成を示すブロック図である。
【
図3】第1実施形態に係る学習システムの学習時の動作の流れを示すフローチャートである。
【
図4】第1実施形態に係る学習システムにおけるレイアウト生成器の学習処理の流れを示すフローチャートである。
【
図5】第1実施形態に係る学習システムにおけるレイアウト識別器の学習処理の流れを示すフローチャートである。
【
図6】段組みの大きさに基づく制約を用いて制約付き訓練データを生成する方法を示す概念図である。
【
図7】行の幅に基づく制約を用いて制約付き訓練データを生成する方法を示す概念図である。
【
図8】第3実施形態に係る学習システムの機能的構成を示すブロック図である。
【
図9】条件のベクトル化の一例を示す概念図である。
【
図10】第3実施形態に係る学習システムにおけるレイアウト生成器の学習処理の流れを示すフローチャートである。
【
図11】元のレイアウトと縮小拡大後のレイアウトとの差分比較を示す概念図である。
【
図12】レイアウトの差分に基づく縮小サイズの決定方法を示すグラフである。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、学習システム、学習方法、及びコンピュータプログラムの実施形態について説明する。
【0012】
<第1実施形態>
第1実施形態に係る学習システムについて、
図1から
図5を参照して説明する。
【0013】
(ハードウェア構成)
まず、
図1を参照しながら、第1実施形態に係る学習システムのハードウェア構成について説明する。
図1は、第1実施形態に係る学習システムのハードウェア構成を示すブロック図である。
【0014】
図1に示すように、第1実施形態に係る学習システム10は、プロセッサ11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、記憶装置14とを備えている。学習システム10は更に、入力装置15と、出力装置16とを備えていてもよい。プロセッサ11と、RAM12と、ROM13と、記憶装置14と、入力装置15と、出力装置16とは、データバス17を介して接続されている。
【0015】
プロセッサ11は、コンピュータプログラムを読み込む。例えば、プロセッサ11は、RAM12、ROM13及び記憶装置14のうちの少なくとも一つが記憶しているコンピュータプログラムを読み込むように構成されている。或いは、プロセッサ11は、コンピュータで読み取り可能な記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。プロセッサ11は、ネットワークインタフェースを介して、学習システム10の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、読み込んでもよい)。プロセッサ11は、読み込んだコンピュータプログラムを実行することで、RAM12、記憶装置14、入力装置15及び出力装置16を制御する。本実施形態では特に、プロセッサ11が読み込んだコンピュータプログラムを実行すると、プロセッサ11内には、レイアウトを学習するための機能ブロックが実現される。また、プロセッサ11として、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)、DSP(Demand-Side Platform)、ASIC(Application Specific Integrated Circuit)のうち一つを用いてもよいし、それらを複数並列で用いてもよい。
【0016】
RAM12は、プロセッサ11が実行するコンピュータプログラムを一時的に記憶する。RAM12は、プロセッサ11がコンピュータプログラムを実行している際にプロセッサ11が一時的に使用するデータを一時的に記憶する。RAM12は、例えば、D-RAM(Dynamic RAM)であってもよい。
【0017】
ROM13は、プロセッサ11が実行するコンピュータプログラムを記憶する。ROM13は、その他に固定的なデータを記憶していてもよい。ROM13は、例えば、P-ROM(Programmable ROM)であってもよい。
【0018】
記憶装置14は、学習システム10が長期的に保存するデータを記憶する。記憶装置14は、プロセッサ11の一時記憶装置として動作してもよい。記憶装置14は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。
【0019】
入力装置15は、学習システム10のユーザからの入力指示を受け取る装置である。入力装置15は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つを含んでいてもよい。
【0020】
出力装置16は、学習システム10に関する情報を外部に対して出力する装置である。例えば、出力装置16は、学習システム10に関する情報を表示可能な表示装置(例えば、ディスプレイ)であってもよい。
【0021】
(機能的構成)
次に、
図2を参照しながら、第1実施形態に係る学習システム10の機能的構成について説明する。
図2は、第1実施形態に係る学習システムの機能的構成を示すブロック図である。
【0022】
図2において、第1実施形態に係る学習システム10は、レイアウト生成器110と、レイアウト識別器120とを敵対的生成ネットワーク(GAN:Generative Adversarial Netoworks)により学習するシステムとして構成されている。レイアウト生成器110は、ニューラルネットワークで構成されており、乱数(具体的には、乱数ベクトル)を用いてレイアウト(例えば、文書における文章、見出し、画像等の配置位置を示すレイアウト)を生成する。レイアウト識別器120は、レイアウト生成器110と同様にニューラルネットワークで構成されており、訓練データとして入力されるレイアウトとレイアウト生成器110で生成された生成レイアウトとを識別する(例えば、識別結果を示すスコアを出力する)。なお、レイアウト生成器110及びレイアウト識別器120を構成するニューラルネットワークの構造については、特に限定されない。
【0023】
学習システム10は、その機能を実現するための処理ブロックとして、訓練データ生成部130と、生成器学習部140と、識別器学習部150とを備えている。訓練データ生成部130、生成器学習部140、及び識別器学習部150は、例えばプロセッサ11(
図1参照)によって実現されてよい。
【0024】
訓練データ生成部130は、入力されたレイアウト(例えば、レイアウトを示す画像)から、制約付き訓練データを生成可能に構成されている。制約付き訓練データを生成する際、訓練データ生成部130は、入力されたレイアウトの制約(即ち、レイアウトに特有のルール)を抽出し、その制約に基づいて制約付き訓練データを生成する。レイアウトの制約は、訓練データ生成部130によって、入力されたレイアウトから自動的に抽出されるものであってもよいし、入力されるレイアウトと共に予め設定された条件として事前に抽出されていてもよい。制約付き訓練データは、このような制約に基づいて生成されるため、制約なしで生成される場合と比較して、自由度の少ない訓練データとなる。
【0025】
生成器学習部140は、レイアウト生成器110の最適化を実行可能に構成されている。より具体的には、生成器学習部140は、レイアウト生成器110を構成するニューラルネットワークのパラメータを更新することにより最適化を実行する。生成器学習部140は、敵対的生成ネットワークによりレイアウト生成器110を学習する。生成器学習部140による学習動作については、後述する動作説明において詳しく説明する。
【0026】
識別器学習部150は、レイアウト識別器120の最適化を実行可能に構成されている。より具体的には、識別器学習部150は、レイアウト識別器120を構成するニューラルネットワークのパラメータを更新することにより最適化を実行する。識別器学習部150は、上述した生成器学習部140と共に、敵対的生成ネットワークによりレイアウト識別器120を学習する。識別器学習部150による学習動作については、後述する動作説明において詳しく説明する。
【0027】
(学習時の動作)
次に、
図3を参照しながら、第1実施形態に係る学習システム10の学習時の動作について説明する。
図3は、第1実施形態に係る学習システムにおける学習時の動作の流れを示すフローチャートである。
【0028】
図3に示すように、第1実施形態に係る学習システム10が動作する際(即ち、学習動作を行う場合)には、まず訓練データ生成部130が、入力されたレイアウトから制約を抽出し、制約付き訓練データを生成する(ステップS101)。制約付き訓練データの具体的な生成手法については、他の実施形態において詳しく説明する。
【0029】
続いて、生成器学習部140がレイアウト生成器110の学習処理を実行する(ステップS102)。また、識別器学習部150がレイアウト識別器120の学習処理を実行する(ステップS103)。生成器学習部140及び識別器学習部150の学習処理は、敵対的生成ネットワークにより行われる。
【0030】
続いて、第1実施形態に係る学習システム10が、生成器学習部140及び識別器学習部150による学習処理が終了したと判定すると(ステップS104:YES)、一連の学習処理動作は終了することになる。一方、生成器学習部140及び識別器学習部150による学習処理が終了していないと判定すると(ステップS104:NO)、ステップS101から処理を繰り返す。なお、学習システム10は、ステップS101からS103の繰り返し処理が所定回数(例えば、10万回)に達した場合に、生成器学習部140及び識別器学習部150による学習処理が終了したと判定すればよい。
【0031】
(レイアウト生成器の学習)
次に、
図4を参照しながら、レイアウト生成器110の学習処理(即ち、
図3のステップS102の処理)について詳しく説明する。
図4は、第1実施形態に係る学習システムにおけるレイアウト生成器の学習処理の流れを示すフローチャートである。
【0032】
図4に示すように、レイアウト生成器110の学習処理では、まずレイアウト生成器110が、乱数ベクトル(例えば、ガウス乱数から作成されたもの)を取得し(ステップS201)、乱数ベクトルから生成レイアウトを生成する(ステップS202)。そして、レイアウト識別器120が生成レイアウトを識別し、識別結果を示すスコアを出力する(ステップS203)。
【0033】
続いて、生成器学習部140は、レイアウト識別器120による識別結果が正解レイアウトに近づくように、損失関数を計算する(ステップS204)。即ち、生成器学習部140は、レイアウト識別器120を騙す(即ち、生成レイアウトを正解レイアウトと思い込ませる)ように損失関数を計算する。
【0034】
生成器学習部140は、誤差逆伝播法を用いて、上述した損失関数からレイアウト生成器110を構成するニューラルネットワークの各パラメータの勾配を計算する(ステップS205)。そして、生成器学習部140は、計算された勾配を用いて、レイアウト生成器110を構成するニューラルネットワークの各パラメータを更新する(ステップS206)。
【0035】
以上説明した一連の処理で、生成器学習部140による1つのバッチの学習処理が終了する。生成器学習部140によるレイアウト生成器110の学習処理が終了すると、識別器学習部150によるレイアウト識別器120の学習処理に移行する。
【0036】
(レイアウト識別器の学習)
次に、
図5を参照しながら、レイアウト識別器120の学習処理(即ち、
図3のステップS103の処理)について詳しく説明する。
図5は、第1実施形態に係る学習システムにおけるレイアウト識別器の学習処理の流れを示すフローチャートである。
【0037】
図5に示すように、レイアウト識別器120の学習処理では、まず識別器学習部150が、訓練データから正解レイアウトに関する情報を取得する(ステップS301)。識別器学習部150は、正解レイアウトに関する情報をバッチサイズだけ取得する。
【0038】
続いて、レイアウト生成器110が、乱数ベクトルを取得し(ステップS302)、乱数ベクトルから生成レイアウトを生成する(ステップS303)。そして、レイアウト識別器120が生成レイアウトを識別し、識別結果を示すスコアを出力する(ステップS304)。識別器学習部150は、この場合のレイアウト識別器120による識別結果が生成レイアウトに近づくように損失関数を作成する(ステップS305)。
【0039】
レイアウト識別器120の学習処理では更に、レイアウト識別器120が、制約付き訓練データ(即ち、正解レイアウト)を識別し、識別結果を示すスコアを出力する(ステップS306)。そして、識別器学習部150は、この場合のレイアウト識別器120による識別結果が正解レイアウトに近づくように損失関数を作成する(ステップS307)。
【0040】
続いて、識別器学習部150は、生成レイアウトの識別結果が生成レイアウトとなり、正解レイアウトの識別結果が正解レイアウトとなるように損失関数を計算する(ステップS308)。即ち、識別器学習部150は、レイアウト識別器120が、生成レイアウトと正解レイアウトを識別できるように損失関数を計算する。
【0041】
識別器学習部150は、誤差逆伝播法を用いて、上述した損失関数からレイアウト識別器120を構成するニューラルネットワークの各パラメータの勾配を計算する(ステップS309)。そして、識別器学習部150は、計算された勾配を用いて、レイアウト識別器120を構成するニューラルネットワークの各パラメータを更新する(ステップS310)。
【0042】
以上説明した一連の処理で、識別器学習部150による1つのバッチの学習処理が終了する。識別器学習部150によるレイアウト識別器120の学習処理が終了した後は、次のバッチの学習処理が実行されることになる。即ち、
図3のフローチャートで説明したように、全ての学習処理が終了するまで、レイアウト生成器110及びレイアウト識別器120の学習処理が繰り返し実行される。
【0043】
なお、上述したレイアウト生成器110及びレイアウト識別器120の学習処理においては、例えば損失関数としてバイナリクロスエントロピーを用いる。ただし、損失関数については特に限定されず、他の損失関数を用いてもよい。
【0044】
(技術的効果)
次に、第1実施形態に係る学習システム10によって得られる技術的効果について説明する。
【0045】
図1から
図5で説明したように、第1実施形態に係る学習システム10では、制約付き訓練データを用いて、レイアウト生成器110及びレイアウト識別器120が敵対的生成ネットワークにより学習される。ここで特に、制約付き訓練データは、レイアウトに特有の制約に基づいて生成されているため、制約のない訓練データと比較すると自由度が少ない。よって、制約付き訓練データを用いれば、制約のない訓練データを用いる場合と比較して、効率的に学習処理を実行することが可能である。
【0046】
<第2実施形態>
第2実施形態に係る学習システム10について、
図6及び
図7を参照して説明する。なお、第2実施形態は、訓練データの生成時に抽出される制約の具体例を説明するものであり、その動作や構成については、上述した第1実施形態と同様であってよい(例えば、
図1から
図5参照)。このため、以下では、第1実施形態と異なる部分について詳しく説明し、重複する部分については適宜説明を省略するものとする。
【0047】
(段組みに基づく制約)
まず、
図6を参照しながら、段組みに基づく制約、及びその制約に基づいて生成される訓練データについて具体的に説明する。
図6は、段組みの大きさに基づく制約を用いて制約付き訓練データを生成する方法を示す概念図である。
【0048】
図6に示すように、新聞や雑誌等の記事のレイアウトでは、予め所定の大きさの段組みが設定される。この場合、この段組みの大きさ(即ち、段の幅)に応じた制約に基づいて、制約付き訓練データを生成することができる。具体的には、段組みの大きさが予め決まっている場合は、1つの段を1画素に量子化した量子化レイアウトとして、制約付き訓練データを生成できる。
【0049】
(行の幅に基づく制約)
次に、
図7を参照しながら、行の幅に基づく制約、及びその制約に基づいて生成される訓練データについて具体的に説明する。
図7は、行の幅に基づく制約を用いて制約付き訓練データを生成する方法を示す概念図である。
【0050】
図7に示すように、新聞や雑誌等の記事のレイアウトでは、予め行の幅(言い換えれば、文字の横幅)が設定されている。この場合、この行の幅に応じた制約に基づいて、制約付き訓練データを生成することができる。具体的には、行の幅が予め決まっている場合は、1つの行を1画素に量子化した量子化レイアウトとして、制約付き訓練データを生成できる。
【0051】
(技術的効果)
次に、第2実施形態に係る学習システム10によって得られる技術的効果について説明する。
【0052】
図6及び
図7で説明したように、第2実施形態に係る学習システム10では、段組みの大きさや行の幅に応じた制約に基づいて、制約付き訓練データが生成される。よって、新聞や雑誌等のレイアウトを学習する際に、効率的に学習処理を実行することが可能となる。
【0053】
<第3実施形態>
第3実施形態に係る学習システム10について、
図8及び
図9を参照して説明する。なお、第3実施形態は、上述した第1及び第2実施形態と一部の構成及び動作(具体的には、条件が入力される点)が異なるのみで、その他の部分については概ね同様である。このため、以下では、上述した実施形態と異なる部分について詳細に説明し、すでに説明した部分と重複する部分については適宜説明を省略するものとする。
【0054】
(機能的構成)
まず、
図8を参照しながら、第3実施形態に係る学習システム10の機能的構成について説明する。
図8は、第3実施形態に係る学習システムの機能的構成を示すブロック図である。
【0055】
図8に示すように、第3実施形態に係る学習システム10は、条件付き敵対的生成ネットワーク(CGAN:Conditional Generative Adversarial Netoworks)により、レイアウト生成器110及びレイアウト識別器120の学習処理を実行可能に構成されている。具体的には、レイアウト生成器110に、乱数に加えて条件情報が入力されるように構成されている。この場合、レイアウト生成器110は、乱数と条件情報をニューラルネットワークに入力して生成レイアウトを生成する。また、レイアウト識別器120に、事前情報としての条件情報が入力される構成となっている。この場合、レイアウト識別器120は、条件情報を用いてレイアウトの識別を行う。
【0056】
<条件のベクトル化>
次に、
図9を参照して、条件のベクトル化について具体的に説明する。
図9は、条件のベクトル化の一例を示す概念図である。
【0057】
図9に示すように、例えば条件情報として、見出しの数「2」、本文の文字数「321」、画像の数「1」、表の数「0」が入力されるとする。この場合、条件情報はベクトル化され、条件ベクトル(多次元のベクトル)として処理される。なお、上述した条件情報はあくまで一例であり、記事に関する各種情報が条件情報として入力されてよい。例えば、記事の優先順位(即ち、その記事をどの程度目立たせるかを示す度合い)を条件情報として用いてもよい。また、条件情報は、
図9の例のように複数の条件の組み合わせであってもよいし、1つの条件だけで構成されていてもよい。
【0058】
(レイアウト生成器の学習)
次に、
図10を参照しながら、第3実施形態に係るレイアウト生成器110の学習処理について詳しく説明する。
図10は、第3実施形態に係る学習システムにおけるレイアウト生成器の学習処理の流れを示すフローチャートである。
【0059】
図10に示すように、レイアウト生成器110の学習処理では、まず生成器学習部140が、訓練データから正解レイアウト(即ち、入力されたレイアウト)に関する情報を取得する(ステップS401)。生成器学習部140は、正解レイアウトに関する情報をバッチサイズだけ取得する。
【0060】
続いて、レイアウト生成器110が、乱数ベクトル及び条件情報を取得する(ステップS402)。レイアウト生成器110は、取得した乱数ベクトル及び条件情報に基づいて、生成レイアウトを生成する(ステップS403)。そして、レイアウト識別器120が条件情報を用いて生成レイアウトを識別し、識別結果を示すスコアを出力する(ステップS404)。
【0061】
続いて、生成器学習部140は、レイアウト識別器120による識別結果が正解レイアウトに近づくように、損失関数を計算する(ステップS405)。即ち、生成器学習部140は、レイアウト識別器120を騙す(即ち、生成レイアウトを正解レイアウトと思い込ませる)ように損失関数を計算する。
【0062】
生成器学習部140は、誤差逆伝播法を用いて、上述した損失関数からレイアウト生成器110を構成するニューラルネットワークの各パラメータの勾配を計算する(ステップS406)。そして、生成器学習部140は、計算された勾配を用いて、レイアウト生成器110を構成するニューラルネットワークの各パラメータを更新する(ステップS407)。
【0063】
以上説明した一連の処理で、生成器学習部140による1つのバッチの学習処理が終了する。生成器学習部140によるレイアウト生成器110の学習処理が終了すると、識別器学習部150によるレイアウト識別器120の学習処理に移行する。
【0064】
なお、第3実施形態に係るレイアウト識別器120の学習処理については、上述した第2実施形態の処理(
図5参照)と同様であってよい。このため、第3実施形態に係るレイアウト識別器120の学習処理については、説明を省略するものとする。
【0065】
(技術的効果)
次に、第3実施形態に係る学習システム10によって得られる技術的効果について説明する。
【0066】
図8から
図10で説明したように、第3実施形態に係る学習システム10では、条件付き敵対的生成ネットワークにより学習処理が実行される。よって、例えば第1実施形態のように条件付きでない敵対的生成ネットワークにより学習処理を実行する場合と比較すると、より効率的に学習処理を実行することが可能となる。
【0067】
<第4実施形態>
第4実施形態に係る学習システム10について、
図11及び
図12を参照して説明する。なお、第4実施形態は、上述した各実施形態における制約付き訓練データの生成方法について説明するものであり、その構成及び動作は、上述した各実施形態と同一であってよい。このため、以下では、上述した実施形態と異なる部分について詳細に説明し、すでに説明した部分と重複する部分については適宜説明を省略するものとする。
【0068】
(差分値の比較)
まず、
図11を参照しながら、制約付き訓練データを生成する際のレイアウトサイズを決定する処理について、
図11を参照して説明する。
図11は、元のレイアウトと縮小拡大後のレイアウトとの差分比較を示す概念図である。
【0069】
図11において、学習システム10(具体的には、訓練データ生成部130)に入力されるレイアウトが、各画素に対して記事のIDが割り振られたセグメンテーション画像であるとする。この場合、訓練データ生成部130は、セグメンテーション画像を最近傍法(Nearest Neighbor)で縦方向に縮小し、その後、最近傍法で元のサイズに拡大し、元の画像と縮小拡大後の画像との差分を比較する。より具体的には、訓練データ生成部130は、元の画像と縮小拡大後の画像との不一致の画素数の和を差分値として取得する。訓練データ生成部130は、上述した差分値を取得する処理を、縮小サイズが連続値で小さくなっていくように繰り返し実行する。訓練データ生成部130は、このような処理で得られた差分値に基づいて、セグメンテーション画像の縮小サイズ(言い換えれば、制約付き訓練データの画像サイズ)を決定する。
【0070】
(縮小サイズの決定)
次に、
図12を参照しながら、差分値に基づく縮小サイズの決定方法について説明する。
図12は、レイアウトの差分に基づく縮小サイズの決定方法を示すグラフである。
【0071】
図12に示すように、元の画像と縮小拡大後の画像との差分値を繰り返し取得していくと、ある一定のサイズになった場合に、差分値が急に減少する(図中の破線で囲んだ部分を参照)。訓練データ生成部130は、このように差分値が急に減少した際のサイズを、セグメンテーション画像の最小の縮小サイズ(即ち、制約付き訓練データの画像サイズ)として決定する。
【0072】
なお、上述した縮小サイズを決定する処理は、セグメンテーション画像を横方向に縮小、拡大して行われてもよい。即ち、セグメンテーション画像を最近傍法で横方向に縮小し、その後、最近傍法で元のサイズに拡大し、元の画像と縮小拡大後の画像との差分値から、横方向の縮小サイズを決定するようにしてもよい。セグメンテーション画像の縮小サイズは、縦方向、横方向のいずれか一方のみについて決定されてもよいし、縦方向及び横方向の両方向について決定されてもよい。オフセットとしてオリジナルの画像の数画素分をカットしてから縮小拡大処理を行ってもよい。例えば、画素が00111000111と並んでいる場合は最初の2画素をオフセットとして除去してから3画素に縮小(101)し、その後に拡大すると元の画像(111000111)とオフセット以降の画素で同じ配列となる(オフセットが0の場合は同じ配列にはできない)。
【0073】
制約付き訓練データの画像サイズを決定する処理は、学習動作の初期化の部分で、例えば全データの中からランダムにサンプリングされた複数のデータを用いて行う。訓練データ生成部130は、最小の縮小サイズが決定した後は、そのサイズを固定値として、入力されたセグメンテーション画像を縮小する処理を実行する。
【0074】
(技術的効果)
次に、第4実施形態に係る学習システム10によって得られる技術的効果について説明する。
【0075】
図11及び
図12で説明したように、第4実施形態に係る学習システム10では、レイアウト画像と、縮小、拡大後の画像との差分に基づいて、画像の縮小サイズが決定される。このようにすれば、容易且つ的確に、適切な制約付き訓練データを生成することが可能となる。
【0076】
<付記>
以上説明した実施形態に関して、更に以下の付記のようにも記載されうるが、以下には限られない。
【0077】
(付記1)
付記1に記載の学習システムは、入力されたレイアウトが有する制約を抽出して、制約付き訓練データを生成する訓練データ生成手段と、乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習する学習手段とを備えることを特徴とする学習システムである。
【0078】
(付記2)
付記2に記載の学習システムは、前記訓練データ生成手段は、レイアウトの縦の長さが段組みの大きさによって量子化されているという制約を抽出して、前記制約付き訓練データを生成することを特徴とする付記1に記載の学習システムである。
【0079】
(付記3)
付記3に記載の学習システムは、前記訓練データ生成手段は、レイアウトの横の長さが行の幅よって量子化されているという制約を抽出して、前記制約付き訓練データを生成することを特徴とする付記1又は2に記載の学習システムである。
【0080】
(付記4)
前記推定手段は、前記学習手段は、条件付き敵対的生成ネットワークにより学習を行うことを特徴とする付記1から3のいずれか一項に記載の学習システムである。
【0081】
(付記5)
付記5に記載の学習システムは、前記条件付き敵対的生成ネットワークの条件は、前記レイアウトに含まれる記事の長さ、前記記事の優先順位、前記記事に関連する画像の数、及び前記記事に関連する見出しの数の少なくとも1つであることを特徴とする付記4に記載の学習システムである。
【0082】
(付記6)
付記6に記載の学習システムは、前記訓練データ生成手段は、前記レイアウトを示すレイアウト画像を前記制約に基づいて縮小して前記制約付き訓練データを生成することを特徴とする付記1から5のいずれか一項に記載の学習システムである。
【0083】
(付記7)
付記7に記載の学習システムは、前記訓練データ生成手段は、前記レイアウト画像と、前記レイアウト画像を縮小した後に元のサイズに拡大した画像との差分に基づいて、前記レイアウト画像の縮小サイズを決定することを特徴とする付記6に記載の学習システムである。
【0084】
(付記8)
付記8に記載の学習システムは、新聞又は雑誌のレイアウトであることを特徴とする付記1から7のいずれか一項に記載の学習システムである。
【0085】
(付記9)
付記9に記載の学習方法は、入力されたレイアウトが有する制約を抽出して、制約付き訓練データを生成し、乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習することを特徴とする学習方法である。
【0086】
(付記10)
付記10に記載のコンピュータプログラムは、入力されたレイアウトが有する制約を抽出して、制約付き訓練データを生成し、乱数を用いて生成レイアウトを生成するレイアウト生成手段、及び前記生成レイアウトと前記制約付き訓練データとを識別するレイアウト識別手段を、敵対的生成ネットワークにより学習するようにコンピュータを動作させることを特徴とするコンピュータプログラムである。
【0087】
(付記11)
付記11に記載の記録媒体は、付記10に記載のコンピュータプログラムが記録されていることを特徴とする記録媒体である。
【0088】
この開示は、請求の範囲及び明細書全体から読み取ることのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う学習システム、学習方法、及びコンピュータプログラムもまたこの開示の技術思想に含まれる。
【符号の説明】
【0089】
10 学習システム
11 プロセッサ
110 レイアウト生成器
120 レイアウト識別器
130 訓練データ生成部
140 生成器学習部
150 識別器学習部