JP2020037233A - 情報処理装置、その制御方法およびプログラム - Google Patents
情報処理装置、その制御方法およびプログラム Download PDFInfo
- Publication number
- JP2020037233A JP2020037233A JP2018165885A JP2018165885A JP2020037233A JP 2020037233 A JP2020037233 A JP 2020037233A JP 2018165885 A JP2018165885 A JP 2018165885A JP 2018165885 A JP2018165885 A JP 2018165885A JP 2020037233 A JP2020037233 A JP 2020037233A
- Authority
- JP
- Japan
- Prior art keywords
- learning data
- information processing
- learning
- unit
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Control Or Security For Electrophotography (AREA)
- Power Sources (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】人感センサを備えた装置の復帰判定に機械学習を適用する際に、必要最低限の学習データでより効率的に復帰判定モデルの判定率を向上させるための技術を提供する。【解決手段】情報処理装置であって、物体を検知するセンサと、そのセンス値に基づいて前記情報処理装置の電力制御状態を変更するか否か機械学習モデルを用いて判定する判定手段と、操作部の操作情報を取得し、判定手段の判定結果と操作情報から特徴値を生成し、学習データに前記特徴値を付与するとともに、特徴値に基づいて前記学習データを学習目的に保存するかどうかを決定する。【選択図】図3
Description
本発明は、超音波センサ等の人感センサを備えた画像処理装置等の情報処理装置において、省電力状態にある該装置の復帰制御に関する技術である。
プリント(印刷)、スキャン、コピー、ファック等の複数の機能を有する多機能な画像処理装置(Multi Function Peripheral:以下「MFP」という。)が知られている。MFP等の情報処理装置において接近する人(ユーザ)を検出するための人感センサを備え、該センサの出力に基づいて、人の接近を検知して省電力状態(スリープモード)からスタンバイモードや通常状態に復帰する機能を有するものがある。例えば、人感センサのセンス値をMFPと接近する人との距離と関連づけた特徴量として判断する判定手段を用いて、センス値が所定の値以上となったら人がMFPに接近したと判断してMFPを通常状態に復帰させることができる。
一方、人感センサの検知履歴とMFP操作部の操作履歴に基づいて人感センサの感度(閾値)を自動で調整することで、復帰判定に係る誤判定を低減させる技術が知られている(特許文献1)。
一方、人感センサの検知履歴とMFP操作部の操作履歴に基づいて人感センサの感度(閾値)を自動で調整することで、復帰判定に係る誤判定を低減させる技術が知られている(特許文献1)。
しかしながらMFPの設置環境によっては、復帰判定に係る誤判定が避けられない場合ある。例えば、通路脇に設置したMFPにおいては、ユーザとMFPの前を通り過ぎる人のどちらもMFPに十分接近してしまうため、単に距離の特徴量だけではいかに人感センサの感度を調整しても正しい判定が困難である。
このような場合、予め設計した特徴量を用いた判定手法ではなく、それぞれの環境で得られたデータに基づき、得られたデータの相互の関連や規則性を見出して判定処理を行う機械学習モデルを用いるのが有効であることが一般に知られている。すなわち、人感センサを備えたMFPにおいては、それぞれのMFP設置環境で得られた人感センサのセンス値を用いて、予めMFPが備える復帰判定モデルに対して学習させることで、復帰判定モデルの判定率を向上させることができる。
このような場合、予め設計した特徴量を用いた判定手法ではなく、それぞれの環境で得られたデータに基づき、得られたデータの相互の関連や規則性を見出して判定処理を行う機械学習モデルを用いるのが有効であることが一般に知られている。すなわち、人感センサを備えたMFPにおいては、それぞれのMFP設置環境で得られた人感センサのセンス値を用いて、予めMFPが備える復帰判定モデルに対して学習させることで、復帰判定モデルの判定率を向上させることができる。
機械学習によるモデルの性能向上は、モデルに学習させる学習データに大きく依存することが知られている。同じ性質を持った学習データばかりを学習してもモデルの性能向上につながらないばかりか、過学習に陥る可能性がある。
本発明の目的は、学習データに特徴値を付与し、該特徴値が均等になるよう学習データを蓄積することにより、いわゆる学習データのクレンジングを行う。そして、人感センサを備えた装置の復帰判定に機械学習モデルを適用する際に、必要最低限の学習データで、より効率的に復帰判定モデルの判定率を向上させるための技術を提供することを目的とする。
本発明の目的は、学習データに特徴値を付与し、該特徴値が均等になるよう学習データを蓄積することにより、いわゆる学習データのクレンジングを行う。そして、人感センサを備えた装置の復帰判定に機械学習モデルを適用する際に、必要最低限の学習データで、より効率的に復帰判定モデルの判定率を向上させるための技術を提供することを目的とする。
本発明は、情報処理装置であって、周辺に存在する物体を検知するセンサと、前記センサから得られるセンス値に基づいて前記情報処理装置の電力制御状態を変更するか否か機械学習モデルを用いて判定する判定手段と、操作部の操作情報を取得する取得手段と、前記判定手段が出力した判定結果と前記取得手段が取得した操作情報から特徴値を生成し、学習データに前記特徴値を付与する生成手段と、少なくとも前記センス値と前記操作情報と前記特徴値から構成される前記学習データを保存する記憶手段と、前記特徴値に基づいて前記学習データを保存するか否か決定する決定手段を、有することを特徴とする。
本発明によれば、学習データに特徴値を付与することで、該特徴値が均等になるよう学習データを蓄積することができる。そして、人感センサを備えた装置の復帰判定に機械学習モデルを適用する際に、必要最低限の学習データでより効率的に復帰判定モデルの判定率を向上させることができる。
本発明に係る一実施例として人感センサを備えた装置であるMFPについて説明する。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても複数の機器からなるシステムの形態をとるものも本発明に含まれる。
■ MFP101の外観
図1は、MFP101の外観を示す正面図、側面図及び上面図である。
MFP101はプリント機能、スキャナ機能、コピー機能、FAX機能などの複数の機能を有している。MFP101は周辺に存在する物体を検知するためのセンサとして、人感センサ102をMFP101本体の正面上部に備えている。人感センサ102はたとえば超音波センサなどであり、その検知エリアは、人感センサを中心とし、正面方向に広がる扇形をしており、人感センサ102から出力された信号は操作部203内の操作部CPU215で処理される。人感センサ102はMFP101の電源がオフになっていない限り、検知エリアの状態を取得しつづけることが可能である。
本実施例の人感センサ102は、非可聴域の40[KHz]の送信波を出力し、物体に反射した反射波を受信することにより、物体までの距離を測定可能な超音波センサである。なお、人感センサ102は、物体(人を含む)との距離を測定可能なセンサであれば、超音波センサ以外の他のセンサであってもよい。例えば、超音波センサと同様に一定時間ごとの装置と物体との距離の変化を確認可能な、赤外線反射センサが使用されてもよい。
図1は、MFP101の外観を示す正面図、側面図及び上面図である。
MFP101はプリント機能、スキャナ機能、コピー機能、FAX機能などの複数の機能を有している。MFP101は周辺に存在する物体を検知するためのセンサとして、人感センサ102をMFP101本体の正面上部に備えている。人感センサ102はたとえば超音波センサなどであり、その検知エリアは、人感センサを中心とし、正面方向に広がる扇形をしており、人感センサ102から出力された信号は操作部203内の操作部CPU215で処理される。人感センサ102はMFP101の電源がオフになっていない限り、検知エリアの状態を取得しつづけることが可能である。
本実施例の人感センサ102は、非可聴域の40[KHz]の送信波を出力し、物体に反射した反射波を受信することにより、物体までの距離を測定可能な超音波センサである。なお、人感センサ102は、物体(人を含む)との距離を測定可能なセンサであれば、超音波センサ以外の他のセンサであってもよい。例えば、超音波センサと同様に一定時間ごとの装置と物体との距離の変化を確認可能な、赤外線反射センサが使用されてもよい。
■ MFP101の構成
図2はMFP101の構成を表す図であり、CPU201は、MFP101全体の制御を統括する。
DRAM202は、CPU201で実行されるプログラムを格納するとともに、一時的なデータのワークエリアとして機能する。
操作部203は、LCD、タッチパネル、ハードウェアキー、LED等のユーザのための入力I/F及び出力(表示)I/F(図示せず)と、操作部CPU215を備える。
操作部CPU215は、操作部203内のRAM217、ROM216及びシリアルI/F213を介してシステムバス209と接続される。また、操作部CPU215は、人感センサ102とも接続されている。さらに操作部203は、NFCリーダライタ、Bluetooth(登録商標)モジュール等の、ユーザが保持する携帯端末と通信するための通信I/Fを備えていてもよい。操作部CPU215はワンチップマイコンであり、内部にタイマ(図示せず)を備えている。なお、タイマは、操作部CPU215がプログラムを実行することにより実現されるソフトウェアタイマであってもよい。また、操作部CPU215は、ユーザによる操作をシリアルI/F213を介してCPU201に通知する。
図2はMFP101の構成を表す図であり、CPU201は、MFP101全体の制御を統括する。
DRAM202は、CPU201で実行されるプログラムを格納するとともに、一時的なデータのワークエリアとして機能する。
操作部203は、LCD、タッチパネル、ハードウェアキー、LED等のユーザのための入力I/F及び出力(表示)I/F(図示せず)と、操作部CPU215を備える。
操作部CPU215は、操作部203内のRAM217、ROM216及びシリアルI/F213を介してシステムバス209と接続される。また、操作部CPU215は、人感センサ102とも接続されている。さらに操作部203は、NFCリーダライタ、Bluetooth(登録商標)モジュール等の、ユーザが保持する携帯端末と通信するための通信I/Fを備えていてもよい。操作部CPU215はワンチップマイコンであり、内部にタイマ(図示せず)を備えている。なお、タイマは、操作部CPU215がプログラムを実行することにより実現されるソフトウェアタイマであってもよい。また、操作部CPU215は、ユーザによる操作をシリアルI/F213を介してCPU201に通知する。
ネットワークI/F204はLAN214と接続され、MFP101はこれを介して外部機器と通信を行う。
プリンタ部205は、画像データを紙面上に印字する。
スキャナ部206は、紙面上の画像を光学的に読み取り、電気信号に変換してスキャン画像を生成する。
FAX207は、公衆回線210と接続して外部機器とファクシミリ通信を行う。
HDD(Hard Disk Drive)208は、CPU201で実行されるプログラムを格納すると共にプリントジョブやスキャンジョブ等のスプール領域としても利用される。
プリンタ部205は、画像データを紙面上に印字する。
スキャナ部206は、紙面上の画像を光学的に読み取り、電気信号に変換してスキャン画像を生成する。
FAX207は、公衆回線210と接続して外部機器とファクシミリ通信を行う。
HDD(Hard Disk Drive)208は、CPU201で実行されるプログラムを格納すると共にプリントジョブやスキャンジョブ等のスプール領域としても利用される。
システムバス209は、各モジュールを相互に接続して通信を行う。
画像処理部211は、ネットワークI/F204で受信したプリントジョブをプリンタ部205で印刷するのに適した画像への画像変換処理、又はスキャナ部206で読み取ったスキャン画像に対する画像処理等を実行する。詳細には、画像変換処理では、LAN214からネットワークI/F204を経由して外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。また、スキャン画像に対する画像処理は、プリンタ部205で画像データを印字するための前処理としての画像処理を行う。
FLASHROM212は、CPU201で実行されるプログラムを格納すると共にMFP101のデフォルト設定値、ユーザごとのデフォルト設定値、一時的なカスタム設定値(以下まとめて「デフォルト設定値」という。)等を記憶する。
シリアルI/F213は、操作部203とシステムバス209を相互接続する。LAN214は、外部機器と相互に接続して通信を可能にする。
画像処理部211は、ネットワークI/F204で受信したプリントジョブをプリンタ部205で印刷するのに適した画像への画像変換処理、又はスキャナ部206で読み取ったスキャン画像に対する画像処理等を実行する。詳細には、画像変換処理では、LAN214からネットワークI/F204を経由して外部装置から受信した画像データ(PDLコード)をビットマップデータに展開する。また、スキャン画像に対する画像処理は、プリンタ部205で画像データを印字するための前処理としての画像処理を行う。
FLASHROM212は、CPU201で実行されるプログラムを格納すると共にMFP101のデフォルト設定値、ユーザごとのデフォルト設定値、一時的なカスタム設定値(以下まとめて「デフォルト設定値」という。)等を記憶する。
シリアルI/F213は、操作部203とシステムバス209を相互接続する。LAN214は、外部機器と相互に接続して通信を可能にする。
操作部CPU215は、操作部203の制御や人感センサ102の制御、ROM216、RAM217の読み書き等の制御を担う。なお、人感センサ102の制御は必ずしも操作部CPU215が担う必要はなく、別のCPUが人感センサ102の制御を担ってもよい。
ROM216は、操作部203に内蔵されており、操作部CPU215で実行されるプログラムを格納する。RAM217は、操作部203に内蔵されており、人感センサ102や操作部203から取得されたデータを格納する。
電源制御部218は、CPU201、操作部CPU215及びユーザによる操作部203に対する操作(例えば、節電ボタンの操作)によりMFP101の電源を制御する。
ROM216は、操作部203に内蔵されており、操作部CPU215で実行されるプログラムを格納する。RAM217は、操作部203に内蔵されており、人感センサ102や操作部203から取得されたデータを格納する。
電源制御部218は、CPU201、操作部CPU215及びユーザによる操作部203に対する操作(例えば、節電ボタンの操作)によりMFP101の電源を制御する。
■ MFP101の動作モード
次に、MFP101の省電力の待機状態の2つの動作モードについて、簡単に説明する。
MFP101は、動作モードとして、スタンバイモード(Standby)及びより消費電力の小さいスリープモード(Sleep)の電力制御状態を有する。スタンバイモードはスキャン動作やプリント動作を実行可能な状態で動作するモード、スリープモードはスタンバイモードよりも省電力状態で動作するモードである。スタンバイモードでMFP101が所定時間使用されていない場合は、CPU201がMFP101の動作モードをスタンバイモードからスリープモードに移行させる。例えば、操作部203がユーザによって操作されず、かつ、ジョブを受信しない状態で所定時間継続した場合には、CPU201がMFP101の動作モードをスタンバイモードからスリープモードに移行させる。
次に、MFP101の省電力の待機状態の2つの動作モードについて、簡単に説明する。
MFP101は、動作モードとして、スタンバイモード(Standby)及びより消費電力の小さいスリープモード(Sleep)の電力制御状態を有する。スタンバイモードはスキャン動作やプリント動作を実行可能な状態で動作するモード、スリープモードはスタンバイモードよりも省電力状態で動作するモードである。スタンバイモードでMFP101が所定時間使用されていない場合は、CPU201がMFP101の動作モードをスタンバイモードからスリープモードに移行させる。例えば、操作部203がユーザによって操作されず、かつ、ジョブを受信しない状態で所定時間継続した場合には、CPU201がMFP101の動作モードをスタンバイモードからスリープモードに移行させる。
■ 操作部CPU215の処理
次に、図3のフローチャートを用いて、操作部CPU215の処理フローについて説明する。
図3に示した操作部CPU215の処理は、操作部CPU215がROM216に格納された制御プログラムを読み出して実行するものとする。また、このフローチャートの処理は、MFP101が電源ONされた際に開始される。
S301において、操作部CPU215はシリアルI/F213を介してメインCPU201とのネゴシエーションを行い、通信を確立する。
続くS302において、操作部CPU215は内部に備えるタイマ(図示せず)のカウント値を参照し、操作部の入力I/Fの状態を取得する操作部処理を実行すべき時刻か否かを判断し、操作部処理を実行すべき時刻となるまで待機する。
操作部処理を実行すべき時刻となった場合(S302でYes)は、S303で操作部CPU215は操作部203に備えるタッチパネル、ハードウェアキーの状態を取得することで、ユーザのMFP101に対する操作情報を取得する。また、操作部CPU215は取得した操作情報を図4に示すデータ管理テーブル400(後述)に保存する。
次に、図3のフローチャートを用いて、操作部CPU215の処理フローについて説明する。
図3に示した操作部CPU215の処理は、操作部CPU215がROM216に格納された制御プログラムを読み出して実行するものとする。また、このフローチャートの処理は、MFP101が電源ONされた際に開始される。
S301において、操作部CPU215はシリアルI/F213を介してメインCPU201とのネゴシエーションを行い、通信を確立する。
続くS302において、操作部CPU215は内部に備えるタイマ(図示せず)のカウント値を参照し、操作部の入力I/Fの状態を取得する操作部処理を実行すべき時刻か否かを判断し、操作部処理を実行すべき時刻となるまで待機する。
操作部処理を実行すべき時刻となった場合(S302でYes)は、S303で操作部CPU215は操作部203に備えるタッチパネル、ハードウェアキーの状態を取得することで、ユーザのMFP101に対する操作情報を取得する。また、操作部CPU215は取得した操作情報を図4に示すデータ管理テーブル400(後述)に保存する。
S304において、操作部CPU215は人感センサ102のセンス値を取得し、該センス値を図4のデータ管理テーブル400に保存する。本実施例では、操作部CPU215は人感センサ102を制御してMFP101の前方に超音波を出力すると共に、出力した超音波の反射波を受信するまでの時間を計測することでMFP101とその前方に存在する物体との距離を得ることができる。
S305において、操作部CPU215は復帰判定処理を実行する。本実施例では、復帰判定処理は時系列データを扱う機械学習モデルであるリカレントニューラルネットワーク(Recurrent Neural Network 以下「RNN」という。)で構成された復帰判定モデルで行うものとする。予め学習済みの復帰判定モデルに対し、S304で取得したセンス値を入力することで復帰判定を行う。また、操作部CPU215は復帰判定結果を図4で後述するデータ管理テーブル400の復帰判定結果の項目に保存するとともに、シリアルI/F213を介して電源制御部218に通知する。
S306において、操作部CPU215はデータ管理テーブル400(図4)に保存された、現在の時刻のセンス値、操作有無、復帰判定結果に対するフラグを生成する。フラグの生成方法に関しては後述する。
S307において、操作部CPU215はデータ管理テーブル400(図4)から学習データを生成し、RAM217に保存する。このとき、操作部CPU215はS306で生成したフラグを参照し、そのフラグの結果に応じて学習データをRAM217に保存するか否か決定する。そして、S302に戻り、S302〜S307の処理を繰り返す。
S305において、操作部CPU215は復帰判定処理を実行する。本実施例では、復帰判定処理は時系列データを扱う機械学習モデルであるリカレントニューラルネットワーク(Recurrent Neural Network 以下「RNN」という。)で構成された復帰判定モデルで行うものとする。予め学習済みの復帰判定モデルに対し、S304で取得したセンス値を入力することで復帰判定を行う。また、操作部CPU215は復帰判定結果を図4で後述するデータ管理テーブル400の復帰判定結果の項目に保存するとともに、シリアルI/F213を介して電源制御部218に通知する。
S306において、操作部CPU215はデータ管理テーブル400(図4)に保存された、現在の時刻のセンス値、操作有無、復帰判定結果に対するフラグを生成する。フラグの生成方法に関しては後述する。
S307において、操作部CPU215はデータ管理テーブル400(図4)から学習データを生成し、RAM217に保存する。このとき、操作部CPU215はS306で生成したフラグを参照し、そのフラグの結果に応じて学習データをRAM217に保存するか否か決定する。そして、S302に戻り、S302〜S307の処理を繰り返す。
● データ管理テーブル
図4に、操作部CPU215が作成するデータ管理テーブル400を示す。
データ管理テーブル400は操作部CPU215によってRAM217上に作成される。データ管理テーブル400は、各時刻の人感センサ102の「センス値」、操作部203の「操作有無」、図8の復帰判定モデル800が出力する「復帰判定結果」、及び時系列データに対する「フラグ」で構成される。学習データ(N-4)に関しては後述する。
図4に、操作部CPU215が作成するデータ管理テーブル400を示す。
データ管理テーブル400は操作部CPU215によってRAM217上に作成される。データ管理テーブル400は、各時刻の人感センサ102の「センス値」、操作部203の「操作有無」、図8の復帰判定モデル800が出力する「復帰判定結果」、及び時系列データに対する「フラグ」で構成される。学習データ(N-4)に関しては後述する。
■ フラグ生成処理
図3のS306における操作部CPU215の時系列データに対する特徴値としてのフラグ生成処理について図5を用いて説明する。フラグ生成処理は、S306で説明したように操作部CPU215により実行される。
S501において、操作部CPU215はデータ管理テーブル400を参照し、復帰判定結果が「復帰する」であるか否か判断する。「復帰する」であった場合(S501でYes)、S502に進み、操作部CPU215はデータ管理テーブル400を参照し、操作有無が「有」であるか否かを判断する。ここで「有」であった場合(S502でYes)、MFP101に対してユーザが操作するケース、すなわち、MFP101が復帰すべきときに、復帰判定モデル800は「復帰する」判定ができたことを意味する。この場合、S503に進み、操作部CPU215はデータ管理テーブル400に対して「成功」フラグを設定する。反対に、操作有無が「無」であった場合(S502でNo)、MFP101に対してユーザが操作を行わないケース、すなわち、MFP101が復帰すべきでないときに、復帰判定モデル800は「復帰する」判定をしてしまったことを意味する。この場合、S504に進み、操作部CPU215はデータ管理テーブル400に対して「失敗」フラグを設定する。
図3のS306における操作部CPU215の時系列データに対する特徴値としてのフラグ生成処理について図5を用いて説明する。フラグ生成処理は、S306で説明したように操作部CPU215により実行される。
S501において、操作部CPU215はデータ管理テーブル400を参照し、復帰判定結果が「復帰する」であるか否か判断する。「復帰する」であった場合(S501でYes)、S502に進み、操作部CPU215はデータ管理テーブル400を参照し、操作有無が「有」であるか否かを判断する。ここで「有」であった場合(S502でYes)、MFP101に対してユーザが操作するケース、すなわち、MFP101が復帰すべきときに、復帰判定モデル800は「復帰する」判定ができたことを意味する。この場合、S503に進み、操作部CPU215はデータ管理テーブル400に対して「成功」フラグを設定する。反対に、操作有無が「無」であった場合(S502でNo)、MFP101に対してユーザが操作を行わないケース、すなわち、MFP101が復帰すべきでないときに、復帰判定モデル800は「復帰する」判定をしてしまったことを意味する。この場合、S504に進み、操作部CPU215はデータ管理テーブル400に対して「失敗」フラグを設定する。
一方、S501において復帰判定結果が「復帰する」でなかった場合(S501でNo)、S505に進み、操作部CPU215はデータ管理テーブル400を参照し、操作有無が「有」であるか否かを判断する。ここで「有」であった場合(S505でYes)、MFP101に対してユーザが操作するケース、すなわち、MFP101が復帰すべきときに、復帰判定モデル800は「復帰しない」判定をしてしまったことを意味する。この場合、S506に進み、操作部CPU215はデータ管理テーブル400に対して「失敗」フラグを設定する。反対に、操作有無が「無」であった場合(S505でNo)、MFP101に対してユーザが操作を行わないケース、すなわち、MFP101が復帰すべきでないときに、復帰判定モデル800は「復帰しない」判定ができたことを意味する。この場合、S507に進み、操作部CPU215はデータ管理テーブル400に対して「成功」フラグを設定する。
■ 学習データの生成処理
図6を用いて、図3のS307における操作部CPU215による学習データの生成処理の詳細を説明する。なお、図6では処理する際の時刻をt=T(N+1)として説明するものとする。
S601において操作部CPU215は現在の時刻T(N+1)よりも前の所定時刻分のデータがデータ管理テーブル400上に存在するか否かを判定する。S601では現在の時刻よりも前の所定時刻分のデータがデータ管理テーブルに存在すると判定された場合は、S602に進み、そうでない場合は、S601で待機する。
S602において、操作部CPU215はデータ管理テーブル400から現在の時刻T(N+1)の操作有無とフラグを取得する。図4に示した例においては、操作部CPU215は「無」と「失敗」の情報を取得する。
S603において、操作部CPU215はデータ管理テーブルから時刻T(N)から所定時刻前までのセンス値を所得する。ここで、図4に示した例において5時刻分前までのセンス値を取得する場合、操作部CPU215は時刻T(N-4)から順に、「90,100,90,100,80」のセンス値を取得する。
図6を用いて、図3のS307における操作部CPU215による学習データの生成処理の詳細を説明する。なお、図6では処理する際の時刻をt=T(N+1)として説明するものとする。
S601において操作部CPU215は現在の時刻T(N+1)よりも前の所定時刻分のデータがデータ管理テーブル400上に存在するか否かを判定する。S601では現在の時刻よりも前の所定時刻分のデータがデータ管理テーブルに存在すると判定された場合は、S602に進み、そうでない場合は、S601で待機する。
S602において、操作部CPU215はデータ管理テーブル400から現在の時刻T(N+1)の操作有無とフラグを取得する。図4に示した例においては、操作部CPU215は「無」と「失敗」の情報を取得する。
S603において、操作部CPU215はデータ管理テーブルから時刻T(N)から所定時刻前までのセンス値を所得する。ここで、図4に示した例において5時刻分前までのセンス値を取得する場合、操作部CPU215は時刻T(N-4)から順に、「90,100,90,100,80」のセンス値を取得する。
S604において、操作部CPU125は取得したデータをセットにして学習データを生成する。図4に示した例において5時刻分前までのセンス値を取得した場合、生成される学習データは学習データ(N-4)となる。
S605において、操作部CPU215は図7で後述する学習データ管理テーブル700内の学習データのフラグを参照し、S604で生成した学習データのフラグと同一のフラグを持つ学習データの個数を算出する。
S606において、操作部CPU215は同一のフラグを持つ学習データの個数が所定値に達しているか否かを判断する。所定値に達していた場合(S606でYes)、S607において操作部CPU215は学習データ管理テーブル700内の同一フラグを持つ学習データの中からランダムに1つ選択、削除し、S604で生成した学習データを保存する。
ここでは、学習データを同一のフラグを持つ学習データを所定の個数以上に増やさず、学習データに偏りをなくすという作業を行っている。
なお、学習データ管理テーブル700内の学習データを必ずしもランダムに選択して削除する必要はなく、最も古い学習データを削除する構成であってもよく、また、最も新しいデータを選択、すなわち新しいデータを保存しない構成としてもよい。所定値に達していなかった場合(S606でNo)、S608において操作部CPU215はS604で生成した学習データをそのまま学習データ管理テーブル700に保存する。
S605において、操作部CPU215は図7で後述する学習データ管理テーブル700内の学習データのフラグを参照し、S604で生成した学習データのフラグと同一のフラグを持つ学習データの個数を算出する。
S606において、操作部CPU215は同一のフラグを持つ学習データの個数が所定値に達しているか否かを判断する。所定値に達していた場合(S606でYes)、S607において操作部CPU215は学習データ管理テーブル700内の同一フラグを持つ学習データの中からランダムに1つ選択、削除し、S604で生成した学習データを保存する。
ここでは、学習データを同一のフラグを持つ学習データを所定の個数以上に増やさず、学習データに偏りをなくすという作業を行っている。
なお、学習データ管理テーブル700内の学習データを必ずしもランダムに選択して削除する必要はなく、最も古い学習データを削除する構成であってもよく、また、最も新しいデータを選択、すなわち新しいデータを保存しない構成としてもよい。所定値に達していなかった場合(S606でNo)、S608において操作部CPU215はS604で生成した学習データをそのまま学習データ管理テーブル700に保存する。
● 学習データ管理テーブル
図7に、操作部CPU215が作成する学習データ管理テーブル700を示す。学習データ管理テーブル700はRAM217に保存されており、学習データを取得した順序を示す「No」の要素、学習データに付与される「フラグ」、学習データを構成する「センス値」と「操作有無」の要素を持つ。ここで、「センス値」は復帰判定モデル800の学習を行う際の入力データとなり、「操作有無」は正解ラベルとなる。
上述したS606〜S608のフローにより、操作部CPU215は学習データ管理テーブル700の中の各フラグの個数を制御することができる。よって、RAM等の限られたストレージ内において、異なるフラグ(属性)の学習データをどれか一方に偏ることなく収集することができる。
図7に、操作部CPU215が作成する学習データ管理テーブル700を示す。学習データ管理テーブル700はRAM217に保存されており、学習データを取得した順序を示す「No」の要素、学習データに付与される「フラグ」、学習データを構成する「センス値」と「操作有無」の要素を持つ。ここで、「センス値」は復帰判定モデル800の学習を行う際の入力データとなり、「操作有無」は正解ラベルとなる。
上述したS606〜S608のフローにより、操作部CPU215は学習データ管理テーブル700の中の各フラグの個数を制御することができる。よって、RAM等の限られたストレージ内において、異なるフラグ(属性)の学習データをどれか一方に偏ることなく収集することができる。
■ 再帰型機械学習モデルの説明
図8は操作部CPU215が復帰判定に用いる復帰判定モデル800の構成を示した図である。
人感センサのように一定時間間隔で取得して得られた時系列データをモデル化するためには、再帰型の機械学習モデルが適していることが一般に知られている。本実施例では、機械学習モデルとしてリカレントニューラルネットワーク(Recurrent Neural Network 以下「RNN」という。)を用いるものとする。図8を用いてRNNの詳細を説明する。RNNには多様な種類があるため、ここでは単純再帰型のネットワークを例として、構成や処理を説明する。
図8は操作部CPU215が復帰判定に用いる復帰判定モデル800の構成を示した図である。
人感センサのように一定時間間隔で取得して得られた時系列データをモデル化するためには、再帰型の機械学習モデルが適していることが一般に知られている。本実施例では、機械学習モデルとしてリカレントニューラルネットワーク(Recurrent Neural Network 以下「RNN」という。)を用いるものとする。図8を用いてRNNの詳細を説明する。RNNには多様な種類があるため、ここでは単純再帰型のネットワークを例として、構成や処理を説明する。
● 再帰型機械学習モデル
図8(a)にRNNの模式図を示す。RNNは、他の機械学習モデルのネットワークと同様、人の神経細胞におけるニューロンとニューロン間の接続であるシナプス、および、シナプスの結合強度入力、をモデル化した構成をとる。具体的には、ニューロンのモデルとして、入力層801、中間層802、および、出力層803を備え、各層は予め備えた演算式を備える。各層では、前段のニューロンからの出力を入力として演算を行い、演算結果である出力値を後段につながる層へ伝搬する。このとき出力値に対して、各シナプスに備えた重み係数(W)805を乗算、および、バイアス係数(B)806の加算を行うことでニューロン間の結合強度を表現する。また、RNNでは更に中間層802の過去の出力を自身の現在の入力とするためのニューロン804を備える。これにより中間層802は、時刻tの入力に基づく中間層の出力と時刻t+1の入力とを用いて演算処理を行うことができる。時刻tをt=1,2,3と進めることで時刻tに関する時系列の入力データに対して、中間層802からの過去の出力値を考慮した出力値を生成できる。
図8(a)にRNNの模式図を示す。RNNは、他の機械学習モデルのネットワークと同様、人の神経細胞におけるニューロンとニューロン間の接続であるシナプス、および、シナプスの結合強度入力、をモデル化した構成をとる。具体的には、ニューロンのモデルとして、入力層801、中間層802、および、出力層803を備え、各層は予め備えた演算式を備える。各層では、前段のニューロンからの出力を入力として演算を行い、演算結果である出力値を後段につながる層へ伝搬する。このとき出力値に対して、各シナプスに備えた重み係数(W)805を乗算、および、バイアス係数(B)806の加算を行うことでニューロン間の結合強度を表現する。また、RNNでは更に中間層802の過去の出力を自身の現在の入力とするためのニューロン804を備える。これにより中間層802は、時刻tの入力に基づく中間層の出力と時刻t+1の入力とを用いて演算処理を行うことができる。時刻tをt=1,2,3と進めることで時刻tに関する時系列の入力データに対して、中間層802からの過去の出力値を考慮した出力値を生成できる。
● 推論処理
図8(b)を用いて、RNNに時系列データを入力して出力を得る推論処理を説明する。同図は、図8(a)で示したRNNを時間軸方向に展開した模式図である。
RNNは時間軸方向に展開すると展開時刻分の深さを持つ多層のニューラルネットとみなすことできる。RNNに対して時刻t=1で入力を与えると、時刻t=1における出力層810の出力、および、中間層からの出力811が得られる。次に、時刻t=2において中間層は時刻t=2の入力と時刻t=1の中間層からの出力811とに基づき出力を決定する。同様な処理を時系列に行うことでRNNは過去に入力したデータに基づき出力結果を推論できる。出力結果を得るために用いる過去の入力データ数は、RNNの入力データ長として予め定める。例えば、入力データ長を5、すなわち、時系列データの過去5つの入力に基づき出力を決定するには、時刻t=1〜5でデータを入力して(812)、時刻t=6で得られる出力層813の出力を結果として用いればよい。
図8(b)を用いて、RNNに時系列データを入力して出力を得る推論処理を説明する。同図は、図8(a)で示したRNNを時間軸方向に展開した模式図である。
RNNは時間軸方向に展開すると展開時刻分の深さを持つ多層のニューラルネットとみなすことできる。RNNに対して時刻t=1で入力を与えると、時刻t=1における出力層810の出力、および、中間層からの出力811が得られる。次に、時刻t=2において中間層は時刻t=2の入力と時刻t=1の中間層からの出力811とに基づき出力を決定する。同様な処理を時系列に行うことでRNNは過去に入力したデータに基づき出力結果を推論できる。出力結果を得るために用いる過去の入力データ数は、RNNの入力データ長として予め定める。例えば、入力データ長を5、すなわち、時系列データの過去5つの入力に基づき出力を決定するには、時刻t=1〜5でデータを入力して(812)、時刻t=6で得られる出力層813の出力を結果として用いればよい。
● 学習方法
図8(c)は図8(b)と同様にRNNを時間軸方向に展開した模式図である。同図を用いて、RNNの学習方法を説明する。上述したように、RNNは時間軸方向に展開すると展開時刻分の深さを持つ多層のニューラルネットとみなすことができる。よって、これを多層のニューラルネットとみなすことで、他のニューラルネットと同様に誤差逆伝搬法を適用した学習ができる。これによりネットワークが備える重み係数(W)やバイアス係数(B)を好適に変更して期待する結果を出力するネットワークを得ることができる。
図8(c)は図8(b)と同様にRNNを時間軸方向に展開した模式図である。同図を用いて、RNNの学習方法を説明する。上述したように、RNNは時間軸方向に展開すると展開時刻分の深さを持つ多層のニューラルネットとみなすことができる。よって、これを多層のニューラルネットとみなすことで、他のニューラルネットと同様に誤差逆伝搬法を適用した学習ができる。これによりネットワークが備える重み係数(W)やバイアス係数(B)を好適に変更して期待する結果を出力するネットワークを得ることができる。
ここで、誤差逆伝搬法とは、ネットワークに対するある入力値を入力して得られた出力値と入力値に対する期待値とを比較し、出力値と期待値との誤差が減るように前段の出力値の係数(重み係数(W)、バイアス係数(B))を変更する学習手法である。特にRNNでは時間方向軸に展開したネットワークに対する誤差逆伝搬法(Back Propagation Through Time:BPTT)を用いて学習を行う。BPTTでは、ある時刻tにおける出力値と期待値との誤差821に加え、それより先の時刻t+1の中間層から伝搬する誤差822を用いて時間軸方向で誤差逆伝搬法を適用した学習を行う。また、BPTTを用いた学習では学習の打ち切り数を設定することで、学習で用いる時系列データ長を指定できる。例えば、学習打ち切り数を5と設定した場合、連続する5時刻分の入力データと、それに対する期待値を教師データとした学習データを用いてRNNを学習することができる。
本発明で用いるRNNは、上述した単純再帰型のネットワークでもよく、それを拡張した不図示の長短期記憶(Long Short Term Memory:以下、LSTMとする)型のネットワークを使用してもよい。LSTMは各層間のデータ伝搬を制御するゲートを備えており、時間軸方向のデータ依存度を詳細に制御することで高精度な学習を行い、より精度の高い判定処理ができる。
いずれのネットワークであっても、本発明で用いる復帰判定処理を行う機械学習モデルでは、入力データは時系列で取得した人感センサのセンス値とし、出力データは「復帰する」又は「復帰しない」を示す2種類とすることで、上述した推論や学習ができる。
本発明で用いるRNNは、上述した単純再帰型のネットワークでもよく、それを拡張した不図示の長短期記憶(Long Short Term Memory:以下、LSTMとする)型のネットワークを使用してもよい。LSTMは各層間のデータ伝搬を制御するゲートを備えており、時間軸方向のデータ依存度を詳細に制御することで高精度な学習を行い、より精度の高い判定処理ができる。
いずれのネットワークであっても、本発明で用いる復帰判定処理を行う機械学習モデルでは、入力データは時系列で取得した人感センサのセンス値とし、出力データは「復帰する」又は「復帰しない」を示す2種類とすることで、上述した推論や学習ができる。
■ CPU201の電源制御処理
図9はCPU201による電源制御処理を示す図である。図9に示したCPU201の処理は、CPU201がFLASHROM212に格納された制御プログラムを読み出して実行するものとする。
S901において、CPU201はスリープモードからスタンバイモードへ移行するためのウェイクアップ処理を行う。ウェイクアップ処理では、CPU201の起動処理やシリアルI/F213のイニシャライズ設定を実施する。これにより、CPU201は操作部CPU215との通信が可能になる。
S902において、CPU201は操作部CPU215にシリアルI/F213を介して学習データの取得要求を行い、学習データを操作部CPU215から取得しHDD208へ保存する。このとき、操作部CPU215は転送した学習データを学習データ管理テーブル700から破棄してもよい。また、操作部CPU215は新たな学習データが学習データテーブル700上に存在しない場合、学習データの転送を受け付けなくてもよい。
S903において、CPU201は学習処理を行う。学習処理の詳細に関しては図10で後述する。学習処理に用いる学習データは、HDD208に保存された学習データである。学習を行うモデルは、S305の復帰判定処理で説明した復帰判定モデルと同一のモデルである。この復帰判定モデルは既に一度以上学習が行われているものであり、本実施例では追加学習を実施する。また、本実施例ではMFP101の内部で学習処理を行うものとしているが、外部サーバ等(不図示)で学習処理を実行してもよい。CPU201は、学習が完了した復帰判定モデルを操作部CPU215へ転送する。以降、操作部CPU215は、転送した復帰判定モデルを使用して復帰判定処理を行う。
図9はCPU201による電源制御処理を示す図である。図9に示したCPU201の処理は、CPU201がFLASHROM212に格納された制御プログラムを読み出して実行するものとする。
S901において、CPU201はスリープモードからスタンバイモードへ移行するためのウェイクアップ処理を行う。ウェイクアップ処理では、CPU201の起動処理やシリアルI/F213のイニシャライズ設定を実施する。これにより、CPU201は操作部CPU215との通信が可能になる。
S902において、CPU201は操作部CPU215にシリアルI/F213を介して学習データの取得要求を行い、学習データを操作部CPU215から取得しHDD208へ保存する。このとき、操作部CPU215は転送した学習データを学習データ管理テーブル700から破棄してもよい。また、操作部CPU215は新たな学習データが学習データテーブル700上に存在しない場合、学習データの転送を受け付けなくてもよい。
S903において、CPU201は学習処理を行う。学習処理の詳細に関しては図10で後述する。学習処理に用いる学習データは、HDD208に保存された学習データである。学習を行うモデルは、S305の復帰判定処理で説明した復帰判定モデルと同一のモデルである。この復帰判定モデルは既に一度以上学習が行われているものであり、本実施例では追加学習を実施する。また、本実施例ではMFP101の内部で学習処理を行うものとしているが、外部サーバ等(不図示)で学習処理を実行してもよい。CPU201は、学習が完了した復帰判定モデルを操作部CPU215へ転送する。以降、操作部CPU215は、転送した復帰判定モデルを使用して復帰判定処理を行う。
S904において、CPU201はスリープモード移行要求があるかを判定する。例えば、ユーザの操作部203に対する操作(例えば、節電ボタンの操作)に応じて、操作部CPU215はスリープモード移行要求を電源制御部218に対して通知する。電源制御部218は通知を受けると、割り込みをCPU201に対して発行する。従って、CPU201は電源制御部からの割り込みを確認することにより、スリープモード移行要求の有無を判定することが出来る。CPU201はスリープモード移行要求が有ると判定した場合、S905へ進む。CPU201はスリープモード移行要求が無いと判定した場合、S902へ戻る。
S905において、CPU201はスリープモード移行処理を行う。スリープモード移行処理は、CPU201で処理している各種処理を中断し、中断が完了するまで待機する。
S906において、CPU201は電源制御部218にスリープモードへの移行を通知する。電源制御部218はスリープモードへの移行を受けると、操作部CPU215以外の処理ブロックに対する電源を遮断する。CPU201は本処理によって電源OFF状態となり、MFP101のスリープモード移行を完了する。なお、電源制御状態がスリープモードからスタンバイモードへ移行した際、CPU201は再度S901からの処理を行うものとする。
S905において、CPU201はスリープモード移行処理を行う。スリープモード移行処理は、CPU201で処理している各種処理を中断し、中断が完了するまで待機する。
S906において、CPU201は電源制御部218にスリープモードへの移行を通知する。電源制御部218はスリープモードへの移行を受けると、操作部CPU215以外の処理ブロックに対する電源を遮断する。CPU201は本処理によって電源OFF状態となり、MFP101のスリープモード移行を完了する。なお、電源制御状態がスリープモードからスタンバイモードへ移行した際、CPU201は再度S901からの処理を行うものとする。
■ 学習処理
図10はCPU201が行う学習処理の流れを示した図である。
以下の動作は断りがない限りCPU201がFLASHROM212に格納されたプログラムに沿って実行されるものとする。
S1001において、CPU201はHDD208に保存されている学習データをDRAM202に読み出しを行う。
S1002において、CPU201はDRAM202に読み出した学習データを用いて学習を実行する。学習データ内のセンス値を入力、ユーザの操作情報を正解ラベルとして、上述した復帰判定モデル800に対して誤差逆伝搬法による学習を行う。なお、復帰判定モデル800の各層の係数は、開発段階で与えられた学習データによって決定されたものが予め組み込まれているものとする。
全学習データの学習が終了すると、S1003においてCPU201は操作部CPU215が実行している復帰判定モデル800を更新する。より具体的には、CPU201は学習により更新された復帰判定モデル800の各層の係数(W,B)を、操作部CPU215に対して転送する。操作部CPU215は受信した係数(W,B)をRAM217に保存し、実行する復帰判定モデル800に適用することで、復帰判定モデルの更新が完了する。
図10はCPU201が行う学習処理の流れを示した図である。
以下の動作は断りがない限りCPU201がFLASHROM212に格納されたプログラムに沿って実行されるものとする。
S1001において、CPU201はHDD208に保存されている学習データをDRAM202に読み出しを行う。
S1002において、CPU201はDRAM202に読み出した学習データを用いて学習を実行する。学習データ内のセンス値を入力、ユーザの操作情報を正解ラベルとして、上述した復帰判定モデル800に対して誤差逆伝搬法による学習を行う。なお、復帰判定モデル800の各層の係数は、開発段階で与えられた学習データによって決定されたものが予め組み込まれているものとする。
全学習データの学習が終了すると、S1003においてCPU201は操作部CPU215が実行している復帰判定モデル800を更新する。より具体的には、CPU201は学習により更新された復帰判定モデル800の各層の係数(W,B)を、操作部CPU215に対して転送する。操作部CPU215は受信した係数(W,B)をRAM217に保存し、実行する復帰判定モデル800に適用することで、復帰判定モデルの更新が完了する。
実施例1では、特徴値として「成功」「失敗」の2種類のフラグが偏らない学習データを収集し、少ない学習データで効率よく機械学習を行うものを説明した。実施例2では、さらに条件を細かくし、「操作有」/「操作無」、推論の「成功」/「失敗」の2条件で、学習データの場合分けを4通りに増やし特徴値として4種類のフラグを付与して、学習データをさらに偏り無く収集するものである。
実施例2は実施例1との差分を中心に説明する。
図11は、操作部CPU215の時系列データに対するフラグ生成処理を示す図である。S1101、S1102、及びS1105の処理に関しては実施例1のS501、S502,及びS505と同様である。
実施例1のS503、S504、S506、S507において、操作部CPU215は復帰判定結果と操作有無に基づいた「成功」「失敗」フラグを生成した。
実施例2では、操作部CPU215はS1103、S1104、S1106、S1107の各条件に対してそれぞれ異なるフラグ「1」〜「4」の4種類を付与する。
ここで、S307の学習データ生成処理において、操作部CPU215は実施例1と同様に、学習データ管理テーブル700の中の各フラグの個数を制御可能である。よって、学習データを4つに分類する実施例2では、学習データを2つに分類する実施例1と比べて、異なるフラグ(属性)の学習データをより細かく分類し、偏りなく収集することができる。
実施例2は実施例1との差分を中心に説明する。
図11は、操作部CPU215の時系列データに対するフラグ生成処理を示す図である。S1101、S1102、及びS1105の処理に関しては実施例1のS501、S502,及びS505と同様である。
実施例1のS503、S504、S506、S507において、操作部CPU215は復帰判定結果と操作有無に基づいた「成功」「失敗」フラグを生成した。
実施例2では、操作部CPU215はS1103、S1104、S1106、S1107の各条件に対してそれぞれ異なるフラグ「1」〜「4」の4種類を付与する。
ここで、S307の学習データ生成処理において、操作部CPU215は実施例1と同様に、学習データ管理テーブル700の中の各フラグの個数を制御可能である。よって、学習データを4つに分類する実施例2では、学習データを2つに分類する実施例1と比べて、異なるフラグ(属性)の学習データをより細かく分類し、偏りなく収集することができる。
実施例3では、推論結果が変化するのは、ユーザが装置の近傍で動いたタイミングであることに着目し、このタイミングのデータを優先して学習データとして取得する例である。具体的には、装置の近傍であることから、センス値平均値が大きく、またセンス値の変動係数が大きい学習データを優先して取得するものである。
実施例3について、実施例1及び2との差分を中心に説明する。
図12に、操作部CPU215が作成するデータ管理テーブル1200を示す。実施例3における操作部CPU215は実施例1及び2と異なり、各時系列データに対してフラグではなく「重要度」を付与する。よって、実施例3においては、学習データ管理テーブル700内の学習データもフラグではなく、特徴値として「重要度」を保存していることになる。本実施例において、操作部CPU215は重要度を以下の計算式で算出する。
重要度=(重み1)×(所定時間内のセンス値の平均値)/(センス値の取り得る最大)
+(重み2)×(所定時間内のセンス値の変動係数)
上記計算式は、所定時間内のセンス値の平均値とばらつき度合いから重要度を決定するための計算式である。所定時間内のセンス値の平均値が大きいほど、また、所定時間内のセンス値の変動係数が大きいほど、重要度が高くなる。また、重み1が重み2に比べて大きいほど、重要度を決定する際に変動係数に比べて平均値の影響がより大きく左右されるようになる。なお、重要度を決定する計算式は必ずしも本実施例に限られず、平均値や変動係数が小さいほど重要度が高くなるような計算式を用いることもできる。また、重要度を決定する要因として本実施例のような平均値と変動係数だけではなく、例えば、センス値の傾きやユーザの操作有無に関して、重要度を決定する要因として用いることもできる。
実施例3について、実施例1及び2との差分を中心に説明する。
図12に、操作部CPU215が作成するデータ管理テーブル1200を示す。実施例3における操作部CPU215は実施例1及び2と異なり、各時系列データに対してフラグではなく「重要度」を付与する。よって、実施例3においては、学習データ管理テーブル700内の学習データもフラグではなく、特徴値として「重要度」を保存していることになる。本実施例において、操作部CPU215は重要度を以下の計算式で算出する。
重要度=(重み1)×(所定時間内のセンス値の平均値)/(センス値の取り得る最大)
+(重み2)×(所定時間内のセンス値の変動係数)
上記計算式は、所定時間内のセンス値の平均値とばらつき度合いから重要度を決定するための計算式である。所定時間内のセンス値の平均値が大きいほど、また、所定時間内のセンス値の変動係数が大きいほど、重要度が高くなる。また、重み1が重み2に比べて大きいほど、重要度を決定する際に変動係数に比べて平均値の影響がより大きく左右されるようになる。なお、重要度を決定する計算式は必ずしも本実施例に限られず、平均値や変動係数が小さいほど重要度が高くなるような計算式を用いることもできる。また、重要度を決定する要因として本実施例のような平均値と変動係数だけではなく、例えば、センス値の傾きやユーザの操作有無に関して、重要度を決定する要因として用いることもできる。
■ 学習データの生成処理
図13は、操作部CPU215の学習データの生成処理フローを示す図である。
S1301、S1303、S1304は実施例1と同様である。
S1302において、操作部CPU215はデータ管理テーブル1200から現在の時刻T(N+1)の操作有無と重要度を取得する。
S1305において、操作部CPU215は学習データ管理テーブル700内の学習データの中で、最も低い重要度を持つ学習データを探索する。
S1306において、操作部CPU215はS1304で生成した学習データの重要度と、S1305で探索した最も低い重要度を持つ学習データの重要度を比較し、生成した学習データの重要度が高いか否かを判断する。
生成した学習データの重要度が高かった場合(S1306でYes)、S1307において操作部CPU215は、生成した学習データと、学習データ管理テーブル700内で最も低い重要度を持つ学習データを入れ替える。生成した学習データの重要度が低かった場合(S1306でNo)、S1308において操作部CPU215は、生成した学習データを破棄する。
このように、実施例3では、実施例1及び2と比較して、センス値に基づいて保存すべき重要な学習データを取捨選択することができる。なお、本実施例では重要度を上述した計算式で算出したが、重要度の算出に畳み込みニューラルネットワーク(CNN)等の機械学習モデルを適用する構成であってもよい。
図13は、操作部CPU215の学習データの生成処理フローを示す図である。
S1301、S1303、S1304は実施例1と同様である。
S1302において、操作部CPU215はデータ管理テーブル1200から現在の時刻T(N+1)の操作有無と重要度を取得する。
S1305において、操作部CPU215は学習データ管理テーブル700内の学習データの中で、最も低い重要度を持つ学習データを探索する。
S1306において、操作部CPU215はS1304で生成した学習データの重要度と、S1305で探索した最も低い重要度を持つ学習データの重要度を比較し、生成した学習データの重要度が高いか否かを判断する。
生成した学習データの重要度が高かった場合(S1306でYes)、S1307において操作部CPU215は、生成した学習データと、学習データ管理テーブル700内で最も低い重要度を持つ学習データを入れ替える。生成した学習データの重要度が低かった場合(S1306でNo)、S1308において操作部CPU215は、生成した学習データを破棄する。
このように、実施例3では、実施例1及び2と比較して、センス値に基づいて保存すべき重要な学習データを取捨選択することができる。なお、本実施例では重要度を上述した計算式で算出したが、重要度の算出に畳み込みニューラルネットワーク(CNN)等の機械学習モデルを適用する構成であってもよい。
実施例1〜3において、学習データ管理テーブル700を操作部203上のRAM217上に保存したが、学習データ管理テーブル700は必ずしもRAM上に作成する必要はない。例えばCPU201がS307の学習データ生成処理を実行することで、HDD208上に学習データ管理テーブル700を作成するようにしてもよい。
本発明の実施例ではMFP101の内部で学習処理を実行しているが、必ずしもMFP101の内部で学習処理を実行する必要はなく、ネットワークで接続された外部サーバー等(非図示)で実施してもよい。
本発明の実施例ではMFP101の内部で学習処理を実行しているが、必ずしもMFP101の内部で学習処理を実行する必要はなく、ネットワークで接続された外部サーバー等(非図示)で実施してもよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
102 人感センサ
201 CPU
215 操作部CPU
201 CPU
215 操作部CPU
Claims (15)
- 情報処理装置であって、
周辺に存在する物体を検知するセンサと、
前記センサから得られるセンス値に基づいて前記情報処理装置の電力制御状態を変更するか否か機械学習モデルを用いて判定する判定手段と、
操作部の操作情報を取得する取得手段と、
前記判定手段が出力した判定結果と前記取得手段が取得した操作情報から特徴値を生成する第1の生成手段と、
少なくとも前記センス値と前記操作情報と前記特徴値から構成される学習データを生成する第2の生成手段と、
前記第2の生成手段で生成された前記学習データを保存する記憶手段と、
前記特徴値に基づいて前記記憶手段に保存する前記学習データを調整する調整手段を、有する
ことを特徴とする情報処理装置。 - 前記特徴値は、前記判定結果と前記操作情報との所定の組み合わせに基づいて付与される、「成功」又は「失敗」の2種類のフラグであることを特徴とする請求項1に記載の情報処理装置。
- 前記特徴量は、前記判定結果と前記操作情報との所定の組み合わせに基づいて付与される、4種類のフラグであることを特徴とする請求項1に記載の情報処理装置。
- 前記調整手段は、前記学習データに付与されている前記フラグと同一のフラグが付与された学習データが前記記憶手段に所定の個数、保存されていた場合は、保存されている個数が増えないよう記憶手段に保存する学習データを調整する
ことを特徴とする請求項2又は3に記載の情報処理装置。 - 前記調整手段は、前記記憶手段に保存されている前記フラグと同一のフラグが付与された学習データからランダムに1つの学習データを削除し、前記学習データを保存する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記調整手段は、前記第2の生成手段で生成された学習データを前記記憶手段に保存することなく破棄する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記調整手段は、前記学習データに付与されている前記フラグと同一のフラグが付与された学習データが前記記憶手段に所定値の個数、保存されていない場合は、前記第2の生成手段で生成された学習データを記憶手段に保存するよう調整する
ことを特徴とする請求項2又は3に記載の情報処理装置。 - 前記特徴量は、前記センス値から算出される重要度であることを特徴とする請求項1に記載の情報処理装置。
- 前記重要度は、センス値の平均値とセンス値の変動係数から算出することを特徴とする請求項8に記載の情報処理装置。
- 前記決定手段は、前記記憶手段に保存された学習データの中で重要度が最も低いものと前記学習データに付与されている重要度とを比較し、前記生成した学習データの重要度が高い場合には、前記記憶手段から最も低い重要度が付与されている学習データを削除し、前記生成した学習データを保存することを決定する
ことを特徴とする請求項8又は9に記載の情報処理装置。 - 前記判定手段の機械学習モデルは、リカレントニューラルネットワークである
ことを特徴とする請求項1〜10のいずれか1項に記載の情報処理装置。 - 前記情報処理装置は、画像処理装置である
ことを特徴とする請求項1〜11のいずれか1項に記載の情報処理装置。 - 前記電力制御状態は、第1の電力制御状態又は前記第1の電力制御状態よりも消費電力が小さい第2電力制御状態であり、
前記操作情報は操作部の操作の有無に関する情報である
ことを特徴とする請求項1〜12のいずれか1項に記載の情報処理装置。 - 周辺に存在する物体を検知するセンサと、記憶手段を備える情報処理装置の制御方法であって、
前記センサから得られるセンス値に基づいて前記情報処理装置の電力制御状態を変更するか否か機械学習モデルを用いて判定する判定ステップと、
操作部の操作情報を取得する取得ステップと、
前記判定ステップにおいて出力された判定結果と前記取得ステップにおいて取得された操作情報から特徴値を生成する第1の生成ステップと、
少なくとも前記センス値と前記操作情報と前記特徴値から構成される前記学習データを生成する第2の生成ステップと、
前記第2の生成ステップにおいて生成された前記学習データを前記記憶手段に保存する記憶ステップと、
前記特徴値に基づいて前記学習データを保存する前記学習データを調整する調整ステップを、有する
ことを特徴とする情報処理装置の制御方法。 - 請求項14に記載の情報処理装置の制御方法をコンピュータにより実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165885A JP2020037233A (ja) | 2018-09-05 | 2018-09-05 | 情報処理装置、その制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165885A JP2020037233A (ja) | 2018-09-05 | 2018-09-05 | 情報処理装置、その制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020037233A true JP2020037233A (ja) | 2020-03-12 |
Family
ID=69737346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018165885A Pending JP2020037233A (ja) | 2018-09-05 | 2018-09-05 | 情報処理装置、その制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020037233A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3875508A1 (en) | 2020-03-04 | 2021-09-08 | Sumitomo Rubber Industries, Ltd. | Golf ball |
-
2018
- 2018-09-05 JP JP2018165885A patent/JP2020037233A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3875508A1 (en) | 2020-03-04 | 2021-09-08 | Sumitomo Rubber Industries, Ltd. | Golf ball |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6521558B2 (ja) | 画像形成装置、画像形成装置の制御方法、プログラムおよび記録媒体 | |
US20140285845A1 (en) | Operation control method, image processing apparatus and non-transitory computer-readable storage medium | |
JP2017019199A (ja) | 画像形成装置、及び、画像形成装置の制御方法 | |
CN104113651B (zh) | 处理控制设备、图像处理设备和处理控制方法 | |
CN105629687B (zh) | 电子设备 | |
JP6376804B2 (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
JP2020037233A (ja) | 情報処理装置、その制御方法およびプログラム | |
JP7233868B2 (ja) | 情報処理装置の学習システム、情報処理装置、情報処理装置の制御方法及びプログラム | |
CN104349000A (zh) | 数值输入装置以及电子机器 | |
JP2021179686A (ja) | 画像形成装置、その制御方法、及びプログラム | |
JP2023164539A (ja) | 画像処理装置、その制御方法及びプログラム | |
JP2020039070A (ja) | 情報処理装置、システム、その制御方法及びプログラム | |
JP2021135697A (ja) | 情報処理システム、情報処理装置とその制御方法、及びプログラム | |
JP2021097341A (ja) | 画像形成装置 | |
JP2020038538A (ja) | 情報処理装置、システム、その制御方法およびプログラム | |
CN103913969B (zh) | 图像形成装置以及图像形成装置中的确认音产生方法 | |
JP2020039069A (ja) | 情報処理装置、その制御方法、情報処理システムおよびプログラム | |
JP6399163B2 (ja) | 画像形成装置 | |
US11903476B2 (en) | Information processing apparatus, method of controlling information processing apparatus, and method of generating learning model | |
US9769343B2 (en) | Sleep mode control system to reduce power consumption and to provide a private power generation | |
JP6548792B2 (ja) | 画像形成装置及び画像形成装置の制御方法 | |
JP2016048448A (ja) | 電力供給制御装置、画像処理装置、電力供給制御方法及び制御プログラム | |
JP2014087934A (ja) | 表示入力装置および画像形成装置 | |
JP2022157436A (ja) | 通信システム、通信装置とその制御方法、及びプログラム | |
JP2017202692A (ja) | 画像形成装置、画像形成装置の制御方法、プログラムおよび記録媒体 |