IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 公立大学法人会津大学の特許一覧

特開2023-128758学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置
<>
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図1
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図2
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図3
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図4
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図5
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図6
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図7
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図8
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図9
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図10
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図11
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図12
  • 特開-学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128758
(43)【公開日】2023-09-14
(54)【発明の名称】学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置
(51)【国際特許分類】
   G06N 3/08 20230101AFI20230907BHJP
   G06N 20/00 20190101ALI20230907BHJP
   G06V 10/82 20220101ALI20230907BHJP
   G06V 10/776 20220101ALI20230907BHJP
   G06V 10/778 20220101ALI20230907BHJP
【FI】
G06N3/08
G06N20/00 130
G06V10/82
G06V10/776
G06V10/778
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022033334
(22)【出願日】2022-03-04
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)令和3年6月9日に2021 5th IEEE International Conference on Cybernetics(CYBCONF)にて発表。 (2)令和3年6月9日にhttps://ieeexplore.ieee.org/document/9464152にて発表。 (3)令和3年11月25日にThe Ninth International Symposium on Computing and Networking(CANDAR2021)にて発表。 (4)令和3年11月25日にhttps://ieeexplore.ieee.org/document/9643913にて発表。
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人新エネルギー・産業技術総合開発機構、「ポスト5G情報通信システム基盤強化研究開発事業/先導研究(委託)/デジタルツイン高度化に向けた高精度測位・同期制御技術の研究開発」、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】506301140
【氏名又は名称】公立大学法人会津大学
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】富岡 洋一
(72)【発明者】
【氏名】齋藤 寛
(72)【発明者】
【氏名】小平 行秀
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA01
5L096DA02
5L096FA02
5L096GA17
5L096GA34
5L096GA51
5L096GA59
5L096HA11
5L096JA11
5L096KA04
(57)【要約】      (修正有)
【課題】畳み込みニューラルネットワークの演算器における性能密度の向上させる学習モデル置換プログラム、装置、方法等を提供する。
【解決手段】方法は、第1学習モデルMに対する学習用画像データD0の入力に応じて、第1学習モデルの第1層Lに対して入力された複数の2次元入力特徴マップIMと各2次元出力特徴マップOMとから第1教師データDTを生成し、複数の2次元出力特徴マップ毎に、対応する第1教師データの機械学習を行うことで複数の決定木モデルからなる第2学習モデルRを生成し、同マップのうち、第2学習モデルの判定精度が第1条件を満たす特定の2次元出力特徴マップOMを特定し、第1層における特定の2次元出力特徴マップの出力が第2学習モデルを用いることで行われるように、第1学習モデルを更新して第3学習モデルM1を生成し、第3学習モデルの判定精度が第2条件を満たす場合、第3学習モデルを第1学習モデルに置き換える。
【選択図】図3
【特許請求の範囲】
【請求項1】
第1学習モデルに対する学習用画像データの入力に応じて、前記第1学習モデルを構成する第1層に対して入力された複数の2次元入力特徴マップと、前記第1層から出力された複数の2次元出力特徴マップとを取得し、
前記複数の2次元出力特徴マップごとに、前記複数の2次元入力特徴マップと各2次元出力特徴マップとから第1教師データを生成し、
前記複数の2次元出力特徴マップごとに、各2次元出力特徴マップに対応する前記第1教師データの機械学習を行うことによって、複数の決定木モデルからなる第2学習モデルを生成し、
前記複数の2次元出力特徴マップのうち、前記第2学習モデルの判定精度が第1条件を満たす特定の2次元出力特徴マップを特定し、
前記第1層における前記特定の2次元出力特徴マップの出力が前記第2学習モデルを用いることによって行われるように、前記第1学習モデルを更新して第3学習モデルを生成し、
前記第3学習モデルの前記判定精度が第2条件を満たす場合、前記第3学習モデルを前記第1学習モデルに置き換える、
処理をコンピュータに実行させることを特徴とする学習モデル置換プログラム。
【請求項2】
請求項1において、
前記特定する処理では、
前記複数の2次元出力特徴マップのそれぞれに対応する前記第2学習モデルの前記判定精度を算出し、
前記複数の2次元出力特徴マップのうち、前記判定精度が最も高い前記第2学習モデルに対応する2次元出力特徴マップを前記特定の2次元出力特徴マップとして特定する、
ことを特徴とする学習モデル置換プログラム。
【請求項3】
請求項2において、
前記置き換える処理では、前記特定の2次元出力特徴マップに対応する前記判定精度が所定の閾値以上である場合に、前記第3学習モデルを前記第1学習モデルに置き換える、
ことを特徴とする学習モデル置換プログラム。
【請求項4】
請求項1において、
前記第2学習モデルを生成する処理では、前記複数の2次元出力特徴マップごとに、各2次元出力特徴マップに対応する前記第1教師データの一部の機械学習を行うことによって前記第2学習モデルを生成し、
前記特定する処理では、前記第1教師データの他の一部に含まれる前記複数の2次元入力特徴マップの入力に伴って前記第2学習モデルから出力された複数の2次元出力特徴マップと、前記第1教師データの他の一部に含まれる前記複数の2次元出力特徴マップとの一致率を、前記第2学習モデルの前記判定精度として算出する、
ことを特徴とする学習モデル置換プログラム。
【請求項5】
請求項1において、さらに、
前記特定の2次元出力特徴マップ以外の前記複数の2次元出力特徴マップのうち、前記第2学習モデルが前記第1条件を満たす新たな特定の2次元出力特徴マップを特定し、
前記第1層における前記新たな特定の2次元出力特徴マップの出力が前記第2学習モデルを用いることによって行われるように、前記第3学習モデルを更新することによって新たな第3学習モデルを生成する、
処理をコンピュータに実行させ、
前記置き換える処理では、前記新たな第3学習モデルの前記判定精度が前記第2条件を
満たす場合、前記新たな第3学習モデルを前記第1学習モデルに置き換える、
ことを特徴とする学習モデル置換プログラム。
【請求項6】
請求項1において、
前記置き換える処理では、前記学習用画像データと前記学習用画像データに対応する正解ラベルとを含む第2教師データに含まれる前記学習用画像データの入力に伴って前記第3学習モデルから出力されたラベルと、前記第2教師データに含まれる前記正解ラベルとの一致率を、前記第3学習モデルの前記判定精度として算出する、
ことを特徴とする学習モデル置換プログラム。
【請求項7】
請求項1において、
前記置き換える処理では、
前記学習用画像データと前記学習用画像データに対応する正解ラベルとを含む第2教師データの一部に含まれる前記学習用画像データの入力に伴って前記第3学習モデルから出力されたラベルと、前記第2教師データの一部に含まれる前記正解ラベルとの一致率を、前記第3学習モデルの前記判定精度として算出し、
前記第3学習モデルの前記判定精度が前記第2条件を満たす場合、前記第2教師データの他の一部の機械学習を行うことによって前記第3学習モデルの再学習を行い、
再学習を行った前記第3学習モデルの前記判定精度が第3条件を満たす場合、前記第3学習モデルを前記第1学習モデルに置き換える、
ことを特徴とする学習モデル置換プログラム。
【請求項8】
第1学習モデルに対する学習用画像データの入力に応じて、前記第1学習モデルを構成する第1層に対して入力された複数の2次元入力特徴マップと、前記第1層から出力された複数の2次元出力特徴マップとを取得し、前記複数の2次元出力特徴マップごとに、前記複数の2次元入力特徴マップと各2次元出力特徴マップとから第1教師データを生成するデータ生成部と、
前記複数の2次元出力特徴マップごとに、各2次元出力特徴マップに対応する前記第1教師データの機械学習を行うことによって、複数の決定木モデルからなる第2学習モデルを生成する第1モデル生成部と、
前記複数の2次元出力特徴マップのうち、前記第2学習モデルの判定精度が第1条件を満たす特定の2次元出力特徴マップを特定するマップ特定部と、
前記第1層における前記特定の2次元出力特徴マップの出力が前記第2学習モデルを用いることによって行われるように、前記第1学習モデルを更新して第3学習モデルを生成する第2モデル生成部と、
前記第3学習モデルの前記判定精度が第2条件を満たす場合、前記第3学習モデルを前記第1学習モデルに置き換えるモデル置換部と、を有する、
ことを特徴とする学習モデル置換装置。
【請求項9】
第1学習モデルに対する学習用画像データの入力に応じて、前記第1学習モデルを構成する第1層に対して入力された複数の2次元入力特徴マップと、前記第1層から出力された複数の2次元出力特徴マップとを取得し、
前記複数の2次元出力特徴マップごとに、前記複数の2次元入力特徴マップと各2次元出力特徴マップとから第1教師データを生成し、
前記複数の2次元出力特徴マップごとに、各2次元出力特徴マップに対応する前記第1教師データの機械学習を行うことによって、複数の決定木モデルからなる第2学習モデルを生成し、
前記複数の2次元出力特徴マップのうち、前記第2学習モデルの判定精度が第1条件を満たす特定の2次元出力特徴マップを特定し、
前記第1層における前記特定の2次元出力特徴マップの出力が前記第2学習モデルを用
いることによって行われるように、前記第1学習モデルを更新して第3学習モデルを生成し、
前記第3学習モデルの前記判定精度が第2条件を満たす場合、前記第3学習モデルを前記第1学習モデルに置き換える、
処理をコンピュータが実行することを特徴とする学習モデル置換方法。
【請求項10】
複数の2次元入力特徴マップに含まれるデータのうち、複数の2次元出力特徴マップのそれぞれに含まれる特定のデータの計算に用いる複数のデータを格納する記憶回路と、
前記記憶回路から取得した前記複数のデータに対する比較演算と分岐演算とを行うことによって、前記複数の2次元出力特徴マップのそれぞれに含まれる前記特定のデータを出力する複数の演算回路と、を有する、
ことを特徴とするニューラルネットワーク回路装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)機器等を含むエッジデバイスに対して、畳み込みニューラルネットワーク(CNN:Convolutional neural network)を用いた画像認識技術を実装する要望が増加している。そのため、近年では、例えば、畳み込みニューラルネットワークの推論処理における計算負荷の抑制(例えば、計算量の削減や処理の高速化)を目的として、畳み込みニューラルネットワークの量子化等の様々な手法が提案されている(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】谷田部匠, 磯部宙, 富岡洋一, 齋藤寛 “決定木に基づくバイナリニューラルネットワークの近似計算に関する一検討”, 回路とシステムワークショップ work-in-progressセッション, pp. 121-123, 2020年8月.
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上記のような畳み込みニューラルネットワークの量子化では、特徴マップやフィルタの重みについての量子化を行うことにより、畳み込みニューラルネットワークの積和演算に用いられる演算器の単純化や小型化(すなわち、性能密度の向上)が行われている。
【0005】
しかしながら、近年では、演算器の製造プロセスの制限等の理由により、量子化等によるさらなる性能密度の向上の実現が困難な状況になっている。
【0006】
そこで、本発明の目的は、畳み込みニューラルネットワークの演算器における性能密度の向上を可能とする学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するための本発明における学習モデル置換プログラムは、第1学習モデルに対する学習用画像データの入力に応じて、前記第1学習モデルを構成する第1層に対して入力された複数の2次元入力特徴マップと、前記第1層から出力された複数の2次元出力特徴マップと取得し、前記複数の2次元出力特徴マップごとに、前記複数の2次元入力特徴マップと各2次元出力特徴マップとから第1教師データを生成し、前記複数の2次元出力特徴マップごとに、各2次元出力特徴マップに対応する前記第1教師データの機械学習を行うことによって、複数の決定木モデルからなる第2学習モデルを生成し、前記複数の2次元出力特徴マップのうち、前記第2学習モデルの判定精度が第1条件を満たす特定の2次元出力特徴マップを特定し、前記第1層における前記特定の2次元出力特徴マップの出力が前記第2学習モデルを用いることによって行われるように、前記第1学習モデルを更新して第3学習モデルを生成し、前記第3学習モデルの前記判定精度が第2条件を満たす場合、前記第3学習モデルを前記第1学習モデルに置き換える、処理をコンピュータに実行させる。
【発明の効果】
【0008】
本発明における学習モデル置換プログラム、学習モデル置換装置、学習モデル置換方法及びニューラルネットワーク回路装置によれば、畳み込みニューラルネットワークの演算器における性能密度の向上が可能になる。
【図面の簡単な説明】
【0009】
図1図1は、第1の実施の形態における情報処理装置1の構成例を示す図である。
図2図2は、第1の実施の形態における学習モデル置換処理の概略を説明する図である。
図3図3は、第1の実施の形態における学習モデル置換処理の概略を説明する図である。
図4図4は、第1の実施の形態における学習モデル置換処理の概略を説明する図である。
図5図5は、第1の実施の形態における学習モデル置換処理の概略を説明する図である。
図6図6は、第1の実施の形態における学習モデル置換処理の詳細を説明するフローチャート図である。
図7図7は、第1の実施の形態における学習モデル置換処理の詳細を説明するフローチャート図である。
図8図8は、第1の実施の形態における学習モデル置換処理の詳細を説明するフローチャート図である。
図9図9は、第1の実施の形態における学習モデル置換処理の詳細を説明するフローチャート図である。
図10図10は、第1の実施の形態における学習モデル置換処理の詳細を説明するフローチャート図である。
図11図11は、第1の実施の形態における学習モデル置換処理の詳細を説明する図である。
図12図12は、第1の実施の形態における学習モデル置換処理の詳細を説明する図である。
図13図13は、第1の実施の形態における専用回路105の構成例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【0011】
[第1の実施の形態における情報処理装置1の構成例]
初めに、第1の実施の形態における情報処理装置1(以下、学習モデル置換装置1とも呼ぶ)の構成例について説明を行う。図1は、第1の実施の形態における情報処理装置1の構成例を示す図である。
【0012】
情報処理装置1は、コンピュータ装置であって、例えば、汎用的なPC(Personal Computer)である。そして、情報処理装置1は、例えば、学習済の学習モデルを構成する要素の少なくとも一部の層を他の学習モデルの置き換える処理(以下、学習モデル置換処理とも呼ぶ)を行う。
【0013】
情報処理装置1は、汎用的なコンピュータ装置のハードウエア構成を有し、例えば、図1に示すように、プロセッサであるCPU101と、メモリ102と、通信インタフェー
ス103と、記憶媒体104と、専用回路105とを有する。各部は、バス106を介して互いに接続される。
【0014】
記憶媒体104は、例えば、学習モデル置換処理を行うためのプログラム(図示しない)を記憶するプログラム格納領域(図示しない)を有する。
【0015】
また、記憶媒体104は、例えば、学習モデル置換処理を行う際に用いられる情報を記憶する記憶領域(図示せず)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0016】
CPU101は、例えば、記憶媒体104からメモリ102にロードされたプログラム(図示せず)を実行して学習モデル置換処理を行う。
【0017】
専用回路105は、例えば、FPGA(Field Programmable Gate Array)等である。そして、専用回路105は、後述するように、例えば、学習モデルを用いた推論処理(以下、単に推論処理とも呼ぶ)を実行する。
【0018】
通信インタフェース103は、例えば、インターネット網等のネットワークNWを介して作業者端末2と通信を行う。なお、作業者端末2は、例えば、PC(Personal
Computer)であり、学習モデルの生成を行う作業者(以下、単に作業者とも呼ぶ)が必要な情報の入力等を行う端末であってよい。
【0019】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明を行う。図2から図5は、第1の実施の形態の概略を説明する図である。以下、図2を参照しながら、第1の実施の形態の概略について説明を行う。
【0020】
図2に示すように、情報処理装置1は、情報管理部111、データ生成部112、第1モデル生成部113、マップ特定部114、第2モデル生成部115、モデル置換部116、モデル出力部117及びモデル制御部118を含む各機能を実現する。具体的に、情報管理部111、データ生成部112、第1モデル生成部113、マップ特定部114、第2モデル生成部115、モデル置換部116及びモデル出力部117は、学習モデル置換処理を実現する機能であり、モデル制御部118は、推論処理を実現する機能である。
【0021】
情報処理装置1の情報管理部111は、例えば、作業者が作業者端末2を介して入力した各種情報を記憶媒体104に記憶する。具体的に、情報管理部111は、例えば、図3に示す学習モデルM(以下、モデルMまたは第1学習モデルMとも呼ぶ)の入力を受け付けた場合、受け付けた学習モデルMを記憶媒体104に記憶する。また、情報管理部111は、例えば、図3に示す画像データD0(以下、学習用画像データD0とも呼ぶ)の入力を受け付けた場合、受け付けた画像データD0を記憶媒体104に記憶する。
【0022】
情報処理装置1のデータ生成部112は、例えば、図3に示す教師データDT(以下、第1教師データDTとも呼ぶ)を生成する。
【0023】
具体的に、データ生成部112は、図3に示すように、例えば、学習モデルMに対する画像データD0の入力に応じて、学習モデルMを構成する指定層L(以下、第1層とも呼ぶ)に対して入力された複数の2次元入力特徴マップIMと、指定層Lから出力された複数の2次元出力特徴マップOM(指定層Lにおける複数のフィルタのそれぞれを用いることによって出力された複数の2次元出力特徴マップOM)とを取得する。指定層Lは、例
えば、作業者によって予め指定された層であり、連続する複数の層からなるものであってもよい。なお、以下、複数の2次元出力特徴マップOMのそれぞれをチャネルとも呼ぶ。
【0024】
そして、データ生成部112は、例えば、複数の2次元出力特徴マップOMごとに、各2次元出力特徴マップOMに対応する複数の2次元入力特徴マップIMと各2次元出力特徴マップOMとから教師データDTを生成する。
【0025】
さらに具体的に、データ生成部112は、図3に示すように、例えば、複数の2次元出力特徴マップOM内の画素OPa(例えば、「1」または「0」を示すデータ)と、画素OPaの計算に用いた2次元入力特徴マップIM内の複数の画素IPaとが含まれるように、教師データDTの生成を行う。また、データ生成部112は、例えば、複数の2次元出力特徴マップOM内の画素OPbと、画素OPbの計算に用いた2次元入力特徴マップIM内の複数の画素IPbとが含まれるように、教師データDTの生成を行う。以下、画素OPaと画素OPbとを含む複数の2次元出力特徴マップOM内の画素を総称して画素OPとも呼ぶ。また、以下、複数の画素IPaと複数の画素IPbとを総称して複数の画素IPまたは受容野IPとも呼ぶ。
【0026】
すなわち、データ生成部112は、例えば、複数の2次元出力特徴マップOM内の画素OPごとに、各画素OPと、各画素OPの計算に用いた2次元入力特徴マップIM内の複数の画素IPとが含まれるように、教師データDTの生成を行う。
【0027】
なお、学習モデルMには、例えば、複数の画像データD0が連続的に入力されるものであってよい。そして、データ生成部112は、例えば、複数の画像データD0のそれぞれに対応する複数の教師データDTを連続的に生成するものであってよい。
【0028】
第1モデル生成部113は、例えば、指定層Lから出力される複数の2次元出力特徴マップOMごとに、各2次元出力特徴マップOMに対応する教師データDTの学習(機械学習)を行うことによってランダムフォレストモデルR(以下、第2学習モデルRとも呼ぶ)を生成する。
【0029】
具体的に、第1モデル生成部113は、図3に示すように、例えば、3枚の2次元入力特徴マップIMのそれぞれに含まれる16個の画素IP(4×4個の画素IP)から、1枚の2次元出力特徴マップOMに含まれる1個の画素OPを出力(予測)することが可能なランダムフォレストモデルRを生成する。以下、ランダムフォレストモデルRの具体例について説明を行う。
【0030】
[ランダムフォレストモデルRの構成例]
初めに、ランダムフォレストモデルRを構成する決定木モデルTの構成例について説明を行う。図4は、ランダムフォレストモデルRを構成する決定木モデルTの構成例である。なお、以下、決定木モデルTが4枚の2次元入力特徴マップIMのそれぞれに含まれる複数の画素IPから1つの画素OPを出力する学習モデルであるものとして説明を行う。また、以下、複数の画素IPが16個の画素(4×4の画素)であるものとして説明を行う。
【0031】
図4に示す決定木モデルTは、例えば、X[2,0,0]に対応する画素(1枚目の2次元入力特徴マップIMに含まれる複数の画素IPのうちの左から3番目であって上から1番目の画素)と、X[0,3,1]に対応する画素(2枚目の2次元入力特徴マップIMに含まれる複数の画素IPのうちの左から1番目であって上から4番目の画素)と、X[3,2,0]に対応する画素(1枚目の2次元入力特徴マップIMに含まれる複数の画素IPのうちの左から4番目であって上から3番目の画素)との入力に応じて、画素OP
の推論結果を出力する学習モデルである。
【0032】
具体的に、図4に示す決定木モデルTは、例えば、X[2,0,0]に対応する画素が「0」よりも大きくなく、X[0,3,1]に対応する画素が「0」よりも大きくないと判定した場合、画素OPが「0」であると予測する。また、図4に示す決定木モデルTは、例えば、X[2,0,0]に対応する画素が「0」よりも大きくなく、X[0,3,1]に対応する画素が「0」よりも大きいと判定した場合、画素OPが「1」であると予測する。また、図4に示す決定木モデルTは、例えば、X[2,0,0]に対応する画素が「0」よりも大きく、X[3,2,0]に対応する画素が「0」よりも大きくないと判定した場合、画素OPが「1」であると予測する。さらに、図4に示す決定木モデルTは、例えば、X[2,0,0]に対応する画素が「0」よりも大きく、X[3,2,0]に対応する画素が「0」よりも大きいと判定した場合、画素OPが「0」であると予測する。
【0033】
そのため、X[2,0,0]に対応する画素が「0」であって、X[0,3,1]に対応する画素が「1」である場合、図4に示す決定木モデルTは、図4に示すように、例えば、画素OPの推論結果として「1」を出力する。
【0034】
ここで、図4に示す決定木モデルTの深さDは「3」である。そのため、図4に示す例において、決定木モデルTによる画素OPの推論を行う場合、演算回数は、「2(回)」の比較演算及び分岐演算のみになる。
【0035】
したがって、決定木モデルTによる画素OPの推論を行う場合、情報処理装置1は、積和演算による画素OPの推論を行う場合よりも、演算回数を大幅に抑制することが可能になる。そのため、情報処理装置1では、この場合、専用回路105に搭載される演算器の小型化が可能になり、演算器の面積効率を向上させることが可能になる。
【0036】
次に、ランダムフォレストモデルRの構成例について説明を行う。図5は、ランダムフォレストモデルRの構成例である。
【0037】
図5に示すランダムフォレストモデルRは、複数の決定木モデルTによって構成される学習モデルであり、複数の決定木モデルTからの出力結果の多数決によって推論処理を行う。具体的に、図5に示すランダムフォレストモデルRは、例えば、決定木モデルTaと決定木モデルTbと決定木モデルTcとのそれぞれからの出力結果の多数決によって推論処理を行う。
【0038】
これにより、情報処理装置1は、画像データD0の認識を行う際の判定精度を、図4で説明した決定木モデルTのみを用いる場合よりも向上させることが可能になる。具体的に、情報処理装置1は、例えば、未知の画像データD0に対する判定精度(汎化性能)を、図4で説明した決定木モデルTのみを用いる場合よりも向上させることが可能になる。
【0039】
図2に戻り、マップ特定部114は、例えば、指定層Lから出力される複数の2次元出力特徴マップOMのうち、ランダムフォレストモデルRの判定精度が条件(以下、第1条件とも呼ぶ)を満たす2次元出力特徴マップOM(以下、特定の2次元出力特徴マップOMとも呼ぶ)を特定する。
【0040】
第2モデル生成部115は、例えば、指定層Lにおける特定の2次元出力特徴マップOMの出力がランダムフォレストモデルRを用いることによって行われるように、学習モデルMを更新して学習モデルM1(以下、第3学習モデルM1とも呼ぶ)を生成する。
【0041】
モデル置換部116は、例えば、第2モデル生成部115が生成した学習モデルM1の
判定精度を算出する。そして、モデル置換部116は、例えば、算出した判定精度が第2条件を満たすか否かを判定する。その結果、算出した判定精度が第2条件を満たすと判定した場合、モデル置換部116は、例えば、学習モデルM1を学習モデルMに置き換える。
【0042】
モデル出力部117は、例えば、モデル置換部116が置き換えを行った学習モデルMを出力する。具体的に、モデル出力部117は、例えば、モデル置換部116が置き換えを行った学習モデルMを作業者端末2に出力する。
【0043】
モデル制御部118は、例えば、画像データD0(以下、検証用画像データD0とも呼ぶ)の入力を受け付けた場合、受け付けた画像データD0を学習モデルM(例えば、モデル出力部117が出力した学習モデルM)に入力する。そして、モデル制御部118は、例えば、画像データD0の入力に伴って学習モデルMから出力されたラベル(例えば、画像データD0に映る対象物の種別についての推論結果を示す情報)を取得する。
【0044】
その後、モデル制御部118は、例えば、取得したラベルを出力する。具体的に、モデル制御部118は、例えば、取得したラベルを作業者端末2に出力する。
【0045】
すなわち、本実施の形態における情報処理装置1は、図3等に示すように、学習モデルMに含まれる指定層Lを、指定層Lに入力される2次元入力特徴マップと指定層Lから出力される2次元出力特徴マップOMとから生成した教師データDTによって生成したランダムフォレストモデルRに置き換えることによって、学習モデルM1を生成する。
【0046】
これにより、情報処理装置1は、例えば、学習モデルMに近似し、かつ、学習モデルMよりも画像データD0の認識に要する演算回数を抑制することが可能な学習モデルM1を生成することが可能になる。そのため、情報処理装置1は、例えば、学習モデルM1を学習モデルMの代わりに用いることによって、判定精度の低下を抑制しながら、画像データD0の認識に要する計算負荷をより抑制することが可能になる。したがって、情報処理装置1は、例えば、判定精度の低下を抑制しながら、画像データD0の認識に伴う計算を行う演算器の小型化が可能になり、さらに、演算器の面積効率を向上させることが可能になる。
【0047】
なお、情報管理部111、データ生成部112、第1モデル生成部113、マップ特定部114、第2モデル生成部115、モデル置換部116及びモデル出力部117は、例えば、CPU101とプログラムとが協働することによって実現されるものであってよい。また、モデル制御部118は、例えば、専用回路105において実現されるものであってよい。
【0048】
また、以下、推論処理を行う専用回路105が情報処理装置1に搭載されている場合について説明を行うが、専用回路105は、例えば、情報処理装置1と異なる情報処理装置に搭載されるものであってもよい。すなわち、本実施の形態における推論処理は、本実施の形態におけるモデル置換処理を行う情報処理装置1と異なる情報処理装置において実行されるものであってもよい。
【0049】
[第1の実施の形態の詳細]
次に、第1の実施の形態における学習モデル置換処理の詳細について説明を行う。図6から図10は、第1の実施の形態における学習モデル置換処理の詳細を説明するフローチャート図である。また、図11及び図12は、第1の実施の形態における学習モデル置換処理の詳細を説明する図である。
【0050】
[学習モデル記憶処理]
初めに、学習モデル置換処理のうち、学習モデルMを記憶媒体104に記憶する処理(以下、学習モデル記憶処理とも呼ぶ)について説明を行う。図6は、学習モデル記憶処理について説明する図である。
【0051】
情報管理部111は、図6に示すように、例えば、学習モデルMの入力を受け付けるまで待機する(S1のNO)。具体的に、情報管理部111は、例えば、作業者が作業者端末2を介して学習モデルMの入力を行うまで待機する。
【0052】
そして、学習モデルMの入力を受け付けた場合(S1のYES)、情報管理部111は、入力を受け付けた学習モデルMを記憶媒体104に記憶する(S2)。
【0053】
[画像データ記憶処理]
次に、学習モデル置換処理のうち、画像データD0を記憶媒体104に記憶する処理(以下、画像データ記憶処理とも呼ぶ)について説明を行う。図7は、画像データ記憶処理について説明する図である。
【0054】
情報管理部111は、図7に示すように、例えば、画像データD0の入力を受け付けるまで待機する(S11のNO)。具体的に、情報管理部111は、例えば、作業者が作業者端末2を介して画像データD0の入力を行うまで待機する。
【0055】
そして、画像データD0の入力を受け付けた場合(S11のYES)、情報管理部111は、入力を受け付けた画像データD0を記憶媒体104に記憶する(S12)。
【0056】
すなわち、情報管理部111は、例えば、画像データD0の入力を受け付けるごとに、受け付けた画像データD0を記憶媒体104に記憶することにより、複数の画像データD0を記憶媒体104に蓄積する。また、情報管理部111は、例えば、複数の画像データD0の入力を受け付けた場合、入力を受け付けた複数の画像データD0を記憶媒体104に記憶する。
【0057】
[学習モデル置換処理のメイン処理]
次に、学習モデル置換処理のメイン処理について説明を行う。図8から図10は、学習モデル置換処理のメイン処理について説明する図である。
【0058】
情報管理部111は、図8に示すように、例えば、記憶媒体104に記憶した学習モデルMを複製した学習モデルM0を記憶媒体104に記憶する(S21)。
【0059】
そして、情報管理部111は、例えば、記憶媒体104に記憶した指定層リストLSに含まれる指定層Lのうち、S22の処理においてまだ取得されていない指定層Lを1つ取得する(S22)。指定層リストLSは、例えば、1以上の指定層Lを示す情報が格納されたリストである。
【0060】
具体的に、情報管理部111は、例えば、取得順序が学習モデルMにおける先頭の層(浅い層)から最後の層(深い層)に向かうように、また、取得順序が学習モデルMにおける最後の層(深い層)から先頭の層(浅い層)に向かうように、指定層リストLSに含まれる指定層Lの取得を行う。以下、指定層リストLSの具体例について説明を行う。
【0061】
[指定層リストLSの具体例]
図11は、指定層リストLSの具体例について説明する図である。
【0062】
図11に示す指定層リストLSは、例えば、1つ目の指定層Lが「Conv1」と「BatchNorm1」と「Quantization1」と「MaxPooling1」とを含む4層からなり、2つ目の指定層Lが「Conv2」と「BatchNorm2」と「Quantization2」と「MaxPooling2」とを含む4層からなり、3つ目の指定層Lが「Conv3」と「BatchNorm3」と「Quantization3」と「MaxPooling3」とを含む4層からなることを示している。
【0063】
そのため、情報管理部111は、S22の処理において、例えば、「Conv1」と「BatchNorm1」と「Quantization1」と「MaxPooling1」とを含む4層を指定層Lとして取得する。
【0064】
図8に戻り、データ生成部112は、例えば、記憶媒体104に記憶した学習モデルMに対して、記憶媒体104に記憶した複数の画像データD0を入力することにより、複数の画像データD0のそれぞれについて、S22の処理で取得した指定層Lに対する複数の2次元入力特徴マップIMと複数の2次元出力特徴マップOMとを取得する(S23)。
【0065】
具体的に、データ生成部112は、例えば、学習モデルMに対する複数の画像データD0の入力に応じて、複数の画像データD0のそれぞれについて、S22の処理で取得した指定層Lに対して入力された複数の2次元入力特徴マップIMと、S22の処理で取得した指定層Lから出力された複数の2次元出力特徴マップOM(指定層Lにおける複数のフィルタのそれぞれを用いることによって出力された複数の2次元出力特徴マップOM)との組合せを取得する。
【0066】
そして、データ生成部112は、例えば、変数iに対して1を設定する(S24)。
【0067】
続いて、データ生成部112は、例えば、複数の画像データD0のそれぞれについて、S23の処理で取得した複数の2次元出力特徴マップOMのうちのi番目のチャネルに対応する2次元出力特徴マップOMに含まれる画素OPごとに、各画素OPと、各画素OPの計算に用いる2次元入力特徴マップIMの複数の画素IPとを含む教師データDT(以下、教師データDTiとも呼ぶ)を生成する(S25)。すなわち、データ生成部112は、例えば、複数の画像データD0のそれぞれに対応する複数の教師データDTiを生成する。
【0068】
その後、第1モデル生成部113は、例えば、S25の処理で生成した複数の教師データDTiのうちの一部(以下、複数の学習用データTiとも呼ぶ)を用いることによって、i番目のチャネルに対応するランダムフォレストモデルR(以下、ランダムフォレストモデルRiとも呼ぶ)を生成する(S26)。
【0069】
さらに、マップ特定部114は、例えば、S26の処理で生成したランダムフォレストモデルRiの判定精度を算出する(S27)。
【0070】
具体的に、マップ特定部114は、例えば、S25の処理で生成した複数の教師データDTiのうちの他の一部(以下、複数の評価用データViとも呼ぶ)の入力に伴ってランダムフォレストモデルRiから出力された画素OPと、S25の処理で生成した複数の評価用データViに含まれる画素OPとの一致率Eiを算出する。なお、複数の評価用データViは、例えば、S25の処理で生成した複数の教師データDTiのうち、S26の処理において複数の学習用データTiとして用いられていない複数の教師データDTiであってよい。
【0071】
次に、マップ特定部114は、図9に示すように、例えば、変数iに設定されている値
に1を加算する(S31)。
【0072】
そして、マップ特定部114は、例えば、変数iが示す値がS22の処理で取得した指定層Lに対応するチャネルの数(S23の処理で取得した複数の2次元出力特徴マップOMの数)に到達したか否かを判定する(S32)。
【0073】
その結果、変数iが示す値がS22の処理で取得した指定層Lに対応するチャネルの数に到達していないと判定した場合(S32のNO)、情報処理装置1は、例えば、S25以降の処理を再度行う。
【0074】
すなわち、情報処理装置1は、例えば、S22の処理で取得した指定層Lに対応する複数のチャネルに対応するランダムフォレストモデルRiをそれぞれ生成し、さらに、生成したランダムフォレストモデルRiのそれぞれに対応する判定精度を算出するまで、S25以降の処理を繰り返し行う。
【0075】
一方、変数iが示す値がS22の処理で取得した指定層Lに対応するチャネルの数に到達したと判定した場合(S32のYES)、マップ特定部114は、例えば、S22の処理で取得した指定層Lに対応するチャネルのうち、S27の処理で算出した判定精度が第1条件を満たすランダムフォレストモデルRjに対応するチャネルjを特定する(S33)。
【0076】
具体的に、マップ特定部114は、例えば、S22の処理で取得した指定層Lに対応するチャネルのうち、S27の処理で算出した一致率Ejが第1条件を満たすランダムフォレストモデルRjに対応するチャネルjを特定する。
【0077】
さらに具体的に、マップ特定部114は、例えば、S22の処理で取得した指定層Lに対応するチャネルであってS33の処理でまだ特定されていないチャネルのうち、S27の処理で算出した一致率Ejが最も高いランダムフォレストモデルRjに対応するチャネルjを特定する。
【0078】
そして、情報管理部111は、例えば、記憶媒体104に記憶した学習モデルMを複製した学習モデルM1を記憶媒体104に記憶する(S34)。
【0079】
さらに、第2モデル生成部115は、例えば、S34の処理で複製した学習モデルMを構成する指定層LであってS22の処理で取得した指定層Lにおける複数のチャネルのうち、S33の処理で特定したチャネルjによる計算を、S33の処理で特定したチャネルjに対応するランダムフォレストモデルRjによる推論処理に置換する(S35)。
【0080】
すなわち、第2モデル生成部115は、例えば、S22の処理で取得した指定層Lにおける複数のチャネルのうち、S33の処理で特定したチャネルjによる2次元出力特徴マップOMの出力が、S33の処理で特定したチャネルjに対応するランダムフォレストモデルRjによって行われるように、学習モデルMを更新する。
【0081】
その後、モデル置換部116は、例えば、S35の処理で置換を行った学習モデルMの判定精度A1を算出する(S36)。
【0082】
具体的に、モデル置換部116は、例えば、複数の画像データD0のそれぞれの入力に伴って学習モデルM1から出力されたラベル(例えば、複数の画像データD0のそれぞれに映る対象物の種別についての推論結果を示す情報)と、複数の画像データD0のそれぞれに対応する正解ラベル(例えば、複数の画像データD0のそれぞれに映る対象物の種別
についての正解を示す情報)との一致率を、判定精度A1として算出するものであってよい。
【0083】
すなわち、モデル置換部116は、例えば、画像データD0と画像データD0に対応する正解ラベルとをそれぞれ含む複数の教師データ(以下、複数の第2教師データとも呼ぶ)の一部を用いることによって、判定精度A1の算出を行う。
【0084】
その後、モデル置換部116は、図10に示すように、例えば、S36の処理で算出した判定精度A1が第2条件を満たすか否かについて判定を行う(S41)。
【0085】
具体的に、モデル置換部116は、例えば、S36の処理で算出した判定精度A1が予め定められた閾値(以下、第1閾値とも呼ぶ)以上であるか否かについて判定する。
【0086】
その結果、S36の処理で算出した判定精度A1が第2条件を満たしていないと判定した場合(S41のNO)、情報処理装置1は、例えば、S33以降の処理を再度行う。
【0087】
すなわち、マップ特定部114は、S36の処理で算出した判定精度A1が第2条件を満たすようになるまで、S27の処理で算出した一致率Eiが高い順に、ランダムフォレストモデルRiに置き換えるチャネルを繰り返し選択する。
【0088】
具体的に、マップ特定部114は、図12に示すように、例えば、5枚の2次元出力特徴マップOMのうち、手前から3枚目の2次元出力特徴マップOMに対応するチャネルと、手前から5枚目の2次元出力特徴マップOM(一番奥の2次元出力特徴マップOM)に対応するチャネルとを、ランダムフォレストモデルRiに置き換えるチャネルとして特定する。また、マップ特定部114は、例えば、5枚の2次元出力特徴マップOMのうち、手前から1枚目の2次元出力特徴マップOMに対応するチャネルと、手前から2枚目の2次元出力特徴マップOMに対応するチャネルと、手前から4枚目の2次元出力特徴マップOMに対応するチャネルとを、ランダムフォレストモデルRiに置き換えないチャネルとして特定する。
【0089】
これにより、本実施の形態における情報処理装置1は、例えば、S22の処理で取得した指定層Lに対応する複数のチャネルのうち、ランダムフォレストモデルRiに置き換えることによる判定精度の低下が小さいと判断できるチャネルのみを、ランダムフォレストモデルRiに置き換えることが可能になる。そのため、情報処理装置1は、例えば、判定精度の低下を抑制しながら、推論処理の実行(画像データD0の認識)に要する演算回数を抑制させることが可能になる。
【0090】
一方、S36の処理で算出した判定精度A1が第2条件を満たしていると判定した場合(S41のYES)、すなわち、例えば、S36の処理で算出した判定精度A1が第1閾値未満であると判定した場合、モデル置換部116は、例えば、学習モデルM1のファインチューニングを行う。そして、モデル置換部116は、例えば、ファインチューニングを行った学習モデルM1を学習モデルMとして記憶媒体104に記憶する(S42)。
【0091】
具体的に、モデル置換部116は、例えば、第2教師データの他の一部(例えば、S36の処理で用いられていない第2教師データ)を用いた再学習を行うことによって、学習モデルM1のファインチューニングを行うものであってよい。
【0092】
なお、モデル置換部116は、S41の処理において、例えば、S27の処理で算出した一致率Eiのうちの最も高い値が予め定められた閾値(以下、第2閾値とも呼ぶ)以上であるか否かについて判定するものであってもよい。
【0093】
そして、S27の処理で算出した一致率Eiのうちの最も高い値が予め定められた閾値以上であると判定した場合(S41のNO)、情報処理装置1は、例えば、S33以降の処理を再度行うものであってもよい。
【0094】
一方、S27の処理で算出した一致率Eiのうちの最も高い値が予め定められた閾値以上でないと判定した場合(S41のYES)、情報処理装置1は、例えば、S42以降の処理を行うものであってよい。
【0095】
また、モデル置換部116は、S41の処理において、例えば、S22の処理で取得した指定層Lに対応する全てのチャネルがS33の処理において特定されたか否かについて判定するものであってもよい。
【0096】
そして、S22の処理で取得した指定層Lに対応する全てのチャネルがS33の処理において特定されていないと判定した場合(S41のNO)、情報処理装置1は、例えば、S33以降の処理を再度行うものであってもよい。
【0097】
一方、S22の処理で取得した指定層Lに対応する全てのチャネルがS33の処理において特定されたと判定した場合(S41のYES)、情報処理装置1は、例えば、S42以降の処理を行うものであってよい。
【0098】
さらに、S33の処理において、S22の処理で取得した指定層Lに対応するチャネルに、S27の処理で算出した判定精度が第1条件を満たすランダムフォレストモデルRjに対応するチャネルjが存在しないと判定した場合、情報処理装置1は、例えば、S34の処理を行った後、S35、S36及びS41の処理を行わずに、S42以降の処理を行うものであってよい。
【0099】
その後、モデル置換部116は、例えば、S42の処理でファインチューニングを行った学習モデルMの判定精度A2を算出する(S43)。
【0100】
具体的に、モデル置換部116は、S36の処理と同様に、例えば、複数の画像データD0のそれぞれの入力に伴って学習モデルMから出力されたラベルと、複数の画像データD0のそれぞれに対応する正解ラベルとの一致率を、判定精度A2として算出するものであってよい。
【0101】
そして、モデル置換部116は、例えば、S43の処理で算出した判定精度A2が第3条件を満たすか否かについて判定を行う(S44)。
【0102】
具体的に、モデル置換部116は、例えば、S43の処理で算出した判定精度A2が予め定められた閾値(以下、第3閾値とも呼ぶ)以上であるか否かについて判定する。
【0103】
その結果、S36の処理で算出した判定精度A2が第3条件を満たしていると判定した場合(S44のYES)、情報管理部111は、例えば、記憶媒体104に記憶した学習モデルM0を複製した学習モデルMを記憶媒体104に記憶する(S45)。
【0104】
一方、S43の処理で算出した判定精度A2が第3条件を満たしていないと判定した場合(S44のNO)、情報処理装置1は、例えば、S45の処理を行わない。
【0105】
そして、情報管理部111は、例えば、記憶媒体104に記憶した指定層リストLSが空であるか否か、すなわち、S22の処理で全ての指定層Lを取得したか否かについて判
定を行う(S46)。
【0106】
その結果、記憶媒体104に記憶した指定層リストLSが空でないと判定した場合(S46のNO)、情報処理装置1は、例えば、S21以降の処理を再度行う。
【0107】
すなわち、情報処理装置1は、この場合、指定層リストLSに含まれる他の指定層Lに対応するチャネルを、ランダムフォレストモデルRに置き換えるか否かについての判定を開始する。
【0108】
一方、記憶媒体104に記憶した指定層リストLSが空であると判定した場合(S46のYES)、情報処理装置1は、例えば、モデル置換処理を終了する。
【0109】
具体的に、モデル出力部117は、この場合、例えば、記憶媒体104に記憶した学習モデルM0を作業者端末2に出力する。
【0110】
なお、モデル置換部116は、S46の処理において、例えば、記憶媒体104に記憶した指定層リストLSが空であるか否かについて判定を行うものであってもよい。
【0111】
そして、指定層リストLSに含まれる指定層Lが存在していると判定した場合(S46のNO)、情報処理装置1は、例えば、S21以降の処理を再度行うものであってもよい。
【0112】
一方、指定層リストLSに含まれる指定層Lが存在しないと判定した場合(S46のYES)、情報処理装置1は、例えば、モデル置換処理を終了するものであってもよい。
【0113】
すなわち、本実施の形態における情報処理装置1は、図3等に示すように、学習モデルMに含まれる指定層Lを、指定層Lに入力される2次元入力特徴マップと指定層Lから出力される2次元出力特徴マップOMとから生成した教師データDTによって生成したランダムフォレストモデルRに置き換えることによって、学習モデルM1を生成する。
【0114】
これにより、情報処理装置1は、例えば、学習モデルMに近似し、かつ、学習モデルMよりも画像データD0の認識に要する演算回数を抑制することが可能な学習モデルM1を生成することが可能になる。そのため、情報処理装置1は、例えば、学習モデルM1を学習モデルMの代わりに用いることによって、判定精度の低下を抑制しながら、画像データD0の認識に要する計算負荷をより抑制することが可能になる。したがって、情報処理装置1は、例えば、判定精度の低下を抑制しながら、画像データD0の認識に伴う計算を行う演算器の小型化が可能になり、さらに、演算器の性能密度を向上させることが可能になる。
【0115】
[第1の実施の形態における専用回路105の構成例]
次に、専用回路105の具体例について説明を行う。図13は、第1の実施の形態における専用回路105の構成例を示す図である。
【0116】
専用回路105は、S23の処理で生成されたチャネルiに対応するランダムフォレストモデルRi、すなわち、S35の処理で置き換えられたチャネルiに対応するランダムフォレストモデルRiを実現する回路であり、例えば、記憶回路SWと、演算回路RFAとを有する。
【0117】
なお、以下、図13に示すように、ランダムフォレストモデルRiに入力される複数の2次元入力特徴マップIMの数がCinであり、ランダムフォレストモデルRiから出力
される複数の2次元出力特徴マップOMの数がCoutであるものとして説明を行う。また、以下、複数の2次元入力特徴マップIMのうち、複数の2次元出力特徴マップOMに含まれる1つの画素OPの計算に用いられる複数の画素IPの数がR×R(個)であるものとして説明を行う。
【0118】
記憶回路SWは、例えば、スライドウインドウであり、ランダムフォレストモデルRiに入力される複数の2次元入力特徴マップIMに含まれる画素に対応するデータを順次格納する。具体的に、記憶回路SWには、例えば、ランダムフォレストモデルRiにおける演算に用いられる画素に対応するデータから順に格納される。
【0119】
演算回路RFAは、例えば、Cout(個)のランダムフォレストモデル回路RTUを有する。そして、ランダムフォレストモデル回路RTUのそれぞれは、例えば、T(個)の決定木モデル回路DTUを有する。
【0120】
そして、演算回路RFAは、Cout(個)の2次元出力特徴マップOMのそれぞれに含まれる画素OPの計算を行う場合、記憶回路SWに記憶されたデータのうち、画素OPに対応するデータ(R×R×Cin(個)のデータ)を取得し、Cout(個)のランダムフォレストモデル回路RTUのそれぞれにおいて画素OPの計算を行う。具体的に、Cout(個)のランダムフォレストモデル回路RTUのそれぞれは、この場合、各ランダムフォレストモデル回路RTUを構成する各決定木モデル回路DTUにおいて比較演算及び分岐演算を行うことにより、各ランダムフォレストモデル回路RTUに対応する画素OPの計算を行う。
【0121】
すなわち、記憶回路SWには、Cout(個)の2次元出力特徴マップOMのそれぞれに含まれる画素OPの計算に要するデータへのアクセスを同時に行うことが可能になるように、複数の2次元入力特徴マップIMに含まれる画素に対応するデータが格納されている。
【0122】
このように、専用回路105では、例えば、乗算器、加算器及び積和演算器等(以下、乗算器等とも呼ぶ)に代えて、乗算器等よりも小型の比較演算器を搭載することで、乗算器等を搭載する場合よりも小面積の回路を実現することが可能になる。そのため、専用回路105では、例えば、性能密度の向上を図ることが可能になる。
【0123】
なお、学習モデル置換処理においてランダムフォレストモデルRiへの置換が行われなかった層やチャネルが存在する場合、専用回路105は、これらの層やチャネルにおける積和演算を行う乗算器等を搭載するものであってもよい。
【符号の説明】
【0124】
1:情報処理装置
2:作業者端末
101:CPU
102:メモリ
103:通信インタフェース
104:記憶媒体
105:専用回路
106:バス
111:情報管理部
112:データ生成部
113:第1モデル生成部
114:マップ特定部
115:第2モデル生成部
116:モデル置換部
117:モデル出力部
118:モデル制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13