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

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

▶ 楽天株式会社の特許一覧

特開2024-91623情報処理装置、情報処理方法及びプログラム
<>
  • 特開-情報処理装置、情報処理方法及びプログラム 図1
  • 特開-情報処理装置、情報処理方法及びプログラム 図2
  • 特開-情報処理装置、情報処理方法及びプログラム 図3
  • 特開-情報処理装置、情報処理方法及びプログラム 図4
  • 特開-情報処理装置、情報処理方法及びプログラム 図5
  • 特開-情報処理装置、情報処理方法及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024091623
(43)【公開日】2024-07-04
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06N 3/04 20230101AFI20240627BHJP
   G06N 3/0464 20230101ALI20240627BHJP
   G06Q 10/047 20230101ALI20240627BHJP
   G06Q 10/083 20240101ALI20240627BHJP
【FI】
G06N3/04 100
G06N3/0464
G06Q10/047
G06Q10/083
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2024035252
(22)【出願日】2024-03-07
(62)【分割の表示】P 2022207273の分割
【原出願日】2022-12-23
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】ゴーシュ サム
(72)【発明者】
【氏名】劉 雲青
(57)【要約】      (修正有)
【課題】教師データを用意することなく、グラフ畳み込みニューラルネットワークを利用したグラフ分割を可能にする情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】複数の配送先を複数のグループに分類する情報処理装置10であって、複数の配送先の接続関係を示す隣接行列を用いて定められ、複数の配送先の特徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグループに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて教師なし学習による学習を行う学習部と、学習部が学習したグラフ畳み込みニューラルネットワークに特徴行列を入力することで得られる、複数の配送先の各々が属するグループに関する情報を出力する出力部と、を有する。
【選択図】図3
【特許請求の範囲】
【請求項1】
複数の配送先を複数のグループに分類する情報処理装置であって、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特
徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグルー
プに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送
先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて
教師なし学習による学習を行う学習部と、
前記学習部により学習された前記グラフ畳み込みニューラルネットワークに前記特徴行
列を入力することで得られる、前記複数の配送先の各々が属するグループに関する情報を
出力する出力部と、
を有する情報処理装置。
【請求項2】
前記学習部は、前記第1損失関数に加えて、各配送先が所定グループに属する確率の合
計値と、1グループあたりの平均配送先数との差分に基づく値を、前記複数のグループの
各々について算出した値の合計値が小さいほど損失が少なくなるように定義される第2損
失関数を用いて、前記教師なし学習による学習を行う、
請求項1に記載の情報処理装置。
【請求項3】
前記学習部は、前記第1損失関数に加えて、各配送先が前記複数のグループのいずれか
に属する確率の最大値が、前記確率として取り得る値の最大値に近いほど損失が小さくな
るように定義される第3損失関数を用いて、前記教師なし学習による学習を行う、
請求項1に記載の情報処理装置。
【請求項4】
前記学習部は、前記第1損失関数に加えて、
各配送先が所定グループに属する確率の合計値と、1グループあたりの平均配送先数
との差分に基づく値を、前記複数のグループの各々について算出した値の合計値が小さい
ほど損失が少なくなるように定義される第2損失関数と、
各配送先が前記複数のグループのいずれかに属する確率の最大値が、前記確率として
取り得る値の最大値に近いほど損失が小さくなるように定義される第3損失関数と
を用いて、前記教師なし学習による学習を行う、
請求項1に記載の情報処理装置。
【請求項5】
前記特徴行列には、前記複数の配送先の特徴として、配送を希望する時間帯に関する情
報が含まれる、
請求項1に記載の情報処理装置。
【請求項6】
前記特徴行列には、前記複数の配送先の特徴として、配送を希望する時間帯と配送車両
の稼働時間とが重複する割合に関する情報が含まれる、
請求項5に記載の情報処理装置。
【請求項7】
前記特徴行列には、前記複数の配送先の特徴として、配送拠点から配送先への方向若し
くは配送先から前記配送拠点への方向に関する情報と、前記複数の配送先の各々と前記配
送拠点との間の距離に関する情報とが含まれる、
請求項1に記載の情報処理装置。
【請求項8】
複数の配送先を複数のグループに分類する情報処理装置が実行する情報処理方法であっ
て、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特
徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグルー
プに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送
先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて
教師なし学習による学習を行うステップと、
学習された前記グラフ畳み込みニューラルネットワークに前記特徴行列を入力すること
で得られる、前記複数の配送先の各々が属するグループに関する情報を出力するステップ
と、
を含む情報処理方法。
【請求項9】
複数の配送先を複数のグループに分類するコンピュータに、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特
徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグルー
プに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送
先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて
教師なし学習による学習を行うステップと、
学習された前記グラフ畳み込みニューラルネットワークに前記特徴行列を入力すること
で得られる、前記複数の配送先の各々が属するグループに関する情報を出力するステップ
と、
を実行させるためのプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
グラフ分割とは、頂点(vertex)及び頂点間を結ぶエッジ(edge)の集合で構成される
グラフを複数の部分集合に分割することである。グラフ分割を行うアルゴリズムは多数知
られており、例えば、Kernighan-Linアルゴリズム、Fiduccia-Mattheysesアルゴリズム、
Spectral Bisection methodなどが挙げられる。また、最近では、ニューラルネットワー
クである、グラフ畳み込みニューラルネットワークを用いたアルゴリズムも提案されてい
る(例えば非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Thomas N. Kipf, Max Welling, Semi-Supervised Classification with Graph Convolutional Networks, [online], 2017, [2022年11月24日検索]、インターネット<URL http://arxiv.org/abs/1609.02907>
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に記載の技術を用いてグラフ分割を行う場合、グラフ畳み込みニューラル
ネットワークを、教師データを用いて学習させることが必要である。しかしながら、グラ
フ畳み込みニューラルネットワークを利用して現実世界の問題を解決しようとしても、そ
もそも教師データを予め用意することが困難であることが考えられる。
【0005】
そこで、本開示は、教師データを用意することなく、グラフ畳み込みニューラルネット
ワークを利用したグラフ分割を可能にする情報処理装置、情報処理方法及びプログラムを
提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様に係る情報処理装置は、複数の配送先を複数のグループに分類する情報
処理装置であって、前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記
複数の配送先の特徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワーク
を、同一のグループに属する配送先間の距離に関する値が小さいほど、かつ、同一のグル
ープに属する配送先間の特徴の差分が小さいほど損失が少なくなるように定義される第1
損失関数を用いて教師なし学習による学習を行う学習部と、前記学習部により学習された
前記グラフ畳み込みニューラルネットワークに前記特徴行列を入力することで得られる、
前記複数の配送先の各々が属するグループに関する情報を出力する出力部と、を有する。
【発明の効果】
【0007】
本開示によれば、教師データを用意することなく、グラフ畳み込みニューラルネットワ
ークを利用したグラフ分割を可能にする情報処理装置、情報処理方法及びプログラムを提
供することができる。
【図面の簡単な説明】
【0008】
図1】本実施形態に係る配送管理システムの一例を示す図である。
図2】情報処理装置のハードウェア構成例を示す図である。
図3】情報処理装置の機能ブロック構成例を示す図である。
図4】情報処理装置が実行する処理手順の一例を示すフローチャートである。
図5】グラフを説明するための図である。
図6】複数の配送先を複数のグループに分類した結果を示す図である。
【発明を実施するための形態】
【0009】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一
の符号を付したものは、同一又は同様の構成を有する。
【0010】
<システム構成>
図1は、本実施形態に係る配送管理システムの一例を示す図である。配送管理システム
1は、情報処理装置10と端末20とを含む。情報処理装置10と端末20とは、無線又
は有線の通信ネットワークNを介して接続され、相互に通信を行うことができる。
【0011】
情報処理装置10は、荷物の配送を管理する装置であり、複数の配送先を複数のグルー
プに分類(クラスタリング)する処理を行う。また、情報処理装置10は、各グループに
分類された複数の配送先について、例えば巡回セールスマン問題(traveling salesman p
roblem)を解くアルゴリズム等を利用することで、効率的に荷物を配送することが可能な
配送ルートを決定するようにしてもよい。情報処理装置10は、1又は複数の物理的なサ
ーバ等から構成されていてもよいし、ハイパーバイザー(hypervisor)上で動作する仮想
的なサーバを用いて構成されていてもよいし、クラウドサーバを用いて構成されていても
よい。
【0012】
端末20は、ユーザが操作する端末であり、例えば、スマートフォン、タブレット端末
、携帯電話機、パーソナルコンピュータ(PC)、ノートPC等である。端末20の画面
には、情報処理装置10から出力される各種のデータが表示される。また、ユーザは、端
末20を介して情報処理装置10を操作することができる。
【0013】
情報処理装置10は、複数の配送先を、グラフ分割アルゴリズムを用いて複数のグルー
プに分類する。具体的には、情報処理装置10は、グラフ畳み込みニューラルネットワー
ク(GCN:Graph Convolutional Neural Network)を利用することで、配送先の分類を行
う。なお、以降、グラフ畳み込みニューラルネットワークを、単に、グラフ畳み込みネッ
トワーク、GCNと呼称する。
【0014】
従来、GCNを利用してグラフ分割を行う場合、予め教師データを用意してGCNを学
習させる必要があった。しかしながら、荷物の配送先は日々異なることから、予め教師デ
ータを用意することは困難である。そこで、本実施形態では、情報処理装置10は、GC
Nを学習させる際に利用する損失関数(Loss Function)を工夫することで、教師データ
を用いずにGCNを学習させるようにした。
【0015】
<ハードウェア構成>
図2は、情報処理装置10のハードウェア構成例を示す図である。情報処理装置10は
、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)等のプロ
セッサ11、メモリ(例えばRAM又はROM)、HDD(Hard Disk Drive)及び/又
はSSD(Solid State Drive)等の記憶装置12、有線又は無線通信を行うネットワー
クIF(Network Interface)13、入力操作を受け付ける入力装置14、及び情報の出
力を行う出力装置15を有する。入力装置14は、例えば、キーボード、タッチパネル、
マウス及び/又はマイク等である。出力装置15は、例えば、ディスプレイ、タッチパネ
ル及び/又はスピーカ等である。
【0016】
<機能ブロック構成>
図3は、情報処理装置10の機能ブロック構成例を示す図である。情報処理装置10は
、記憶部100と、受付部101と、学習部102と、出力部103とを含む。記憶部1
00は、情報処理装置10が備える記憶装置12を用いて実現することができる。また、
受付部101と、学習部102と、出力部103とは、情報処理装置10のプロセッサ1
1が、記憶装置12に記憶されたプログラムを実行することにより実現することができる
。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納し
た記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-transitory compu
ter readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例
えば、USB(Universal Serial Bus)メモリ又はCD-ROM(Compact Disc Read-On
ly Memory)等の記憶媒体であってもよい。
【0017】
記憶部100は、配送先に関する各種データ(以下、「配送先データ」と言う。)と、
学習モデルとを記憶する。学習モデルには、GCNのモデル構造を決定する情報及び各種
のパラメータ値が含まれる。
【0018】
受付部101は、端末20から、各種のデータ入力を受け付ける。例えば、受付部10
1は、配送先データの入力等を受け付ける。
【0019】
学習部102は、配送先データ及び所定の損失関数を利用して学習モデルを学習させる
。具体的には、学習部102は、複数の配送先の接続関係を示す隣接行列を用いて定めら
れ、当該複数の配送先の特徴を示す特徴行列を入力とするGCNを、同一のグループに属
する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送先間の
特徴の差分が小さいほど損失が少なくなるように定義される損失関数(以下、「第1損失
関数」と言う。)を用いて教師なし学習による学習を行う。
【0020】
出力部103は、学習モデルから出力される情報を出力する。具体的には、出力部10
3は、学習部102により学習されたGCNに特徴行列を入力することで得られる、複数
の配送先の各々が属するグループに関する情報を出力する。
【0021】
<処理手順>
図4は、情報処理装置10が実行する処理手順の一例を示すフローチャートである。図
4を用いて、情報処理装置10が、教師データを用いずにGCNを学習させることで、配
送先を分類する方法を具体的に説明する。
【0022】
ステップS10で、受付部101は、配送先データの入力を受け付ける。配送先データ
には、例えば、配送先の位置情報(緯度及び経度等)、配送希望時間帯(例えば14時~
16時等)、配送先と配送拠点(Depot)の間の関係に関する情報等が含まれる。受付部
101は、受け付けた配送先データを記憶部100に格納する。
【0023】
ステップS11で、学習部102は、配送先データから、GCNに入力する隣接行列及
び特徴行列を生成する。
【0024】
ここで、グラフについて説明する。グラフは、複数の頂点及び頂点間を結ぶエッジの集
合で構成され、数式1で表現することができる。なお、グラフは、グラフネットワークと
も呼ばれる。
【数1】
Vは頂点(vertex)の集合を意味しており、Eはエッジ(edge)の集合を意味する。
【0025】
図5にグラフの一例を示す。図5に示すグラフは、5つの頂点(v1~v5)と、各頂
点を結ぶ7つのエッジ(e12、e14、e23、e24、e34、e35、e45、)
とから構成されている。また、各頂点には、特徴量を関連づけることができる。本実施形
態では、頂点、エッジ及び頂点の特徴量を、それぞれ配送先、配送先間の距離及び配送先
の特徴とみなしてグラフを定義し、GCNを用いてグラフ分割を行うことで、配送先を複
数のグループに分割する。
【0026】
次に、隣接行列A(Adjacency Matrix)について説明する。隣接行列Aは、エッジ間の
接続関係を示しており、1の場合はエッジ間が接続されており、0の場合はエッジ間が接
続されていないことを示す。本実施形態における隣接行列Aの成分Aijは、数式2で表
現することができる。なお、i及びjは配送先を示す。例えば配送先が100箇所である
場合、i及びjは、それぞれ1~100の整数で表される。
【数2】
ωi,jは配送先i及び配送先j間の距離を示し、θは所定の閾値を示す。配送先間の距
離は、ユーグリッド距離(Euclidean distance)、球面距離(havesine distance)又は
地図上の実際の距離であってもよい。ユーグリッド距離はL2ノルムとも呼ばれる。地図
上の実際の距離は、例えば、OSRM(Open Source Routing Machine)と呼ばれる既存
のライブラリを利用して取得するようにしてもよい。
【0027】
また、θの値は任意であるが、例えば、配送先間の距離が離れており、同一のグループ
に分類すべきでないと考えられる距離に設定されてもよい。配送先i及びj間の距離がθ
の値よりも大きい場合、Aijは0になることから、グラフにおける頂点i及びjの間に
はエッジが接続されていないものとして表現されることになる。
【0028】
なお、2つの配送先間の距離がθ以下である場合であっても、当該2つの配送先間に、
配送を行う車両(トラック等)が通過できないような障害(例えば河川等)が存在する場
合、学習部102は、当該2つの配送先に対応するAijの値を0に設定するようにして
もよい。例えば、受付部101は、ユーザから、2つの配送先間に障害が存在することの
指定を受け付け、学習部102は、隣接行列の成分のうち、受付部101で受け付けた2
つの配送先の間に対応するAijの値を0に設定するようにしてもよい。
【0029】
次に、次数行列D(Degree matrix)について説明する。次数行列Dは、各頂点にいく
つのエッジが接続されているのかを示す対角行列である。本実施形態における次数行列D
の成分Dijは、数式3で表現することができる。
【数3】
Nは頂点の数を示す。例えば、図5において、頂点v1には2つのエッジ(e12、e
14)が接続されていることから、次数行列Dの成分D11の値は2になる。
【0030】
次に、特徴行列X(Feature matrix)について説明する。特徴行列Xは、各頂点に関連
づけられる特徴量を示している。例えば、頂点の数を1~nとし、iを特徴量の識別子と
すると、頂点1~nのそれぞれの特徴量Xは、以下の数式4で表現される。
【数4】
また、特徴量の数がp個である場合、すなわち、特徴量の識別子iは1~pで表される
場合、特徴行列Xは、数式5で表現される。
【数5】
本実施形態では、配送先に関連づけられる特徴量には、荷物の受取人が配送を希望する
時間帯を含めてもよい。つまり、特徴行列Xには、複数の配送先の特徴として、配送を希
望する時間帯に関する情報が含まれていてもよい。配送を希望する時間帯に関する情報は
、例えば、1:8時~12時、2:12時~14時、3:14時~16時、4:16時~
18、5:18時~20時のように正の整数で表現されてもよい。
【0031】
また、配送先に関連づけられる特徴量には、配送を希望する時間帯のうち配送車両の稼
働時間が含まれる時間の割合に関する情報(「オーバーラップ率」と呼んでもよい)を含
めてもよい。つまり、特徴行列Xには、複数の配送先の特徴として、配送を希望する時間
帯のうち配送車両の稼働時間が含まれる時間の割合に関する情報が含まれていてもよい。
当該情報は、0~1の値で表現される。0の場合は、配送を希望する時間帯のうち配送車
両の稼働時間が含まれる時間は無いことを示す。また、1の場合は、配送を希望する全て
の時間帯が配送車両の稼働時間に含まれることを示す。例えば、配送希望時間帯が8時か
ら12時であり、配送車両の稼働時間が10時から16時である場合、配送希望時間帯(
4時間)のうち配送車両の稼働時間が含まれる時間は2時間(10時~12時)であるか
ら、2時間÷4時間=0.5になる。
【0032】
また、配送先に関連づけられる特徴量には、配送拠点(Depot)から配送先への方向(
又はその逆)に関する情報と、複数の配送先の各々と配送拠点との間の距離に関する情報
とを含めてもよい。つまり、特徴行列Xには、複数の配送先の特徴として、配送拠点から
配送先への方向若しくは配送先から配送拠点への方向に関する情報と、複数の配送先の各
々と配送拠点との間の距離に関する情報とが含まれていてもよい。当該距離に関する情報
は、ユーグリッド距離(Euclidean distance)、球面距離(havesine distance)又は地
図上の実際の距離であってもよい。
【0033】
特徴行列Xに含まれる特徴量は上記に限定されず、配送先に関するものであれば、どの
ような特徴量が含まれていてもよい。
【0034】
ここで、隣接行列A、次数行列D及び特徴行列Xの具体例を数式6~8に示す。なお、
数式6~8に示す行列は、頂点が3つであり各頂点間がエッジで接続されているグラフに
対応する。
【数6】
【数7】
【数8】
数式8に示す特徴行列Xは、1つの頂点(配送先)に4つの特徴量が関連づけられてい
ることを示す。例えば、特徴行列Xの1列目には、0.5、0.1及び0.2の3つの値
が存在する。これは、頂点1(配送先1)における1つ目の特徴量は0.5であり、頂点
2(配送先2)における1つ目の特徴量は0.1であり、頂点3(配送先3)における1
つ目の特徴量は0.2であることを示している。同様に、2列目には、0.2、0.6及
び0.9の3つの値が存在する。これは、頂点1(配送先1)における2つ目の特徴量は
0.2であり、頂点2(配送先2)における2つ目の特徴量は0.6であり、頂点3(配
送先3)における2つ目の特徴量は0.9であることを示している。
【0035】
ステップS12で、学習部102は、損失関数(Loss Function)を用いてGCNの学
習を行う。例えば、学習部102は、ニューラルネットワークを学習させるためのライブ
ラリ等にGCNのモデルと使用する損失関数とを設定することで、GCNを学習させるこ
とができる。数式9に、本実施形態に係るGCNの例を示す。
【数9】
Kは1から始まる正の整数であり、GCNにおける隠れ層の階層を示す。また、h(K)
はK番目の隠れ層を示す。σは活性化関数である。ここで、A´は、数式10で定義され
る。
【数10】
は単位行列である。
【0036】
本実施形態では、隠れ層が2層であるGCNを用いて学習を行う。数式11は入力層を
示し、数式12は1つ目の隠れ層を示し、数式13は、出力層を示す。
【数11】
【数12】
【数13】
数式11におけるnは配送先の数を示し、pは特徴量の数を示す。また、数式12及び
数式13におけるWは重みを示す。また、lは、1つ目の隠れ層におけるニューロンの
数であり、cは、GCNが出力可能なグループの数である。
【0037】
数式11に示すように、GCNの入力層には特徴行列の成分が入力される。また、GC
Nの出力層からは、配送先ごとに各グループに属する確率が出力される。例えば、配送先
の数が100であり、出力可能なグループの数が5である場合、配送先ごとに5つの確率
(グループ1に属する確率、グループ2に属する確率、グループ3に属する確率、グルー
プ4に属する確率、グループ5に属する確率)が出力される。なお、出力される確率の最
大値は1であってもよいが、本実施形態がこれに限定されるものではない。
【0038】
続いて、学習部102は、損失関数を用いてGCNを学習させる処理を行う。前述した
通り、学習部102は、同一のグループに属する配送先間の距離に関する値が小さいほど
、かつ、同一のグループに属する配送先間の特徴の差分が小さいほど損失が少なくなるよ
うに定義される第1損失関数を用いて、教師なし学習による学習を行う。第1損失関数を
用いることで、配送先間の距離が短く、かつ、類似する特徴を有する配送先が同一のグル
ープに属するようにGCNを学習させることができる。
数式14及び数式15は、第1損失関数の一例を示す。
【数14】
【数15】
数式14及び15について、kは、グループの番号を示す。Cはグループの集合を示す
。i及びjは配送先を示す。Vは配送先の集合を示す。Pikは、配送先iがグループk
に属する確率を示す。Pjkは、配送先jがグループkに属する確率を示す。pは特徴量
の数を示し、mは特徴量の番号を示す。もし特徴量が3種類である場合、p=3であり、
mは1~3の整数になる。なお、Pik及びPijには、GCNの出力層から出力される
値が入力される。γijは、配送先i及び配送先jの間の距離である。配送先間の距離は
、ユーグリッド距離)、球面距離又は地図上の実際の距離であってもよい。地図上の実際
の距離は、例えば、OSRMと呼ばれる既存のライブラリを利用して取得するようにして
もよい。X(i)は配送先iのm番目の特徴量を示し、X(j)は配送先jのm番目
の特徴量を示す。λとλは、ユーザにより定義可能なスケーリングファクターであり
、配送管理システム1を利用するユーザにより任意に設定することができる。
【0039】
数式15の前半部分「λγij」は、配送先i及び配送先jの間の距離が小さいほど
小さな値になる。また、数式15の後半部分(λγij以外の部分)は、配送先i及び
配送先jの間について各特徴量の差分が小さいほど、小さな値になる。また、配送先i及
び配送先jが同一グループに属する場合、Pik×Pjkの値は大きくなる。そのため、
数式14におけるPik×Pjk×ωijの値は、同一グループに属する配送先i及び配
送先の間の距離が小さいほど小さな値になり、同一グループに属する配送先i及び配送先
jの間の特徴量の差分が小さいほど小さな値になることがわかる。
【0040】
また、学習部102は、第1損失関数に加えて、各配送先が所定グループに属する確率
の合計値と、1グループあたりの平均配送先数との差分に基づく値を、複数のグループの
各々について算出した値の合計値が小さいほど損失が少なくなるように定義される第2損
失関数を用いて、教師なし学習による学習を行うようにしてもよい。なお、「各配送先が
所定グループに属する確率の合計値と、1グループあたりの平均配送先数との差分に基づ
く値」は、当該差分を二乗した値でもよいし、当該差分の絶対値でもよいし、当該差分の
二乗の平方根であってもよい。第2損失関数を用いることで、各グループに属する配送先
の数がグループ間で平均化されるようにGCNを学習させることができる。数式16は、
第2損失関数の一例を示す。
【数16】
数式16において、kは、グループの番号を示す。Cはグループの集合を示す。例えば
GCNの出力可能なグループ数が10である場合、C=10になる。iは配送先を示す。
Vは配送先の集合を示す。配送先の数が500である場合、V=500になる。Pik
、配送先iがグループkに属する確率を示す。ΣPikは、各配送先がグループkに属す
る確率を全ての配送先について合計した値を示す。また、|V|/|C|は、1グループ
あたりの平均配送先数を示す。
【0041】
また、学習部102は、第1損失関数に加えて、各配送先が複数のグループのいずれか
に属する確率の最大値が、確率として取り得る値の最大値(例えば1であるが、これに限
定されない)に近いほど損失が小さくなるように定義される第3損失関数を用いて、教師
なし学習による学習を行うようにしてもよい。第3損失関数を用いることで、配送先が各
グループに属する確率の最大値が、確率として取り得る値の最大値に近づくように、GC
Nを学習させることができる。例えば、GCNを学習させる前の状態では、ある配送先が
グループ1~3に属する確率は(0.3、0.3、0.4)であると出力されたとする。
この場合、第3損失関数を用いてGCNを学習させることで、例えば(0.1、0.1、
0.8)のように、どのグループに属するのかが明確になるような出力結果を得ることが
できる。数式17に第3損失関数の一例を示す。
【数17】
数式17について、i及びjは配送先を示す。Vは配送先の集合を示す。Pijは、配
送先iがいずれかのグループに属する確率の最大値と、配送先jがいずれかのグループに
属する確率の最大値とを乗算した値を示す。例えば、配送先i=1が各グループに属する
確率のうちグループ3に属する確率(P3)が最も大きい値であり、配送先j=2が各グ
ループに属する確率のうちグループ5に属する確率P5が最も大きい値である場合、P
(i=1、j=2)は、P3×P5になる。
【0042】
また、学習部102は、第1損失関数に加えて、第2損失関数と、第3損失関数とを用
いて、教師なし学習による学習を行うようにしてもよい。数式18に、第1損失関数、第
2損失関数及び第3損失関数を用いる場合の損失関数の一例を示す。
【数18】
ステップS13で、出力部103は、学習部102により学習されたGCNに特徴行列
を入力することで得られる、複数の配送先の各々が属するグループに関する情報を出力す
る。例えば、配送先が100箇所であり、GCNが出力可能なグループ数が5である場合
、配送先ごとに各グループに属する確率が出力される。配送先に対し出力された複数の確
率(ここでは5つの確率)のうち最も確率の大きいグループが、当該配送先が属するグル
ープを意味する。
【0043】
<具体例>
図6は、複数の配送先を複数のグループに分類した結果を示す図である。地点Dは配送
拠点(Deport)である。図6の例では、複数の配送先が、10個のグループに分類されて
いることがわかる。
【0044】
<まとめ>
以上説明した実施形態によれば、損失関数のみを利用してGCNを学習させることで、
教師データを用意することなく、複数の配送先を複数のグループに分類することが可能に
なる。
【0045】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定
して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実
施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したもの
に限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構
成同士を部分的に置換し又は組み合わせることが可能である。
【0046】
<付記>
本実施形態は、以下の通り表現されてもよい。
【0047】
<付記1>
複数の配送先を複数のグループに分類する情報処理装置であって、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特
徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグルー
プに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送
先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて
教師なし学習による学習を行う学習部と、
前記学習部により学習された前記グラフ畳み込みニューラルネットワークに前記特徴行
列を入力することで得られる、前記複数の配送先の各々が属するグループに関する情報を
出力する出力部と、
を有する情報処理装置。
【0048】
<付記2>
前記学習部は、前記第1損失関数に加えて、各配送先が所定グループに属する確率の合
計値と、1グループあたりの平均配送先数との差分に基づく値を、前記複数のグループの
各々について算出した値の合計値が小さいほど損失が少なくなるように定義される第2損
失関数を用いて、前記教師なし学習による学習を行う、
付記1に記載の情報処理装置。
【0049】
<付記3>
前記学習部は、前記第1損失関数に加えて、各配送先が前記複数のグループのいずれか
に属する確率の最大値が、前記確率として取り得る値の最大値に近いほど損失が小さくな
るように定義される第3損失関数を用いて、前記教師なし学習による学習を行う、
付記1に記載の情報処理装置。
【0050】
<付記4>
前記学習部は、前記第1損失関数に加えて、
各配送先が所定グループに属する確率の合計値と、1グループあたりの平均配送先数
との差分に基づく値を、前記複数のグループの各々について算出した値の合計値が小さい
ほど損失が少なくなるように定義される第2損失関数と、
各配送先が前記複数のグループのいずれかに属する確率の最大値が、前記確率として
取り得る値の最大値に近いほど損失が小さくなるように定義される第3損失関数と
を用いて、前記教師なし学習による学習を行う、
付記1に記載の情報処理装置。
【0051】
<付記5>
前記特徴行列には、前記複数の配送先の特徴として、配送を希望する時間帯に関する情
報が含まれる、
付記1~4のいずれか一項に記載の情報処理装置。
【0052】
<付記6>
前記特徴行列には、前記複数の配送先の特徴として、配送を希望する時間帯と配送車両
の稼働時間とが重複する割合に関する情報が含まれる、
付記1~5のいずれか一項に記載の情報処理装置。
【0053】
<付記7>
前記特徴行列には、前記複数の配送先の特徴として、配送拠点から配送先への方向若し
くは配送先から前記配送拠点への方向に関する情報と、前記複数の配送先の各々と前記配
送拠点との間の距離に関する情報とが含まれる、
付記1~6のいずれか一項に記載の情報処理装置。
【0054】
<付記8>
複数の配送先を複数のグループに分類する情報処理装置が実行する情報処理方法であっ
て、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特
徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグルー
プに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送
先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて
教師なし学習による学習を行うステップと、
学習された前記グラフ畳み込みニューラルネットワークに前記特徴行列を入力すること
で得られる、前記複数の配送先の各々が属するグループに関する情報を出力するステップ
と、
を含む情報処理方法。
【0055】
<付記9>
複数の配送先を複数のグループに分類するコンピュータに、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特
徴を示す特徴行列を入力とするグラフ畳み込みニューラルネットワークを、同一のグルー
プに属する配送先間の距離に関する値が小さいほど、かつ、同一のグループに属する配送
先間の特徴の差分が小さいほど損失が少なくなるように定義される第1損失関数を用いて
教師なし学習による学習を行うステップと、
学習された前記グラフ畳み込みニューラルネットワークに前記特徴行列を入力すること
で得られる、前記複数の配送先の各々が属するグループに関する情報を出力するステップ
と、
を実行させるためのプログラム。
【符号の説明】
【0056】
1…配送管理システム、10…情報処理装置、11…プロセッサ、12…記憶装置、1
3…ネットワークIF、14…入力装置、15…出力装置、20…端末、100…記憶部
、101…受付部、102…学習部、103…出力部



図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-03-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の配送先を複数のグループに分類する情報処理装置であって、
前記複数の配送先の接続関係を用いて定められ、前記複数の配送先の特徴を示す情報を入力とするグラフ畳み込みニューラルネットワークを、損失関数を用いて教師なし学習による学習を行う学習部と、
前記学習部により学習された前記グラフ畳み込みニューラルネットワークに前記複数の配送先の特徴を示す情報を入力することで得られる、前記複数の配送先の各々が属するグループに関する情報を出力する出力部と、
を有する情報処理装置。
【請求項2】
前記複数の配送先の特徴を示す情報には、前記複数の配送先の特徴として、配送を希望する時間帯に関する情報が含まれる、
請求項1に記載の情報処理装置。
【請求項3】
前記複数の配送先の特徴を示す情報には、前記複数の配送先の特徴として、配送を希望する時間帯と配送車両の稼働時間とが重複する割合に関する情報が含まれる、
請求項2に記載の情報処理装置。
【請求項4】
前記複数の配送先の特徴を示す情報には、前記複数の配送先の特徴として、配送拠点から配送先への方向若しくは配送先から前記配送拠点への方向に関する情報と、前記複数の配送先の各々と前記配送拠点との間の距離に関する情報とが含まれる、
請求項1に記載の情報処理装置。
【請求項5】
複数の配送先を複数のグループに分類する情報処理装置が実行する情報処理方法であって、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特徴を示す情報を入力とするグラフ畳み込みニューラルネットワークを、損失関数を用いて教師なし学習による学習を行うステップと、
学習された前記グラフ畳み込みニューラルネットワークに前記複数の配送先の特徴を示す情報を入力することで得られる、前記複数の配送先の各々が属するグループに関する情報を出力するステップと、
を含む情報処理方法。
【請求項6】
複数の配送先を複数のグループに分類するコンピュータに、
前記複数の配送先の接続関係を示す隣接行列を用いて定められ、前記複数の配送先の特徴を示す情報を入力とするグラフ畳み込みニューラルネットワークを、損失関数を用いて教師なし学習による学習を行うステップと、
学習された前記グラフ畳み込みニューラルネットワークに前記複数の配送先の特徴を示す情報を入力することで得られる、前記複数の配送先の各々が属するグループに関する情報を出力するステップと、
を実行させるためのプログラム。