(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-10
(45)【発行日】2023-11-20
(54)【発明の名称】箱選定装置、箱選定方法、及び箱選定プログラム
(51)【国際特許分類】
G06N 3/02 20060101AFI20231113BHJP
G06Q 50/28 20120101ALI20231113BHJP
【FI】
G06N3/02
G06Q50/28
(21)【出願番号】P 2020088776
(22)【出願日】2020-05-21
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(73)【特許権者】
【識別番号】301021533
【氏名又は名称】国立研究開発法人産業技術総合研究所
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【氏名又は名称】中山 浩光
(74)【代理人】
【識別番号】100162640
【氏名又は名称】柳 康樹
(72)【発明者】
【氏名】岡部 大輔
(72)【発明者】
【氏名】麻生 英樹
【審査官】北川 純次
(56)【参考文献】
【文献】特開2020-1846(JP,A)
【文献】渡部 和章,AIで通販用の梱包箱を自動選定、NTTロジスコが箱サイズ予測システムを4月提供へ,impress [online],2018年03月05日,[2023年10月16日検索], インターネット <URL: https://netshop.impress.co.jp/node/5206>
【文献】岡部 大輔 ほか,埋め込み層を有するニューラルネットワークを用いた梱包工程の箱選定支援,一般社団法人 人工知能学会 第34回全国大会(2020) [online],日本,2020年06月,pp 1-4
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06N 3/00-99/00
G06Q 10/08
G06Q 50/28
B65B 59/00-65/08
B65G 1/137
B65G 57/00-57/32
B65G 60/00-61/00
(57)【特許請求の範囲】
【請求項1】
予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定装置であって、
前記箱選定装置の制御部は、
前記学習情報及び箱情報を記憶する記憶部と、
前記物品に関する入力情報を作成する入力情報受付部と、
前記入力情報を入力層に入力し、前記学習情報に基づくニューラルネットワーク演算によって、前記箱に関する評価値の算出を行うニューラルネットワーク演算部と、
前記ニューラルネットワーク演算部の出力層から出力された前記評価値に基づいて前記箱を選定する選定部と、を有し、
前記ニューラルネットワーク演算部は、
前記入力情報から前記物品に関する特徴量を取得する埋め込み層と、
前記埋め込み層で取得された前記特徴量を評価する中間層と、を有する、箱選定装置。
【請求項2】
前記ニューラルネットワーク演算部は、前記入力情報が有する情報と対応する埋め込みベクトル情報を有し、
前記埋め込み層は、前記入力情報及び前記埋め込みベクトル情報に基づいて、前記入力情報を埋め込みベクトルに変換する、請求項1に記載の箱選定装置。
【請求項3】
前記出力層は、前記記憶部に記憶された前記箱情報の中の複数の箱のそれぞれに対する前記評価値を出力し、
前記選定部は、前記評価値が最大となる箱を選定する、請求項1又は2に記載の箱選定装置。
【請求項4】
前記ニューラルネットワーク演算部は、梱包実績に基づく教師データを用いて学習を行い、前記埋め込み層における埋め込みベクトルを取得する、請求項1~3の何れか一項に記載の箱選定装置。
【請求項5】
前記ニューラルネットワーク演算部は、前記出力層から出力された前記評価値と、前記教師データの正解値との間の乖離を損失関数によって算出し、当該算出によって得られた結果を用いて誤差逆伝搬によって前記埋め込みベクトルを取得する、請求項4に記載された箱選定装置。
【請求項6】
予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定方法であって、
前記学習情報及び箱情報を記憶する記憶ステップと、
前記物品に関する入力情報を作成する入力情報受付ステップと、
前記入力情報を入力層に入力し、前記学習情報に基づくニューラルネットワーク演算によって、前記箱に関する評価値の算出を行うニューラルネットワーク演算ステップと、
前記ニューラルネットワーク演算ステップにおいて出力層から出力された前記評価値に基づいて前記箱を選定する選定ステップと、を有し、
前記ニューラルネットワーク演算ステップでは、
前記入力情報から前記物品に関する特徴量を演算する埋め込み層による演算と、
前記埋め込み層による演算結果から、前記特徴量を評価する中間層による演算が行われる、箱選定方法。
【請求項7】
予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定プログラムであって、
前記学習情報及び箱情報を記憶する記憶ステップと、
前記物品に関する入力情報を作成する入力情報受付ステップと、
前記入力情報を入力層に入力し、前記学習情報に基づくニューラルネットワーク演算によって、前記箱に関する評価値の算出を行うニューラルネットワーク演算ステップと、
前記ニューラルネットワーク演算ステップにおいて出力層から出力された前記評価値に基づいて前記箱を選定する選定ステップと、をコンピュータシステムに実行させ、
前記ニューラルネットワーク演算ステップでは、
前記入力情報から前記物品に関する特徴量を演算する埋め込み層による演算と、
前記埋め込み層による演算結果から、前記特徴量を評価する中間層による演算が行われる、箱選定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、箱選定装置、箱選定方法、及び箱選定プログラムに関する。
【背景技術】
【0002】
従来、例えば特許文献1に記載されるような箱選定装置が知られている。箱選定装置は、対象となる積荷の容積などのデータに基づいて、積荷とコンテナの組み合わせを選んでいる。この箱選定装置は、コンテナの総容量が積荷の総容積以上となるようなコンテナの組み合わせを全て選んでいる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述のような箱選定装置は、条件を満たすようなコンテナ(箱)の組み合わせを全て選んでいる。しかし、このような方法を採用した場合、箱の種類数が増えると組合せの数が急増し、組合せの全てに対して、全物品が積載可能かどうかを毎回計算する必要が生じる。この場合、当該方法を採用することが、計算コストなどの観点から困難になるという問題がある。更に、このような計算コストは、物品の種類数の増加に対しても増加する。すなわち、物品の種類数が多かったり、箱の選択肢が多いような現場に対しては、上述のような箱選定装置を適用することが困難になるという問題がある。その一方、計算コストを低減した形で箱の選定を行おうとすると、選定の精度が低下するという問題が生じる。
【0005】
本発明の目的は、物品を梱包する箱を選定する場合において、適した箱を精度良く選定できる箱選定装置、箱選定方法、及び箱選定プログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る箱選定装置は、予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定装置であって、箱選定装置の制御部は、学習情報及び箱情報を記憶する記憶部と、物品に関する入力情報を作成する入力情報受付部と、入力情報を入力層に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行うニューラルネットワーク演算部と、ニューラルネットワーク演算部の出力層から出力された評価値に基づいて箱を選定する選定部と、を有し、ニューラルネットワーク演算部は、入力情報から物品に関する特徴量を取得する埋め込み層と、埋め込み層で取得された特徴量を評価する中間層と、を有する。
【0007】
箱選定装置において、ニューラルネットワーク演算部は、物品に関する入力情報を入力層に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行う。そして、選定部は、ニューラルネットワーク演算部の出力層から出力された評価値に基づいて、梱包の対象となる物品に適した箱を選定することができる。ここで、梱包対象となる物品の種類が多い場合に、ニューラルネットワーク演算部が、各物品を独立なものとして取り扱って評価値を出力しようとすると、学習が不十分となって評価値の精度が低下する可能性がある。これに対し、互いに種類の異なる物品であっても、ある特徴に注目した場合、類似性が高い場合もある。すなわち、ニューラルネットワーク演算部は、類似性の高い物品同士を同様の物品として等価に取り扱えば、物品の種類が増えた場合であっても、評価値の低下を抑制することができる。従って、ニューラルネットワーク演算部は、入力情報から物品に関する特徴量を取得する埋め込み層と、埋め込み層で取得された特徴量を評価する中間層と、を有する。このように、ニューラルネットワーク演算部が、埋め込み層を有することによって、物品の特徴量に基づいた評価値を出力することができる。すなわち、ニューラルネットワーク演算部は、物品の特徴量に基づくことで、類似性の高い物品同士を同様の物品として等価に扱い、実質的に物品の種類を削減して、評価値を出力することができる。従って、箱選定装置は、物品を梱包する箱を選定する場合において、適した箱を精度良く選定できる。
【0008】
ニューラルネットワーク演算部は、入力情報が有する情報と対応する埋め込みベクトル情報を有し、埋め込み層は、入力情報及び埋め込みベクトル情報に基づいて、入力情報を埋め込みベクトルに変換してよい。これにより、ニューラルネットワーク演算部は、上述のように特徴量に基づいた評価値の出力を適切に行うことができる。
【0009】
出力層は、記憶部に記憶された箱情報の中の複数の箱のそれぞれに対する評価値を出力し、選定部は、評価値が最大となる箱を選定してよい。この場合、選定部は、評価値に基づいて、記憶部に記憶された箱の何れかを速やかに選定することができる。
【0010】
ニューラルネットワーク演算部は、梱包実績に基づく教師データを用いて学習を行い、埋め込み層における埋め込みベクトルを取得してよい。これにより、実際に行われた梱包実績に基づいて精度の良い評価値を出力可能な埋め込みベクトルを取得することが可能となる。
【0011】
ニューラルネットワーク演算部は、出力層から出力された評価値と、教師データの正解値との間の乖離を損失関数によって算出し、当該算出によって得られた結果を用いて誤差逆伝搬によって埋め込みベクトルを取得してよい。これにより、ニューラルネットワーク演算部は、教師データを適切に学習することができる。
【0012】
本発明の一態様に係る箱選定方法は、予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定方法であって、学習情報及び箱情報を記憶する記憶ステップと、物品に関する入力情報を作成する入力情報受付ステップと、入力情報を入力層に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行うニューラルネットワーク演算ステップと、ニューラルネットワーク演算ステップにおいて出力層から出力された評価値に基づいて箱を選定する選定ステップと、を有し、ニューラルネットワーク演算ステップでは、入力情報から物品に関する特徴量を演算する埋め込み層による演算と、埋め込み層による演算結果から、特徴量を評価する中間層による演算が行われる。
【0013】
本発明の一態様に係る箱選定プログラムは、予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定プログラムであって、学習情報及び箱情報を記憶する記憶ステップと、物品に関する入力情報を作成する入力情報受付ステップと、入力情報を入力層に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行うニューラルネットワーク演算ステップと、ニューラルネットワーク演算ステップにおいて出力層から出力された評価値に基づいて箱を選定する選定ステップと、をコンピュータシステムに実行させ、ニューラルネットワーク演算ステップでは、入力情報から物品に関する特徴量を演算する埋め込み層による演算と、埋め込み層による演算結果から、特徴量を評価する中間層による演算が行われる。
【0014】
これらの箱選定方法、及び箱選定プログラムによれば、上述の箱選定装置と同趣旨の作用・効果を得ることができる。
【発明の効果】
【0015】
本発明によれば、物品を梱包する箱を選定する場合において、適した箱を精度良く選定できる箱選定装置、箱選定方法、及び箱選定プログラムを提供する。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態に係る箱選定装置を示す概略構成図である。
【
図2】箱選定装置がニューラルネットワークを用いて輸送箱の選定を行う場合の処理イメージを示す模式図である。
【
図3】箱選定装置のニューラルネットワーク演算部が過去の梱包実績を教師データとして学習を行う場合の処理イメージを示す模式図である。
【
図4】箱選定装置の処理内容の具体例を示す模式図である。
【
図5】埋め込み層によるベクトル変換の具体例を示す模式図である。
【
図6】埋め込みベクトルについて説明を行うための図である。
【
図7】箱選定装置の学習時における処理内容の具体例を示す模式図である。
【
図8】箱選定装置の制御部による制御処理の内容を示すフローチャートである。
【
図9】入力情報受付部の整合処理の一例を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、図面において、同一または同等の要素には同じ符号を付し、重複する説明を省略する。
【0018】
図1は、本発明の一実施形態に係る箱選定装置100を示す概略構成図である。箱選定装置100は、倉庫などの物流現場において、複数の物品を箱に梱包する際に、どの箱に梱包すべきかを選定する装置である。なお、箱を選定した後、当該箱に物品をどのような位置、順序で梱包するかについては、他の方法によって自動的に決定がなされる。なお、本実施形態では、梱包対象となる物品として部品を例示しており、箱として輸送箱を例示している。ただし、物品及び箱の種類は特に限定されるものではない。
【0019】
図1に示すように、箱選定装置100は、情報入力部2と、情報出力部3と、制御部10と、を備える。箱選定装置100は、予め学習された学習情報に基づき、部品を梱包する輸送箱を選定する装置である。なお、箱選定装置100の各構成要素を説明するために、
図2及び
図3を参照する場合がある。
図2は、箱選定装置100がニューラルネットワークを用いて輸送箱の選定を行う場合の処理イメージを示す模式図である。
図2は、箱選定装置100がニューラルネットワークによる学習情報を用いて輸送箱の選定を行う場合の処理イメージを示す模式図である。
図3は、箱選定装置100のニューラルネットワーク演算部12が過去の梱包実績を教師データとして学習を行う場合の具体的な内容を示す模式図である。
【0020】
情報入力部2は、各種情報を入力するインターフェースである。例えば、情報入力部2は、キーボード、マウス、タッチパネルなどによって構成される。あるいは、情報入力部2は、記憶媒体や通信を介して情報を入力されてもよい。情報出力部3は、各種情報を出力するインターフェースである。例えば、情報出力部3は、モニタ、スピーカーなどによって情報を出力してよい。あるいは、情報出力部3は、記憶媒体や通信を介して情報を出力してもよい。
【0021】
制御部10は、CPU、RAM、ROM等により構成されている。制御部10は、入力情報受付部11と、ニューラルネットワーク演算部12と、選定部13と、記憶部14と、を有している。制御部10は、プログラムに従って動作する1つ以上のプロセッサ、ASIC等の1つ以上の専用のハードウェア回路、あるいは、それらの組み合わせを含む回路として構成し得る。プロセッサはCPU、並びにRAM及びROM等のメモリを有する。メモリには、情報の処理を行うための種々のプログラムが記憶され、CPUは各種プログラムの読み出し、による演算を行う。
【0022】
入力情報受付部11は、部品に関する入力情報を作成する。入力情報受付部11は、情報入力部2にて入力された情報を取得し、当該情報を用いて入力情報を作成する。入力情報受付部11は、複数の部品にそれぞれ紐付けられた識別情報、及び部品の個数などに関する情報を取得する。入力情報は、部品に関する情報をニューラルネットワーク演算を行い易い態様に調整された情報である。
図2に示すように、入力情報受付部11は、梱包作業の前段階において、梱包する部品の部品リスト、すなわち、どの部品が何個、梱包対象となっているかを示すリストを取得する。また、
図3に示すように、入力情報受付部11は、学習時において、実際に梱包された部品の部品リスト、及びどの輸送箱が梱包に用いられたかの情報を取得する。なお、部品に紐付けられた識別情報の具体的な内容、及び入力情報の具体的な内容については後述する。
【0023】
ニューラルネットワーク演算部12は、学習情報に基づくニューラルネットワーク演算によって、輸送箱に関する評価値の算出を行う。ニューラルネットワーク演算部12は、過去の梱包実績に基づく教師データを用いて学習を行うことで学習情報を取得する(
図3参照)。また、ニューラルネットワーク演算部12は、当該学習情報を用いて実際の作業現場において梱包する部品リストに適した輸送箱として、どの輸送箱がよいかを選定するための評価値を演算する(
図2参照)。
【0024】
ニューラルネットワーク演算部12は、学習部16を有する。学習部16は、機械学習のモデルを学習情報として生成する。学習段階(
図3参照)において、学習部16は、最も予測精度が高いと推定される最良のニューラルネットワークをモデルとして生成する。学習部16は、教師データセット(過去の梱包実績のサンプル)を記憶部14などから読み出し、学習をさせるニューラルネットワークに個々のサンプルを逐次入力しながら機械学習を実行する。なお、このようなニューラルネットワークは、例えば、ニューロンのモデルを模した演算部や記憶部等によって構成できる。例えば、学習部16は、多層ニューラルネットワークを用いる深層学習を実行することでモデルを生成してもよい。機械学習の種類は深層学習に限定されず、学習部16は他の手法を用いてモデルを生成してもよい。なお、ニューラルネットワーク演算部12の具体的な構成、及び処理内容については後述する。
【0025】
選定部13は、ニューラルネットワーク演算部12の出力層から出力された評価値に基づいて輸送箱を選定する。選定部13は、評価値を取得して、当該評価値を用いて、部品を梱包する上で、最も適した輸送箱を選定する。選定部13は、予め記憶部14に記憶された輸送箱リスト(箱情報)の中から、最も適した輸送箱を選定する。なお、選定部13の具体的な処理内容については、後述する。
【0026】
記憶部14は、箱選定装置100における各種情報を記憶する部分である。記憶部14は、少なくとも学習情報(ニューラルネットワークのモデル)、及び箱情報を記憶している。箱情報は、作業現場において用いられる複数の輸送箱に関する情報であり、箱選定作業の前段階で事前に記憶部14に記憶される。記憶部14は、複数の輸送箱のそれぞれの大きさや形状等の情報を含んだ輸送箱リスト(
図2参照)の形態で、箱情報を記憶する。
【0027】
次に、
図2及び
図3を参照して、ニューラルネットワーク演算部12の処理の具体例について説明する。まず、
図3を参照して、箱選定装置100のニューラルネットワーク演算部12が過去の梱包実績を教師データとして学習を行う場合について説明する。ここでは、梱包実績として、「部品aが2個」「部品bが1個」「部品cが2個」「部品dが1個」という部品リストの場合に、「輸送箱Z」が用いられたというデータが用いられる。なお、この場合の部品リストを「部品リストPL1」と称する場合がある。また、梱包に用いることができる輸送箱は、「輸送箱U,V,W,X,Y,Z」という6種類(
図2参照)の輸送箱が登録された輸送箱リストの中から、選定されるものとする。当該輸送箱リストを「輸送箱リストBL1」と称する場合がある。
【0028】
図3に示すように、ニューラルネットワーク演算部12は、梱包実績のデータから、梱包した部品リストPL1を抽出し、当該部品リストに対し、梱包した輸送箱として「輸送箱Z」が選定されたことを抽出する。ニューラルネットワーク演算部12の学習部16(
図1参照)は、当該部品リストPL1をニューラルネットワークのモデルMに入力したときに、輸送箱Zが選定されるような評価値が出力されるように、モデルMを適宜更新する。ニューラルネットワーク演算部12は、複数種類の部品リストと、当該部品リストに対して選定された輸送箱に関する多数の梱包実績に基づく教師データを用いて学習を行う。
【0029】
次に、
図2を参照して、箱選定装置100が輸送箱の選定を行う場合について説明する。
図2に示すように、箱選定装置100は、予め輸送箱リストBL1を取得しておく。そして、輸送箱の選定を行うときには、箱選定装置100は、梱包の対象となる部品を示す情報として、前述の部品リストPL1を取得する。ニューラルネットワーク演算部12は、
図3に示す学習によって更新したニューラルネットワークのモデルMを用いて輸送箱に関する評価値を算出する。ニューラルネットワーク演算部12は、学習の結果、輸送箱リストBL1のうち、輸送箱Zが最も選定され易くなるような評価値を出力する。従って、選定部13は、当該評価値に基づいて、輸送箱Zを選定する。箱選定装置100は、輸送箱Zを選定した旨を出力する。
【0030】
次に、
図4を参照して、ニューラルネットワーク演算部12の詳細な構成、及びその処理内容について説明する。
図4は、箱選定装置100の処理内容の具体例を示す模式図である。まず、入力情報受付部11が入力情報を作成する際の処理について説明する。本実施形態では、入力情報は、品番IDの組み合わせによって構成される。すなわち、部品の識別情報として、部品の種類に応じた固有の通し番号が振られている。入力情報受付部11は、部品リストの部品に対応した品番IDを並べることで入力情報を作成する。具体的に、部品aに対して品番ID「1」が設定され、部品bに対して品番ID「2」が設定され、部品dに対して品番ID「4」が設定されている。従って、入力情報受付部11は、1行目から順に「1、1、2…4」という品番IDを並べている。入力情報受付部11は、作成した入力情報をニューラルネットワーク演算部12へ入力する。
【0031】
ここで、入力情報受付部11は、入力情報として扱う部品数を固定してよい。なお、この場合、入力層21のノードNDの数が、所定の数に固定される。そして、入力情報受付部11は、部品数が不足する場合は、整合処理として、当該不足する分の部品に相当する品番IDを所定の仮IDで埋めてよい。また、入力情報受付部11は、部品数が超過する場合は、整合処理として、超過する分の部品に相当する品番IDを破棄してよい。具体的には、
図9(a)で示すように、入力情報として扱う部品数(N)が6で固定されているものとする(N=6)。ここで、梱包される部品リストには、6よりも少ない5個の部品が含まれている。この場合、入力情報受付部11は、整合処理として、不足する分の部品(6個目の部品)に相当する品番IDを仮IDの0で埋めている。また、
図9(b)で示すように、入力情報として扱う部品数(N)が4で固定されているものとする(N=4)。ここで、梱包される部品リストには、4よりも多い5個の部品が含まれている。この場合、入力情報受付部11は、整合処理として、超過するする分の部品(5個目の部品h)の品番IDを破棄する。
【0032】
なお、入力情報受付部11は、入力層21のノードNDに対する各部品の識別情報の入力順を、所定の法則に従って整理してよい。例えば、梱包する部品の品番ID等の入力順は、品番ID等の昇順・降順で整理されてよい。例えば、
図4の入力情報受付部11は、「1(部品a)、1(部品a)、2(部品b)…4(部品d)」という、品番IDの順序で整列している。例えば、梱包される部品リストが、「部品b、部品d、部品a…部品a」という順序であった場合、品番IDの並びは「2(部品b)、4(部品d)、1(部品a)…1(部品a)」という順序となる。このような場合に、入力情報受付部11は、
図4に示すような品番IDを数の小さいものから順に並べて、入力層21の各ノードNDに入力することができる。
【0033】
ニューラルネットワーク演算部12は、ニューラルネットワークのモデルとして、入力層21と、埋め込み層22と、中間層30と、出力層23と、を有する。入力層21は、ニューラルネットワーク演算を行うためのパラメータを入力するための層である。埋め込み層22及び中間層30は、入力されたパラメータに対して所定の演算を行う層である。出力層23は、評価値を出力する層である。各層21,22,30,23は、入力されるパラメータの数に応じたノードNDを有している。例えば、入力層21は、m個のパラメータを成分とする入力ベクトルx=(x
1,x
2,…x
m)をそのまま埋め込み層22に出力する。埋め込み層22及び中間層30は各層の重みと活性化関数により総入力を出力に変換してその出力を出力層23に渡す。出力層23も各層の重みと活性化関数により総入力を出力に変換する。この出力は、n個のパラメータを成分とするニューラルネットワークの出力ベクトルy=(y
1,y
2,…,y
n)である。この出力ベクトルyは評価値を示す。なお、学習時においては(
図3参照)一つの入力ベクトルxに対する出力ベクトルの正解をd=(d
1,d
2,…,d
n)とすると、その出力ベクトルyが正解dに近くなるように各層の重みwが更新される。これが学習という情報処理である。なお、学習時の処理内容についての詳細は、後述する。
【0034】
本実施形態においては、入力層21のノードNDの数は、入力情報に含まれる部品の数と同じに設定される場合について説明する。入力層21には、品番IDを羅列したベクトルが入力される。
【0035】
埋め込み層22は、入力情報から部品に関する特徴量を取得する層である。ニューラルネットワーク演算部12は、入力情報が有する情報(後述のOne-hotベクトル)と対応する埋め込みベクトル情報を有している。そして、埋め込み層22は、入力情報及び埋め込みベクトル情報に基づいて、入力情報を埋め込みベクトルに変換する。
【0036】
図5を参照して、埋め込み層22の処理内容について詳細に説明する。
図5は、埋め込み層22によるベクトル変換の具体例を示す模式図である。
図5に示すように、入力層21は、部品リスト中の部品を特定するためのパラメータ(例えば、上述で説明したような品番ID)を有する入力ベクトルを埋め込み層22に入力する。ここでは、入力ベクトルは、部品リストの部品の数に対応する行数(以降、N行と称する場合がある)を有する1次元ベクトルで表現される。
【0037】
埋め込み層22は、埋め込みベクトル変換のための前処理として、入力層21からの入力ベクトルをOne-hotベクトルに変換する。One-hotベクトルは、部品の種類を識別するために、一つの成分を「1」として、残りの成分を全て「0」でシンプルに示したベクトルである。One-hotベクトルは、部品リストの部品の数に対応するN行のベクトルとなる。なお、例えば、1行目と2行目が部品aに対応するベクトルである。各行におけるベクトルは、入力情報の各部品に対応している。一方、One-hotベクトルの次元数(列の数)は、作業現場で取り扱う全部品の部品種類数と同じになる。従って、作業現場で数千~数十万種類の部品を取り扱う場合、One-hotベクトルの次元数は、数千~数十万となる。
【0038】
埋め込み層22は、One-hotベクトルを用いて各部品の埋め込みベクトル情報を抽出することで、One-hotベクトルを埋め込みベクトルに変換する。なお、詳細な処理方法は後述する。
【0039】
ここで、埋め込みベクトルについて
図6を参照して説明する。
図6は、埋め込みベクトルについて説明を行うための図である。
図6(a)に示すように、梱包の現場においては様々な形状及び形状を有する部品が取り扱われる。この場合、各部品が独立に存在していても各部品の特徴が不明である。例えば、部品cと部品hは形状は四角形に近いが、大きさが異なっており、類似する部品と言えるかどうかが不明である。また、各部品を独立に扱っている場合、各部品の形状などの付帯情報がなければ、類似しているか判断できない。これに対し、
図6(b)に示すように、埋め込みベクトルは、特徴量の値の関係によって、部品間の類似性を示すことができる。例えば、埋め込みベクトルの1次元目(
図5に示す埋め込みベクトルの1列目)の特徴量1は、大きさを示すものとする。そして、埋め込みベクトルの2次元目(
図5に示す埋め込みベクトルの2列目)の特徴量2は、角張り具合を示すものとする。
図6(b)は、特徴量1を横軸とし、特徴量2を縦軸として、各部品の値をプロットしたグラフである。部品a,eは、いずれも全体的に丸みを帯びているため、特徴量1の値は「0.1」となっている。部品hは、全体的に四角形であるが角に丸みが形成されているため、特徴量1の値は「0.5」となっている。部品cは、全体的に四角形であり、角に丸みも形成されていないため、特徴量1の値は「0.9」となっている。部品aは、小さいため、特徴量2の値は「0.2」となっている。部品e,hは、中間の大きさを有しているため、特徴量2の値は「0.5」となっている。部品cは、大きいため、特徴量2の値は「0.9」となっている。このような関係から、部品aと部品eは互いの距離が近く、類似した部品であると言える。一方、部品aと部品cは互いの距離が遠く、異なる部品でると言える。すなわち、部品aは、部品cよりも部品eに対する類似度が高い部品として取り扱い可能である。
【0040】
図5に示す例では、埋め込み層22が出力する埋め込みベクトルは、最も右側に記載された行列の形で示されている。1行目及び2行目に部品aの特徴量の情報が示されている。各行における特徴量の情報は、入力情報の各部品に対応している。以降、単に「埋め込みベクトル」と称した場合は、埋め込み層22が中間層30に対して出力する行列のことを意味するものとする。なお、
図5の埋め込みベクトルの行列が示すように、埋め込みベクトルは、上述の特徴量1,2以外にも、部品の特徴を示す項目を有している。埋め込みベクトルの次元数、すなわち列の数は、特徴量の項目の数に固定される。部品の種類が異なる場合、次元数が固定された状態で、各項目の特徴量の値の組み合わせが異なった形で表現される。従って、埋め込みベクトルは、部品の種類が膨大になった場合でも、数百程度の固定された次元のベクトルで、各部品を示す事ができる。
【0041】
ニューラルネットワーク演算部12は、入力情報を上述のような埋め込みベクトルに変換するための埋め込みベクトル情報を有している。埋め込みベクトル情報は、作業現場において取り扱われる部品における各特徴量の項目に対する値の集合である。ここで、
図5において、「全種類の部品の埋め込みベクトル情報」と示された行列は、一列目に部品aの埋め込みベクトル情報、二列目に部品bの埋め込みベクトル情報、三列目に部品cの埋め込みベクトル情報、四列目に部品dの埋め込みベクトル情報、及び五列目に部品eの埋め込み情報を有している。このように、部品Xにおける各特徴量の項目に対する値を(ここでは一列に)並べたものを、「部品Xの埋め込みベクトル情報」と定義する。そして、「部品Xの埋め込みベクトル情報」を全種類の部品にわたって並べることで、全種類の部品における各特徴量の項目に対する値が格納された行列が作成される。このような行列を「全種類の部品の埋め込みベクトル情報」と定義する。
【0042】
埋め込み層22は、One-hotベクトルと「全種類の部品の埋め込みベクトル情報」とを掛け合わせる。これにより、埋め込み層22は、入力情報に含まれる各部品における「部品の埋め込みベクトル情報」をそれぞれ抽出することで、One-hotベクトルを埋め込みベクトルに変換する。例えば、入力ベクトルの1行目及び2行目が「部品a」を示し、One-hotベクトルの1行目が「部品a」を示している。従って、埋め込み層22は、「全種類の部品の埋め込みベクトル情報」の中から「部品aの埋め込みベクトル情報」に相当する値の列を抽出して、当該値を埋め込みベクトルの1行目及び2行目の値の行として変換する。入力ベクトルの3行目が「部品c」を示し、One-hotベクトルの3行目が「部品c」を示している。従って、埋め込み層22は、「全種類の部品の埋め込みベクトル情報」の中から「部品cの埋め込みベクトル情報」を抽出して、当該値を埋め込みベクトルの3行目に変換する。以上により、One-hotベクトルが埋め込みベクトルに変換される。
【0043】
図4に戻り、中間層30について説明する。中間層30は、畳み込み層31と、プーリング層32と、全結合層33と、を有する。畳み込み層31は、埋め込み層22で取得された特徴量を評価する層である。すなわち、埋め込みベクトルの中には、輸送箱を選定する上であまり考慮する必要のない特徴量も多数含まれている。従って、畳み込み層31は、埋め込みベクトルに特徴量をあてはめ、各特徴量の反応度合をスコアとして抽出する。プーリング層32は、畳み込み層31で抽出した特徴量を1次元のベクトルに変換して表現する層である。すなわち、出力層23は、最終的に評価値を1次元のベクトルで出力することになるため、プーリング層32は、多次元のベクトルで示される特徴量を1次元化する際、畳み込み層31で抽出された各特徴量のスコアから、最大値のみを抽出する。これにより、プーリング層32は、箱選定に影響が大きい部分の情報のみを抽出する。全結合層33は、1次元のベクトルで示された特徴量を集約し、各輸送箱の評価値を演算する層である。
【0044】
出力層23のノードNDの数は、選定可能な輸送箱の数、すなわち輸送箱リストBL1(
図2参照)中の輸送箱の数と同じに設定される。出力層23の各ノードNDには、各輸送箱が割り当てられ、対応するノードNDの出力値を各輸送箱の評価値とする。
【0045】
選定部13は、ニューラルネットワーク演算部12の出力値を各輸送箱の評価値とする。例えば、選定部13は、輸送箱Uに対する出力値を評価値y1とし、輸送箱Vに対する出力値を評価値y2とし、輸送箱Zに対する出力値を評価値ynとして取得する。そして、選定部13は、評価値が最大となる輸送箱を選定する。
【0046】
次に、
図7を参照して、ニューラルネットワーク演算部12の学習について具体的に説明する。ニューラルネットワーク演算部12は、過去の梱包実績に基づく教師データを用いて学習を行い、埋め込み層22における各部品の埋め込みベクトル情報を取得(獲得、または更新)する。教師データは、過去の梱包作業において梱包された部品リストの情報、及び選定された輸送箱の情報(例えば
図3参照)を有する。更に、教師データは、輸送箱リスト中の各輸送箱に対する評価値を正解値として有している。実際に選定した輸送箱の正解値が最大値となり、選定した輸送箱に対する類似度が低い輸送箱ほど正解値が低くなる。
【0047】
図7に示すように、学習時には教師データが有する部品リストが入力され、出力層23は、それに応じた評価値を出力する。ニューラルネットワーク演算部12は、各輸送箱に対する評価値と正解値とを比較し、その乖離具合に応じて、各部品の埋め込みベクトル情報を更新する。具体的に、ニューラルネットワーク演算部12は、出力層23から出力された評価値と、教師データの正解値との間の乖離を損失関数によって算出し、当該算出結果を用いて誤差逆伝搬によって埋め込みベクトルを取得する。より具体的には、ニューラルネットワーク演算部12は、算出結果を用いて、埋め込みベクトルを構成する各部品の埋め込みベクトル情報の書き換えを行う。これにより、「全種類の部品の埋め込みベクトル情報」の一部又は全部が書き換えられる。そして、ニューラルネットワーク演算部12は、書き換えられた「全種類の部品の埋め込みベクトル情報」でOne-hotベクトルを変換することで埋め込みベクトルを取得する。損失関数として、例えば以下の式(1)に示す交差エントロピー関数が用いられる。なお、埋め込みベクトルの更新が行われた場合、当該更新内容は、埋め込みベクトル情報にも反映される。これにより、次にニューラルネットワーク演算部12が評価値の出力を行うときは、書き換えられた埋め込みベクトル情報を用いて評価値が出力される。
【数1】
【0048】
次に、
図8を参照して、本実施形態に係る箱選定方法について説明する。
図6は、箱選定装置100の制御部10による制御処理の内容を示すフローチャートである。箱選定方法は、予め学習された学習情報に基づき、部品を梱包する輸送箱を選定する方法である。なお、各ステップにおける詳細な処理内容は、箱選定装置100の各構成要素の説明においてなされたものと同様であるため、説明を省略する。
【0049】
図8に示すように、記憶部14に学習情報及び輸送箱の箱情報を記憶させる記憶ステップS10が実行される。なお、記憶ステップS10は、
図8の処理が実行される前段階において予め実行されてよい。ここでは、
図3で説明したように、学習情報として、ニューラルネットワークのモデルが生成、または更新される。
【0050】
次に、入力情報受付部11は、部品に関する情報を取得すると共に、取得した情報に基づいて入力情報を作成する入力情報受付ステップS20を実行する。次に、ニューラルネットワーク演算部12は、入力情報受付ステップS20で作成された入力情報を入力層21に入力し、記憶部14に記憶された学習情報に基づくニューラルネットワーク演算によって、輸送箱に関する評価値の算出を行うニューラルネットワーク演算ステップS30を実行する。ニューラルネットワーク演算ステップS30では、入力情報から部品に関する特徴量を演算する埋め込み層22による演算と、埋め込み層22による演算結果から、特徴量を評価する中間層30の畳み込み層31による演算が行われる。次に、選定部13は、ニューラルネットワーク演算ステップS30において出力層23から出力された評価値に基づいて輸送箱を選定する選定ステップS40を実行する。以上により、
図8に示す制御処理が終了する。なお、別の部品リストに対する輸送箱の選定を行うときは、入力情報受付ステップS20から再び処理を繰り返してよい。
【0051】
次に、本実施形態に係る箱選定装置100の作用・効果について説明する。
【0052】
本実施形態に係る箱選定装置100は、予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定装置100である。箱選定装置100の制御部10は、学習情報及び箱情報を記憶する記憶部14と、物品に関する入力情報を作成する入力情報受付部11と、入力情報を入力層に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行うニューラルネットワーク演算部12と、ニューラルネットワーク演算部12の出力層23から出力された評価値に基づいて箱を選定する選定部13と、を有する。ニューラルネットワーク演算部12は、入力情報から物品に関する特徴量を取得する埋め込み層22と、埋め込み層22で取得された特徴量を評価する中間層30と、を有する。
【0053】
箱選定装置100において、ニューラルネットワーク演算部12は、物品に関する入力情報を入力層21に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行う。そして、選定部13は、ニューラルネットワーク演算部12の出力層23から出力された評価値に基づいて、梱包の対象となる物品に適した箱を選定することができる。
【0054】
ここで、比較例に係る箱選定装置について説明する。比較例に係る箱選定装置は、本実施形態のような埋め込み層22を有しない。比較例に係る箱選定装置は、過去の梱包実績を教師データとして、ニューラルネットワークのモデルを更新する。教師データは、複数の物品の組み合わせの情報と、その組み合わせに対して選定された箱の情報を含んでいる。これにより、箱選定装置は、箱の選定を行う場合、過去に同じ物品の組み合わせで梱包を行った事がある場合、適切な箱を選定することができる。
【0055】
比較例に係る箱選定装置は、各物品を独立なものとして取り扱って評価値を出力しており、計算コストを低減して、容易に適した箱を選定することができる。ここで、梱包対象となる物品の種類が多い場合に、比較例のように、ニューラルネットワーク演算部12が、各物品を独立なものとして取り扱って評価値を出力しようとする場合の課題について説明する。例えば、多くの種類(数万点規模)の物品を取り扱う現場では、梱包する物品の組み合わせが膨大となる。この場合、過去の梱包実績に基づく教師データを得ようとしても、現実的に収集可能なデータ数では、適切な学習を行うことができない場合がある。それにより、学習が不十分となって評価値の精度が低下する可能性がある。更に、物品の種類が増える場合、形状や用途などの追加情報を収集して、各物品に追加情報を付与することで、類似の物品をまとめる方法が考えられる。しかしながら、物品の種類が膨大になると、追加情報を収集する工程自体が膨大となるため、実現が難しいという問題がでる。すなわち、比較例においては、計算するために部品の形状情報等が必要であるため、積載するすべての部品の形状情報等を収集する必要がある。
【0056】
これに対し、互いに種類の異なる物品であっても、ある特徴に注目した場合、類似性が高い場合もある。すなわち、ニューラルネットワーク演算部12は、全ての物品を独立に取り扱う必要はなく、類似性の高い物品同士を同様の物品として等価に取り扱えば、物品の種類が増えた場合であっても、評価値の低下を抑制することができる。従って、本実施形態では、ニューラルネットワーク演算部12は、入力情報から物品に関する特徴量を取得する埋め込み層22と、埋め込み層22で取得された特徴量を評価する中間層30と、を有する。このように、ニューラルネットワーク演算部12が、埋め込み層22を有することによって、物品の特徴量に基づいた評価値を出力することができる。すなわち、ニューラルネットワーク演算部12は、物品の特徴量に基づくことで、類似性の高い物品同士を同様の物品として等価に扱い、実質的に物品の種類を削減して、評価値を出力することができる。また、埋め込み層22を用いる場合、追加情報を別途抽出する必要無く、梱包実績から各物品の類似性を抽出することができる。すなわち、本実施形態に係る箱選定装置100においては、部品の組み合わせの梱包実績を学習することで、箱を選定することができるため、各部品の形状情報等を取得する必要を無くすことができる。従って、箱選定装置100は、物品を梱包する箱を選定する場合において、適した箱を精度良く選定できる。
【0057】
ニューラルネットワーク演算部12は、入力情報が有する情報と対応する埋め込みベクトル情報を有し(実施形態では、全種類の部品の埋め込みベクトル情報を有している)、埋め込み層22は、入力情報及び埋め込みベクトル情報に基づいて、入力情報を埋め込みベクトルに変換してよい。これにより、ニューラルネットワーク演算部12は、上述のように特徴量に基づいた評価値の出力を適切に行うことができる。
【0058】
出力層23は、記憶部14に記憶された箱情報の中の複数の箱のそれぞれに対する評価値を出力し、選定部13は、評価値が最大となる箱を選定してよい。この場合、選定部13は、評価値に基づいて、記憶部14に記憶された箱の何れかを速やかに選定することができる。
【0059】
ニューラルネットワーク演算部12は、梱包実績に基づく教師データを用いて学習を行い、埋め込み層22における埋め込みベクトルを取得してよい。これにより、実際に行われた梱包実績に基づいて精度の良い評価値を出力可能な埋め込みベクトルを取得することが可能となる。
【0060】
ニューラルネットワーク演算部12は、出力層23から出力された評価値と、教師データの正解値との間の乖離を損失関数によって算出し、当該算出によって得られた結果を用いて誤差逆伝搬によって埋め込みベクトルを取得してよい。これにより、ニューラルネットワーク演算部12は、教師データを適切に学習することができる。
【0061】
本実施形態に係る箱選定方法は、予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定方法であって、学習情報及び箱情報を記憶する記憶ステップS10と、物品に関する入力情報を作成する入力情報受付ステップS20と、入力情報を入力層21に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行うニューラルネットワーク演算ステップS30と、ニューラルネットワーク演算ステップS30において出力層23から出力された評価値に基づいて箱を選定する選定ステップと、を有し、ニューラルネットワーク演算ステップS30では、入力情報から物品に関する特徴量を演算する埋め込み層22による演算と、埋め込み層22による演算結果から、特徴量を評価する中間層30による演算が行われる。
【0062】
本実施形態に係る箱選定プログラムは、予め学習された学習情報に基づき、物品を梱包する箱を選定する箱選定プログラムであって、学習情報及び箱情報を記憶する記憶ステップS10と、物品に関する入力情報を作成する入力情報受付ステップS20と、入力情報を入力層21に入力し、学習情報に基づくニューラルネットワーク演算によって、箱に関する評価値の算出を行うニューラルネットワーク演算ステップS30と、ニューラルネットワーク演算ステップS30において出力層23から出力された評価値に基づいて箱を選定する選定ステップS40と、をコンピュータシステムに実行させ、ニューラルネットワーク演算ステップS30では、入力情報から物品に関する特徴量を演算する埋め込み層22による演算と、埋め込み層22による演算結果から、特徴量を評価する中間層30による演算が行われる。
【0063】
これらの箱選定方法、及び箱選定プログラムによれば、上述の箱選定装置100と同趣旨の作用・効果を得ることができる。
【0064】
本発明は、上述の実施形態に限定されるものではない。
【0065】
例えば、上述の実施形態では、埋め込み層22は、入力情報をOne-hotベクトルに変換した後で、埋め込みベクトルに変換した。ただし、埋め込み層22は、埋め込みベクトルの変換前にOne-hotベクトルへの変換を行わなくともよく、あるいは他のベクトルに変換してもよい。
【0066】
また、上述の実施形態では、入力情報受付部11は、各部品の品番IDを用いて入力情報を作成したが、ニューラルネットワーク演算部12に入力する入力情報の態様は特に限定されるものではない。
【0067】
なお、新規部品のように詳細を把握できていない「未知部品」が存在している場合、入力情報受付部11は、次のような前処理を行ってよい。例えば、入力情報受付部11は、入力情報として並べられた各部品の品番IDの列に「未知部品」を示す行を追加し、当該行に全ての未知部品の個数などを入力してよい。そして、入力情報受付部11は、「未知部品」に対応する行を破棄してよい。
【符号の説明】
【0068】
10…制御部、11…入力情報受付部、12…ニューラルネットワーク演算部、13…選定部、14…記憶部、21…入力層、22…埋め込み層、23…出力層、30…中間層、100…箱選定装置。