(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】機械学習方法、画像形成装置、および機械学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231205BHJP
B41J 29/38 20060101ALI20231205BHJP
G06N 3/092 20230101ALI20231205BHJP
H04N 1/00 20060101ALI20231205BHJP
【FI】
G06N20/00
B41J29/38
G06N3/092
H04N1/00 567M
(21)【出願番号】P 2020012745
(22)【出願日】2020-01-29
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110000671
【氏名又は名称】IBC一番町弁理士法人
(72)【発明者】
【氏名】菅井 駿
(72)【発明者】
【氏名】斎藤 浩一
(72)【発明者】
【氏名】桐山 知宏
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2019-184944(JP,A)
【文献】特開2019-034836(JP,A)
【文献】特開2008-181024(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
B41J 29/38
G06N 3/092
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
搬送路に沿って被搬送媒体を搬送する搬送部材と、
前記搬送路における被搬送媒体の位置を検出する位置検出部と、
前記搬送部材を駆動する駆動源と、
前記搬送した被搬送媒体に画像を形成する画像形成部と、
を備える画像形成装置において、前記画像形成装置の単位時間当たりの前記被搬送媒体の出力である生産性を評価することで被搬送媒体の搬送制御に用いる学習モデルを学習する機械学習方法であって、
前記位置検出部による被搬送媒体の位置情報を入力するステップ(a)と、
前記ステップ(a)の入力に応じて、学習モデルを用いて決定した前記駆動源の駆動制御に関する行動情報を出力するステップ(b)と、
前記ステップ(b)の出力した後の前記位置情報に基づいて評価した生産性から、報酬値を算出するステップ(c)と、を有し、
前記生産性を評価し、報酬を与えるタイミングが、強化学習における行動価値が減衰する前のタイミングに設定されている、機械学習方法。
【請求項2】
前記行動価値には、所定の初期値が設定された場合に、前記行動価値の更新式により、エピソードが進むにつれて、前記初期値を下回る状態を行動価値忘却タイミングと定義したとき、
前記報酬を与えるタイミングは、前記行動価値忘却タイミングよりも前に設定されている、請求項1に記載の機械学習方法。
【請求項3】
前記行動価値忘却タイミングは行動価値の初期値と、
学習モデルの学習係数、時間割引率、および学習モデルに与える報酬値から、
設定する、請求項2に記載の機械学習方法。
【請求項4】
前記行動価値の前記初期値は、取り得る出力数に基づいて設定される、請求項3に記載の機械学習方法。
【請求項5】
前記位置検出部は、前記画像形成装置から前記被搬送媒体を排出したことを検知する排出検出部を含み、
前記報酬を与えるタイミングは、前記排出検出部が、前記被搬送媒体の排出を検出する毎に設定されている、請求項2、または請求項3に記載の機械学習方法。
【請求項6】
前記排出検出部により検出した排出間隔により、与える報酬値を決定する、請求項5に記載の機械学習方法。
【請求項7】
前記駆動制御に関する前記行動情報には、前記搬送部材と、該搬送部材を駆動するモーターとの間に設けられた、該搬送部材への駆動伝達の有無を切り替えるクラッチへのON/OFFの制御情報が含まれる、請求項1から請求項6のいずれかに記載の機械学習方法。
【請求項8】
前記駆動制御に関する前記行動情報には、前記搬送部材を駆動するモーターの回転速度の制御情報が含まれる、請求項1から請求項7のいずれかに記載の機械学習方法。
【請求項9】
搬送路に沿って被搬送媒体を搬送する搬送部材と、
前記搬送路における被搬送媒体の位置を検出する位置検出部と、
前記搬送部材を駆動する駆動源と、
前記搬送した被搬送媒体に画像を形成する画像形成部と、
を備え、
請求項1から請求項8のいずれかに記載の機械学習方法で学習した学習モデルを用いて、前記被搬送媒体の搬送を制御する、画像形成装置。
【請求項10】
請求項1から請求項8のいずれかの機械学習方法をコンピューターに実行させるための機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被搬送媒体の搬送の制御に関する機械学習方法、画像形成装置、および機械学習プログラムに関する。
【背景技術】
【0002】
商用のカラー印刷業界においては、電子写真方式の画像形成装置が広く活用されている。カラー印刷業界に対応するPP(プロダクションプリント)の分野では、オフィスで用いられる場合に比べて多様な種類の用紙への適応が求められる。そして、これらの多様な用紙に対して高品質な印刷を行うために、用いる用紙の種類に応じて、搬送条件や画像形成条件を設定し、印刷を行う画像形成装置がある。
【0003】
しかしながら、用紙の種類や使用状況の組み合わせは膨大であり、あらゆる組み合わせを想定した制御を設計するためには多大な開発工数が必要になる。従来は、人手による設計に頼っているため、考えられる組み合わせ条件のうち、一部の条件、すなわち、最悪な条件や代表的な条件について検討し、その特定な条件下おいて、正常な範囲内で用紙搬送が行えるように制御設計を行っている。しかしながら、この方法では、想定していない使用条件下では最適な制御にならない場合があり、十分な顧客満足度が得られない。
【0004】
特許文献1では、システム内で搬送の異常が発生した場合であっても、生産性の低下を抑制することを目的とした画像形成装置が開示されている。この画像形成装置では、システムでのモーター、ソレノイド等の搬送手段へのトータル電流値を考慮しつつ、生産性を維持するために、優先順位を設けて、各搬送手段への供給電流を制御する。具体的には、異常が発生した場合に、任意の搬送手段の電流値を上げて速度を上げる場合、システムの電力共用量を超えていない場合は任意の搬送手段の電流値を上げて速度を上げ、一方で、システムの電力共用量を超える場合は、優先順位の高い他の搬送手段の電流値を上げて、狙いよりも増速させるように制御する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、優先順位の設定は、開発者の知見から、発生する不具合を想定して行うものであり、あらゆる状況を考慮して想定することは困難である。
【0007】
例えば、画像形成装置では、使用により複数の部品が劣化する。例えば、用紙の搬送を行う搬送ローラーが摩耗等により劣化し、外径が変化した場合には、搬送ローラーの搬送速度(1回転当たりの搬送量)が変化する。特許文献1に開示された技術では、このような状況下では、用紙の搬送速度が、設計値通りにならず、生産性を満たせない虞がある。
【0008】
本発明は、上記事情に鑑みてなされたものであり、被搬送媒体の搬送における生産性を満たす搬送制御を適正に行える学習モデルを生成する機械学習方法、ならびに生成された学習モデルを用いた画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の上記目的は、下記の手段によって達成される。
【0010】
(1)搬送路に沿って被搬送媒体を搬送する搬送部材と、
前記搬送路における被搬送媒体の位置を検出する位置検出部と、
前記搬送部材を駆動する駆動源と、
前記搬送した被搬送媒体に画像を形成する画像形成部と、
を備える画像形成装置において、前記画像形成装置の単位時間当たりの前記被搬送媒体の出力である生産性を評価することで被搬送媒体の搬送制御に用いる学習モデルを学習する機械学習方法であって、
前記位置検出部による被搬送媒体の位置情報を入力するステップ(a)と、
前記ステップ(a)の入力に応じて、学習モデルを用いて決定した前記駆動源の駆動制御に関する行動情報を出力するステップ(b)と、
前記ステップ(b)の出力した後の前記位置情報に基づいて評価した生産性から、報酬値を算出するステップ(c)と、を有し、
前記生産性を評価し、報酬を与えるタイミングが、強化学習における行動価値が減衰する前のタイミングに設定されている、機械学習方法。
【0011】
(2)前記行動価値には、所定の初期値が設定された場合に、前記行動価値の更新式により、エピソードが進むにつれて、前記初期値を下回る状態を行動価値忘却タイミングと定義したとき、
前記報酬を与えるタイミングは、前記行動価値忘却タイミングよりも前に設定されている、上記(1)に記載の機械学習方法。
【0012】
(3)前記行動価値忘却タイミングは行動価値の初期値と、
学習モデルの学習係数、時間割引率、および学習モデルに与える報酬値から、
設定する、上記(2)に記載の機械学習方法。
【0013】
(4)前記行動価値の前記初期値は、取り得る出力数に基づいて設定される、上記(3)に記載の機械学習方法。
【0014】
(5)前記位置検出部は、前記画像形成装置から前記被搬送媒体を排出したことを検知する排出検出部を含み、
前記報酬を与えるタイミングは、前記排出検出部が、前記被搬送媒体の排出を検出する毎に設定されている、上記(2)、または上記(3)に記載の機械学習方法。
【0015】
(6)前記排出検出部により検出した排出間隔により、与える報酬値を決定する、上記(5)に記載の機械学習方法。
【0016】
(7)前記駆動制御に関する前記行動情報には、前記搬送部材と、該搬送部材を駆動するモーターとの間に設けられた、該搬送部材への駆動伝達の有無を切り替えるクラッチへのON/OFFの制御情報が含まれる、上記(1)から上記(6)のいずれかに記載の機械学習方法。
【0017】
(8)前記駆動制御に関する前記行動情報には、前記搬送部材を駆動するモーターの回転速度の制御情報が含まれる、上記(1)から上記(7)のいずれかに記載の機械学習方法。
【0018】
(9)搬送路に沿って被搬送媒体を搬送する搬送部材と、
前記搬送路における被搬送媒体の位置を検出する位置検出部と、
前記搬送部材を駆動する駆動源と、
前記搬送した被搬送媒体に画像を形成する画像形成部と、
を備え、
上記(1)から上記(8)のいずれかに記載の機械学習方法で学習した学習モデルを用いて、前記被搬送媒体の搬送を制御する、画像形成装置。
【0019】
(10)上記(1)から上記(8)のいずれかの機械学習方法をコンピューターに実行させるための機械学習プログラム。
【発明の効果】
【0020】
本発明によれば、搬送路に沿って被搬送媒体を搬送する搬送部材と、前記搬送路における被搬送媒体の位置を検出する位置検出部と、前記搬送部材を駆動する駆動源と、前記搬送した被搬送媒体に画像を形成する画像形成部と、を備える画像形成装置において、前記画像形成装置の単位時間当たりの前記被搬送媒体の出力である生産性を評価することで被搬送媒体の搬送制御に用いる学習モデルを学習する機械学習方法であって、
前記位置検出部による被搬送媒体の位置情報を入力するステップ(a)と、
前記ステップ(a)の入力に応じて、学習モデルを用いて決定した前記駆動源の駆動制御に関する行動情報を出力するステップ(b)と、
前記ステップ(b)の出力した後の前記位置情報に基づいて評価した生産性から、報酬値を算出するステップ(c)と、を有し、
前記生産性を評価し、報酬を与えるタイミングが、強化学習における行動価値が減衰する前のタイミングに設定されている、機械学習方法とする。これにより、被搬送媒体の搬送における生産性を満たす搬送制御を適正に行える学習モデルを生成できる。
【図面の簡単な説明】
【0021】
【
図1】機械学習装置、および本実施形態に係る画像形成装置を示す概略図である。
【
図2】機械学習装置のハードウェア構成を示すブロック図である。
【
図3】画像形成装置のハードウェア構成を示すブロック図である。
【
図4】搬送装置の搬送路の構成を示す模式図である。
【
図5】学習モデルを学習するタイミングを示すフローチャートである。
【
図6】機械学習装置の機能を示すブロック図である。
【
図7】機械学習装置の学習処理を示すフローチャートである。
【
図8】一実施例に係るDNQタイプの学習モデルの例を示す図である。
【
図9】報酬タイミングが疎である場合の行動価値の減衰を説明するための図である。
【
図10】報酬により行動価値が改善しない状況を説明するための図である。
【
図11】報酬タイミングの設定処理を示すフローチャートである。
【
図12】行動価値忘却タイミングよりも前の報酬タイミングで報酬を与えることにより行動価値が改善する状況を説明するための図である。
【
図13】期間の変わり目に生産性を変更する出力を与えた場合の行動価値の推移を示す図である。
【発明を実施するための形態】
【0022】
以下、添付した図面を参照して、本発明の実施形態を説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0023】
図1は、機械学習装置10、および本実施形態に係る画像形成装置30を示す概略図である。
図2は、機械学習装置10のハードウェア構成を示すブロック図である。
図3は、画像形成装置30のハードウェア構成を示すブロック図である。
【0024】
画像形成装置30は、搬送装置35を含み、搬送装置35により用紙(被搬送媒体)を搬送し、搬送した用紙上に画像を形成する。用紙の搬送は、搬送部材(後述の搬送ローラー、2次転写ローラー、定着ローラー等)により行われる。画像形成装置30と機械学習装置10は、ネットワークを介して接続されている。機械学習装置10は、後述するように用紙搬送に関する行動を学習し、機械学習モデルを生成する。生成した機械学習モデルは、画像形成装置30に送られる。画像形成装置30は、取得したこの機械学習モデルを、用紙を搬送する際の制御に用いる。
【0025】
(機械学習装置10)
図2に示すように、機械学習装置10は、制御部11、記憶部12、およびネットワークI/F(インターフェース)13を備える。これらの構成部品は信号をやり取りするためのバス等の信号線を介して相互に接続されている。機械学習装置10は、オンプレミスサーバーであってもよく、あるいは商用のクラウドサービスを利用したクラウドサーバーであってもよい。
【0026】
制御部11は、複数のCPU、複数のGPU(Graphics Processing Unit)、RAM、ROM、等を含みプログラムにしたがって、各装置の制御や、機械学習を行う。制御部11で行われる機械学習については後述する。
【0027】
記憶部12は、予め各種プログラムや各種データを格納しておく半導体メモリーや、ハードディスク等の磁気メモリーから構成される。機械学習により学習した機械学習モデルは、この記憶部12に記憶され、適当なタイミングで、画像形成装置30に送られる。
【0028】
ネットワークI/F13は、送受信部として機能する。ネットワークI/F13は、画像形成装置30等の他の機器とネットワークを経由したデータの送受信を行うインターフェースである。例えば、Ethernet、Bluetooth(登録商標)、IEEE802.11(Wi-Fi)、等の規格による通信を行う機器が用いられる。
【0029】
(画像形成装置30)
図3に示すように、画像形成装置30は、制御部31、記憶部32、操作パネル33、画像形成部34、搬送装置35、およびネットワークI/F36を備える。これらの構成部品は信号をやり取りするためのバス等の信号線を介して相互に接続されている。
【0030】
制御部31は、1つまたは複数のCPU、1つまたは複数のGPU(Graphics Processing Unit)、RAM、ROM、等を含みプログラムにしたがって上記各部の制御や各種の演算処理を行う。
【0031】
記憶部32は、予め各種プログラムや各種データを格納しておく半導体メモリーや、ハードディスク等の磁気メモリーから構成される。記憶部32には、機械学習装置10が生成した学習モデル(学習済みモデル)が記憶される。記憶部32にはファームウェアが含まれ、この学習モデルは、専用ソフトで書き込むことでファームウェアに記憶されてもよい。また、記憶部32には、機器状態情報が記憶される。この機器状態情報は、少なくとも用紙の搬送に影響する機械、電気部品の状態を示す情報である。例えば、各搬送部材(搬送ローラー(給紙ローラー、レジストローラー、定着ローラー等)の搬送速度(1回転当たりの搬送量)が含まれる。この搬送速度は、例えば、モーターの回転量と、搬送路上の複数箇所に配置したセンサーの出力から逐次算出できる。この算出は、特定のモードで実施するようにしてもよく、通常の印刷時において逐次モニターすることで、複数枚の用紙の搬送履歴から算出するようにしてもよい。または、この算出は、後述する所定枚数(
図5のステップS200)に達する度に行うようにしてもよい。
【0032】
操作パネル33は、タッチパネル、テンキー、スタートボタン、ストップボタン等を備えており、各種情報の表示および各種指示の入力に使用される。
【0033】
画像形成部34は、例えば帯電、露光、現像、転写、および定着の各工程を含む電子写真式プロセス等の周知の作像プロセスを用いて、各種データに基づく画像を用紙上に形成する。画像形成部34は、感光体ドラム、中間転写ベルト、2次転写ローラー、および定着装置を含む。感光体ドラムで形成された複数色のトナー画像は中間転写ベルトで重ね合わされ、その後、2次転写ローラーの2次転写位置で用紙上にトナー画像が転写される。定着装置は、定着ローラーを含み、定着ローラーが形成する定着ニップにトナー画像が転写された用紙を搬送することで、定着処理が行われる。
【0034】
ネットワークI/F36は、上述のネットワークI/F13と同様の構成であり、説明を省略する。
【0035】
(搬送装置35)
図4は、搬送装置35の搬送路の構成を示す概略図である。
図3、
図4を参照すると、搬送装置35は、複数の給紙トレイ357(
図1参照)、排紙トレイ359(
図1参照)、搬送路350、この搬送路に沿って配置した複数の搬送ローラー(搬送ローラー対)、これらの搬送ローラーを駆動する複数の駆動源、および複数のセンサーs1~sxを備える。駆動源は、例えば駆動モーターM1~Mxである。また、駆動源として、駆動モーターの搬送ローラーへの駆動力の駆動伝達のON/OFFを切り替えるクラッチC1~Cxも含めてもよい。
【0036】
図4は、搬送路350の一例であり、機械学習の学習を行う区間に相当する。この区間には、用紙束から1枚ずつ用紙90を搬送路350に供給する給紙トレイ357、搬送した用紙90に画像する画像形成部34、および、用紙を排出して載置する排紙トレイ359が含まれる。また、この区間は、複数の搬送部材としてのローラーr00~r07が含まれ、これらは、駆動源としての駆動モーターM1~M3、クラッチC1、C2の何れかにより駆動動作(回転速度、伝達ON/OFF等)が制御される。なお、
図4はあくまでも例示であり、これよりも少なく、または多くのモーター、クラッチを用いてもよい。
【0037】
図4においては、特に、搬送ローラーr00、01、02、03、04それぞれは「ピックアップローラー」、「給紙ローラー」、「レジストローラー」、「2次転写ローラー」、「定着ローラー」、として機能する。また排紙トレイ359直前の最下流の搬送ローラーr07は「排紙ローラー」とも称される。ピックアップローラーと給紙ローラーは給紙トレイ357に配置され、用紙束から1枚ずつ用紙90を捌いて給紙する機能がある。レジストローラーは、用紙90の転写位置(2次転写ローラー)に搬送するタイミングを、画像形成部34の画像形成(書き出し)タイミングと同期させる機能がある。停止した状態のレジストローラーに用紙90を突き当てて、用紙90を一時停止させ、その後、再搬送することで、タイミングを同期させる。
【0038】
また、この区間には、センサーs1~s6が含まれる。ここで、センサーs1、s2、s3、s6は、それぞれは「給紙センサー」、「タイミングセンサー」、「定着センサー」、「排紙センサー」とも称される。それぞれ給紙ローラー、レジストローラー、定着ローラー、排紙ローラーの用紙90の搬送状態、位置を検知する。なお、センサーs6は、「排出検出部」として機能し、用紙90の機外への排出を検出する。
【0039】
搬送路350は、上ガイド板と、下ガイド板で構成される(図示せず)。下ガイド板には、穴が設けられており、各穴には、センサーs1~s6が配置される。センサーs1~s6それぞれは、例えば発光部と、受光部を備える光学式のセンサーであり、設置された箇所において、搬送路上に用紙90が存在すること(または存在しないこと)を検出する。これらのセンサーの搬送路上の座標(搬送方向)は、予め登録されている。これらのセンサーの出力により直接的、または間接的に搬送する用紙90の位置情報を検出する。したがって、センサーs1~s6は、位置検出部として機能する。
【0040】
なお、位置検出部としては、光学式に代えて、静電式のセンサーを用いてもよい。また、搬送路350に1次元または2次元のCIS(Contact Image Sensor)のアレイを配置し、これを位置検出部として用いてもよい。これらのセンサーの種類、および数は、あくまでも例示であり、他の種類のセンサー、および任意の数のセンサーを用いてもよい。
【0041】
以上で説明したような、画像形成装置30の搬送装置35における搬送路350各センサーの検知データ、および駆動源の駆動状態の情報のうち、少なくとも一部の情報が、環境の状態(ステート)を示す入力パラメータとなる。なお、駆動状態を示す情報には、駆動モーターの制御信号、制御電流、クロック周波数、回転数を示すエンコーダー信号、クラッチのON/OFF信号、等がある。また報酬値に関連する情報には、生産性がある。ここで生産性とは、画像形成装置においては、単位時間当たりの生産能力であり、一般に1分間当たりの印刷枚数を示す。例えば60ppm(print per minutes)であれば1分間に60枚の用紙に印刷できることを表す。また、行動(アクション)示す出力パラメータとしては駆動源(駆動モーター、およびクラッチ)への制御信号、制御電流、周波数、ON/OFF信号、等の制御情報が含まれる。また、出力パラメータとして駆動モーターへの制御情報のみ、あるいはクラッチへの制御情報(ON/OFF信号)のみを用いてもよい。以下に説明する機械学習装置10は、この入力パラメータ、出力パラメータ、および報酬値との関係を学習することより、学習モデルを生成する。
【0042】
(機械学習方法)
以下、
図5から
図13を参照し、本実施形態に係る機械学習方法について説明する。
図5は、学習モデルを学習するタイミングを示すフローチャートである。
【0043】
(ステップS200)
図5では、最初に、画像形成装置30の制御部31は、所定枚数の印刷を終了したか否かを判定する。所定枚数は、例えば機器状態情報が変化する枚数である。搬送制御に影響する程度に、搬送部材が摩耗等により劣化する枚数(例えば数万~十数万枚)である。制御部31は、所定枚数に達する毎に、処理をステップS201に進める。
【0044】
(ステップS201)
画像形成装置30は、機械学習装置10に機器状態情報を送信する。機器状態情報は、上述したように各搬送部材の状態である。搬送部材の状態には、搬送部材の搬送速度(1回転当たりの搬送量)が含まれる。
【0045】
(ステップS205)
機械学習装置10は、機器状態情報を参照して、機械学習を行い、学習モデルを生成する。本ステップにおける機械学習の詳細は後述する(後述の
図7)。
【0046】
(ステップS206)
機械学習装置10は、ステップS205で生成した学習モデルを画像形成装置30に送信する。
【0047】
(ステップS210)
画像形成装置30は、機械学習装置10から受信した学習モデルを記憶部32に記憶する。具体的には、学習モデルでファームウェアを更新する。
【0048】
(ステップS211)
以降は、画像形成装置30は、更新した学習モデルを用いて、画像形成時の用紙に関する搬送制御を行う(終了)。
【0049】
(機械学習装置10の学習モジュール)
図6は、機械学習装置10の機能を示すブロック図である。
図7は、
図5のステップS205の学習処理を示すサブルーチンフローチャートである。機械学習装置10は、予め定めたルールにしたがって、ある状態の時にある行動を取ったときの報酬を計算する。そして、報酬の総和を最適化するように、予め定めた計算式にしたがって行動価値(Q値:行動状態価値ともいう)を算出してQネットワークを更新する。これにより行動を学習し、学習結果に基づいて行動を決定(行動価値が最も高い行動を選択)する。
【0050】
ここで、学習係数(学習率)をη、時間割引率をγ、時刻tにおける報酬をrtとすると、行動価値(Q(st,at))は、例えば、Q学習の更新式である下記式(1)によって計算できる。
【0051】
【0052】
図6に示すように機械学習装置10の制御部11は、学習モジュールとして機能する。学習モジュールには、学習ブロック110、および状態制御ブロック150が含まれる。
【0053】
学習ブロック110には、行動選択部111、状態観測部112、報酬計算部113、および学習部114が含まれる。状態制御ブロック150には、観測情報生成部151が含まれる。機械学習装置10の状態制御ブロック150の観測情報生成部151は画像形成装置30を模倣するエミュレータであり、上述の
図5のステップS201の処理により、画像形成装置30から記憶部32に記憶されている機器状態情報を取得する。そして、これにより画像形成装置30の状態を再現する(シミュレートする)モデルを更新する。なお、以下に示す例では、時間ステップとして、0.1~10msecの範囲内のいずれかの値、例えば1msecを用いる。
【0054】
(学習処理)
(ステップS400)
図6、
図7を参照する。本ステップでは、状態観測部112は、観測情報を取得する。具体的には、状態制御ブロック150の観測情報生成部151が生成した時間ステップ毎の観測情報、すなわち、用紙位置情報(以下、単に「位置情報」という)を取得する。
【0055】
状態観測部112は、これを状態変数として、報酬計算部113、および学習部114に送る。この位置情報は、センサーs1~sxの各位置における用紙90の有無を示す信号(ON/OFF)、または、これら、および/または駆動源の駆動速度から算出した用紙90の位置である。例えば、
図4に示す例では、センサーs1~s6の信号、またはこの信号、および駆動モーターM1~M3、クラッチC1、C2から算出した用紙90の先端位置、および後端位置である。なお、搬送路350に連続して同時に3枚の用紙90を搬送できる場合には、3枚の用紙90の先端、後端位置情報(6個)が観測情報(入力)となる。
【0056】
(ステッS401)
学習ブロック110は、報酬付与タイミングであれば(YES)、処理をステップS402に進める。一方で報酬付与タイミングでなければ(NO)、ステップS402をスキップし、処理をステップS403に進める。
【0057】
(ステップS402)
報酬計算部113は、位置情報に基づいて、報酬値を計算する。具体的には、位置情報に基づいて生産性を計算し、生産性に基づいて報酬値を求める。例えば、(a)生産性が目標値と同じ(あるいは差分が所定未満)場合、報酬値+1を与え、同じでなければ報酬値+0を与える。または、(b)目標値よりも高ければ、報酬値+1を与える。または、(c)目標値に近いほど報酬が高くなり、1に近づくように、生産性に基づいた下記式(2)により報酬値(Reward)を算出する。ここでxは、位置情報から算出した、用紙の排出間隔であり、interval(p)は、目標の生産性(ppm)のときの用紙の排出間隔である。これらの排出間隔は、連続する用紙の通過周期(距離、または時間)、または用紙間隔(隙間:用紙後端とその次の用紙の用紙先端の距離)である。目標通りの生産性の場合に、最大の報酬値1が得られる。
【0058】
【0059】
(ステップS403)
本ステップでは、学習部114は、観測情報、行動情報、および/または報酬値から学習モデルを更新する。
図8は、一実施例に係るDQN(Deep Q-Network)タイプの学習モデルの例を示す図である。学習部114は、上述のQ学習の式(1)を用いて、ニューラルネットワークにより、出力(a
t:各アクション(行動情報))とそのときのQ(s
t,a
t)を得る。そして学習部114は、このQ(s
t,a
t)が、「r
t+1+γmaxQ(s
t+1,a
t+1)」に近づくように(差分Eを小さく)、パラメータを調整する。例えば、バックプロパゲーション(Back-propagation、誤差逆伝搬法)という処理を行うことにより、比較結果の誤差が小さくなるように、パラメータを調整し、更新することで学習を行う。
【0060】
(ステップS404)
以下に説明するステップS404からステップS408では、行動選択部111は、学習部114で学習した学習モデルを用いて、ε-gredy法にしたがって行動情報を決定し、出力する。具体的には、現時点(今回サイクル)の時間ステップにおける状態(st:観測情報)から、次の出力(at:各アクション(行動情報))、すなわち、各搬送ローラーを駆動する駆動源に対して駆動制御に関する行動情報(速度指示ともいう)を決定し、状態制御ブロック150に出力する。
【0061】
本ステップ(ステップS404)では、行動選択部111は、ε-greedy法におけるεを計算し、かつ、乱数値を獲得する。εは固定値を用いてもよく(例えば0以上1未満で0.1~0.3の範囲の任意の値)。または学習が進むにつれて、εが小さくなるように設定した計算式、例えば、学習回数が所定値に到達する毎に1/2になるようにしたり、現時点の状態(st)から得られる行動価値Q(st,at)の最大値で除算した計算式により算出したりするようにしてもよい。乱数値は0以上1未満の範囲で得られる。
【0062】
(ステップS405)
行動選択部111はεと乱数値を比較する。ε<乱数値であれば(YES)、処理をステップS406に進め、そうでなければ(NO)、処理をステップS407に進める。
【0063】
(ステップS406)
行動選択部111は、現時点の状態(st)で取り得る行動(at)の中から、最大のQ値が得られる行動を選択する。
【0064】
(ステップS407)
ここでは、行動選択部111は、現時点の状態(st)で取り得る行動(at)の中からランダムに行動を選択する。
【0065】
(ステップS408)
行動選択部111は、ステップS406、またはステップS407で選択した行動を状態制御ブロック150に通知する。すなわち、各搬送ローラー(例えば搬送ローラーr00~r07)を駆動する駆動源(モーターM1~M3、クラッチC1、C2)の駆動制御に関する行動情報(速度指示ともいう)を、状態制御ブロック150に出力する。これを受けた状態制御ブロック150では、観測情報生成部151により環境(画像形成装置30)における状態を生成する。
【0066】
(ステップS409)
機械学習装置10の制御部11は、終了条件(例えば生産性を表す60秒経過)を満足していなければ(NO)、処理をステップS400に戻し、以降の処理を繰り返す。終了条件を満足していれば(YES)、処理をステップS410に進める。
【0067】
(ステップS410)
制御部11は、更新した学習結果を記憶部12に出力し、学習モデルを更新し、学習処理を終了する(エンド)。
【0068】
(報酬付与タイミング)
図9は報酬タイミングが疎である場合の行動価値の減衰を説明するための図である。
図10は、報酬により行動価値が改善しない状況を説明するための図である。
図9のs
tは生産性達成時の状態を示し、s
t-1、s
t-2、s
t-3それぞれは、その1つ前、2つ前、3つ前の状態を示す。
図9、
図10に示す例では、生産性の目標値が60ppmであり、状態通過回数が60回(用紙を60枚排出)のときに、(学習が継続していれば)報酬値1を与える。状態通過回数は、エピソード回数に相当する。
【0069】
このような状況下、
図9では、状態通過回数60のときに報酬値1が与えられることにより状態s
tの行動価値Qが上昇する。このとき、s
tの前に通過する状態の行動価値はまだ更新がされていないため、行動価値は上昇しない。報酬をもらった次の状態通過時、状態通過回数61のときにs
t-1の価値が上昇する。s
t-2は状態通過回数62、s
t-3は状態通過回数63でそれぞれ行動価値が上昇する。このように、DQNのような価値反復法をベースにした強化学習では報酬が前の状態に伝搬されていく特徴がある。
【0070】
図10は、学習係数η=0.1、時間割引率γ=0.9、状態行動価値Qの初期値0.125で、
図9と同条件で学習したときの行動価値の推移である。この初期値は、均等に除算した値、すなわち取り得る行動数(8個)から算出している(各初期値=1/(行動数))。状態通過回数60のときに1エピソード終了するため、3エピソード目には報酬を獲得しても初期行動価値を下回る。初期行動価値を下回るということは、まだ選択されていない行動の価値が相対的に高くなるため、学習モデルとしては良かった行動を学習していないことになる。
【0071】
価値反復法をベースとした強化学習における行動価値は、時間割引による価値の忘却があるため、報酬間隔が疎である場合の学習は難しい。画像形成装置30の用紙搬送系では、msec(ミリ秒)オーダーの高精度な制御周期を行うものが一般的であり、その場合、一般的な生産性を評価する間隔である60秒という報酬間隔は疎と扱われ、
図9、
図10で説明したように、価値の忘却が発生する。以下においては、初期行動価値を下回る状態における、報酬付与タイミングを行動価値忘却タイミングという。すなわち、60秒という報酬タイミングは、行動価値忘却タイミングである。そこで本実施形態は、以下に説明する処理により、価値の忘却が発生しないような間隔、すなわち行動価値忘却タイミングよりも前に報酬タイミングを設定する。
【0072】
(報酬タイミングの設定処理)
図11は、報酬タイミングの設定処理を示すフローチャートである。
【0073】
(ステップS600)
学習ブロック110は、取り得る出力数から初期行動価値を決定する。例えば、出力数が8個の場合にはこれらに均等に振り分け、初期行動価値は全て0.125(=1/8)とする。
【0074】
(ステップS601)
学習ブロック110は、学習係数η、時間割引率γの学習パラメータを決定する。これらの学習パラメータは、ユーザーにより予め設定されたものである。
【0075】
(ステップS602)
報酬タイミングを設定する。例えば初期としては、60秒(60回)である。
【0076】
(ステップS603)
学習ブロック110は、行動価値の推移をシミュレートする。具体的には、
図10のように、初期行動価値からの推移を観測する。期間は例えば十数エピソードである。
【0077】
(ステップS604)
学習ブロック110は、行動価値が、初期値を上回るか否かを判定し、上回らなければ(NO)、すなわち、行動価値忘却タイミングであれば、処理をステップS602に戻し、報酬タイミングを再設定する。具体的には、前回よりも短い報酬タイミングに設定する。初期値を上回れば(YES)、すなわち報酬タイミングは、行動価値忘却タイミングよりも前に設定されていることになり設定を終了する。
【0078】
図12は、行動価値忘却タイミングよりも前の報酬タイミングで報酬を与えることにより行動価値が改善する状況を説明するための図である。
図12では、報酬タイミングを1枚の用紙の排出毎(排出タイミング:例えば、後端位置が排紙ローラーr07を抜けたタイミング)に設定したときの行動価値の推移を示している。
図12での学習パラメータ等は、
図10と同じである(初期行動価値0.125、学習係数η=0.1、時間割引率γ=0.9、報酬値1)。行動価値は、初期値0.125よりも大きい1に向かって増加し、漸近していくことが分かる。このように報酬タイミングを適正な範囲、すなわち、行動価値忘却タイミングよりも前に設定することで、学習結果が忘却されずに、学習を進めるにつれて、良い値に行動価値が改善していることが可能となる。このような実施形態においては、60秒以内でなるべく多くの用紙を排出するようになり、最大の生産性を学習することが可能となる。
【0079】
図13は、期間の変わり目に生産性を変更する出力(外乱)を強制的に与えた場合の行動価値の推移を示す図である。同図に示す例では、生産性50枚を学習するようにinterval(50)での上述の式(2)により算出する報酬値を与えている。報酬付与タイミングは、用紙の排出毎である。期間1では、初期の行動情報として概ね30ppmに相当する設計上の出力(駆動源の行動情報)を与えている。状態通過回数が30回(用紙排出が30回)までの期間1では、それまで実行した行動情報のうち生産性30ppm相当の出力が最も行動価値が高いので、30ppm相当の出力でそのまま推移し、行動価値も増加し続ける。
【0080】
状態通過回数が30回目から40回目までの期間2において、期間2の始め(変わり目)に外乱として出力を20ppmまで下げたので、期間2では行動価値が減衰する。期間3の始めでは外乱として出力30rpmまで上げたの、学習モデルは、生産性が30枚(それまでの経験で最も良い)を維持するように行動情報を選択する。
【0081】
期間4では、出力を50ppm相当の出力まで上げたので、行動価値の増加が早くなる。学習モデルは、以降は(過去の経験で最もよく、かつ報酬値が最大)50ppm相当の生産性を達成するように、生産性50ppmを求めるように行動情報を選択する。
【0082】
期間5では、期間5の始めに外乱として出力を60ppmまで上げた。この場合、式(2)によって与えられる報酬値は、60ppmになることで小さくなるので、学習モデルは生産性50rpmになるように出力を選択している。このように、式(2)により報酬値を算出し、機械学習することで、学習が適切に行われ、正しく処理できることがわかる。
【0083】
以上に説明した、機械学習装置10、画像形成装置30の構成は、上述の実施形態の特徴を説明するにあたって主要構成を説明したのであって、上述の構成に限られず、特許請求の範囲内において、下記のように種種改変することができる。また、一般の機械学習装置、または画像形成装置が備える構成を排除するものではない。
【0084】
また、上述した各実施形態では、機械学習装置10は、クラウドまたはオンプレミスサーバー上で機能する例を示したが、これに限られず、画像形成装置30の制御部31内で機能するように構成されていてもよい。例えば、画像形成装置30の制御部31のエンジン制御SoC(System-on-a-Chip)上で機能させたり、制御部31に設けた機械学習専用のCPU(およびGPU)上で機能させたりしてもよい。
【0085】
また、上述した機械学習装置、画像形成装置における各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、例えば、USBメモリーやDVD(Digital Versatile Disc)-ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、一機能としてその検出部等の装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【0086】
10 機械学習装置
11 制御部
110学習ブロック
111 状態観測部
112 状態観測部
113 報酬計算部
114 学習部
150 状態制御ブロック
151 観測情報生成部
152
12 記憶部
13 ネットワークI/F
30 画像形成装置
31 制御部
32 記憶部
33 操作パネル
34 画像形成部
35 搬送装置
350 搬送路
M1、M2、M3、M4、M5、Mx モーター
C1、C2 クラッチ
s1、s2、s3、s4、sx センサー
r01~r07 搬送ローラー
36 ネットワークI/F