(57)【要約】      （修正有）【課題】過去に実施した担当者の経験やノウハウを学習した畳み込みニューラルネットワークを用いて、品目の在庫診断や問題在庫の要因となるＰＳＩの推移状況を容易に把握することができる技術を提供する。【解決手段】在庫管理装置は、入力された品目の生産・販売・在庫（ＰＳＩ）のデータを用いて当該品目が問題在庫か否かを診断し、かつ、品目が問題在庫と診断された場合に、診断結果に所定の寄与度以上に寄与した期間のＰＳＩデータの推移状況を診断の根拠あるいは問題在庫の要因として出力する。在庫管理装置は、ＰＳＩデータに基づく需給バランスの変化を、畳み込みニューラルネットワークモデルを用いて特徴量として学習させるモデル学習部と、学習済みの畳み込みニューラルネットワークモデルに対し、診断対象品目のＰＳＩデータを入力して当該品目に対する在庫診断を実行する在庫診断部と、を有する。【選択図】図１
2019211870.tif 000002
【特許請求の範囲】
【請求項１】
入力された品目の生産・販売・在庫（ＰＳＩ）のデータを用いて当該品目が問題在庫か否かを診断し、かつ、前記品目が問題在庫と診断された場合に、診断結果に所定の寄与度以上に寄与した期間のＰＳＩデータの推移状況を診断の根拠あるいは問題在庫の要因として出力する在庫管理装置であって、
前記ＰＳＩデータに基づく需給バランスの変化を、畳み込みニューラルネットワークモデルを用いて特徴量として学習させるデータ学習部と、
学習済みの前記畳み込みニューラルネットワークモデルに対し、診断対象品目のＰＳＩデータを入力して当該品目に対する在庫診断を実行する在庫診断部と、を有することを特徴とする在庫管理装置。
【請求項２】
前記在庫診断部による前記診断の結果が問題在庫である場合に、学習済み畳み込みニューラルネットワークモデルの出力層から入力層の後に配置される畳み込み層まで逆伝播することにより、フィルタ幅の期間で逐次ＰＳＩデータに畳み込んだフィルタまたはそこから得られる特徴マップに対する診断結果への寄与度を求め、所定の寄与度以上の畳み込み領域にあたる期間のＰＳＩデータを診断の根拠あるいは問題在庫の要因として推定する要因推定部を有することを特徴とする請求項１に記載の在庫管理装置。
【請求項３】
さらに、診断対象となる品目に対する品目別・日別のＰＳＩデータ、畳み込みニューラルネットワークモデルの学習に用いる教師データであって、過去のある時点で診断された複数品目の品目別・日別のＰＳＩデータと診断結果データのペアから構成されるデータ、および、少なくとも入力層の後に構築される畳み込み層に関するフィルタ幅とフィルタ数を定めたモデル設定データ、モデル学習に関する項目を定めた学習設定データ、在庫診断に関する項目を定めた診断設定データを読み込んでメモリ上に展開するデータ入力部と、
前記モデル設定データに従い、品目のＰＳＩデータが入力される入力層と、前記入力層の後に畳み込み層が配置された少なくとも１つ以上の層を持つ隠れ層と、品目の診断結果を出力する出力層から構成された畳み込みニューラルネットワークモデル構築するモデル構築部と、を有し、
前記データ学習部は、前記畳み込みニューラルネットワークモデルのパラメータが一様乱数や正規乱数、または、ゼロを含む定数値で初期化され、前記教師データから任意に取得した複数品目のＰＳＩデータを前記モデル構築部に入力して在庫診断し、前記モデル構築部から出力された診断結果と前記教師データにある前記品目群の診断結果との誤差が小さくなるように、勾配を用いてパラメータの値を逐次更新することを特徴とする請求項１又は２に記載の在庫管理装置。
【請求項４】
さらに、診断対象品目に対する前記診断結果、要因として推定された期間、および当該期間のＰＳＩ推移状況を表現する文字列を、要因推定期間が事前に指定された採択期間に含まれる場合に、前記品目群の在庫サムネイル一覧あるいは個別品目のＰＳＩ詳細グラフ上に矩形やヒートマップ、吹き出しなどの形状で画面表示する画面表示部と、
診断対象品目に対する前記診断結果を外部ファイルやデータベースに出力するデータ出力部と、
を有する請求項３に記載の在庫管理装置。
【請求項５】
入力された品目の生産・販売・在庫（ＰＳＩ）のデータを用いて当該品目が問題在庫か否かを診断し、かつ、前記品目が問題在庫と診断された場合に、診断結果に所定の寄与度以上に寄与した期間のＰＳＩデータの推移状況を診断の根拠あるいは問題在庫の要因として出力するコンピュータを用いた在庫管理方法であって、
前記ＰＳＩデータに基づく需給バランスの変化を、畳み込みニューラルネットワークモデルを用いて特徴量として学習させるデータ学習ステップと、
学習済みの前記畳み込みニューラルネットワークモデルに対し、診断対象品目のＰＳＩデータを入力して当該品目に対する在庫診断を実行する在庫診断ステップと、を有することを特徴とする在庫管理方法。
【請求項６】
前記在庫診断ステップによる前記診断の結果が問題在庫である場合に、学習済み畳み込みニューラルネットワークモデルの出力層から入力層の後に配置される畳み込み層まで逆伝播することにより、フィルタ幅の期間で逐次ＰＳＩデータに畳み込んだフィルタまたはそこから得られる特徴マップに対する診断結果への寄与度を求め、所定の寄与度以上の畳み込み領域にあたる期間のＰＳＩデータを診断根拠あるいは問題の要因として推定する要因推定ステップを有することを特徴とする請求項５に記載の在庫管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、在庫管理技術に関し、特に、畳み込みニューラルネットワークを用いて品目の在庫を自動診断する在庫管理技術に関する。
【背景技術】
【０００２】
製造、物流、小売業では膨大な品数の商品に対して在庫管理が行われている。在庫管理においては、企業が過剰在庫や欠品など在庫の問題を早期に検知し、生産量の調整や販売計画の見直しなどの需給調整をすることが重要である。
在庫管理の現場では、一人の担当者が緊急オーダや納期変更、生産遅延などの日々の例外事象に対処しつつ在庫管理する品目数は数百〜数千にもおよぶ。そのため、対象となる商品の一定期間における在庫推移をグラフ表示して担当者がひと目で在庫の増減傾向や滞留状況を把握できるようにしたり、在庫回転率や在庫日数、在庫移動平均や安全在庫水準など複数の指標を提示して客観的な在庫評価をできるようにしたりすることで、問題の早期検知を支援する技術が用いられている（例えば、特許文献１、２参照）。
【０００３】
こうした在庫推移グラフや指標などの情報を用いた検知は、初期診断として活用されており、実際の現場では、担当者は検知された品目の生産・販売・在庫（ＰＳＩ：Production、 Sales and Inventory）の詳細な推移を確認して、例えば「この期間の販売が減少傾向であったにもかかわらず多量の生産をした結果在庫が過剰傾向になっている」などの状況を読み取り、問題在庫か否かの最終的な診断をする。
【０００４】
特許文献１は、出願人らの発明を開示するものであり、多数の品目の在庫推移グラフをサムネイル表示する技術および在庫回転率や交差比率でグラフをソートする技術、品目ごとに詳細なＰＳＩの詳細な推移をグラフ表示する技術などを開示する。
特許文献２は、出願人らの発明を開示するものであり、ＰＳＩデータから理想的な安全在庫水準と現実の安全在庫水準をそれぞれ計算し、グラフ上に表示して乖離をひと目で把握できるようにすることで、安全在庫の適正化を支援する技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８７４４９号公報
【特許文献２】特許第５４５７８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＰＳＩの詳細な推移に基づく品目の在庫診断や問題解消のための需給調整は専門性が高い業務であるため、担当者の経験やノウハウの有無により診断結果や調整内容にばらつきが生じて問題の見逃しや解消の遅延が発生したり、新たな担当者の育成に向けたノウハウの伝承が困難になったりするなどの課題をメーカはじめ多くの企業が抱えている。
【０００７】
本発明は、過去に実施した担当者の経験やノウハウを学習した畳み込みニューラルネットワークを用いて、品目の在庫診断や問題在庫の要因となるＰＳＩの推移状況を容易に把握することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、入力された品目の生産・販売・在庫（ＰＳＩ）のデータを用いて当該品目が問題在庫か否かを診断し、かつ、前記品目が問題在庫と診断された場合に、診断結果に所定の寄与度以上に寄与した期間のＰＳＩデータの推移状況を診断の根拠あるいは問題在庫の要因として出力する在庫管理装置であって、前記ＰＳＩデータに基づく需給バランスの変化を、畳み込みニューラルネットワークモデルを用いて特徴量として学習させるデータ学習部と、学習済みの前記畳み込みニューラルネットワークモデルに対し、診断対象品目のＰＳＩデータを入力して当該品目に対する在庫診断を実行する在庫診断部と、を有することを特徴とする在庫管理装置が提供される。
【０００９】
前記在庫診断部による前記診断の結果が問題在庫である場合に、学習済み畳み込みニューラルネットワークモデルの出力層から入力層の後に配置される畳み込み層まで逆伝播することにより、フィルタ幅の期間で逐次ＰＳＩデータに畳み込んだフィルタまたはそこから得られる特徴マップに対する診断結果への寄与度を求め、所定の寄与度以上の畳み込み領域にあたる期間のＰＳＩデータを診断の根拠あるいは問題在庫の要因として推定する要因推定部を有することが好ましい。
【００１０】
さらに、診断対象となる品目に対する品目別・日別のＰＳＩデータ、畳み込みニューラルネットワークモデルの学習に用いる教師データであって、過去のある時点で診断された複数品目の品目別・日別のＰＳＩデータと診断結果データのペアから構成されるデータ、および、少なくとも入力層の後に構築される畳み込み層に関するフィルタ幅とフィルタ数を定めたモデル設定データ、モデル学習に関する項目を定めた学習設定データ、在庫診断に関する項目を定めた診断設定データを読み込んでメモリ上に展開するデータ入力部と、前記モデル設定データに従い、品目のＰＳＩデータが入力される入力層と、前記入力層の後に畳み込み層が配置された少なくとも１つ以上の層を持つ隠れ層と、品目の診断結果を出力する出力層から構成された畳み込みニューラルネットワークモデル構築するモデル構築部と、を有し、前記データ学習部は、前記畳み込みニューラルネットワークモデルのパラメータが一様乱数や正規乱数、または、ゼロを含む定数値で初期化され、前記教師データから任意に取得した複数品目のＰＳＩデータを前記モデル構築部に入力して在庫診断し、前記モデル構築部から出力された診断結果と前記教師データにある前記品目群の診断結果との誤差が小さくなるように、勾配を用いてパラメータの値を逐次更新することが好ましい。  
【００１１】
さらに、診断対象品目に対する前記診断結果、要因として推定された期間、および当該期間のＰＳＩ推移状況を表現する文字列を、要因推定期間が事前に指定された採択期間に含まれる場合に、前記品目群の在庫サムネイル一覧あるいは個別品目のＰＳＩ詳細グラフ上に矩形やヒートマップ、吹き出しなどの形状で画面表示する画面表示部と、診断対象品目に対する前記診断結果を外部ファイルやデータベースに出力するデータ出力部と、を有することが好ましい。
【００１２】
本発明の他の観点によれば、入力された品目の生産・販売・在庫（ＰＳＩ）のデータを用いて当該品目が問題在庫か否かを診断し、かつ、前記品目が問題在庫と診断された場合に、診断結果に所定の寄与度以上に寄与した期間のＰＳＩデータの推移状況を診断の根拠あるいは問題在庫の要因として出力するコンピュータを用いた在庫管理方法であって、前記ＰＳＩデータに基づく需給バランスの変化を、畳み込みニューラルネットワークモデルを用いて特徴量として学習させるデータ学習ステップと、学習済みの前記畳み込みニューラルネットワークモデルに対し、診断対象品目のＰＳＩデータを入力して当該品目に対する在庫診断を実行する在庫診断ステップと、を有することを特徴とする在庫管理方法が提供される。
【００１３】
前記在庫診断ステップによる前記診断の結果が問題在庫である場合に、学習済み畳み込みニューラルネットワークモデルの出力層から入力層の後に配置される畳み込み層まで逆伝播することにより、フィルタ幅の期間で逐次ＰＳＩデータに畳み込んだフィルタまたはそこから得られる特徴マップに対する診断結果への寄与度を求め、所定の寄与度以上の畳み込み領域にあたる期間のＰＳＩデータを診断根拠あるいは問題の要因として推定する要因推定ステップを有することが好ましい。
【発明の効果】
【００１４】
本発明によれば、在庫管理担当者は、過去に実施した担当者の経験やノウハウを学習した畳み込みニューラルネットワークを用いて、品目の在庫診断や問題在庫の要因となるＰＳＩの推移状況を容易に把握できる。その結果、問題在庫の見逃しや問題の解消遅延を低減させることができ、経験の少ない担当者であっても熟練者のノウハウを活用した在庫診断が可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態による在庫管理装置の一構成例を示す機能ブロック図である。
【図２Ａ】本実施の形態による問題在庫とその要因を提示する在庫管理技術の概要を示すイメージ図である。
【図２Ｂ】本実施の形態による問題在庫とその要因を提示する在庫管理技術の概要を示すイメージ図である。
【図２Ｃ】本実施の形態による問題在庫とその要因を提示する在庫管理技術の概要を示すイメージ図である。
【図３】モデル構築の流れを示すフローチャート図である。
【図４】モデル学習部による学習処理の概略を示すフローチャート図である。
【図５】順伝播の詳細な処理フローを示す図である。
【図６】逆伝播の詳細な処理フローを示す図である。
【図７】要因推定部の処理の流れの一例を示すフローチャート図である。
【図８】従来技術における診断対象品目の在庫サムネイル一覧画面やＰＳＩ詳細画面での表示例を示す図である。
【図９】従来技術における診断対象品目の在庫サムネイル一覧画面やＰＳＩ詳細画面での表示例を示す図である。
【図１０】ＣＮＮモデルによる在庫診断結果および要因とされる最大寄与領域を在庫サムネイル一覧画面上に可視化した例である。
【図１１】ある対象品目の診断結果および最大寄与領域による要因をＰＳＩ詳細画面上に表示した例である。
【図１２】ある対象品目の診断結果およびヒートマップによる要因をＰＳＩ詳細画面上で表示した例を示す図である。
【発明を実施するための形態】
【００１６】
そこで、既に担当者によって在庫診断された品目のＰＳＩデータと当該品目に対する在庫診断結果から、畳み込みニューラルネットワーク（ＣＮＮ ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋ）を用いて問題在庫と関連するある期間のＰＳＩの推移状況を学習することによって、診断対象となる品目のＰＳＩデータを当該モデルの入力として与えた際に、当該品目が問題在庫かどうかの自動診断と、問題の要因と推定される期間のＰＳＩの状況を出力する在庫管理技術を提案する。
【００１７】
図１は、本発明の一実施の形態による在庫管理装置の一構成例を示す機能ブロック図である。図２Ａから図２Ｃまでは、本実施の形態による問題在庫とその要因を提示する在庫管理技術の概要を示すイメージ図である。まず、大まかなイメージについて図２Ａから図２Ｃまでを参照しながら説明する。
【００１８】
（構成と処理の概略）
図２Ａに示すように、本実施の形態による在庫管理技術は、まず過去の在庫診断データ１５をＣＮＮモデル１７に入力して問題在庫の診断と相関するＰＳＩデータの特徴を学習し、次にある品目のＰＳＩデータ１１を学習済みＣＮＮモデル１７に入力として与えたときに、その出力２１として当該品目の在庫診断結果を得ることができる技術である。尚、例えば、在庫の診断結果Ｄ１〜Ｄ３までは、表示画面に表示させた品目毎の在庫状況を示すグラフであり、横軸は時間、縦軸は在庫量である。各グラフ表示には、品目番号と変動充足率が記載されている。
【００１９】
このようなグラフ表示に基づいて、吹き出しＰ１，Ｐ２，Ｐ３に示すように、在庫の診断結果Ｄ１〜Ｄ３に対応する問題在庫の要因を表示させるようにしても良い。
例えば、グラフ表示Ｄ１に関しては、要因Ｐ１「販売量は安定しているのに対し，直近３ヶ月の生産量が多くなっているため，過剰在庫になっている。」との表示をさせても良い。
また、グラフ表示Ｄ２に関しては、要因Ｐ２「半年前からの販売増加傾向に備えて生産量を増加させたが，ここ２ヶ月の販売が減少しているため，過剰在庫になっている。」との表示をさせても良い。
さらに、グラフ表示Ｄ３に関しては、要因Ｐ３「1年前からの販売傾向に対し生産量が不足しており，欠品リスクが増大。」を表示させても良い。操作者の判断に基づいて要因を操作者が入力しても良い。
【００２０】
図２Ｂは、ＣＮＮモデル１７の基本的な処理の概要を示す図である。担当者の在庫診断によって問題在庫と診断された品目としては、Ｄ１１，Ｄ１２，Ｄ１３のような例が挙げられる。領域Ｒ１、Ｒ２、Ｒ３は担当者が診断時に着目した需給バランスの変化を示しており、担当者は診断の過程で、Ｒ１では「安定需要下で充分な在庫を保持している中、高頻度生産を続けたため、在庫が過剰になっている」とする診断根拠を見出し、Ｒ２では「需要を賄える在庫を保持している状況で生産を継続したため、在庫が過剰になっている」とする診断根拠を見出し、Ｒ３では「販売の増加傾向に対して生産が追随できず、在庫がなくなり欠品が発生」とする診断根拠を見出している。しかし，Ｒ１、Ｒ２、Ｒ３は担当者のノウハウとして暗黙知化されているものであり、一般的に診断履歴として記録されることは少ない。そこで、ＣＮＮモデル１７は、過去の在庫診断データ１５として品目のＰＳＩデータと当該品目が問題在庫か否かの診断結果データのセットが与えられたときに、事前に指定した期間長での畳み込み処理を通して、問題在庫の診断と相関するＰＳＩデータの特徴を学習する。これにより，ＣＮＮモデル１７がＲ１、Ｒ２、Ｒ３に示すような、ノウハウ化された需給バランス変化の判断を学習していくことが期待される。
【００２１】
診断履歴データ１５から問題在庫と関連するＰＳＩデータの特徴を学習したＣＮＮモデル１７を構築すれば、診断対象となる品目のＰＳＩデータ１１を当該モデルに入力し、事前に指定した期間長による畳み込み処理や全結合処理などを通して、問題在庫と関連する入力データの特徴の強弱や問題在庫に分類される確率を求め、出力３１において当該品目に対する「問題あり」、「問題なし」の診断を行うことができる。
【００２２】
図２Ｃは、本実施の形態によるＣＮＮモデル１７における処理の流れの概要を示す図であり、図２Ｂに示す構成をより詳細に示す図である。
図２Ｃに示すように、まず、ＰＳＩ時系列データ１１を入力とし、これを標準化（正規化）する（１７−１）。次いで、Ｃｏｎｖ処理（畳み込み処理）１７−２を行う。Ｃｏｎｖ処理１７−２は、データ１１ａ，１１ｂ，１１ｃ，…のように事前に指定した期間長の畳み込み領域を時間方向に徐々にずらしながら当該領域のＰＳＩデータとフィルタの相関を計算する。通常のＣｏｎｖ処理１７−２ではフィルタＡ，フィルタＢ，…のように複数のフィルタを用いたフィルタリング処理を実行し、ＰＳＩデータから様々な特徴を学習する。図２Ｃでは、各領域のフィルタＡに対する反応値３３と、フィルタＢに対する反応値３３と、を求めている。次いで、Ｔａｎｈ処理１７−３を行うことで、各反応値を−１〜＋１までの値に変換する。Ｔａｎｈのような反応値を変換する関数を活性化関数と呼ぶ。次いで、Ｄｒｏｐｏｕｔ処理１７−４を行う。
【００２３】
次いで、Ａｆｆｉｎｅ処理１７−５を行う。Ａｆｆｉｎｅ処理１７−５は、フィルタＡ、Ｂなどの各フィルタの反応値３５を１つに集約（３７）する処理である。
次いで、Ｔａｎｈ処理１７−６を行うことで、Ａｆｆｉｎｅ処理１７−５の反応値を−１〜＋１までの値に変換する。
次いで、Ａｆｆｉｎｅ処理１７−７を行う。Ａｆｆｉｎｅ処理１７−７は、Ｔａｎｈ処理１７−６で１つに集約された各フィルタの反応値３９を問題あり・なしの各分類ラベルとの関連度に集約し、次いで、集約した関連度から問題ありラベルに分類される確率と問題なしラベルに分類される確率を求める（４１）Ｓｏｆｔｍａｘ処理１７−８を行う。
尚、Ｃｏｎｖ処理やＡｆｆｉｎｅ処理の前にＤｒｏｐｏｕｔ処理が挿入されていても良い。Ｄｒｏｐｏｕｔ処理は、未知の入力データに対するＣＮＮモデルの分類性能を高めるため、学習時にＣｏｎｖ層やＡｆｆｉｎｅ層の複数ユニットをランダムに選択し、無効化するものである。図２Ｃでは、１つ目のＡｆｆｉｎｅ処理の前にＤｒｏｐｏｕｔ処理１７−４が挿入されている。
【００２４】
以上の処理により、品目のＰＳＩデータに対し分類確率に基づくラベル付け処理１７−９を実行することができる。ラベルとしては「問題あり」と「問題なし」の２値が最も単純であるが、例えば「問題あり」を「過剰安全」、「在庫滞留」、「増加傾向」、「減少傾向」などに細分化した多値分類としても良い。
教師データ（｛ＰＳＩ時系列，診断結果ラベル}の集合から構成されるデータセット）が与えられれば、ＰＳＩ時系列に対してＣＮＮモデルの処理１７−１から処理１７−９までを実行し、モデル出力としてのラベルと実際のラベルとの誤差を求めることができる。従って、誤差逆伝播法を用いれば上記誤差を小さくするようにＣｏｎｖ層のフィルタ値やＡｆｆｉｎｅ層のパラメータ値を更新することができる。このようなパラメータ更新をＣＮＮモデルの学習と呼ぶ。
【００２５】
学習済みＣＮＮモデルを用いた診断対象品目の在庫診断結果に対する要因抽出は、以下のように行う。
すなわち、学習済みＣＮＮモデルで問題在庫と診断された品目のＰＳＩデータに対し、診断に寄与する太枠で囲まれた領域をフィルタから特定する。Ｓｏｆｔｍａｘ処理（その前のＡｆｆｉｎｅ処理でも良い）の出力値の中で最大のもの以外を０に設定してＣｏｎｖ層まで逆伝播することで、該当する層の出力値の増分に最も寄与するフィルタとユニットを特定する。
【００２６】
（詳細な構成と処理）
以下において、より詳細かつ具体的な処理について説明する。
図１は、本実施の形態による在庫管理システムの一構成例を示す機能ブロック図である。
例えば数千種類の商品を見込み生産している消費財メーカの在庫管理担当者が、図１に示す在庫管理装置１を用いて担当品目の在庫診断を実行する例について説明する。尚、ここでは、在庫診断の実施時点は、例えば、２０１８年４月１日とする。
【００２７】
在庫管理担当者は、データ入力部１−１を用いて、自身が担当する診断対象品目のＰＳＩデータＴ２０１、畳み込みニューラルネットワーク（ＣＮＮ）モデルの学習に用いる教師データＴ２０２、モデルのネットワーク構成を定めたＣＮＮモデル構成設定データＴ２０３、モデル学習の設定項目を記載したＣＮＮモデル学習設定データＴ２０４、在庫診断の設定項目を記載した在庫診断設定データＴ２０５を、それぞれ在庫管理装置１の図示しないメモリ上に読み込む。在庫管理装置１は、例えば、情報処理装置であり、例えば、サーバ、ＰＣ、ＰＤＡなどである。各データを格納するデータベースは、例えばネットワーク経由で在庫管理装置１と関連付けされている。
【００２８】
まず、診断対象品目のＰＳＩデータＴ２０１がメモリ上で保持される形式の例を表１に示す。表１には、品目コード、年月日、生産数、販売数、在庫数が示されている。
【００２９】
【表１】
2019211870.tif 000003
【００３０】
表１では、例えば、在庫管理担当者が管理する１００品目について直近１年間（２０１７年４月１日〜２０１８年３月３１日）の日別のＰＳＩ実績値が示されている。
【００３１】
次に、ＣＮＮモデルの学習に用いる教師データＴ２０２がメモリ上で保持される形式の例を表２に示す。
【００３２】
【表２】
2019211870.tif 000004
【００３３】
本実施の形態による教師データとは、過去に在庫診断の対象となった品目のＰＳＩデータと、当該品目の診断結果とから構成される。表２の例では、例えば、過去に在庫診断された１，０００品目に対する１年間（２０１６年４月１日〜２０１７年３月３１日）の日別のＰＳＩ実績値とその診断結果種別とが格納されている。本実施の形態では、１年間のＰＳＩデータの推移状況と診断結果の関連をＣＮＮモデルで学習するため、各品目の日々の診断結果種別には同じ値が格納されている。
【００３４】
尚、診断結果種別は、メモリ上では問題なしを“０”、過剰在庫を“１”、過少在庫を“２”に対応させた数値としている。診断結果の種別を、例えば「問題なし」、「過剰」、「急増」、「急減」、「滞留」のようにより細分化してそれぞれに対応する数値を割当てることもできる。また、表１および表２のＰＳＩデータは数量（個数や梱数）としているが、金額など日々の実績を記録した数値であれば、数量と同様に用いることができる。
【００３５】
次に、ＣＮＮモデルのネットワークアーキテクチャを示すＣＮＮモデル構成設定データＴ２０３がメモリ上で保持される形式の例を表３に示す。
【００３６】
【表３】
2019211870.tif 000005
【００３７】
表３の例では、層番号ごとに層の種類が定められており、さらに層の種類ごとに設定項目と設定値とが格納されている。本実施の形態では、１層目には入力層が必須で指定される。入力層では、ＣＮＮモデルの入力値となるＰＳＩデータの形状について設定する。本実施の形態では、ＰＳＩの１年分の日次データを対象に、ある期間の販売傾向に対する生産と在庫推移の関係をフィルタの畳み込み処理で考慮しながら診断結果との関連を学習する。そのため、データ長を３６５日、チャネル数を３としている。なお、説明の都合上、閏年の２／２９のデータは考慮しない。また、品目ごとのデータスケールを一致させるため、事前変換としてデータを標準化する設定としている。
【００３８】
２層目には畳み込み層が必須で指定される。この層では、診断結果と相関するＰＳＩデータの特徴量を抽出するために必要な項目を設定する。フィルタ幅とは、畳み込み処理でＰＳＩデータと診断結果との相関を考慮する期間である。フィルタ数とは、ＰＳＩデータに畳み込むフィルタの数であり、各フィルタの値はＣＮＮモデルの学習を通して抽出されるＰＳＩデータの特徴量となる。ストライドとは、畳み込み処理で各フィルタを過去から未来に向かって移動させる日数である。Ｗ２初期化とは、畳み込み処理の主要なパラメータである（ファイル幅×チャネル数）×フィルタ数の行列Ｗ２の各要素を初期化する方法である。ここで、ｎ×ｍ行列とはｎ個の行とｍ個の列を持つ行列を意味する。
【００３９】
ｂ２初期化とは、畳み込み処理のバイアスパラメータである次元がフィルタ数に等しいベクトルｂ２の各要素を初期化する方法である。活性化関数とは、畳み込み層の入力に対して行列演算をした後の出力を非線形変換する関数である。畳み込み層の活性化関数の値は特徴マップとも呼ばれる。ドロップアウトとは、ＣＮＮモデルの汎化性能を向上させるため、学習時に当該層を構成するユニットの一部をランダムに不活性化させる割合である。
３層目以降は、畳み込み層やプーリング層、全結合層などを任意に指定することができる。
【００４０】
表３では、２つの全結合層が指定されている。ＣＮＮモデルにおける全結合層は、畳み込み層で抽出された特徴量に基づきＰＳＩデータを診断結果種別に分類する分類器としての役割を果たす。３層目の全結合層について、入力次元とは前層の出力データに基づき設定される次元である。出力次元とは、当該層で実行される行列演算の出力の次元である。Ｗ３初期化とは、全結合層の主要なパラメータである入力次元×出力次元の行列Ｗ３の各要素を初期化する方法である。ｂ３初期化とは、当該層のバイアスパラメータである出力次元ベクトルｂ３の要素を初期化する方法である。活性化関数やドロップアウトは畳み込み層と同様である。４層目の全結合層の設定項目も３層目と同様である。
【００４１】
最終層には出力層が必須で指定される。この層では、ＰＳＩデータに対して畳み込み処理で抽出された特徴量から最終的な在庫診断結果を得るためのＣＮＮモデルの出力に関する項目が設定される。当該層の次元とは診断結果種別の数のことであり、前層（全結合層）の出力次元と一致させる必要がある。出力値計算とは入力したＰＳＩデータがどの診断結果種別に分類されるのが妥当であるかを計算する手法である。
【００４２】
なお、本実施の形態ではＣＮＮモデルを構成するための設定項目を上記に限定しているが、モデルの学習速度や汎化性能を高めるために各層に追加の設定項目を設けてもよい。例えば、学習のたびにパラメータの値が変化することによって特徴マップの分布が大きく変動することを避けるため、活性化関数を適用する前にバッチ正規化処理を実施してもよいし、在庫診断種別の分類に寄与しないパラメータを０に近づけるように学習する正則化（荷重減衰）を適用してもよい。活性化関数にランプ関数（ＲｅＬＵなど）を用いた場合には、活性化関数の出力が無限大になることを避けるために局所応答正規化処理を実行するような設定も可能である。
【００４３】
次に、教師データを用いてＣＮＮモデルを学習する方法を定めたＣＮＮモデル学習設定データＴ２０４がメモリ上で保持される形式の例を表４に示す。
【００４４】
【表４】
2019211870.tif 000006
【００４５】
エポック数とイテレート数とは、学習の回数を規定する項目である。学習はエポック数×イテレート数だけ実行される。
バッチサイズは、教師データ全体の品目集合から任意に抽出される品目の数である。抽出された部分品目集合は１回の学習に用いられる教師データとなる。損失関数は、教師データである品目のＰＳＩデータを入力してＣＮＮモデルから出力された診断結果種別と、当該品目の実際の診断結果種別との誤差を求める関数である。ニューラルネットワークにおける学習とは、教師データを用いて損失関数を最小化するようにＣＮＮモデルのパラメータ値を更新することである。パラメータ更新法とは、損失関数を各パラメータで微分したときの勾配情報を用いてパラメータ値を更新する方法である。学習率とはパラメータ更新時に勾配情報をどの程度割合で反映させるかを規定する項目である。
【００４６】
在庫診断設定データＴ２０５がメモリ上で保持される形式の例を表５に示す。
【００４７】
【表５】
2019211870.tif 000007
【００４８】
診断結果種別は在庫診断の選択肢を定義したものである。これらの選択肢は、教師データの診断結果種別やＣＮＮモデルの出力と対応付けられる。診断要因表示では、ある品目のＰＳＩデータを入力した場合のＣＮＮモデルの出力（即ち当該品目のＣＮＮモデルによる在庫診断結果）と強く関連する部分を、畳み込み層で抽出された特徴量の情報を用いて診断根拠として画面表示する方法を設定する。最大寄与期間とは、在庫診断結果に最も大きく寄与する特徴量に対応したＰＳＩデータの期間を診断根拠として表示する。ヒートマップとは、フィルタごとの診断結果への平均寄与度を重みとして、入力されたＰＳＩデータの畳み込みから得られる特徴マップの重み付き線形和を求め、その線形和を当該畳み込み期間の関連度合の強さと見なし、畳み込み期間ごとの関連度合の強さを診断根拠として表示する。要因採択期間とは、ＣＮＮモデルによる在庫診断結果に寄与するデータ期間が当該採択期間内ある場合に限り問題在庫と見なすための設定である。これは、例えばある品目の診断結果と強く関連する期間が診断時点から１０か月前として推定された場合、当該期間のＰＳＩデータの状況に問題があることが分かっても実務上対処できないため、直近のＰＳＩデータの状況に問題がある品目に着目して診断結果を得ることを目的としている。本実施の形態では、診断対象品目のデータ期間がそのまま設定されているが、上記のようなケースでは診断時点から３ヶ月前までのような直近の期間が設定される。
【００４９】
次に、在庫管理担当者は、在庫管理装置１のモデル構築部１−２を用いてＣＮＮモデル構成設定データで設定されたＣＮＮモデルを構築する。
【００５０】
図３は、モデル構築の流れを示すフローチャート図である。モデル構築処理は、処理が開始されると（ステップＳ１）、ＣＮＮモデル構成設定データの層番号ごとに繰り返し実行される（ステップＳ２〜Ｓ７）。
ステップＳ３で層番号を判定し、層番号ｉが１のときは入力層であり、ステップＳ４において、モデル構築部１−２は入力層に投入される品目の数を行数、データ長×チャネル数を列数とする行列Ｘを生成し、すべての要素を０で初期化する。層番号ｉが５のときは出力層であり、ステップＳ９においてモデル構築部１−２は投入された品目の数を行数、次元を列数とする行列Ｙを生成し、すべての要素を０で初期化する。層番号ｉが２〜４のときは隠れ層である。ステップＳ５において、モデル構築部１−２は、畳み込み層の場合にはまずフィルタ幅×チャネル数を行数、フィルタ数を列数とするパラメータ行列Ｗｉを生成して各要素を平均０・標準偏差１の正規乱数値で初期化する。次に、ステップＳ６において、フィルタ数の要素を持つバイアスパラメータベクトルｂｉを生成して各要素を０に初期化する。全結合層の場合には、モデル構築部１−２は、まず入力次元を行数、出力次元を列数とするパラメータ行列Ｗｉを生成して平均０・標準偏差１の正規乱数値で初期化する。次に、ステップＳ６において、出力次元を要素に持つバイアスパラメータベクトルｂｉを生成して各要素を０に初期化する。パラメータＷｉやｂｉの初期化は、ＣＮＮモデル構成設定データＴ２０３の設定を変更してＨｅの初期化など別の手法を適用してもよい。
【００５１】
次に、在庫管理担当者は、在庫管理装置１のモデル学習部１−３を用いて教師データＴ２０２に基づくＣＮＮモデルの学習を実行する。モデル学習部１−３による学習処理の概略を図４に示す。
【００５２】
図４に示すように、処理が開始されると（ステップＳ１１）、モデル学習部１−３による学習処理は、エポック数×イテレート数の回数だけ繰り返し実行される（Ｓ１２〜Ｓ２０）。１回のイテレートにおいて、ステップＳ１４に示すように、モデル学習部１−３は、まず教師データＴ２０２にある１０００品目からバッチサイズの２０品目を一様乱数に従い選択する。次に、ステップＳ１５、Ｓ１６において、選択された２０品目に関する１年間のＰＳＩデータと診断結果種別のペアを当該イテレートの教師データとして学習処理を実行する。学習は順伝播と逆伝播の２つの処理で構成される。ステップＳ１５の順伝播処理Ｕ３０３とは、ＣＮＮモデルの現状のパラメータ値に基づき教師データを入力層から出力層まで伝播させる処理である。順伝播の詳細な処理フローを図５に示す。ステップＳ１６の逆伝播処理Ｕ３０４とは、順伝播の出力値と教師データの診断結果種別から求められる誤差を出力層から入力層まで伝播させることで、損失関数におけるパラメータの勾配を計算する処理である。逆伝播の詳細な処理フローを図６に示す。尚、学習時の図５、図６におけるＮは２０である。
【００５３】
最後に、モデル学習部１−３は、ステップＳ１７に示すように、逆伝播で得られたパラメータの勾配情報を用いてパラメータ値を更新する。例えば本実施の形態で設定されたAdaGrad法では、i番目（２≦ｉ≦４）の層のパラメータＷｉとｂｉはそれぞれ以下のように更新される。
【００５４】
【数１】
2019211870.tif 000008
【００５５】
ここで、ｈｗとｈｂの初期値は０、およびαは学習率である。ＳＧＤやＡｄａｍなどＡｄａＧｒａｄ以外の更新法を設定してもよい。
このように、教師データ全体から一部のデータをランダムに選択し、当該データを用いたＣＮＮモデルの出力と実際の出力との誤差に基づき、モデルのパラメータ更新を繰り返すことで、モデル出力と実際の出力との誤差を小さくするパラメータ値を得ることができる。特に、畳み込み層の主要パラメータＷ２は、教師データとして与えられた１年間のＰＳＩ時系列データから、「ある期間における販売減少の中で多量の生産をした結果在庫が過剰になっている」のような、担当者のノウハウに相当するＰＳＩの相互関係を考慮した上で、診断結果種別と相関する各時系列データの特徴をフィルタ幅の範囲で学習している。
【００５６】
本実施の形態の学習処理では、１０回のイテレートを繰り返すと１回のエポックが終了する。次のエポックに進む前に、一様乱数のシードを変更しているが、これは必須の処理ではない。今回の設定では、エポック数×イテレート数×バッチサイズは１，０００になるため、全エポックの学習処理が終了すると、乱数の一様性から教師データ全ての品目のＰＳＩデータと診断結果種別の関係を１回ずつ学習する。
【００５７】
次に、在庫管理担当者は、在庫診断部１−４を用いて、診断対象である例えば１００品目の在庫診断を実施する。対象品目の診断は、投入品目数Ｎ＝１００として各品目の３６５日分の標準化済みＰＳＩデータを１行に格納した１００×１０９５行列Ｘを入力層とし、学習済みパラメータを持つＣＮＮモデルの順伝播出力を求めればよい。手順は図５に示す学習時の順伝播と同様であるが、隠れ層の一定割合のユニットをランダムに無効化するドロップアウトについては診断時には実施せず、当該層への入力行列を（１−ドロップアウト率）倍してそのまま次の層に伝播させる。出力行列Ｙの各行には対象品目のソフトマックス値（各診断結果種別の分類確率）が格納されているので、最も値の大きな（分類確率最大となる）列番号がモデルから予測される診断結果種別として得られる。
【００５８】
次に、在庫管理担当者は、要因推定部１−５を用いて、ＣＮＮモデルによる在庫診断の根拠として診断結果に大きく寄与したＰＳＩデータの領域を求める。要因特定の流れを図７に示す。要因特定の方法は、診断要因提示の選択項目によって詳細は異なるものの、診断結果種別の分類確率に大きく寄与する畳み込み領域の位置や特徴マップの値を当該層における勾配情報から求めるという点では共通している。
ＣＮＮモデルの順伝播処理は、図５に示すように、まずステップＳ３１において処理を開始し、ステップＳ３２において、入力層ユニットに入力するデータの生成処理を行う。例えば、投入品目数をＮとした入力層のＮ×１０９５の行列Ｘに対して，教師データまたは診断対象として選定された品目ｊ（ｊ＝１，…，Ｎ）の３６５日分の標準化済みＰＳＩデータをＸのｊ行目のデータとして格納する。
【００５９】
ステップＳ３３において、畳み込みを行列演算で実行するための変換（前処理）を行う。例えば、行列Ｘを（品目数×畳み込み領域数）×（フィルタ幅×チャネル数）の行列Ｘ２に変換する。但し、畳み込み領域数は（データ長−フィルタ幅）／ストライド＋１として計算され，今回は（３６５−９０）／１＋１＝２７６となる。行列Ｘ２の各行には、品目ごとにフィルタ幅をストライドして得られる畳み込み対象期間のＰＳＩデータが格納される。
ステップＳ３４において、データから特徴量を抽出するフィルタの畳み込み処理を行う。例えば、畳み込み演算Ｘ’＝Ｘ２×Ｗ２＋ｂ２を実行し、（品目数×畳み込み領域数）×フィルタ数の行列Ｘ’を計算する。但し、Ｘ２×Ｗ２＋ｂ２における行列とベクトルの和は、ベクトルのｋ番目の要素の値を行列のｋ列目の各要素に加算する処理とする。
【００６０】
ステップＳ３５において、前処理のデータ変換を元に戻す後処理を行う。例えば、行列Ｘ’を品目数×（畳み込み領域数×フィルタ数）の行列Ｘ’’に変換する。Ｎ×２７６０の行列Ｘ’’の各行には、品目ごとにフィルタ幅でＰＳＩデータを畳み込んだ２７６個の反応値をフィルタの数だけ格納する。
ステップＳ３６において、畳み込み層各ユニットの出力値計算処理を行う。例えば、Ｎ×２７６０の行列Ｘ３をＸ３＝ｔａｎｈ（Ｘ’’）として計算する。但し，行列Ｘ’’に対する活性化関数の適用は，行列の各要素に対して活性関数の値を求める処理とする。行列Ｘ３は品目ごとの特徴マップである。
ステップＳ３７において、順伝播処理がモデル学習で実行されているのか、対象品目の診断で実行されているのかを判定する。Ｙｅｓの場合には、ステップＳ３８に進み、Ｎｏの場合にはステップＳ４３に進む。
ステップＳ３８においては、モデルの過学習を防ぐため全結合層の複数ユニットを任意に選択して無効化する処理を行う。例えば、行列Ｘ３の要素をドロップアウト率でランダムに０にする。
【００６１】
一方、ステップＳ４３においては、過学習低減効果を診断時に反映させる処理を行う。例えば、行列Ｘ３＝（１−ドロップアウト率)×Ｘ３とする。次いで、ステップＳ３８，Ｓ４３から、ステップＳ３９に進み、複数フィルタの畳み込み結果を１つに集約する全結合処理を行う。例えば、活性化関数の適用を含む全結合処理Ｘ４＝ｔａｎｈ（Ｘ３×Ｗ３＋ｂ３）を実行し、Ｎ×２７６の行列Ｘ４を計算する。行列とベクトルの和算の方法や行列に対する活性化関数の適用は上記と同様である。
次いで、ステップＳ４０に進み、集約した畳み込み結果を診断種別と関連付ける全結合処理を行う。例えば、全結合処理Ｘ５＝Ｘ４×Ｗ４＋ｂ４を実行し、Ｎ×３の行列Ｘ５を計算する。行列とベクトルの和算の方法は上記と同様である。
【００６２】
次いで、ステップＳ４１に進み、診断種別との関連度合を分類確率で出力する処理（出力層出力）を行う。例えば、Ｎ×３の行列Ｙの各要素にｓｏｆｔｍａｘ（Ｘ５）の結果を代入する。ここで。ｓｏｆｔｍａｘ関数は行列Ｘ５の各行に対してソフトマックス値（各診断結果種別に分類される確率）を求める関数である。そして、処理を終了する（ステップＳ４２）。
【００６３】
ＣＮＮモデルの逆伝播処理は、図６に示すように、まずステップＳ５１において処理を開始し、ステップＳ５２において、出力層出力と教師出力の誤差に対して分類確率変換の勾配（偏微分）を求める処理を行う。例えば、各品目の実際の診断結果種別（０〜２）を出力層と同じ３次元のｏｎｅｈｏｔベクトルに変換してＮ×３の行列Ｔを生成し，出力行列Ｙと教師ラベル行列Ｔの交差エントロピー誤差に基づくｓｏｆｔｍａｘ関数の勾配行列ｄＸ４＝（Ｙ−Ｔ）／Ｎを前層の全結合層に逆伝播する。
【００６４】
ステップＳ５３において、誤差に対する第４層の全結合層の出力とパラメータの勾配を求める処理を行う。例えば、Ｎ×２７６の出力勾配行列ｄＸ３＝ｄＸ４×Ｗ４ｔを前層の全結合層に逆伝播する。但し、Ｗ４ｔはＷ４の転置行列を意味する。また、当該層のパラメータＷ４の勾配をｄＷ４＝Ｘ４ｔ×ｄＸ４、パラメータｂ４の勾配をｄｂ４＝ｓｕｍ（ｄＸ４）として求める。ここでｓｕｍ関数は行列の各列の和を要素とするベクトルを出力する関数である。
ステップＳ５４において、誤差に対する第３層の全結合層の出力とパラメータの勾配を求める処理を行う。例えば、ｔａｎｈ関数の勾配行列ｄＸ’をｄＸ’＝ｄＸ３＊（Ｉ−Ｘ４＊Ｘ４）で求め、Ｎ×２７６０の出力勾配行列ｄＸ２＝ｄＸ’×Ｗ３ｔを前層の畳み込み層に逆伝播する。但し、Ｉは全要素が１のＮ×２７６０行列であり、演算子＊は行列の要素ごとの積を求める演算である。また，当該層のパラメータＷ３の勾配をｄＷ３＝Ｘ３ｔ×ｄＸ’、パラメータｂ３の勾配をｄｂ３＝ｓｕｍ（ｄＸ’）として求める。
【００６５】
ステップＳ５５において、順伝播で無効化したユニットの逆伝播を無効にする処理を行う。例えば、順伝播のドロップアウトで０にした行列Ｘ３の要素に対応する行列ｄＸ２の要素を０にする。
ステップＳ５６において、誤差に対する特徴マップの勾配を求める処理を行う。例えば、ｔａｎｈ関数の勾配行列ｄＸ’をｄＸ’＝ｄＸ２＊（Ｉ−Ｘ３＊Ｘ３）で求める。
ステップＳ５７において、畳み込み層の出力勾配とパラメータ勾配を行列演算で求めるための前処理を行う。例えば、Ｎ×２７６０の行列ｄＸ’を（品目数×畳み込み領域数）×フィルタ数の行列ｄＸ’’に変換する。ｄＸ’の各行には、各品目の２７６個の反応値に対する損失関数の勾配がフィルタの数だけ格納されている。そこでｄＸ’の各行をフィルタ単位で分割し、品目別・畳み込み領域別に損失関数の勾配を並び替え、ｄＸ’’の各行に格納する。
【００６６】
ステップＳ５８において、誤差に対する畳み込み層の出力勾配とパラメータ勾配を求める処理を行う。例えば、以下の式、（品目数×畳み込み領域数）×（フィルタ幅×チャネル数）の出力勾配行列ｄＸ１＝ｄＸ’’×Ｗ２ｔを計算する。また、当該層のパラメータＷ２の勾配をｄＷ２＝Ｘ２ｔ×ｄＸ’’、パラメータｂ２の勾配をｄｂ２＝ｓｕｍ(ｄＸ’’)／畳み込み領域数、として求める。
ステップＳ５９において、前処理のデータ変換を元に戻す後処理を行う。例えば、（品目数×畳み込み領域数）×（フィルタ幅×チャネル数）の勾配行列ｄＸ１をＮ×１０９５の行列ｄＸに変換し、入力層へ逆伝播し、処理を終了する（ステップＳ６０）。
【００６７】
図７は、要因推定部１−５の処理の流れの一例を示すフローチャート図である。処理が開始され（ステップＳ６１）、ステップＳ６２において、最大の関連度合となる診断種別以外の影響を取り除く処理を行う。例えば、Ｎ個の診断対象品目のＰＳＩデータを第４層の全結合層まで順伝播したＮ×３行列Ｘ５の各行に対して，最大値をとる列以外の列の値を０にした行列ｄＸ４を求める。
ステップＳ６３において、関連度合に対する全結合層の出力勾配を求める処理を行う。例えば、Ｎ×２７６の勾配行列ｄＸ３＝ｄＸ４×Ｗ４ｔを前層の全結合層に逆伝播する。
ステップＳ６４において、関連度合に対する全結合層の出力勾配を求める処理を行う。例えば、ｔａｎｈ関数の勾配行列ｄＸ’をｄＸ’＝ｄＸ３＊ (Ｉ−Ｘ４＊Ｘ４)で求め、Ｎ×２７６の勾配行列ｄＸ２＝ｄＸ’×Ｗ３ｔを前層の畳み込み層に逆伝播する。
ステップＳ６５において、過学習低減効果を勾配計算に反映させる処理を行う。例えば、ｄＸ２＝(1−ドロップアウト率)×ｄＸ２として畳み込み層に逆伝播する。
【００６８】
ステップＳ６６において、提示方法を判定する。提示方法が、最大寄与期間である場合には、ステップＳ６７に進み、提示方法が、ヒートマップである場合には、ステップＳ７０に進む。
ステップＳ６７においては、関連度合に対する特徴マップの勾配を求める処理を行う。例えば、ｔａｎｈ関数の勾配行列ｄＸ’をｄＸ’＝ｄＸ２＊(Ｉ−Ｘ３＊Ｘ３)で求める。次いで、ステップＳ６８において、最大勾配となる畳み込み層ユニットに対応するフィルタと，当該フィルタを畳み込んだ領域を特定する処理を行う。例えば、Ｎ×２７６０の行列ｄＸ’の各行に対し、最大値を取る列番号ｃを求め、ｃを畳み込み領域数で割ったときの商＋１をフィルタ番号ｆ、余りｒをフィルタｆにおける畳み込み領域の位置として格納したＮ×２の行列Ｚを生成し、処理を終了する（ステップＳ６９）。
【００６９】
ステップＳ７０において、フィルタごとに関連度合に対する特徴マップの重みを求める処理を行う。例えば、Ｎ×２７６０の勾配行列ｄＸ２の各行に対し、フィルタごとに得られる特徴マップの勾配の平均値を格納したＮ×１０の行列Ａを生成する。
ステップＳ７１において、入力データに対するフィルタ畳み込み後の重み付き出力を求める処理を行う。例えば、診断対象品目のＰＳＩデータを第２層の畳み込み層まで順伝播したＮ×２７６０の特徴マップ行列Ｘ３の各行に対して、フィルタ番号ｆ（ｆ＝１，…,１０）の特徴マップが(ｆ−１)×２７６＋１列目〜ｆ×２７６列目に格納されていることを考慮して、（ｆ−１）×２７６＋１列目〜ｆ×２７６列目の値に行列Ａのｆ列目の値を乗算し、行列Ｂを生成する。
【００７０】
ステップＳ７２において、重み付き出力からフィルタを畳み込んだ各領域のヒートマップの濃度を求める処理を行う。例えば、Ｎ×２７６０の行列Ｂの各行に対して、フィルタｆごとにｍ番目（ｍ＝１，…，２５６）にある重み付き特徴マップの値を足し合わせる。ｍ番目の和が０より大きい場合は当該値、０以下の場合は０を格納したＮ×２７６の行列Ｚを生成する。
そして、ステップＳ６８，Ｓ７２から、処理を終了する（ステップＳ６９）。
【００７１】
次に、在庫管理担当者は、画面表示部１−６を用いて、ＣＮＮモデルによる診断対象品目の在庫診断結果や診断根拠となる要因を画面上に可視化する。
図８および図９は、従来技術における診断対象品目の在庫サムネイル一覧画面やＰＳＩ詳細画面での表示例を示す図である。これに対し図１０は、ＣＮＮモデルによる在庫診断結果および要因とされる最大寄与領域を在庫サムネイル一覧画面上に可視化した例である。ＣＮＮモデルによる在庫診断結果は、問題在庫と診断された各品目の在庫サムネイルの枠に重ねられた矩形として可視化される。
矩形の線は、問題の種別ごとに異なる色又は線種（太線，破線、一点鎖線等）となっていることが好ましい。また、最大寄与領域は在庫グラフ上で一定の透過率で塗りつぶされた矩形として可視化される。最大寄与領域の表示位置は、要因推定部１−５の出力である行列Ｚの畳み込み領域の位置ｒで決めることができる。
【００７２】
加えて、図１１は、ある対象品目の診断結果および最大寄与領域による要因をＰＳＩ詳細画面上に表示した例である。最大寄与領域はＰＳＩ詳細グラフ上で塗りつぶされた矩形として可視化される。矩形上にマウスカーソルを移動させると、当該領域の生産・販売・在庫の状況を文字列で表現した吹き出しが表示されるようにしても良い。
本実施の形態では、最大寄与領域とそれ以外の領域で、販売伸び率・生産回数・生産量・平均在庫をそれぞれ比較することで、診断に最も寄与した期間のＰＳＩの状況が他の期間と比べてどの程度異なっているかの情報を提示することができる。
最大寄与領域のＰＳＩの状況を示す文字列情報であり、診断根拠に対する担当者の理解を促進するものであれば、本実施の形態による表示態様等に限定されるものではない。
【００７３】
さらに図１２は、ある対象品目の診断結果およびヒートマップによる要因をＰＳＩ詳細画面上で表示した例を示す図である。ヒートマップは、各畳み込み領域の診断結果への寄与度合に応じて色の濃淡を調整した縦線としてＰＳＩ詳細グラフ上に表示される。各畳み込み領域の診断結果への寄与度合は、要因推定部１−５の出力である行列Ｚから求めることができる。
尚、図１０、図１１、図１２における品目の診断結果および要因の可視化において、問題在庫の要因として推定された期間が要因採択期間に含まれる場合に限定することで、より直近のＰＳＩの状況に問題がある品目に着目した在庫診断結果を表示することもできる。
【００７４】
在庫管理担当者は、画面表示部１−６で可視化されたＣＮＮモデルによる在庫診断結果やその要因をもとに、問題在庫を解消するための需給調整を図ることができる。また、ＣＮＮモデルの診断結果が担当者の判断と異なる場合には、画面上で診断結果を修正することもできる。
【００７５】
【表６】
2019211870.tif 000009
【００７６】
さらに、在庫管理担当者は、データ出力部１−７を用いて、診断結果データＴ２０６(
表６）に示すような形式で各品目の診断結果を外部ファイルやデータベースに出力することができる。診断結果データはそのまま次の教師データとして用いることができるため、ＣＮＮモデルは常に最新の診断結果を学習して今後の在庫診断に反映させることができる。
【００７７】
処理および制御は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によるソフトウェア処理、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によるハードウェア処理によって実現することができる。
【００７８】
また、上記の実施の形態において、図示されている構成等については、これらに限定されるものではなく、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれるものである。
【産業上の利用可能性】
【００７９】
本発明は、在庫管理装置に利用可能である。
【符号の説明】
【００８０】
１  在庫管理装置
１−１  データ入力部
１−２  モデル構築部
１−３  モデル学習部
１−４  在庫診断部
１−５  要因推定部
１−６  画面表示部
１−７  データ出力部
１７  問題在庫に関するＰＳＩデータの特徴を学習するＡＩモデル
１７−１  標準化（正規化）処理
１７−２  Ｃｏｎｖ処理（畳み込み（相関）処理）
３３  反応値
１７−３  Ｔａｎｈ処理
１７−４  Ｄｒｏｐｏｕｔ挿入処理
１７−５  Ａｆｆｉｎｅ処理
１７−６  Ｔａｎｈ処理
１７−７  Ａｆｆｉｎｅ処理
１７−８  Ｓｏｆｔｍａｘ処理
２１  出力
【図１】
2019211870.tif 000010
【図２Ａ】
2019211870.tif 000011
【図２Ｂ】
2019211870.tif 000012
【図２Ｃ】
2019211870.tif 000013
【図３】
2019211870.tif 000014
【図４】
2019211870.tif 000015
【図５】
2019211870.tif 000016
【図６】
2019211870.tif 000017
【図７】
2019211870.tif 000018
【図８】
2019211870.tif 000019
【図９】
2019211870.tif 000020
【図１０】
2019211870.tif 000021
【図１１】
2019211870.tif 000022
【図１２】
2019211870.tif 000023