JPWO2020026741A1 - 情報処理方法、情報処理装置及び情報処理プログラム - Google Patents

情報処理方法、情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JPWO2020026741A1
JPWO2020026741A1 JP2020534148A JP2020534148A JPWO2020026741A1 JP WO2020026741 A1 JPWO2020026741 A1 JP WO2020026741A1 JP 2020534148 A JP2020534148 A JP 2020534148A JP 2020534148 A JP2020534148 A JP 2020534148A JP WO2020026741 A1 JPWO2020026741 A1 JP WO2020026741A1
Authority
JP
Japan
Prior art keywords
neural network
information
information processing
unit
evaluation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020534148A
Other languages
English (en)
Other versions
JP7287397B2 (ja
Inventor
高橋 亮
亮 高橋
愉希夫 大渕
愉希夫 大渕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2020026741A1 publication Critical patent/JPWO2020026741A1/ja
Application granted granted Critical
Publication of JP7287397B2 publication Critical patent/JP7287397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Physiology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本開示に係る情報処理方法は、コンピュータが、第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価し、前記ニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する。

Description

本開示は、情報処理方法、情報処理装置及び情報処理プログラムに関する。詳しくは、ニューラルネットワークの構造を自動探索する処理に関する。
様々な技術分野において、脳神経系の仕組みを模したニューラルネットワークが活用されている。また、ニューラルネットワークによる学習の精度は、与えられるデータやネットワークの構造に大きく依存することが知られていることから、ニューラルネットワークにおける適切な構造を探索する技術も提案されている。
例えば、ニューラルネットワークの評価結果に基づいてパレート最適解を更新し、パレート最適解に係るニューラルネットワークから、構造の異なる別のニューラルネットワークを生成することで、環境に応じた構造を効率的に探索する技術が知られている。
国際公開第2017/154284号
従来技術によれば、遺伝的操作によってネットワーク構造を順次生成しながら、最適な構造を探索する。このとき、従来技術は、認識性能に加えて演算量も考慮するため、演算性能の低い計算機にも処理可能なネットワーク構造を獲得し得る。
しかしながら、従来技術は、単一の機器でニューラルネットワークを処理する場合を想定している。このため、例えば複数の機器でニューラルネットワークを共有するような分散処理が行われる場合においては、最適なネットワーク構造を探索できるとは限らない。
そこで、本開示では、ニューラルネットワークの分散処理における適切なネットワーク構造を探索することができる情報処理方法、情報処理装置及び情報処理プログラムを提案する。
上記の課題を解決するために、本開示に係る一形態の情報処理方法は、コンピュータが、第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価し、前記ニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する。
本開示に係る情報処理方法、情報処理装置及び情報処理プログラムによれば、ニューラルネットワークの分散処理における適切なネットワーク構造を探索することができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本開示の第1の実施形態に係る情報処理システムを示す図である。 本開示に係るユーザインターフェイスの一例を示す図である。 本開示に係るニューラルネットワークの構造を説明するための図(1)である。 本開示に係るニューラルネットワークの構造を説明するための図(2)である。 本開示の第1の実施形態に係る情報処理装置の構成例を示す図である。 本開示の第1の実施形態に係る演算器情報記憶部の一例を示す図である。 本開示の第1の実施形態に係る通信規格記憶部の一例を示す図である。 本開示の第1の実施形態に係るモデル記憶部の一例を示す図である。 本開示に係る遺伝的操作による構造探索の一例を示す図である。 本開示に係る演算器情報に基づく構造探索の一例を示す図である。 本開示の第1の実施形態に係る情報処理サーバの構成例を示す図である。 本開示の第1の実施形態に係る端末装置の構成例を示す図である。 本開示の第1の実施形態に係る情報処理の手順を示すフローチャートである。 本開示の第1の実施形態に係る探索処理の手順を示すフローチャートである。 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
(1.第1の実施形態)
[1−1.本開示に係るニューラルネットワークについて]
ニューラルネットワークとは、人間の脳神経回路を模したモデルであり、人間が持つ学習能力をコンピュータ上で実現しようとする技法である。ニューラルネットワークは、学習能力を有することを特徴の一つとする。ニューラルネットワークでは、シナプスの結合によりネットワークを形成した人工ニューロン(ノード)が、学習によりシナプスの結合強度を変化させることで、問題に対する解決能力を獲得する。すなわち、ニューラルネットワークは、学習を重ねることで、問題に対する解決ルールを自動的に推論する。
ニューラルネットワークによる学習の例としては、画像認識や音声認識が挙げられる。ニューラルネットワークでは、例えば、手書きの数字パターンを繰り返し学習することで、入力される画像情報を0〜9の数字のいずれかに分類することが可能となる。ニューラルネットワークの有する上記のような学習能力は、人工知能(Artificial Intelligence)の発展を推し進める鍵としても注目されている。また、ニューラルネットワークが有するパターン認識力は、種々の産業分野における応用が期待される。
ここで、ニューラルネットワークによる学習の精度は、与えられるデータやネットワーク構造に大きく依存することが知られている。すなわち、ニューラルネットワークによる学習では、与えられるデータの量と質が直接的に性能に影響する。また、同一のデータが与えられた場合でも、ネットワーク構造の異なるニューラルネットワークでは、学習精度に大きな差が生じる可能性がある。
また、ニューラルネットワークによる処理においては、学習精度のほか、演算量も重要な指標の一つとなる。ニューラルネットワークにおいて、演算量は、例えばネットワーク構造に依存して求められる。ニューラルネットワークでは、通常、演算量が増加するほど学習精度が向上する傾向がある。
しかし、演算量は、ニューラルネットワークが搭載されるハードウェアの使用メモリ量や実行時間に大きく影響するため、学習精度の高いニューラルネットワークが必ずしも最良とは限らない。言い換えると、ニューラルネットワークにおいて、演算量と学習精度とは、いわゆるトレードオフの関係となる。このため、演算量を抑えつつ、より学習精度の高いネットワーク構造を探索する手法が求められる。
本開示に係る情報処理は、上記で説明したようなネットワーク構造の探索に着目することで、生成されたニューラルネットワークに対して評価を行う。そして、本開示に係る情報処理は、評価結果に基づいて、効率の良いネットワーク構造を有するニューラルネットワークを生成し、生成したニューラルネットワークをユーザに提供する。なお、本開示において、ニューラルネットワークの生成とは、既存のニューラルネットワークの構造を更新する処理を含む。
例えば、ニューラルネットワークの生成は、突然変異や交叉などを含む遺伝的操作により実現されてもよい。ここで、突然変異とは、生物に見られる遺伝子の突然変異をモデル化したものであってよい。すなわち、本開示に係る情報処理方法では、ネットワークを構成する各レイヤーを遺伝子と見立て、レイヤーを突然変異させることで、ネットワーク構造の異なる別のニューラルネットワークを生成する。また、上記の交叉とは、生物の交配における染色体の部分的交換をモデル化したものであってよい。すなわち、本開示に係る情報処理方法では、2つのネットワークのレイヤー構成を部分的に交換することで、上記の別のニューラルネットワークを生成することができる。なお、本開示に係る突然変異及び交叉の詳細については後述する。
また、本開示に係るニューラルネットワークは、第1の装置と第2の装置とに分散される構造を有する。例えば、第1の装置は、例えばIoT(Internet of Things)機器であり、比較的演算性能の低い計算機である。また、第2の装置は、例えばクラウド上のサーバ装置であり、比較的演算性能の高い計算機である。一例として、第1の装置は、撮影機能を有するカメラであり、第2の装置は、カメラと無線ネットワーク等で接続するサーバ装置である。この場合、想定される情報処理は、カメラが撮影した画像に対する画像認識処理等である。
IoT機器のような、比較的演算性能の低い計算機を用いて画像認識等の高度な処理を実行する場合、IoT機器のみで処理を実行するのではなく、高度な処理を行うことができる機器と分散して処理を行う方が望ましい。例えば、ニューラルネットワークのうち、入力層から中間層の前段部分をIoT機器に分配し、中間層の後段部分から出力層をサーバ側に分配することで、ニューラルネットワークを利用した情報処理を分散することが可能である。
この場合、IoT機器は、比較的小規模なニューラルネットワークを通じて、入力データよりサイズの小さい中間データを取得する。言い換えれば、IoT機器は、入力層に入力される入力データ(例えば画像データ)よりも情報量が小さくなるよう、圧縮された中間データを取得する。かかる圧縮処理ののち、IoT機器は、中間データをサーバ装置に送信する。そして、サーバ装置は、取得した中間データに基づいて、比較的大規模なニューラルネットワークの後段部分の処理を実行する。このような分散処理によれば、入力データをそのままサーバ装置に送るよりも消費電力量等のリソースを抑えながら、高度な認識処理を実現することができる。
そこで、本開示に係る情報処理方法では、上述した演算量等の評価に加えて、第1の装置における圧縮処理や、ニューラルネットワークのうちどのレイヤーで中間データを伝送するか(以下、この伝送箇所を「伝送ポイント」と表記する)等、データの伝送に関する情報に基づいて、前段と後段とに分割されるニューラルネットワークに対する評価を行う。これにより、本開示に係る情報処理方法は、分割されるニューラルネットワークにおいて効率の良い構造を適切に探索することができる。以下、本開示に係る情報処理方法について、具体的な実施例を挙げて説明する。
[1−2.第1の実施形態に係る情報処理の概要]
図1は、本開示の第1の実施形態に係る情報処理の概要を示す図である。本開示の第1の実施形態に係る情報処理は、図1に示す情報処理システム1によって実現される。情報処理システム1は、情報処理装置100と、情報処理サーバ200と、端末装置300とを含む。
情報処理装置100は、本開示に係る情報処理装置の一例であり、ニューラルネットワークの構造を探索するユーザ10によって管理されるサーバ装置である。情報処理装置100は、ユーザ10の操作に従ってニューラルネットワークを生成する。
情報処理サーバ200は、本開示に係る第2の装置の一例であり、情報処理装置100によって生成されたニューラルネットワークのうち、後段の処理を実行するサーバ装置である。
端末装置300は、本開示に係る第1の装置の一例であり、情報処理装置100によって生成されたニューラルネットワークのうち、前段の処理を実行する情報処理端末である。
以下、図1を用いて、本開示の情報処理の概要を流れに沿って説明する。まず、ユーザ10は、情報処理装置100から提供される所定のユーザインターフェイスを介して、自身が生成を要望するニューラルネットワークを指定する(ステップS1)。例えば、ユーザ10は、自身が実行したい処理(画像認識や音声認識等)に適した基本的なニューラルネットワークの構造を指定する。一例として、ユーザ10は、画像認識を行うためのニューラルネットワークを生成する場合には、入力される画像データの解像度等に応じたレイヤー構造等を指定する。
また、ユーザ10は、実際にニューラルネットワークに基づく処理を実行する情報処理サーバ200や端末装置300に関する情報を指定する。例えば、ユーザ10は、端末装置300が備える演算能力や、後段のニューラルネットワークが置かれる情報処理サーバ200のサービス提供先等を指定する。また、ユーザ10は、端末装置300と情報処理サーバ200との間の通信規格等を指定する。
この点について、図2を用いて説明する。図2は、本開示に係るユーザインターフェイスの一例を示す図である。ユーザ10は、ユーザインターフェイス50を介して、自身が生成を要望するニューラルネットワークに関する情報を入力する。
例えば、ユーザ10は、ニューラルネットワークの前段を処理する端末装置300の演算器に関する情報を入力する。例えば、ユーザ10は、プルダウン表示52から、端末装置300が備えるボード名や、SoC(System-on-a-Chip)や、アーキテクチャを選択する。詳細は後述するが、情報処理装置100は、これら選択される情報に対応する所定の数値を記憶しており、ユーザ10の選択に応じて、ニューラルネットワークの構造を変化させることができる。
なお、図2で示した情報の選択は一例であり、プルダウン表示52は、例えば端末装置300の機種名やメーカー名を選択させるものであってもよい。この場合、情報処理装置100は、ユーザ10から端末装置300のボード名等を指定されずとも、端末装置300の機種名やメーカー名に対応した情報を記憶しておくことで、選択された機種に対応する演算器や演算能力を参照することができる。
また、ユーザ10は、プルダウン表示54から、端末装置300と情報処理サーバ200との間の通信規格や、通信規格に関する、より詳細な情報を指定するサブカテゴリや詳細の欄の情報を選択する。通信規格は、例えば、3Gや4G、LTE(Long Term Evolution)等である。
また、ユーザ10は、プルダウン表示56から、ニューラルネットワークの後段部分を置くクラウドサーバ等を提供するサービス提供企業の名称や、具体的なサービス名や、詳細情報を選択する。サービス提供企業とは、比較的高度な処理を行うためのクラウドサービスをユーザ10や一般企業等に提供する企業をいう。
情報処理装置100は、上記のようにユーザ10に選択される情報に対応した所定の数値を予め記憶部120に格納しておき、ユーザ10が選択した情報に適するニューラルネットワークの構造を探索する。
ここで、図3に用いて、端末装置300と情報処理サーバ200とに分割されて保持されるニューラルネットワークの構造について説明する。図3は、本開示に係るニューラルネットワークの構造を説明するための図(1)である。
図3に示す例では、ネットワークを介して、端末装置300から情報処理サーバ200に中間データが送信される状況を概念的に示す(ステップS11)。このような処理が行われる場合、図3に示すように、端末装置300は、第N層(Nは任意の自然数)の中間層を有するニューラルネットワークにおいて、ニューラルネットワークの前段部分20を保持する。また、情報処理サーバ200は、ニューラルネットワークの後段部分25を保持する。そして、端末装置300は、前段部分20の処理を行い、中間データを伝送ポイント(図3の例では第3層)で送信する(ステップS12)。情報処理サーバ200は、伝送ポイントで送信された中間データを受信し、第4層以下の後段部分25を用いて処理を行う。
続けて、図4を用いて、図3に示したニューラルネットワークが取り扱う情報量を概念的に示す。図4は、本開示に係るニューラルネットワークの構造を説明するための図(2)である。
図4のグラフ30は、ニューラルネットワークの構造と情報量との関係を図示したものである。図4に示す表示32(図4に示す「input_size」)は、ニューラルネットワークの入力層に入力される入力データの情報量を示す。また、図4に示す表示34(図4に示す「compressed_size」)は、入力データよりも情報量が圧縮された際の情報量を示す。また、図4に示す表示36(図4に示す「transfer_point」)は、中間データを情報処理サーバ200に伝送するポイントである伝送ポイントを示す。
本開示に係るニューラルネットワークでは、各層のうち、出力される情報のサイズが最大となる層よりも深部(図4の例では、入力層に近い側(より左に近い側)を意味する)にあり、かつ、ニューラルネットワークの入力層から出力される情報のサイズよりも小さい情報が出力される層を、端末装置300から情報処理サーバ200へと情報が伝送される伝送ポイントと決定するものとする。すなわち、上記の条件を満たす層が、ニューラルネットワークにおける伝送ポイントとなる中間層である。グラフ30に示すように、図4の例では、第3層が伝送ポイントに該当する。
なお、グラフ30において、表示38(図4に示す「all_layer_num」)は、当該ニューラルネットワークの層の総数を示す。また、表示40(図4に示す「server_layer_num」)は、当該ニューラルネットワークの後段部分の層の数を示す。また、表示42(図4に示す「出力レイヤー」)は、当該ニューラルネットワークの出力層を示す。
上記のように、情報処理装置100は、条件を満たす伝送ポイントを探索することにより、分割して保持されるニューラルネットワークの構造を決定する。また、情報処理装置100は、可能な限り、端末装置300から情報処理サーバ200に送信される中間データの情報量が少なくなる伝送ポイントを探索する。
これは、分割されたニューラルネットワークにおいて、できる限り早く端末装置300から情報処理サーバ200に情報を送信した方が望ましく、かつ、できる限り送信する情報量を少なくなくした方が、一般的に情報処理の効率が良くなることによる。
図1に戻り説明を続ける。図2乃至図4を用いて説明したように、情報処理装置100は、ユーザ10から指定された情報、及び、伝送ポイントの位置や中間データの圧縮量等の伝送に関する情報に基づいて、ニューラルネットワークを生成する(ステップS2)。
なお、情報処理装置100は、上記の情報に限らず、演算量や端末装置300の演算能力等、種々の情報を総合的に評価して、評価結果に基づいてニューラルネットワークを生成する。
例えば、情報処理装置100は、ニューラルネットワークの評価値の算出において、以下の式(1)を用いる。
Figure 2020026741
式(1)において、「Veval」は、ニューラルネットワークの評価値を示す。「Vrecognition」は、ニューラルネットワークの認識性能を定量化したものである。認識性能は、例えば、ニューラルネットワークの認識処理のF値や適合率、再現率、IoU(Intersection-over-Union)等により示される。情報処理装置100は、上記の数値に対して、適宜、正規化等を行い、評価値としての数値を得る。
「Ccomputation」は、ニューラルネットワークの情報処理に要する演算量を定量化したものである。演算量は、例えば、積和演算数、特定のプロセッサにおけるインストラクション数等により示される。
「Venergy_saving」は、対象とするニューラルネットワークのネットワーク構造の圧縮処理によって、どの程度の電力量が削減されるかをモデル化したものである。「Venergy_saving」の算出の一例について、再度、図4のグラフ30を用いて説明する。例えば、「Venergy_saving」は、ニューラルネットワークの各レイヤーの出力サイズと、入力データのサイズ(図4で示した「input_size」)との関係から、下記式(2)のように示される。
Figure 2020026741
式(2)に示されるように、「Venergy_saving」は、ニューラルネットワーク全体が第2の装置(情報処理サーバ200)で処理される構造となる場合、「0」の値をとる。一方、「Venergy_saving」は、ニューラルネットワーク全体がサーバで処理されない、すなわち分割される構造となる場合、「rcompressinon」と「rdepth」という2つの変数によって求められる。「rcompressinon」は、例えば下記式(3)で示される。
Figure 2020026741
式(3)に示されるように、「rcompressinon」は、「compressed_size」と「input_size」の比である。式(2)及び式(3)によれば、「compressed_size」がより小さくなるほど、「Venergy_saving」の値が大きくなるため、当該ニューラルネットワークに高評価が与えられる。一方、「rdepth」は、例えば下記式(4)で示される。
Figure 2020026741
式(4)に示されるように、「rdepth」は、「server_layer_num」と「all_layer_num」の比である。式(2)及び式(4)によれば、「server_layer_num」がより大きくなる(言い換えれば、「rdepth」がより大きくなる)ほど、「Venergy_saving」の値が大きくなるため、当該ニューラルネットワークに高評価が与えられる。
以上のように、上記式(2)乃至(4)によれば、情報処理装置100は、「よりニューラルネットワークの早い段階(深部)」で、かつ、「できる限り小さい中間データ」を送信する構造を持つニューラルネットワークが、より省電力であると評価する。
なお、上記式(1)において、「k」、「k」「k」は、各変数の係数であり、言い換えれば、評価に関する所定の重み値を示す。これら重み値は、どのような変数に重みをもたせてニューラルネットワークを生成するかといったユーザ10の指定を受けて決定されてもよい。また、重み値は、端末装置300の演算能力や、端末装置300と情報処理サーバ200との間の通信規格等の関係性に基づいて予め設定された数値(情報処理装置100に格納された数値)に基づいて、自動的に決定されてもよい。
情報処理装置100は、式(1)を用いて、生成したニューラルネットワークを評価する。そして、情報処理装置100は、評価値が所定の条件を満たすまで、ニューラルネットワークの構造の探索を継続する。例えば、情報処理装置100は、後述する遺伝的な構造探索手法を用いて、ニューラルネットワークの構造に変化を与え、変化した構造に対する評価値の算出を行う。
情報処理装置100は、探索した構造が所定の条件を満たしている場合(例えば、ユーザ10が予め指定した閾値を評価値が超えている場合等)に、評価したニューラルネットワークの構造が最適であると判定し、提供するニューラルネットワークの構造を決定する。情報処理装置100は、決定した構造に基づいてニューラルネットワークを生成し、生成したニューラルネットワークを記憶部120に格納する。
そして、情報処理装置100は、構造を決定したニューラルネットワークを情報処理サーバ200に送信する(ステップS3)。情報処理サーバ200は、送信されたニューラルネットワークを受信する。そして、情報処理サーバ200は、受信したニューラルネットワークを伝送ポイントで分割する(ステップS4)。情報処理サーバ200は、分割したニューラルネットワークのうち、後段部分を記憶部220に格納する。
さらに、情報処理サーバ200は、分割したニューラルネットワークのうち、前段部分を端末装置300に送信する(ステップS5)。端末装置300は、送信されたニューラルネットワークの前段部分を受信し、受信した前段部分を記憶部320に格納する。
端末装置300は、例えばニューラルネットワークを利用した画像認識処理を実行する機会が発生した場合、ニューラルネットワークの前段部分を用いて、入力された画像データを圧縮した中間データを取得する。そして、端末装置300は、中間データを情報処理サーバ200に送信する。情報処理サーバ200は、端末装置300から送信された中間データをニューラルネットワークの後段部分に入力し、画像認識処理を行う。これにより、端末装置300及び情報処理サーバ200は、情報量の多い画像データをそのまま情報処理サーバ200に送信せずとも、高度な認識処理を実現することができるので、通信や演算の処理負荷を軽減することができる。
このように、本開示に係る情報処理方法は、第1の装置(端末装置300)と第2の装置(情報処理サーバ200)とで分割して保持される構造を有するニューラルネットワークにおける、第1の装置と第2の装置間の情報の伝送に関する情報に基づいて、ニューラルネットワークを評価する。また、本開示に係る情報処理方法は、ニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する。
具体的には、本開示に係る情報処理方法は、伝送に関する情報を評価に用いることにより、エッジ側(端末装置300)が伝送するデータの圧縮量や、伝送ポイントの箇所等に基づいて、分割して保持されるニューラルネットワークの構造探索を行う。これにより、本開示に係る情報処理方法によれば、通信を介した認識処理等の分散された処理がニューラルネットワークを利用して行われる場合における最適な構造を探索することができる。
[1−3.第1の実施形態に係る情報処理装置の構成]
次に、第1の実施形態に係る情報処理を実行する情報処理装置の一例である情報処理装置100の構成について説明する。図5は、本開示の第1の実施形態に係る情報処理装置100の構成例を示す図である。
図5に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100を管理する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークN(インターネット等)と有線又は無線で接続され、ネットワークNを介して、情報処理サーバ200や端末装置300等との間で情報の送受信を行う。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、学習データ記憶部121と、演算器情報記憶部122と、通信規格記憶部123と、モデル記憶部124とを有する。以下、各記憶部について順に説明する。
学習データ記憶部121は、ニューラルネットワークの学習に用いられる学習データ群を記憶する。例えば、学習データは、画像データと、当該画像データの認識結果となる正解データのセット等である。なお、学習データは、情報処理装置100が保持せずに、外部サーバ等から、適宜取得してもよい。
演算器情報記憶部122は、ニューラルネットワークを用いて演算処理を行う装置が有する演算器に関する情報を記憶する。図6に、第1の実施形態に係る演算器情報記憶部122の一例を示す。図6は、本開示の第1の実施形態に係る演算器情報記憶部122の一例を示す図である。図6に示した例では、演算器情報記憶部122は、「装置ID」、「種別」、「演算器情報」といった項目を有する。
「装置ID」は、ニューラルネットワークを用いた処理を実行する装置を識別する識別情報である。「種別」は、装置の種別を示す。
「演算器情報」は、各装置が有する演算器に関する情報を示す。図6では、演算器情報の項目を「演算器情報#1」のように概念的に記載しているが、実際には、演算器情報の項目には、浮動小数点演算を可能な演算器を装置が有しているか、あるいは、その演算性能や、演算に用いるボードやSoC等を識別する情報等、種々の情報が記憶される。詳細は後述するが、情報処理装置100は、各装置が有する演算器や演算性能に応じて、ニューラルネットワークの評価を算出する場合がある。このとき、情報処理装置100は、ニューラルネットワークを実行する装置の演算器情報に基づいて、評価値に対する所定の補正を行ってもよい。
すなわち、図6に示した例では、装置IDが「A01」で識別される装置は、種別が「サーバ」であり、演算器情報が「演算器情報#1」であることを示している。
次に、通信規格記憶部123について説明する。通信規格記憶部123は、ニューラルネットワークが分散されて保持される場合の第1の装置と第2の装置との間の通信で用いられる通信規格と、その通信規格に対して与えられる所定の数値との関係性を記憶する。図7に、第1の実施形態に係る通信規格記憶部123の一例を示す。図7は、本開示の第1の実施形態に係る通信規格記憶部123の一例を示す図である。図7に示した例では、通信規格記憶部123は、「通信規格ID」、「通信規格」、「補正値」といった項目を有する。
「通信規格ID」は、通信規格を識別する識別情報を示す。「通信規格」は、第1の装置と第2の装置との間の通信で用いられる通信規格を示す。「補正値」は、ニューラルネットワークの生成において通信規格がユーザ10から指定された場合に、指定された通信規格に応じて補正される値であり、例えば、式(1)に示す重み値の決定に用いられる。図7では、補正値の項目を「補正値#11」のように概念的に記載しているが、実際には、補正値の項目には、実際に重み値として代入される数値や、重み値の算出において乗算される割合等の数値が記憶される。
すなわち、図7に示した例では、通信規格ID「B01」で識別される通信規格は「3G」であり、その補正値は「補正値#11」であることを示している。
次に、モデル記憶部124について説明する。モデル記憶部124は、情報処理装置100によって生成されたモデル(分割されたニューラルネットワークの構造を有する画像認識モデル等)を記憶する。図8に、第1の実施形態に係るモデル記憶部124の一例を示す。図8は、本開示の第1の実施形態に係るモデル記憶部124の一例を示す図である。図8に示した例では、モデル記憶部124は、「モデルID」、「構造情報」、「伝送情報」、「評価値」といった項目を有する。
「モデルID」は、モデルを識別する識別情報を示す。「構造情報」は、モデルが有する構造情報を示す。図8では、構造情報の項目を「構造情報#1」のように概念的に記載しているが、実際には、構造情報の項目には、全体の層の数や、入力データとして受け付けるデータの種別や情報量、活性化関数の種別等、ニューラルネットワークの構造に関する種々の情報が記憶される。
「伝送情報」は、分割されて保持されるモデルにおける伝送に関する情報を示す。図8では、伝送情報の項目を「伝送情報#1」のように概念的に記載しているが、実際には、伝送情報の項目には、伝送される中間データの圧縮率や、伝送ポイントに関する情報等が記憶される。
「評価値」は、モデルの評価値を示す。図8では、評価値の項目を「評価値#1」のように概念的に記載しているが、実際には、評価値の項目には、式(1)を用いて算出された当該モデルの具体的な評価値の数値等が記憶される。
すなわち、図8に示した例では、モデルID「M01」で識別されるモデルは、構造情報が「構造情報#1」であり、伝送情報が「伝送情報#1」であり、その評価値が「評価値#1」であることを示している。
図5に戻り、説明を続ける。制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図5に示すように、制御部130は、受付部131と、生成部132と、探索部133と、評価部134と、決定部135と、送信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
受付部131は、各種情報を受け付ける。例えば、受付部131は、図2に示したユーザインターフェイス50を介して、ニューラルネットワークの生成要求をユーザ10から受け付ける。
受付部131は、生成要求とともに、画像認識や音声認識等、ニューラルネットワークを利用して行う情報処理の種別をユーザ10から受け付ける。また、受付部131は、入力するデータの種別や解像度等の情報を受け付ける。すなわち、受付部131は、ニューラルネットワークの基本的な構造を決定するために要する、基本的な情報をユーザ10から受け付ける。
また、受付部131は、生成するニューラルネットワークが実行される第1の装置及び第2の装置の構成、第1の装置と第2の装置間の通信規格、及び、ニューラルネットワークが提供される環境に関する情報を、ユーザインターフェイス50を介して受け付ける。
第1の装置及び第2の装置の構成とは、図2に示したプルダウン表示52等を利用してユーザ10から指定される情報であり、例えば、第1の装置のボード名やSoC等の名称である。また、第1の装置と第2の装置間の通信規格とは、図2に示したプルダウン表示54等を利用してユーザ10から指定される情報である。例えば、ユーザ10は、第1の装置及び第2の装置がともに対応している通信規格や、実際にニューラルネットワークを用いた処理が行われる場合に、第1の装置と第2の装置間で想定される通信規格等を指定する。受付部131は、ユーザ10が指定した通信規格を受け付ける。
また、ニューラルネットワークが提供される環境に関する情報とは、図2に示したプルダウン表示56等を利用してユーザ10から指定される情報であり、例えば、ニューラルネットワークの後段が置かれるクラウドサーバ等を提供するサービス提供企業の名称等である。
また、受付部131は、ユーザ10から受け付けた第1の装置及び第2の装置の構成、第1の装置と第2の装置間の通信規格、及び、ニューラルネットワークが提供される環境に関する情報等に基づいて、式(1)における重み値を決定してもよい。例えば、重み値は、情報処理装置100の管理者等によって、予め基準となるような数値が与えられるものとする。具体的には、重み値は、式(1)の「k」、「k」、「k」の合計が「1」となる関係を保持しつつ、例えば、通信規格が「3G」であれば、「k」の値が比較的大きくなるよう補正する等によって決定される。これは、例えば通信規格が「3G」である場合、伝送速度が比較的遅いことから、第1の装置と第2の装置間の伝送が情報処理のボトルネックとなる変数が「Venergy_saving」になる、と想定されることによる。すなわち、第1の装置と第2の装置間の通信が低速で行われることが想定される場合には、より「Venergy_saving」に重みを置いた方が、分割されたニューラルネットワークにおける情報処理が円滑に行われる可能性が高いことによる。なお、重み値の設定は、上記の例に限らず、実際の情報処理による結果を踏まえた学習処理等により、自動的にチューニングされてもよい。また、重み値は、ユーザ10から数値の入力を受け付けることにより決定されてもよい。
生成部132は、第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークを生成する。例えば、生成部132は、受付部131によって受け付けられた情報に基づいて、ユーザ10が要望するニューラルネットワークを生成する。
また、生成部132は、後述する探索部133及び評価部134による処理を経て、生成したニューラルネットワークを更新する。例えば、生成部132は、探索部133による探索処理を経て、既存のニューラルネットワークの構造を更新する。また、生成部132は、評価部134によって算出される評価値に基づいてニューラルネットワークを更新する。例えば、生成部132は、評価部134によって算出された評価値が所定の閾値よりも低い場合、当該ニューラルネットワークの構造が最適でないと判定し、探索部133によって新たに探索される構造にニューラルネットワークを更新する。
探索部133は、ニューラルネットワークの構造を探索する。探索部133は、既知の種々の手法を用いて構造を探索することができる。例えば、探索部133は、遺伝的操作を用いてニューラルネットワークの構造を探索してもよい。
ここで、図9を用いて、探索部133が遺伝的操作を用いてニューラルネットワークの構造を探索する例について説明する。図9は、本開示に係る遺伝的操作による構造探索の一例を示す図である。図9では、遺伝的操作として、突然変異によるニューラルネットワークの構造の探索(新たなニューラルネットワークの生成)を行う例を示す。
具体的には、図9に示す例では、元となる評価済のニューラルネットワーク(以下、「シードネットワーク」と表記する)から、ネットワーク構造の異なる別のニューラルネットワークを生成する。
上述のように、遺伝的操作を用いたニューラルネットワークの構造探索は、突然変異や交叉等を含む。すなわち、本開示に係る探索手法では、ネットワークを構成する各層を遺伝子と見立て、層を突然変異又は交叉させることで、ネットワーク構造の異なる別のニューラルネットワークを生成する。
図9に示す例では、シードネットワークSNは、「Input」及び「Output」を含む10の層から構成される。「Input」は入力層を示し、「Output」は出力層を示す。また、図9に示す「Conv1」及び「Conv2」は、Convolutionレイヤー(畳み込み層)を示す。また、「Pool1」及び「Pool2」は、Max−Pooling(プーリング層)を示す。また、図9に示すように、「Conv1」及び「Conv2」には、カーネルシェイプや出力マップ数などのパラメータが設定される。また、「Pool1」及び「Pool2」には、プールシェイプを示すパラメータが設定される。なお、図9で示す各層については、広く一般に使用されるものであるため、詳細な説明は省略する。また、図9で示す各層の構造は、ニューラルネットワークを利用して処理するタスク固有の情報として、例えばユーザインターフェイス50を介して、ユーザ10によって定義される。
続いて、図9に示すニューラルネットワークMN1について説明する。探索部133は、シードネットワークSNを突然変異又は交叉させることで、別のニューラルネットワークであるニューラルネットワークMN1を生成する(ステップS21)。
図9に示すように、ニューラルネットワークMN1は、シードネットワークSNのネットワーク構造から、レイヤー構成の一部が変化されたものである。具体的には、ニューラルネットワークMN1では、シードネットワークSNに係る活性化関数「relu1」が、別の活性化関数「Tanh1」に変化している。このように、本開示に係る情報処理方法では、ネットワーク構造を構成する層のレイヤー種類を変更することで、ネットワーク構造の異なる別のニューラルネットワークを生成することができる。
さらに、探索部133は、ニューラルネットワークMN1を突然変異又は交叉させることで、別のニューラルネットワークであるニューラルネットワークMN2を生成してもよい(ステップS22)。
図9に示すように、ニューラルネットワークMN2のネットワーク構造では、ニューラルネットワークMN1のレイヤー構成に加え、活性化関数「Abs1」が挿入されている。このように、本開示に係る情報処理方法では、層を新規に挿入することで、ネットワーク構造の異なる別のニューラルネットワークMN2を生成することができる。
なお、遺伝的操作に係る突然変異とは、上記の処理以外にも、例えば、「レイヤー挿入」、「レイヤー削除」、「レイヤー種変更」、「パラメータ変更」、「グラフ分岐」、「グラフ分岐削除」等の操作を含む。また、遺伝的操作に係る交叉とは、ユーザ10が追加で指定したシードネットワークと現在保持するニューラルネットワークの間で、レイヤーを入れ替える操作である。レイヤーの入れ替え方については、一点交叉、二点交叉、多点交叉を始め、様々な手法をサポートし得る。
また、上記で説明した構造探索処理は一例であり、本開示に係る情報処理方法では、構造の探索及び生成手法は、遺伝的操作による例に限定されない。
評価部134は、ニューラルネットワーク(言い換えれば、ニューラルネットワークが有するネットワーク構造)を評価する。
まず、評価部134は、探索部133によって探索されたニューラルネットワークの構造を用いて、学習データ記憶部121等に保持された学習データを学習する。そして、評価部134は、後述するように、伝送に関する情報や省電力効果、ニューラルネットワークの認識性能や演算量等を総合的に考慮した上で、評価値を算出する。なお、上記の学習処理においては、ニューラルネットワークの学習や評価のために開発された既存のソフトウェアライブラリ等が適宜用いられてもよい。
本開示において、評価部134は、第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、第1の装置と第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価する。
例えば、評価部134は、ニューラルネットワークの各層のうち、出力される情報のサイズが最大となる層よりも深部にあり、かつ、当該ニューラルネットワークの入力層から出力される情報のサイズよりも小さい情報が出力される層を、第1の装置から第2の装置へと情報が伝送される伝送ポイントと決定する。そして、評価部134は、決定した伝送ポイントに関する情報に基づいてニューラルネットワークを評価する。
一例として、評価部134は、伝送ポイントよりも浅部に存在する層の数、及び、ニューラルネットワークを構成する層の総数に基づいて、ニューラルネットワークを評価する。具体的には、評価部134は、上記式(1)乃至(4)に示した「Venergy_saving」により示される指標値に基づいて、ニューラルネットワークを評価する。
また、評価部134は、伝送に関する情報のみならず、上記式(1)に示される他の指標値に基づいて、ニューラルネットワークを総合的に評価してもよい。
例えば、評価部134は、ニューラルネットワークの認識性能を示す指標値に基づいて、ニューラルネットワークを評価する。具体的には、評価部134は、上記式(1)の「Vrecognition」で示す指標値に基づいてニューラルネットワークを評価する。一例として、評価部134は、ニューラルネットワークの認識処理のF値や適合率、再現率、IoU等を指標値として正規化した数値等に基づいて、ニューラルネットワークを評価する。
また、評価部134は、ニューラルネットワークにおける演算量に基づいて、前記ニューラルネットワークを評価する。
具体的には、評価部134は、上記式(1)の「Ccomputation」で示す指標値に基づいてニューラルネットワークを評価する。一例として、評価部134は、ニューラルネットワークが実行される際の積和演算数や特定のプロセッサにおけるインストラクション数等に基づいて、ニューラルネットワークを評価する。
また、評価部134は、第1の装置の演算処理の性能に関する情報に基づいてニューラルネットワークを評価してもよい。ニューラルネットワークの前段が処理される端末装置300等の第1の装置は、IoT機器等、種々の装置が想定される。このため、各装置が有する演算処理の性能も、また様々に異なると想定される。このため、評価部134は、第1の装置の演算処理の性能に関する情報を評価対象に加えることにより、より実状に即した評価を得ることができる。
この場合、評価部134は、上記式(1)に変数を追加した下記式(5)を用いて評価を行ってもよい。
Figure 2020026741
式(5)は、式(1)と比較して、重み値「k」と変数「Vefficient_arithmetic」をさらに有する。「Vefficient_arithmetic」は、第1の装置における演算効率を示す。すなわち、評価部134は、通信(伝送)に伴う電力量に限らず、端末装置300等、ニューラルネットワークを処理するデバイス(第1の装置)の計算機としての特性についても考慮して、ニューラルネットワークを評価する。
例えば、ユーザ10は、上記変数の重みを重くすることにより、第1の装置側での演算効率が高まるネットワーク構造を獲得しやすくなる。このことは、第1の装置における特定の表現形式の演算効率が低い場合、その形式の演算数が多いネットワークの評価値を下げることを意味する。
例えば、評価部134は、第1の装置に保持されるニューラルネットワークの各層における浮動小数点演算を行う回数(インストラクション数)と、浮動小数点演算以外の演算を行う回数とに基づいて、ニューラルネットワークを評価してもよい。
すなわち、評価部134は、端末装置300が浮動小数点演算器を保持していない場合、浮動小数演算数が比較的多いニューラルネットワークの評価値を下げる。一方、評価部134は、ニューラルネットワークにおいて、固定小数点数などの量子化手法によって重みや中間データを表現する層が多い場合には、そのニューラルネットワークの評価値を高める。
評価部134は、浮動小数点演算に関する評価値を算出する場合、例えば下記式(6)のような式を用いて、変数「Vefficient_arithmetic」を算出してもよい。
Figure 2020026741
上記式(6)において、「Ndev」は、端末装置300側で処理する層の数を示す。また、「FIi」は、各層において浮動小数点演算器を用いるインストラクション数を示す。また、「OIi」は、その他のインストラクション数を示す。
この点について、図10を用いて説明する。図10は、本開示に係る演算器情報に基づく構造探索の一例を示す図である。なお、図10では、伝送ポイント(「transfer_point」)第3層である例を示す。
図10の表60に示すように、評価部134は、端末装置300内のニューラルネットワークの各層において、浮動小数点演算器を用いるインストラクション数と、その他のインストラクション数とを算出する。なお、図10では、インストラクション数を「#21」のように概念的に示す。そして、評価部134は、表60に示される各インストラクション数を式(6)に代入して「Vefficient_arithmetic」の値を算出するとともに、当該ニューラルネットワークの評価値である「Veval」の値を算出する。例えば、評価部134は、図10に示す表60を記憶部120内に仮想的に展開し、上記の算出処理を経て、「Veval」の値を得る。
なお、上記式(1)や(5)で示されるように、評価値を求める各変数には、所定の重み値が設定される。すなわち、評価部134は、伝送に関する情報、ニューラルネットワークの認識性能を示す指標値、ニューラルネットワークにおける演算量、及び、第1の装置の演算処理の性能に関する情報の各々に所定の重み値を乗算した値に基づいて、ニューラルネットワークを評価する。
また、上述のように、評価部134は、第1の装置及び第2の装置の構成、第1の装置と第2の装置間の通信規格、及び、ニューラルネットワークが提供される環境に関する情報に基づいて、重み値を決定する。あるいは、評価部134は、ユーザ10からの指定に従い、各々の重み値を決定してもよい。これにより、ユーザ10は、自身が重視する性能に重きを置いた重み値を任意に設定できるので、自身が所望するニューラルネットワークの構造を得ることができる。
決定部135は、評価部134によるニューラルネットワークの評価結果に基づいて、ニューラルネットワークの構造を決定する。
例えば、決定部135は、評価部134による評価の結果が所定の閾値を超えるなど、探索処理の終了条件に合致する場合に、当該ニューラルネットワークの構造が最適なものであると判定し、ニューラルネットワークの構造を決定する。
一方、決定部135は、評価部134による評価の結果が所定の閾値以下であるなど、探索処理の終了条件に合致しない場合には、遺伝的操作を加えるなどの探索部133による探索処理を再度実行させてもよい。なお、終了条件は、ユーザ10によって任意に設定されてもよい。終了条件は、ニューラルネットワークの認識性能や演算量、省電力効果、圧縮率、あるいは、探索処理を何度反復させるかといった反復処理の繰り返し回数等を組み合わせて作成されてもよい。
送信部136は、決定部135によって決定された構造を有するニューラルネットワークを第2の装置に送信する。
[1−4.第1の実施形態に係る情報処理サーバの構成]
次に、第1の実施形態に係る第2の装置の一例である情報処理サーバ200の構成について説明する。図11は、本開示の第1の実施形態に係る情報処理サーバ200の構成例を示す図である。
図11に示すように、情報処理サーバ200は、通信部210と、記憶部220と、制御部230とを有する。なお、情報処理サーバ200は、情報処理サーバ200を管理する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部210は、例えば、NIC等によって実現される。通信部210は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、情報処理装置100や端末装置300等との間で情報の送受信を行う。
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部220は、後段モデル記憶部221を有する。
後段モデル記憶部221は、情報処理装置100から送信されたニューラルネットワークのうち、伝送ポイント以後である後段部分を記憶する。
制御部230は、例えば、CPUやMPU等によって、情報処理サーバ200内部に記憶されたプログラムがRAM等を作業領域として実行されることにより実現される。また、制御部230は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
図11に示すように、制御部230は、モデル受信部231と、分割部232と、モデル送信部233と、中間データ受信部234と、認識部235と、認識結果送信部236とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図11に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
モデル受信部231は、情報処理装置100から送信されたモデル(ニューラルネットワークの構造を有する認識処理モデル等)を受信する。
分割部232は、モデル受信部231によって受信されたモデルを分割する。そして、分割部232は、分割したモデルにおけるニューラルネットワークの後段部分を、後段モデル記憶部221に格納する。
モデル送信部233は、分割部232によって分割したモデルにおけるニューラルネットワークの前段部分を、端末装置300に送信する。
中間データ受信部234は、端末装置300から送信される中間データ(端末装置300において圧縮処理されたデータ)を受信する。
認識部235は、中間データ受信部234によって受信された中間データを、ニューラルネットワークの後段部分に入力し、各種認識処理を行う。例えば、認識部235は、入力データが画像データである場合、画像認識処理を行う。
認識結果送信部236は、認識部235によって認識された結果を端末装置300に送信する。これにより、端末装置300のユーザは、自身が入力したデータの認識結果を得ることができる。また、認識結果送信部236は、認識部235によって認識された結果を情報処理装置100に送信してもよい。
[1−5.第1の実施形態に係る端末装置の構成]
次に、第1の実施形態に係る第1の装置の一例である端末装置300の構成について説明する。図12は、本開示の第1の実施形態に係る端末装置300の構成例を示す図である。
図12に示すように、端末装置300は、通信部310と、記憶部320と、制御部330とを有する。なお、端末装置300は、端末装置300を使用するユーザ等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
通信部310は、例えば、NIC等によって実現される。通信部310は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、情報処理装置100や情報処理サーバ200等との間で情報の送受信を行う。
記憶部320は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部320は、前段モデル記憶部321を有する。
前段モデル記憶部321は、情報処理装置100によって生成されたニューラルネットワークのうち、伝送ポイントよりも前段(深部)である後段部分を記憶する。
制御部330は、例えば、CPUやMPU等によって、端末装置300内部に記憶されたプログラムがRAM等を作業領域として実行されることにより実現される。また、制御部330は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
図12に示すように、制御部330は、モデル受信部331と、センシング部332と、認識部333と、中間データ送信部334とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図12に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
モデル受信部331は、情報処理サーバ200から送信されたモデル(ニューラルネットワークの構造を有する認識処理モデル等)の前段部分を受信する。モデル受信部331は、受信したモデルの前段部分を前段モデル記憶部321に格納する。
センシング部332は、各種センサを用いてセンシングを行い、各種データを取得する。例えば、センシング部332は、カメラを用いて画像データを取得する。また、センシング部332は、マイクを用いて音声を取得してもよい。なお、センシング部332は、センサを用いた情報のみならず、例えばユーザから入力されたデータ等、ニューラルネットワークを有するモデルの入力データとなりうる情報であれば、あらゆる情報を取得してもよい。
認識部333は、センシング部332によって取得された情報をニューラルネットワークの前段部分に入力し、各種認識処理を行う。例えば、認識部333は、ニューラルネットワークの前段部分に入力データを入力することにより、入力データよりも情報量が圧縮された中間データを得る。すなわち、認識部333は、ニューラルネットワークにおける伝送ポイントまでの認識処理を行う。
中間データ送信部334は、認識部333によって出力された中間データを情報処理サーバ200に送信する。また、中間データ送信部334は、中間データを情報処理サーバ200に送信したのちに、認識結果を情報処理サーバ200から受信する。これにより、端末装置300は、比較的高度な演算を要する後段部分の処理を行うことなく、画像認識等の結果を得ることができる。
[1−6.第1の実施形態に係る情報処理の手順]
次に、図13及び図14を用いて、第1の実施形態に係る情報処理の手順について説明する。まず、図13を用いて、本開示の第1の実施形態に係る情報処理の全体の流れについて説明する。図13は、本開示の第1の実施形態に係る情報処理の手順を示すフローチャートである。
図13に示すように、情報処理装置100は、ユーザインターフェイス50を介して、モデルの設定情報をユーザ10から受け付けたか否かを判定する(ステップS101)。モデルの設定情報を受け付けていない場合(ステップS101;No)、情報処理装置100は、モデルの設定情報を受け付けるまで待機する。
一方、モデルの設定情報を受け付けた場合(ステップS101;Yes)、情報処理装置100は、ニューラルネットワークの構造に関する探索処理を実行する(ステップS102)。探索処理の詳細は、図14を用いて後述する。
探索処理が完了すると、情報処理装置100は、ニューラルネットワークのネットワーク構造を決定する(ステップS103)。そして、情報処理装置100は、構造が決定したモデルを情報処理サーバ200に送信する(ステップS104)。
次に、図14を用いて、本開示の第1の実施形態に係る探索処理の詳細な流れについて説明する。図14は、本開示の第1の実施形態に係る探索処理の手順を示すフローチャートである。
図14に示すように、情報処理装置100は、基本となるシードネットワークを入力する(ステップS201)。続けて、情報処理装置100は、シードネットワークのネットワーク構造に対して遺伝的操作を加える(ステップS202)。これにより、情報処理装置100は、ネットワーク構造の異なるニューラルネットワークを得る。
そして、情報処理装置100は、得られたニューラルネットワークの評価値を算出する(ステップS203)。続けて、情報処理装置100は、得られた評価値が、探索の終了条件に合致しているか否かを判定する(ステップS204)。
終了条件に合致していない場合(ステップS204;No)、情報処理装置100は、再び、ネットワーク構造に対して遺伝的操作を加えることにより、新たな構造のニューラルネットワークを得る(ステップS202)。
一方、終了条件に合致していた場合(ステップS204;Yes)、情報処理装置100は、探索処理を完了する。
(2.第2の実施形態)
次に、第2の実施形態について説明する。上記第1の実施形態では、情報処理装置100が、第1の装置(端末装置300)の演算性能を評価値に反映する場合に、浮動小数点演算器の有無や、浮動小数点演算の性能を用いる例を示した。ここで、情報処理装置100は、上記とは異なる演算の性能を用いて、第1の装置の演算性能を評価値に反映してもよい。
例えば、第2の実施形態に係る情報処理装置100は、第1の装置に保持されるニューラルネットワークの層において乗算を行う回数と、乗算以外の演算を行う回数との関係性に基づいて、ニューラルネットワークを評価する。
これは、IoT機器等の比較的演算性能の低い装置の場合、乗算を行う回数が多いほど、演算処理に負荷が生じることによる。すなわち、情報処理装置100は、乗算を行わずに第1の装置が演算を行うことができるか否かに基づいて、ニューラルネットワークの構造を評価することにより、より高い省電力化を達成することができる可能性がある。
具体的には、第1の装置上での畳み込み演算や内積演算をBinaryNet等と称される既知の技術を用いて比較的負荷の低い演算に置き換えた場合、第1の装置は、加算や乗算を行うことなく、XNORやビットカウント等の単純な演算によって、近似計算を行うことができる。例えば、上記のように、第1の装置がASICやFPGA等によって実現される場合、この置き換えによって、第1の装置から乗算器を取り除くことができるため、より大幅な省電力化を達成可能である。このような省電力化を図る場合、上記式(6)で示した変数は、下記式(7)で再定義される。
Figure 2020026741
上記式(7)において、「Ndev」は、ニューラルネットワーク全体の層数のうち第1の装置側で処理する層の数を示す。また、「MIi」は、第1の装置の各層における乗算のインストラクション数を示す。また、「OIi」は、第1の装置の各層における乗算以外のインストラクション数を示す。
式(7)を用いてニューラルネットワークの構造を評価することで、第1の装置の計算機としての特性がより考慮されるため、情報処理装置100は、第1の装置側での演算効率が高まるようなネットワーク構造を獲得しやすくなる。結果として、情報処理装置100は、第1の装置及び第2の装置が電力量を抑えつつ高度な認識を行うことを間接的に支援することができる。
(3.その他の実施形態)
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
上記した各実施形態では、伝送ポイントが一つであるニューラルネットワークを例として説明した。しかし、伝送ポイントは複数存在してもよい。例えば、ニューラルネットワークを利用した処理は、三以上の装置によって実行される場合がある。具体的には、ニューラルネットワークを利用した処理は、イヤホン等のウェアラブルデバイスと、スマートフォン等のスマートデバイスと、クラウドサーバ等により行われる場合がある、この場合、情報処理装置100は、二以上の伝送ポイントを有するニューラルネットワークの構造を生成し、かかる構造について評価してもよい。
また、上記した各実施形態では、圧縮に関する評価量として省電力化を例に挙げて説明した。しかし、評価量は、電力に限らず、伝送される情報量や演算量等、何らかの指標を有する数値であれば、いずれの情報が採用されてもよい。
また、情報処理装置100は、実際に端末装置300や情報処理サーバ200で実行された認識結果のフィードバックを受けて、ニューラルネットワークの構造を再探索してもよい。例えば、情報処理装置100は、端末装置300と情報処理サーバ200の間の伝送回数が想定以上に頻繁に行われることや、想定以上に通信状態が悪い場合等には、伝送に関する情報の重み値を重く調整して、ニューラルネットワークの構造を再探索する等の調整を行ってもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
(4.ハードウェア構成)
上述してきた各実施形態に係る情報処理装置100、情報処理サーバ200、端末装置300等の情報機器は、例えば図15に示すような構成のコンピュータ1000によって実現される。以下、第1の実施形態に係る情報処理装置100を例に挙げて説明する。図15は、情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が第1の実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部130等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部120内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
なお、本技術は以下のような構成も取ることができる。
(1)
コンピュータが、
第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価し、
前記ニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する
情報処理方法。
(2)
前記ニューラルネットワークの各層のうち、出力される情報のサイズが最大となる層よりも深部にあり、かつ、当該ニューラルネットワークの入力層から出力される情報のサイズよりも小さい情報が出力される層を、前記第1の装置から前記第2の装置へと情報が伝送される伝送ポイントと決定し、決定した伝送ポイントに関する情報に基づいて、当該ニューラルネットワークを評価する
前記(1)に記載の情報処理方法。
(3)
前記伝送ポイントよりも浅部に存在する層の数、及び、前記ニューラルネットワークを構成する層の総数に基づいて、当該ニューラルネットワークを評価する
前記(2)に記載の情報処理方法。
(4)
前記ニューラルネットワークの認識性能を示す指標値に基づいて、前記ニューラルネットワークを評価する
前記(1)〜(3)のいずれかに記載の情報処理方法。
(5)
前記ニューラルネットワークにおける演算量に基づいて、前記ニューラルネットワークを評価する
前記(1)〜(4)のいずれかに記載の情報処理方法。
(6)
前記第1の装置の演算処理の性能に関する情報に基づいて、前記ニューラルネットワークを評価する
前記(1)〜(5)のいずれかに記載の情報処理方法。
(7)
前記第1の装置に保持される前記ニューラルネットワークの各層における浮動小数点演算を行う回数と、浮動小数点演算以外の演算を行う回数とに基づいて、当該ニューラルネットワークを評価する
前記(6)に記載の情報処理方法。
(8)
前記第1の装置に保持される前記ニューラルネットワークの各層における乗算を行う回数と、乗算以外の演算を行う回数との関係性に基づいて、当該ニューラルネットワークを評価する
前記(6)又は(7)に記載の情報処理方法。
(9)
前記伝送に関する情報、前記ニューラルネットワークの認識性能を示す指標値、当該ニューラルネットワークにおける演算量、及び、前記第1の装置の演算処理の性能に関する情報の各々に所定の重み値を乗算した値に基づいて、前記ニューラルネットワークを評価する
前記(1)〜(8)のいずれかに記載の情報処理方法。
(10)
前記第1の装置及び前記第2の装置の構成、当該第1の装置と当該第2の装置間の通信規格、及び、前記ニューラルネットワークが提供される環境に関する情報に基づいて、前記重み値を決定する
前記(9)に記載の情報処理方法。
(11)
第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価する評価部と、
前記評価部によるニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する決定部と
を備えた情報処理装置。
(12)
コンピュータを、
第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価する評価部と、
前記評価部によるニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する決定部と
として機能させるための情報処理プログラム。
1 情報処理システム
100 情報処理装置
110 通信部
120 記憶部
121 学習データ記憶部
122 演算器情報記憶部
123 通信規格記憶部
124 モデル記憶部
130 制御部
131 受付部
132 生成部
133 探索部
134 評価部
135 決定部
136 送信部
200 情報処理サーバ
300 端末装置

Claims (12)

  1. コンピュータが、
    第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価し、
    前記ニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する
    情報処理方法。
  2. 前記ニューラルネットワークの各層のうち、出力される情報のサイズが最大となる層よりも深部にあり、かつ、当該ニューラルネットワークの入力層から出力される情報のサイズよりも小さい情報が出力される層を、前記第1の装置から前記第2の装置へと情報が伝送される伝送ポイントと決定し、決定した伝送ポイントに関する情報に基づいて、当該ニューラルネットワークを評価する
    請求項1に記載の情報処理方法。
  3. 前記伝送ポイントよりも浅部に存在する層の数、及び、前記ニューラルネットワークを構成する層の総数に基づいて、当該ニューラルネットワークを評価する
    請求項2に記載の情報処理方法。
  4. 前記ニューラルネットワークの認識性能を示す指標値に基づいて、前記ニューラルネットワークを評価する
    請求項1に記載の情報処理方法。
  5. 前記ニューラルネットワークにおける演算量に基づいて、前記ニューラルネットワークを評価する
    請求項1に記載の情報処理方法。
  6. 前記第1の装置の演算処理の性能に関する情報に基づいて、前記ニューラルネットワークを評価する
    請求項1に記載の情報処理方法。
  7. 前記第1の装置に保持される前記ニューラルネットワークの各層における浮動小数点演算を行う回数と、浮動小数点演算以外の演算を行う回数とに基づいて、当該ニューラルネットワークを評価する
    請求項6に記載の情報処理方法。
  8. 前記第1の装置に保持される前記ニューラルネットワークの各層における乗算を行う回数と、乗算以外の演算を行う回数との関係性に基づいて、当該ニューラルネットワークを評価する
    請求項6に記載の情報処理方法。
  9. 前記伝送に関する情報、前記ニューラルネットワークの認識性能を示す指標値、当該ニューラルネットワークにおける演算量、及び、前記第1の装置の演算処理の性能に関する情報の各々に所定の重み値を乗算した値に基づいて、前記ニューラルネットワークを評価する
    請求項1に記載の情報処理方法。
  10. 前記第1の装置及び前記第2の装置の構成、当該第1の装置と当該第2の装置間の通信規格、及び、前記ニューラルネットワークが提供される環境に関する情報に基づいて、前記重み値を決定する
    請求項9に記載の情報処理方法。
  11. 第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価する評価部と、
    前記評価部によるニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する決定部と
    を備えた情報処理装置。
  12. コンピュータを、
    第1の装置と第2の装置とで分割して保持される構造を有するニューラルネットワークにおける、前記第1の装置と前記第2の装置間の情報の伝送に関する情報に基づいて、当該ニューラルネットワークを評価する評価部と、
    前記評価部によるニューラルネットワークの評価に基づいて、当該ニューラルネットワークの構造を決定する決定部と
    として機能させるための情報処理プログラム。
JP2020534148A 2018-08-03 2019-07-10 情報処理方法、情報処理装置及び情報処理プログラム Active JP7287397B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018147180 2018-08-03
JP2018147180 2018-08-03
PCT/JP2019/027415 WO2020026741A1 (ja) 2018-08-03 2019-07-10 情報処理方法、情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2020026741A1 true JPWO2020026741A1 (ja) 2021-08-05
JP7287397B2 JP7287397B2 (ja) 2023-06-06

Family

ID=69231065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020534148A Active JP7287397B2 (ja) 2018-08-03 2019-07-10 情報処理方法、情報処理装置及び情報処理プログラム

Country Status (5)

Country Link
US (1) US20210312295A1 (ja)
JP (1) JP7287397B2 (ja)
CN (1) CN112513886B (ja)
DE (1) DE112019003910T5 (ja)
WO (1) WO2020026741A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200084099A (ko) * 2019-01-02 2020-07-10 삼성전자주식회사 뉴럴 네트워크 최적화 장치 및 뉴럴 네트워크 최적화 방법
CN113470653A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 声纹识别的方法、电子设备和系统
CN113873539A (zh) * 2020-06-30 2021-12-31 华为技术有限公司 获取神经网络的方法和装置
US20240015052A1 (en) * 2020-12-23 2024-01-11 Sony Group Corporation Communication device, communication method, and communication system
JP7352600B2 (ja) * 2021-07-19 2023-09-28 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2023127388A1 (ja) * 2021-12-28 2023-07-06 ソニーグループ株式会社 無線基地局、無線基地局の制御方法、通信制御装置、通信制御装置の制御方法およびプログラム
KR20230111099A (ko) 2022-01-17 2023-07-25 네이버 주식회사 딥러닝 모델의 튜닝 방법 및 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474948B2 (en) * 2015-03-27 2019-11-12 University Of Dayton Analog neuromorphic circuit implemented using resistive memories
US11093826B2 (en) * 2016-02-05 2021-08-17 International Business Machines Corporation Efficient determination of optimized learning settings of neural networks
EP3428856A4 (en) * 2016-03-09 2019-04-10 Sony Corporation INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING DEVICE
CN105892691A (zh) * 2016-06-07 2016-08-24 京东方科技集团股份有限公司 代步工具的控制方法和控制装置、代步工具系统
KR20190022439A (ko) * 2016-06-30 2019-03-06 파나소닉 아이피 매니지먼트 가부시키가이샤 정보 처리 장치, 시계열 데이터의 정보 처리 방법, 및 프로그램
US11205110B2 (en) * 2016-10-24 2021-12-21 Microsoft Technology Licensing, Llc Device/server deployment of neural network data entry system
DE102017125256A1 (de) * 2016-10-28 2018-05-03 Google Llc Suche nach einer neuronalen Architektur
CN106960281A (zh) * 2017-03-23 2017-07-18 深圳大图科创技术开发有限公司 一种基于神经网络的电力通信网风险管理系统
JP6832783B2 (ja) * 2017-04-20 2021-02-24 株式会社日立製作所 データ分析装置、データ分析方法、およびデータ分析プログラム
KR102413028B1 (ko) * 2017-08-16 2022-06-23 에스케이하이닉스 주식회사 중첩 신경망을 프루닝하는 방법 및 장치
US20190354852A1 (en) * 2018-05-17 2019-11-21 Advanced Micro Devices, Inc. Stress indicators associated with instances of input data for training neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LANE, D. NICHOLAS ET AL.: "DeepX: A Software Accelerator for Low-Power Deep Learning Inference on Mobile Devices", PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON INFORMATION PROCESSING IN SENSOR NETWORKS, JPN7019002788, April 2016 (2016-04-01), pages 12, ISSN: 0005045005 *

Also Published As

Publication number Publication date
CN112513886A (zh) 2021-03-16
CN112513886B (zh) 2024-03-22
WO2020026741A1 (ja) 2020-02-06
US20210312295A1 (en) 2021-10-07
JP7287397B2 (ja) 2023-06-06
DE112019003910T5 (de) 2021-04-29

Similar Documents

Publication Publication Date Title
JP7287397B2 (ja) 情報処理方法、情報処理装置及び情報処理プログラム
CN110880036B (zh) 神经网络压缩方法、装置、计算机设备及存储介质
WO2019196881A1 (zh) 推荐方法、推荐装置、推荐设备、推荐系统及存储介质
US20190102675A1 (en) Generating and training machine learning systems using stored training datasets
CN111047563B (zh) 一种应用于医学超声图像的神经网络构建方法
US11164093B1 (en) Artificial intelligence system incorporating automatic model switching based on model parameter confidence sets
WO2022166115A1 (en) Recommendation system with adaptive thresholds for neighborhood selection
TW201740294A (zh) 一種模型的訓練方法和裝置
CN104731607B (zh) 终端终生学习处理方法、装置和系统
WO2023005590A1 (zh) 用于图计算的自适应控制
CN111783810A (zh) 用于确定用户的属性信息的方法和装置
CN114707654B (zh) 基于人工智能框架的算法训练推理性能可视化方法及装置
JP2022165395A (ja) ニューラルネットワークモデルの最適化方法及びニューラルネットワークモデルに関するグラフィックユーザインターフェースを提供する方法
CN110782016A (zh) 用于优化神经网络架构搜索的方法和装置
WO2022166125A1 (en) Recommendation system with adaptive weighted baysian personalized ranking loss
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
CN109670579A (zh) 模型生成方法和装置
CN109902850A (zh) 确定库存控制策略的方法、装置及存储介质
WO2022252694A1 (zh) 神经网络优化方法及其装置
WO2022134946A1 (zh) 模型训练方法、装置、存储介质及设备
CN115907041A (zh) 一种模型训练方法及装置
CN111027709B (zh) 信息推荐方法、装置、服务器及存储介质
JP2014013555A (ja) ニューラルネットワーク設計方法、フィッティング方法、及びプログラム
JP5942998B2 (ja) 線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム
CN109670577B (zh) 模型生成方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230508

R151 Written notification of patent or utility model registration

Ref document number: 7287397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151