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

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

▶ ヤフー株式会社の特許一覧

特許7352600情報処理装置、情報処理方法及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-20
(45)【発行日】2023-09-28
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230921BHJP
【FI】
G06N20/00 130
【請求項の数】 12
(21)【出願番号】P 2021119111
(22)【出願日】2021-07-19
(65)【公開番号】P2023014906
(43)【公開日】2023-01-31
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】水口 達矢
(72)【発明者】
【氏名】竹仲 孝盛
(72)【発明者】
【氏名】下森 周平
(72)【発明者】
【氏名】岩瀬張 太士
【審査官】武田 広太郎
(56)【参考文献】
【文献】国際公開第2021/002215(WO,A1)
【文献】国際公開第2020/026741(WO,A1)
【文献】特表2019-510287(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
一の学習モデルに含まれる各階層のうち、パラメータの変動量が所定の条件を満たす階層を利用者によって利用される端末装置用に分割した第1学習モデルと、当該端末装置と通信可能な情報処理装置によって利用される第2学習モデルであって、当該一の学習モデルに含まれる各階層のうち、当該第1学習モデルに割り当てた当該所定の条件を満たす階層が示すパラメータの変動量よりも大きい変動量を示す階層を情報処理装置用に分割した第2学習モデルとを生成する生成部と、
前記第1学習モデルを前記端末装置に提供する提供部と
を備えることを特徴とする情報処理装置。
【請求項2】
前記生成部は、
前記一の学習モデルに含まれる各階層のうち、パラメータが所定の範囲内の変動量で変動する階層に基づいて前記第1学習モデルを生成し、パラメータが当該変動量よりも大きい変動量で変動する階層に基づいて前記第2学習モデルを生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記生成部は、
前記第2学習モデルが示すデータ容量よりも小さいデータ容量を有する学習モデルを前記第1学習モデルとして生成する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記生成部は、
所定の入力情報が前記第1学習モデルに入力され、前記第1学習モデルによって出力された出力情報が、前記第2学習モデルの入力情報として、前記第2学習モデルに入力されるように、前記第1学習モデルと、前記第2学習モデルとを生成する
ことを特徴とする請求項1~3のいずれか1つに記載の情報処理装置。
【請求項5】
前記生成部は、
前記第1学習モデルと、前記第2学習モデルをさらに分割した第2学習モデル(1)と、第2学習モデル(2)とを生成する
ことを特徴とする請求項1~4のいずれか1つに記載の情報処理装置。
【請求項6】
前記第1学習モデル又は前記第2学習モデルを所定の条件に基づいて評価する評価部と、
前記評価部によって評価された評価結果に基づいて、前記第2学習モデルを更新する更新部とをさらに備える
ことを特徴とする請求項1~5のいずれか1つに記載の情報処理装置。
【請求項7】
前記更新部は、
前記評価結果に基づいて、前記第2学習モデルのパラメータを変更する
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記評価部は、
前記端末装置によって通知された通知情報に基づいて、前記第1学習モデルが示すデータ容量が所定の閾値以上であるか否かを評価し、
前記更新部は、
前記データ容量が所定の閾値以上である場合に、前記第2学習モデルのパラメータを変更する
ことを特徴とする請求項6又は7に記載の情報処理装置。
【請求項9】
前記評価部は、
前記第2学習モデルによって出力された出力情報が示す値が所定の範囲内に含まれるか否かを評価し、
前記更新部は、
前記値が所定の範囲内に含まれない場合に、前記第2学習モデルのパラメータを変更する
ことを特徴とする請求項6~8のいずれか1つに記載の情報処理装置。
【請求項10】
前記評価部は、
前記端末装置と前記情報処理装置との通信速度が所定の閾値未満であるか否かを評価し、
前記更新部は、
前記通信速度が所定の閾値未満である場合に、前記第2学習モデルのパラメータを変更する
ことを特徴とする請求項6~9のいずれか1つに記載の情報処理装置。
【請求項11】
コンピュータが実行する情報処理方法であって、
一の学習モデルに含まれる各階層のうち、パラメータの変動量が所定の条件を満たす階層を利用者によって利用される端末装置用に分割した第1学習モデルと、当該端末装置と通信可能な情報処理装置によって利用される第2学習モデルであって、当該一の学習モデルに含まれる各階層のうち、当該第1学習モデルに割り当てた当該所定の条件を満たす階層が示すパラメータの変動量よりも大きい変動量を示す階層を情報処理装置用に分割した第2学習モデルとを生成する生成工程と、
前記第1学習モデルを前記端末装置に提供する提供工程と
を含むことを特徴とする情報処理方法。
【請求項12】
一の学習モデルに含まれる各階層のうち、パラメータの変動量が所定の条件を満たす階層を利用者によって利用される端末装置用に分割した第1学習モデルと、当該端末装置と通信可能な情報処理装置によって利用される第2学習モデルであって、当該一の学習モデルに含まれる各階層のうち、当該第1学習モデルに割り当てた当該所定の条件を満たす階層が示すパラメータの変動量よりも大きい変動量を示す階層を情報処理装置用に分割した第2学習モデルとを生成する生成手順と、
前記第1学習モデルを前記端末装置に提供する提供手順と
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、学習ジョブを分割して処理することで、処理サーバ等の計算リソースを効率的に利用し、効率的に学習済みモデルを生成する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-082900号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、学習ジョブを分割して処理するに過ぎないため、学習モデルに基づく情報処理をより効率的に実行する点で改善の余地がある。
【0005】
本願は、上記に鑑みてなされたものであって、学習モデルに基づく情報処理をより効率的に実行することができる情報処理装置、情報処理方法及び情報処理プログラムを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、一の学習モデルを利用者によって利用される端末装置用に分割した第1学習モデルと、当該端末装置と通信可能な情報処理装置によって利用される第2学習モデルであって、当該一の学習モデルを情報処理装置用に分割した第2学習モデルとを生成する生成部と、前記第1学習モデルを前記端末装置に提供する提供部とを備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、学習モデルに基づく情報処理をより効率的に実行することができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る情報処理装置が実行する情報処理の一例を示す図である。
図2図2は、実施形態に係る情報処理システムの構成例を示す図である。
図3図3は、実施形態に係る評価情報記憶部の一例を示す図である。
図4図4は、実施形態に係る情報処理装置が実行する提供処理の流れの一例を示すフローチャートである。
図5図5は、実施形態に係る情報処理装置が実行する更新処理の流れの一例を示すフローチャートである。
図6図6は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組合せることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.情報処理装置が示す情報処理の一例〕
まず、図1を用いて、情報処理装置100が学習モデルを分割することで、第1学習モデルと第2学習モデルとを生成する生成処理について説明する。次に、図1を用いて、情報処理装置100が評価結果に基づいて第2学習モデルのパラメータを更新する更新処理について説明する。ここで、図1は、実施形態に係る情報処理装置100が実行する情報処理の一例を示す図である。なお、学習モデルに基づく情報処理は、電子商取引サービスに適用されるものとする。
【0011】
まず、図1を用いて、情報処理装置100が学習モデルを分割することで、第1学習モデルと第2学習モデルとを生成する生成処理について説明する。図1に示すように、情報処理装置100は、学習モデルMO1を外部サーバ10から受付ける(ステップS1)。ここで、外部サーバ10は、例えば、各種学習モデルを所定の記憶部に記憶しているデータベースサーバである。
【0012】
続いて、情報処理装置100は、学習モデルMO1を分割することで、第1学習モデルMO2と、第2学習モデルMO3とを生成する(ステップS2)。
【0013】
まず、学習モデルMO1を分割する方法について説明する。例えば、学習モデルMO1が各階層によって構成されるものとする。この場合、情報処理装置100は、学習モデルMO1に含まれる各階層のうち、パラメータが変動しない階層、又は、パラメータが所定の範囲内の変動量で変動する階層に基づいて、第1学習モデルを生成する。
【0014】
そして、情報処理装置100は、第1学習モデルMO2に割り当てた階層以外の階層に基づいて、第2学習モデルMO3を生成する。例えば、情報処理装置100は、学習モデルMO1に含まれる各階層のうち、パラメータが変動する階層、又は、パラメータが、第1学習モデルを生成した場合の所定の範囲内の変動量よりも大きい変動量で変動する階層に基づいて第2学習モデルを生成する。
【0015】
より具体的な例を挙げると、情報処理装置100は、学習モデルMO1に含まれる各階層のうち、パラメータの変動の頻度が多い階層、パラメータの変動が大きい階層、又は、出力情報の精度に影響する階層に基づいて第2学習モデルを生成する。
【0016】
次に、学習モデルMO1を分割した後の第1学習モデルMO2と、第2学習モデルMO3とのデータ容量の関係性について説明する。例えば、情報処理装置100は、第1学習モデルMO2が示すデータ容量が、第2学習モデルMO3が示すデータ容量よりも小さくなるように、第1学習モデルMO2と、第2学習モデルMO3とを生成する。
【0017】
次に、学習モデルMO1に対する入出力処理と、学習モデルMO1を分割した後の第1学習モデルMO2及び第2学習モデルMO3の入出力処理との関係性について説明する。例えば、学習モデルMO1が所定の入力情報IN1が入力された場合に、出力情報OU1を出力するものとする。この場合、情報処理装置100は、所定の入力情報IN1が第1学習モデルMO2に入力され、第1学習モデルMO2によって出力された出力情報が、第2学習モデルMO3の入力情報として、入力されるように、第1学習モデルMO2と、第2学習モデルMO3とを生成する。
【0018】
より具体的な例を挙げると、端末装置20は、第1学習モデルMO2によって出力された出力情報が特徴量を示すベクトルデータであり、かかるベクトルデータを情報処理装置100に送信する。そして、情報処理装置100は、受付けたベクトルデータを第2学習モデルMO3に入力する。
【0019】
このように、情報処理装置100は、所定の入力情報IN1が第1学習モデルMO2に入力され、第2学習モデルMO3が出力情報OU1を出力するように、第1学習モデルMO2と、第2学習モデルMO3とを生成する。
【0020】
そして、情報処理装置100は、第1学習モデルMO2を端末装置20に提供する(ステップS3)。
【0021】
次に、図1を用いて、情報処理装置100が評価結果に基づいて第2学習モデルMO3のパラメータを更新する更新処理について説明する。図1に示すように、端末装置20は、情報処理装置100に通知情報を通知する(ステップS4)。例えば、端末装置20は、第1学習モデルMO2が示すデータ容量を計測する。そして、端末装置20は、所定の期間毎に、データ容量に関する情報を通知情報として、情報処理装置100に通知する。
【0022】
続いて、情報処理装置100は、通知情報に基づいて、第1学習モデルMO2が示すデータ容量が所定の閾値以上であるか否かを評価する(ステップS5)。そして、情報処理装置100は、評価結果に基づいて、第2学習モデルMO3のパラメータを更新する(ステップS6)。例えば、情報処理装置100は、第1学習モデルMO2が示すデータ容量が所定の閾値以上である場合に、第2学習モデルMO3のパラメータを更新する。この場合、情報処理装置100は、第1学習モデルMO2が示すデータ容量が所定の閾値未満になるように、第2学習モデルMO3のデータ容量を大きくするように第2学習モデルMO3を更新する。そして、情報処理装置100は、データ容量が所定の閾値未満になった第1学習モデルMO2を端末装置20にさらに提供してもよい。
【0023】
従来、学習ジョブを分割して処理するに過ぎないため、学習モデルに基づく情報処理をより効率的に実行する点で改善の余地があった。そこで、実施形態に係る情報処理装置100は、一の学習モデルを利用者によって利用される端末装置20用に分割した第1学習モデルと、端末装置20と通信可能な情報処理装置100によって利用される第2学習モデルであって、一の学習モデルを情報処理装置100用に分割した第2学習モデルとを生成する。そして、情報処理装置100は、第1学習モデルを端末装置20に提供する。このように、情報処理装置100は、学習モデルに基づく情報処理をより効率的に実行することができる。
【0024】
このように、情報処理装置100は、学習モデルを端末装置20にも利用させる際に、学習モデルを構成する各階層のうち、変動の少ない又は変動が起こらない階層と、変動の頻度が多い階層、変動が大きい階層、又は、出力情報の精度に影響する階層に分割することができる。これにより、情報処理装置100は、端末装置20側には変動の少ない又は変動が起こらない階層を適用し、情報処理装置100側には変動の頻度が多い階層、変動が大きい階層、又は、出力情報の精度に影響する階層を適用することができる。
【0025】
このように、情報処理装置100は、端末装置20に提供する第1学習モデルのデータ容量を小さくすることができる。また、情報処理装置100は、端末装置20によって利用される第1学習モデルの更新頻度を低減することができる。これにより、端末装置20は、情報処理の負荷を軽減することができる。また、情報処理装置100は、端末装置20が第1学習モデルを利用することで出力された出力情報を情報処理装置100に送信するため、情報処理装置100と、端末装置20との通信のセキュリティを向上させることができる。また、情報処理装置100は、学習モデルに基づく情報処理の一部を端末装置20側で実行することができるため、情報処理のためのリソースの削減を行うことができる。
【0026】
〔2.情報処理システムの構成〕
図2に示すように、情報処理システム1は、外部サーバ10と、端末装置20と、情報処理装置100とを含む。外部サーバ10、端末装置20及び情報処理装置100は、ネットワークNを介して、有線又は無線により通信可能に接続される。なお、図2に示す情報処理システム1には、複数台の外部サーバ10や、複数台の端末装置20や、複数台の情報処理装置100が含まれてもよい。
【0027】
実施形態に係る外部サーバ10は、各種学習モデルや、各種電子商取引サービスに関する情報が記憶され、学習モデルや、電子商取引サービスに関する情報を提供する情報処理装置であり、例えば、サーバ装置又はクラウドシステム等により実現される。例えば、外部サーバ10は、学習モデルに関する情報を情報処理装置100に提供する。
【0028】
また、外部サーバ10は、電子商取引サービスに関する情報として、電子商取引サービスにて取扱われている商品に関する各種情報や、電子商取引サービスを利用する利用者に関するログを情報処理装置100に提供する。
【0029】
実施形態に係る端末装置20は、ブラウザに表示されるウェブページやアプリケーション用のコンテンツ等のコンテンツにアクセスする利用者によって利用される情報処理装置である。例えば、端末装置20は、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット端末や、携帯電話機や、PDA(Personal Digital Assistant)等である。
【0030】
実施形態に係る情報処理装置100は、ネットワークNを介して、各種の装置と通信可能な情報処理装置であり、例えば、サーバ装置又はクラウドシステム等により実現される。例えば、情報処理装置100は、ネットワークNを介して、他の各種装置と通信可能に接続される。
【0031】
〔3.情報処理装置の構成〕
以下、上記した情報処理装置100が有する機能構成の一例について説明する。図2は、実施形態に係る情報処理装置100の構成例を示す図である。図2に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0032】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線又は無線で接続され、他の各種装置との間で情報の送受信を行う。
【0033】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部120は、学習モデル121と、第2学習モデル122と、評価情報記憶部123とを有する。
【0034】
(評価情報記憶部123について)
評価情報記憶部123は、評価した評価結果に関する各種情報を記憶する。ここで、図3に、実施形態に係る評価情報記憶部123の一例を示す。図3に示した例では、評価情報記憶部123は、「評価結果ID(Identifier)」、「学習モデルID」、「評価項目」、「評価結果」を含む。
【0035】
「評価結果ID」は、一の学習モデルに対応する評価結果を識別する識別子である。「学習モデルID」は、「評価結果ID」に対応付けられた学習モデルを識別する識別子である。「評価項目」は、「評価結果ID」に対応付けられた評価項目に関する情報である。例えば、評価項目は、第1学習モデルが示すデータ容量や、第2学習モデルによって出力された出力情報が示す値や、端末装置20と情報処理装置100との通信速度等である。「評価結果」は、「評価結果ID」に対応付けられた評価項目の評価結果である。
【0036】
例えば、図3では、評価結果IDによって識別された「E1」は、学習モデルが「MO1」であり、評価項目が「EI1」であり、評価結果が「ER1」である。なお、図3に示した例では、評価項目等を、「EI1」等の抽象的な符号で表現したが、評価項目等は、数値や、文字列や、評価項目等を示す各種情報を含むファイルのファイル形式等であってもよい。
【0037】
(制御部130について)
制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0038】
図2に示すように、制御部130は、受付部131と、生成部132と、提供部133と、評価部134と、更新部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図2に示した接続関係に限られず、他の接続関係であってもよい。
【0039】
(受付部131について)
受付部131は、各種情報を受付ける。例えば、受付部131は、学習モデル121を外部サーバ10から受付ける。そして、受付部131は、学習モデル121を記憶部120に記憶する。
【0040】
また、受付部131は、所定の期間毎に、データ容量に関する情報を端末装置20から受付ける。例えば、端末装置20が、第1学習モデルが示すデータ容量を計測するものとする。また、端末装置20が所定の期間毎に、データ容量に関する情報を通知情報として通知するものとする。この場合、受付部131は、データ容量に関する情報を端末装置20から受付ける。
【0041】
(生成部132について)
生成部132は、各種学習モデルを生成する。具体的には、生成部132は、学習モデル121を利用者によって利用される端末装置20用に分割した第1学習モデルと、端末装置20と通信可能な情報処理装置100によって利用される第2学習モデル122であって、学習モデル121を情報処理装置100用に分割した第2学習モデル122とを生成する。そして、生成部132は、かかる第2学習モデル122を記憶部120に記憶する。
【0042】
まず、学習モデル121を分割する方法について説明する。例えば、学習モデル121が各階層によって構成されるものとする。この場合、生成部132は、学習モデル121に含まれる各階層のうち、パラメータが変動しない階層、又は、パラメータが所定の範囲内の変動量で変動する階層に基づいて、第1学習モデルを生成する。
【0043】
そして、生成部132は、第1学習モデルに割り当てた階層以外の階層に基づいて、第2学習モデル122を生成する。例えば、生成部132は、学習モデル121に含まれる各階層のうち、パラメータが変動する階層、又は、パラメータが、第1学習モデルを生成した場合の所定の範囲内の変動量よりも大きい変動量で変動する階層に基づいて第2学習モデル122を生成する。
【0044】
より具体的な例を挙げると、生成部132は、学習モデル121に含まれる各階層のうち、パラメータの変動の頻度が多い階層、パラメータの変動が大きい階層、又は、出力情報の精度に影響する階層に基づいて第2学習モデルを生成する。
【0045】
次に、学習モデル121を分割した後の第1学習モデルと、第2学習モデル122とのデータ容量の関係性について説明する。例えば、生成部132は、第1学習モデルが示すデータ容量が、第2学習モデル122が示すデータ容量よりも小さくなるように、第1学習モデルと、第2学習モデル122とを生成する。
【0046】
次に、学習モデル121に対する入出力処理と、学習モデル121を分割した後の第1学習モデル及び第2学習モデル122の入出力処理との関係性について説明する。例えば、学習モデル121が所定の入力情報IN1が入力された場合に、出力情報OU1を出力するものとする。この場合、生成部132は、所定の入力情報IN1が第1学習モデルに入力され、第1学習モデルによって出力された出力情報が、第2学習モデル122の入力情報として、入力されるように、第1学習モデルと、第2学習モデル122とを生成する。なお、端末装置20は、第1学習モデルによって出力された出力情報が特徴量を示すベクトルデータであり、生成部132は、端末装置20によって送信されたベクトルデータが第2学習モデル122に入力されるように、第2学習モデル122を生成する。
【0047】
このように、生成部132は、所定の入力情報IN1が第1学習モデルに入力され、第2学習モデル122が出力情報OU1を出力するように、第1学習モデルと、第2学習モデル122とを生成する。
【0048】
(提供部133について)
提供部133は、各種情報を提供する。例えば、提供部133は、生成部132によって生成された第1学習モデルを端末装置20に提供する。
【0049】
また、提供部133は、データ容量が所定の閾値未満になった第1学習モデルを端末装置20にさらに提供してもよい。
【0050】
(評価部134について)
評価部134は、第1学習モデル又は第2学習モデルを所定の条件に基づいて評価する。例えば、評価部134は、端末装置20によって通知された通知情報に基づいて、第1学習モデルが示すデータ容量が所定の閾値以上であるか否かを評価する。
【0051】
(更新部135について)
更新部135は、評価部134によって評価された評価結果に基づいて、第2学習モデル122を更新する。具体的には、更新部135は、評価結果に基づいて、第2学習モデル122のパラメータを変更する。
【0052】
例えば、更新部135は、第1学習モデルが示すデータ容量が所定の閾値以上である場合に、第2学習モデル122のパラメータを更新する。この場合、更新部135は、第1学習モデルが示すデータ容量が所定の閾値未満になるように、第2学習モデル122のデータ容量を大きくするように第2学習モデル122を更新する。
【0053】
〔4.処理手順(1)〕
次に、図4を用いて、実施形態に係る情報処理装置100が実行する提供処理の手順について説明する。図4は、実施形態に係る情報処理装置100が実行する提供処理の流れの一例を示すフローチャートである。
【0054】
図4に示すように、受付部131は、学習モデルを外部サーバ10から受付ける(ステップS101)。具体的には、受付部131は、学習モデルを外部サーバ10から受付けていない場合(ステップS101;No)、学習モデルを受付けるまで待機する。
【0055】
一方、生成部132は、受付部131が学習モデルを外部サーバ10から受付けた場合(ステップS101;Yes)、受付部131によって受付けられた学習モデルを分割することで、第1学習モデルと、第2学習モデルとを生成する(ステップS102)。そして、提供部133は、生成部132によって生成された第1学習モデルを端末装置20に提供する(ステップS103)。
【0056】
〔5.処理手順(2)〕
次に、図5を用いて、実施形態に係る情報処理装置100が実行する更新処理の手順について説明する。図5は、実施形態に係る情報処理装置100が実行する更新処理の流れの一例を示すフローチャートである。
【0057】
図5に示すように、評価部134は、所定のタイミングか否かを判定する(ステップS201)。具体的には、評価部134は、所定のタイミングではないと判定した場合(ステップS201;No)、待機する。
【0058】
一方、評価部134は、所定のタイミングであると判定した場合(ステップS201;Yes)、評価項目に対応する評価結果が所定の条件を満たすか否かを評価する(ステップS202)。
【0059】
具体的には、評価部134は、評価項目に対応する評価結果が所定の条件を満たすと評価した場合(ステップS202;Yes)、処理を終了する。一方、更新部135は、評価部134が評価項目に対応する評価結果が所定の条件を満たさないと評価した場合(ステップS202;No)、第2学習モデルを更新する(ステップS203)。
【0060】
〔6.変形例〕
上述した情報処理装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理装置100の他の実施形態について説明する。
【0061】
〔6-1.適用例〕
上記実施形態では、情報処理装置100が実行する情報処理が電子商取引サービスに適用される例を示したが、これに限定されない。例えば、情報処理装置100が実行する情報処理は、学習モデルに基づく情報処理を新規に導入するサービスや、オークションサービスや、フリーマーケットサービス等に適用されてもよい。
【0062】
より具体的な例を挙げると、情報処理装置100が実行する情報処理は、オークションサービスにおいて、取引対象が属するカテゴリを推定する際に利用される学習モデルに対して実行されてもよい。また、情報処理装置100が実行する情報処理は、フリーマーケットサービスにおいて、取引対象と類似する取引対象を検索する際に利用される学習モデルに対して実行されてもよい。
【0063】
〔6-2.学習モデルを分割する数〕
上記実施形態では、生成部132は、学習モデルMO1を利用者によって利用される端末装置20用に分割した第1学習モデルMO2と、端末装置20と通信可能な情報処理装置100によって利用される第2学習モデルMO3であって、学習モデルMO1を情報処理装置100用に分割した第2学習モデルMO3とを生成する例を示したが、これに限定されない。例えば、生成部132は、学習モデルMO1を任意の数の学習モデルに分割して生成してもよい。例えば、生成部132は、第1学習モデルと、第2学習モデルをさらに分割した第2学習モデル(1)と、第2学習モデル(2)とを生成してもよい。
【0064】
〔6-3.精度の評価〕
上記実施形態では、更新部135は、端末装置20によって通知された通知情報に基づいて、第1学習モデルが示すデータ容量が所定の閾値以上である場合に、第2学習モデル122のパラメータを更新する例を示したが、これに限定されない。例えば、評価部134は、第2学習モデルによって出力された出力情報が示す値が所定の範囲内に含まれるか否かを評価し、更新部135は、かかる値が所定の範囲内に含まれない場合に、第2学習モデルのパラメータを変更してもよい。
【0065】
より具体的な例を挙げると、更新部135は、第2学習モデルによって出力された出力情報が示す値が所定の範囲内に含まれない場合に、第2学習モデル122のパラメータを更新する。すなわち、更新部135は、第2学習モデルによって出力された出力情報の精度が所定の閾値未満である場合に、第2学習モデル122のパラメータを更新してもよい。
【0066】
このように、更新部135は、値が所定の範囲内に含まれない場合に、第2学習モデルのパラメータを変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0067】
〔6-4.ネットワーク速度の評価〕
上記実施形態では、更新部135は、端末装置20によって通知された通知情報に基づいて、第1学習モデルが示すデータ容量が所定の閾値以上である場合に、第2学習モデル122のパラメータを更新する例を示したが、これに限定されない。例えば、評価部134は、端末装置20と情報処理装置100との通信速度が所定の閾値未満であるか否かを評価し、更新部135は、かかる通信速度が所定の閾値未満である場合に、第2学習モデルのパラメータを変更してもよい。
【0068】
より具体的な例を挙げると、端末装置20及び情報処理装置100が所定の期間毎に通信速度を計測するものとする。この場合、更新部135は、端末装置20と情報処理装置100との通信速度が所定の閾値未満である場合に、第2学習モデルのパラメータを変更してもよい。
【0069】
このように、更新部135は、通信速度が所定の閾値未満である場合に、第2学習モデルのパラメータを変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0070】
〔6-5.パラメータ〕
上記実施形態では、更新部135が評価結果に基づいて、第2学習モデルのパラメータを更新する例を挙げて説明したが、これに限定されない。例えば、更新部135は、第2学習モデルのパラメータ以外にも、第1学習モデルと、第2学習モデルとが分割された位置を変更してもよい。
【0071】
より具体的な例を挙げると、学習モデルMO1に含まれる各階層のうち、第1学習モデルMO2と、第2学習モデルMO3とが分割された位置が第1階層であるものとする。この場合、更新部135は、評価結果に基づいて、第1学習モデルと、第2学習モデルとが分割された位置である第1階層を、第1階層とは異なる他の階層である第2階層に変更してもよい。このとき、更新部135は、かかる第2階層に基づいて、第2学習モデルMO3を更新してもよい。
【0072】
このように、更新部135は、第1学習モデルと、第2学習モデルとが分割された位置を変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0073】
〔6-6.プログラム〕
また、上述した実施形態に係る情報処理装置100は、例えば、図6に示すような構成のコンピュータ1000によって実現される。図6は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0074】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0075】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0076】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0077】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0078】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0079】
例えば、コンピュータ1000が情報処理装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。
【0080】
〔6-7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0081】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0082】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組合せることが可能である。
【0083】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【0084】
〔7.効果〕
上述してきたように、実施形態に係る情報処理装置100は、生成部132と、提供部133とを有する。生成部132は、一の学習モデルを利用者によって利用される端末装置20用に分割した第1学習モデルと、端末装置20と通信可能な情報処理装置100によって利用される第2学習モデルであって、一の学習モデルを情報処理装置100用に分割した第2学習モデルとを生成する。提供部133は、第1学習モデルを端末装置20に提供する。
【0085】
実施形態に係る情報処理装置100は、一の学習モデルを利用者によって利用される端末装置20用に分割した第1学習モデルと、端末装置20と通信可能な情報処理装置100によって利用される第2学習モデルであって、一の学習モデルを情報処理装置100用に分割した第2学習モデルとを生成する。そして、情報処理装置100は、第1学習モデルを端末装置20に提供する。これにより、情報処理装置100は、端末装置20によって第1学習モデルが利用され、情報処理装置100によって第2学習モデルが利用されることで、学習モデルに基づく情報処理を協同的に実行する。このように、情報処理装置100は、学習モデルに基づく情報処理をより効率的に実行することができる。
【0086】
また、実施形態に係る情報処理装置100において、生成部132は、一の学習モデルに含まれる各階層のうち、パラメータが所定の範囲内の変動量で変動する階層に基づいて第1学習モデルを生成し、パラメータが当該変動量よりも大きい変動量で変動する階層に基づいて第2学習モデルを生成する。
【0087】
これにより、実施形態に係る情報処理装置100は、一の学習モデルに含まれる各階層のうち、パラメータが所定の範囲内の変動量で変動する階層に基づいて第1学習モデルを生成し、パラメータが当該変動量よりも大きい変動量で変動する階層に基づいて第2学習モデルを生成するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0088】
また、実施形態に係る情報処理装置100において、生成部132は、第2学習モデルが示すデータ容量よりも小さいデータ容量を有する学習モデルを第1学習モデルとして生成する。
【0089】
これにより、実施形態に係る情報処理装置100は、第2学習モデルが示すデータ容量よりも小さいデータ容量を有する学習モデルを第1学習モデルとして生成するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0090】
また、実施形態に係る情報処理装置100において、生成部132は、所定の入力情報が第1学習モデルに入力され、第1学習モデルによって出力された出力情報が、第2学習モデルの入力情報として、第2学習モデルに入力されるように、第1学習モデルと、第2学習モデルとを生成する。
【0091】
これにより、実施形態に係る情報処理装置100は、所定の入力情報が第1学習モデルに入力され、第1学習モデルによって出力された出力情報が、第2学習モデルの入力情報として、第2学習モデルに入力されるように、第1学習モデルと、第2学習モデルとを生成するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0092】
また、実施形態に係る情報処理装置100において、生成部132は、第1学習モデルと、第2学習モデルをさらに分割した第2学習モデル(1)と、第2学習モデル(2)とを生成する。
【0093】
これにより、実施形態に係る情報処理装置100は、第1学習モデルと、第2学習モデルをさらに分割した第2学習モデル(1)と、第2学習モデル(2)とを生成するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0094】
また、実施形態に係る情報処理装置100において、第1学習モデル又は第2学習モデルを所定の条件に基づいて評価する評価部134と、評価部134によって評価された評価結果に基づいて、第2学習モデルを更新する更新部135とをさらに備える。
【0095】
これにより、実施形態に係る情報処理装置100は、第1学習モデル又は第2学習モデルが所定の条件に基づいて評価された評価結果に基づいて、第2学習モデルを更新するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0096】
また、実施形態に係る情報処理装置100において、更新部135は、評価結果に基づいて、第2学習モデルのパラメータを変更する。
【0097】
これにより、実施形態に係る情報処理装置100は、評価結果に基づいて、第2学習モデルのパラメータを変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0098】
また、実施形態に係る情報処理装置100において、評価部134は、端末装置20によって通知された通知情報に基づいて、第1学習モデルが示すデータ容量が所定の閾値以上であるか否かを評価し、更新部135は、データ容量が所定の閾値以上である場合に、第2学習モデルのパラメータを変更する。
【0099】
これにより、実施形態に係る情報処理装置100は、データ容量が所定の閾値以上である場合に、第2学習モデルのパラメータを変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0100】
また、実施形態に係る情報処理装置100において、評価部134は、第2学習モデルによって出力された出力情報が示す値が所定の範囲内に含まれるか否かを評価し、更新部135は、値が所定の範囲内に含まれない場合に、第2学習モデルのパラメータを変更する。
【0101】
これにより、実施形態に係る情報処理装置100は、値が所定の範囲内に含まれない場合に、第2学習モデルのパラメータを変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。例えば、情報処理装置100は、実際に利用者に対して提供されるサービスにおいて使用するデータセットを利用して出力情報が示す値の精度を評価することで、第2学習モデルを最適な状態に保つことができる。
【0102】
また、実施形態に係る情報処理装置100において、評価部134は、端末装置20と情報処理装置100との通信速度が所定の閾値未満であるか否かを評価し、更新部135は、通信速度が所定の閾値未満である場合に、第2学習モデルのパラメータを変更する。
【0103】
これにより、実施形態に係る情報処理装置100は、通信速度が所定の閾値未満である場合に、第2学習モデルのパラメータを変更するため、学習モデルに基づく情報処理をより効率的に実行することができる。
【0104】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【0105】
N ネットワーク
1 情報処理システム
10 外部サーバ
20 端末装置
100 情報処理装置
110 通信部
120 記憶部
121 学習モデル
122 第2学習モデル
123 評価情報記憶部
130 制御部
131 受付部
132 生成部
133 提供部
134 評価部
135 更新部
図1
図2
図3
図4
図5
図6