JPWO2018135002A1 - 人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造 - Google Patents

人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造 Download PDF

Info

Publication number
JPWO2018135002A1
JPWO2018135002A1 JP2018562851A JP2018562851A JPWO2018135002A1 JP WO2018135002 A1 JPWO2018135002 A1 JP WO2018135002A1 JP 2018562851 A JP2018562851 A JP 2018562851A JP 2018562851 A JP2018562851 A JP 2018562851A JP WO2018135002 A1 JPWO2018135002 A1 JP WO2018135002A1
Authority
JP
Japan
Prior art keywords
perceptron
neural network
artificial neural
processing
identifier
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
JP2018562851A
Other languages
English (en)
Other versions
JP6964607B2 (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.)
KAYAC INC.
Original Assignee
KAYAC INC.
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 KAYAC INC. filed Critical KAYAC INC.
Publication of JPWO2018135002A1 publication Critical patent/JPWO2018135002A1/ja
Application granted granted Critical
Publication of JP6964607B2 publication Critical patent/JP6964607B2/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】小規模なハードウェアでも実現可能な人工ニューラルネットワークを提供すること。【解決手段】複数のパーセプトロンによる処理が連結された人工ニューラルネットワークシステムであって、パーセプトロンに入力するための入力情報を含む処理対象バケットを取得し、取得された処理対象バケットを入力するためのパーセプトロンを識別するパーセプトロン識別子を処理対象バケットから取得し、取得したパーセプトロン識別子に基づいてパーセプトロンの振る舞いを特定する人工ニューラルネットワーク設定情報を取得し、取得された人工ニューラルネットワーク設定情報に基づいてパーセプトロンを動作させ、取得された処理対象バケットに含まれる入力情報に基づいて処理を実行させ、入力情報に基づいてパーセプトロンに処理を実行させた結果の情報を処理対象バケットに記述することを特徴とする。【選択図】図4

Description

本発明は、人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造に関する。
ANN(Artificial Neural Network:人工ニューラルネットワーク)を用いて膨大な量のデータを処理することにより、画像のパターン認識や市場のデータマイニング等を高精度化することが行われている。そのようなANNによるデータ処理においては、処理の高速化やハードウェア面における制約の解消等の発展が望まれる。
並列演算を行うANNの稼働率を向上させるため、n番目の処理と、その処理結果を用いるn+1番目の処理とを並列して行い、n番目の処理の結果に基づいてn+1番目の処理の再計算が必要だと判断した場合にのみn+1番目の処理を再計算する方法が提案されている(例えば、特許文献1参照)。特許文献1に開示された技術によれば、本来は順番に処理されなければならない各ノードの処理を並列化することが可能となる。
特開2010−287062号公報
上述したように、ANNシステムに対して、ハードウェア面における制約を解消することが望まれている。ANNの多くは膨大な数のパーセプトロンのネットワークによって構成される。そのため、ハードウェアによってANNを実現する場合には膨大な数のパーセプトロンに対応した回路が必要となるし、ソフトウェアによって実現する場合でも、パーセプトロンの数に対応したプログラムをロードするためのメモリ領域が必要となる。即ち、ANNの実現に際しては依然としてハードウェア面での制約が大きい。
特許文献1に開示された技術は処理の並列性を向上することにより処理効率を向上する事を目的としたものであり、ANNの実現に際してのハードウェア面での制約の解消を目的とする本件とはその趣旨が異なる。
本発明は、上記実情を考慮してなされたものであり、小規模なハードウェアでも実現可能な人工ニューラルネットワークを提供することを目的とする。
上記課題を解決するために、本発明の一態様は、複数のパーセプトロンによる処理が連結された人工ニューラルネットワークシステムであって、前記パーセプトロンに入力するための入力情報を含む処理対象バケットを取得する処理対象バケット取得部と、取得された前記処理対象バケットを入力するための前記パーセプトロンを識別するパーセプトロン識別子を前記処理対象バケットから取得し、取得した前記パーセプトロン識別子に基づいて前記パーセプトロンの振る舞いを特定する人工ニューラルネットワーク設定情報を取得する設定情報取得部と、取得された前記人工ニューラルネットワーク設定情報に基づいて前記パーセプトロンを動作させ、取得された前記処理対象バケットに含まれる前記入力情報に基づいて処理を実行させる実行制御部と、前記入力情報に基づいて前記パーセプトロンに処理を実行させた結果の情報を前記処理対象バケットに記述する処理結果更新部とを含むことを特徴とする。
を特徴とする。
本発明によれば、小規模なハードウェアでも実現可能な人工ニューラルネットワークを提供することができる。
一般的なANNの全体構成を示す図である。 本発明の実施形態に係るANNシステムを構成するための1つのパーセプトロンの処理を概念的に示す図である。 本発明の実施形態に係るANNシステムのハードウェア構成を示すブロック図である。 本発明の実施形態に係るANNシステムの機能構成を示すブロック図である。 本発明の実施形態に係るANN設定情報の例を示す図である。 本発明の実施形態に係るバケットに含まれる情報の例を示す図である。 本発明の実施形態に係るバケットに含まれるPerceptron Historyの情報の例を示す図である。 本発明の実施形態に係るANNシステムの動作を示すフローチャートである。 本発明の実施形態に係るANNシステムにおける情報の流れを示す図である。 本発明の実施形態に係るANNシステムにおいて処理が複数に分岐する場合のパーセプトロンの連結状態の例を示す図である。 本発明の実施形態に係るANNシステムにおいて処理が複数に分岐する場合にANN設定情報に記述される情報の例を示す図である。 本発明の実施形態に係るANNシステムにおいて処理が複数に分岐する場合にあるパーセプトロンによって処理された後のバケットの内容を示す図である。 本発明の実施形態に係るANNシステムにおいて処理が複数に分岐する場合にあるパーセプトロンによって処理された後のバケットの内容を示す図である。 本発明の実施形態に係るANNシステムにおいて処理が複数に分岐する場合にあるパーセプトロンによって処理された後のバケットの内容を示す図である。 本発明の実施形態に係るANNシステムにおいて異なる複数のパーセプトロンによって処理されたバケットが単一のパーセプトロンに入力される場合のパーセプトロンの連結状態の例を示す図である。 本発明の実施形態に係るANNシステムにおいて異なる複数のパーセプトロンによって処理されたバケットが単一のパーセプトロンに入力される場合のバケットの内容を示す図である。 本発明の実施形態に係るANNシステムにおいて異なる複数のパーセプトロンによって処理されたバケットが単一のパーセプトロンに入力される場合のバケットの内容を示す図である。 本発明の実施形態に係るANNシステムにおいて異なる複数のパーセプトロンによって処理されたバケットが単一のパーセプトロンに入力される場合のバケットの内容を示す図である。 本発明の実施形態に係るANNシステムにおいて異なる複数のパーセプトロンによって処理されたバケットが単一のパーセプトロンに入力される場合にあるパーセプトロンによって処理された後のバケットの内容を示す図である。 処理に応じて選択されるANNの経路の例を示す図である。 処理に応じて選択されるANNの経路の例を示す図である。 本発明の他の実施形態に係るANNシステムの構成を示すブロック図である。 本発明の他の実施形態に係るANNシステムの動作を示すフローチャートである。
実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、膨大な数のパーセプトロンの組み合わせによって構成されるANN(Artificial Neural Network:人工ニューラルネットワーク)を、小容量のメモリによって実現するための構成について説明する。本実施形態に係るANNシステムは、少なくとも1つ分のパーセプトロンを構成するためのプログラムと、パーセプトロンの振る舞いを特定するためのANN設定情報と、ANNによって処理される情報が格納されるバケットとを含み、ANN設定情報を切り替えて繰り返し処理を行う事により、膨大な数のパーセプトロンによって構成されるANNを小容量のメモリによって実現する。
図1は、膨大な数のパーセプトロンのネットワークとして構成されるANNの例を示す図である。図1に示すように、ANNにおいては膨大な数のパーセプトロンがネットワークを構成し、あるパーセプトロンの出力が他のパーセプトロンに入力されることにより処理が繰り返し実行される。このようなANNを構成するためには、膨大な数のパーセプトロンに対応するプログラムを構築して実行することとなり、そのために必要となるメモリ容量もまた膨大なものとなる。
これに対して、少なくとも1つ分のパーセプトロンに対応するプログラムをベースとして、パーセプトロンの振る舞い方を切り替えて繰り返し処理を実行することにより、小容量のメモリによって膨大な数のパーセプトロンによって構成されるANNと同様の処理結果を実現することが本実施形態に係る要旨である。1つのANNを構成するパーセプトロンの数はシステムの目的によって様々であるが、例えば数万〜数億個である。即ち、従来技術においては数万〜数億個のパーセプトロンに対応したメモリ空間が必要であったが、本実施形態に係るシステムによればそのメモリ空間をパーセプトロン1つ分に圧縮することが可能となる。
図2は、本実施形態に係るANNの概念を示す図である。図2に示すように、1つ分のパーセプトロンに対してデータが入力され、通常のパーセプトロンの処理と同様に重みづけ処理及び閾値判断がされ、その結果が出力される。その出力を再度入力として用いることにより、ANNを実現するが、重みづけ処理や閾値判断のための設定値が目的に応じて切り替えられることにより、目的に応じたANNと同様の処理結果を得る事が可能となる。
図3は、本実施形態に係るシステムのハードウェア構成を示す図である。本実施形態に係るシステムは一般的な情報処理機器のハードウェア構成によって実現可能であり、図3に示すように、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス70を介して接続されている。
CPU10は演算手段であり、システムの基本的な動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。図1に示すようなANNをそのまま実現する場合、膨大な数のパーセプトロンに対応したプログラムをロードする領域が必要であるため、RAM20に要求される容量が膨大なものとなる。これに対して、図2において説明した構成によりRAM20に要求される容量を小容量化することが本実施形態に係る要旨である。
ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納されている。尚、HDDではなくSSDやNV−RAM等の不揮発性記憶媒体を用いても良い。
I/F50は、バス70と各種のハードウェアデバイスやネットワーク等を接続し制御する。I/F50に接続される他のデバイスとしては、例えばスマートホンに搭載された加速度センサ、光学センサであるカメラ、音声センサであるマイク等のセンサ類や、LCD(Liquid Crystal Display)及びタッチパネル等の入出力デバイスである。
このようなハードウェア構成において、ROM30に格納されているプログラムや、HDD40若しくは図示しない光学ディスク等の記録媒体からRAM20に読み出されたプログラムに従ってCPU10が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るANNシステムの機能を実現する機能ブロックが構成される。
図3において説明したように、本実施形態に係るANNシステムは、特別なハードウェアを必要とすることなく一般的な情報処理装置のハードウェア構成によって実現可能である。また、上述したように、RAM20に対して要求される容量も大きなものではないので、家庭用、個人用のPC(Personl Computer)やスマートホン等の携帯端末でも実現可能である。
次に、本実施形態に係るANNシステムの機能構成について図4を参照して説明する。図4に示すように、本実施形態に係るANNシステムは、プロセスマネージャー101、単位パーセプトロン102、処理対象バケット103、処理対象データ104、ANN設定情報105を含む。プロセスマネージャー101は、本実施形態に係るANNシステムの動作を制御する制御部であり、RAM20にロードされたプログラムに従ってCPU10が演算を行う事により構成される。
単位パーセプトロン102は、ANNの処理単位であるパーセプトロン1つ分に相当する。単位パーセプトロン102はパーセプトロンのフレームワークとしての機能によって構成されており、処理の際には詳細な振る舞いを特定するためのパラメータが与えられる。処理対象バケット103は単位パーセプトロン102によって処理されるデータである。
単位パーセプトロン102および処理対象バケット103は、RAM20上に確保された作業領域20aにロードされて処理される。上述したように、この作業領域20aを小容量化できることが本実施形態に係る主な効果である。具体的には、数万〜数億個分の単位パーセプトロン102をロードするための容量が必要であった従来技術に対し、本実施形態においては、図4に示すように1つ分の要領で実現可能である。
処理対象データ104は、処理対象バケット103として処理されるデータが記憶されている記憶領域である。処理対象データ104として記憶されている複数のバケットのうち処理対象のバケットが、プロセスマネージャー101によって処理対象バケット103として作業領域20aにロードされる。
ANN設定情報105は、上述したように1つ分のパーセプトロンの処理を繰り返し実行する上で、各回のパーセプトロンの振る舞いを特定するための情報である。処理対象バケット103に記述されている情報によってANN設定情報が特定され、プロセスマネージャー101によって読み出されて単位パーセプトロンの振る舞いを特定するためのパラメータとして用いられる。処理対象データ104およびANN設定情報105は、HDD40に記憶されている。
図5は、ANN設定情報の内容を示す図である。図5に示すように、ANN設定情報105は、「ANN ID」、「Perceptron ID」、「Bias Value」、「weight value」および「Next Perceptron ID」を含む。
「ANN ID」は、ANNを特定するための識別子である。「ANN ID」が情報として含まれていることにより、異なるANNをそれぞれ識別して処理することが可能となるため、あるANNの処理によって出力されたデータを別のANNの入力データとして用いるような運用が可能となる。
「Perceptron ID」は、ANNを構成するそれぞれのパーセプトロンを特定するためのパーセプロトン識別子である。「Perceptron ID」によって特定されるANN設定情報がプロセスマネージャー101によって読みだされ、単位パーセプトロン102の振る舞いを指定するためのパラメータとして用いられる。
「Bias Value」は、単位パーセプトロン102の振る舞いのうち、閾値を特定するパラメータである。「weight value」は、単位パーセプトロン102の振る舞いのうち、それぞれのインプットに適用される重み値を特定するパラメータである。
「Next Perceptron ID」は、単位パーセプトロン102の振る舞い委のうち、結果として得られる出力を入力する次のパーセプトロンを指定するパラメータ、即ち、次段パーセプトロン識別子である。図5に示す情報がANNを構成するすべてのパーセプトロンについて記述されることにより、図1に示すようなANNの構成が記述される。図5においては「Bias Value」は単体で示されているが、システムの構成によっては、それぞれの「Next Perceptron ID」ごとに個別に指定される場合もあり得る。
図6は、1つ分のバケットの内容を示す図である。処理の実行に際して、処理すべき情報を含むバケットが処理対象データ104としてHDD40に格納され、処理の段階に応じて処理対象バケット103として作業領域20aにロードされる。図6に示すように、1つ分のバケットは、「Header」、「DATA」および「TAG」の情報を含む。
「Header」は、それぞれのバケットにおいて不変の情報であり、「Owner」、「Priority」、「ANN ID」、「Group ID」の情報を含む。「Owner」は、タスクオーナーを識別する情報である。
「Priority」は、処理の優先度を示す情報である。プロセスマネージャー101が、HD40から処理対象バケット103として読み出すべきバケットを選択する際に参照する情報の1つとして「Priority」が参照される。
「ANN ID」は、そのバケットが処理されるANNを特定するための識別子であり、図5において説明した「ANN ID」に対応している。「Group ID」は、同時に処理されるべきバケットのグループを特定する情報である。ANNの構成によっては、1つのパーセプトロンへの入力として複数のバケットに記述された情報が用いられる場合もあり得る。「Group ID」は、そのようなバケットのグループを特定するための情報、即ちグループ識別子として用いられる。
「DATA」は、それぞれのバケットにおいて処理される対象のデータであり、「Value 1」、「Value 2」、・・・「Value n」のように、inputとして用いられる値、即ち入力情報が記述されている。また、それぞれのパーセプトロンによる振る舞いに応じて、処理の結果の出力値が新たな「Value」として記述される。
「TAG」は、それぞれのパーセプトロンによって処理が行われた後に付与される情報であり、「STEP NO」、「Next Perceptron ID」および「Perceptron History」の情報を含む。「STEP NO」は、処理を行った回数を示す情報であり、それぞれのパーセプトロンによって処理が行われる度に値がインクリメントされる。
「Next Perceptron ID」は、あるパーセプトロンによって処理された後、次に処理されるパーセプトロンを特定するための識別子である。バケット内の「TAG」における「Next Perceptron ID」は、パーセプトロンによる処理の結果に応じて、図5において説明した「Next Perceptron ID」に基づき記述される。
「Perceptron History」は、処理を行ったパーセプトロンの履歴が記述される情報である。本実施形態に係る「Perceptron History」は、図5において説明した「Perceptron ID」及びそれぞれのパーセプトロンにおける処理の結果を示す情報が処理の順番に記述された情報である。
図7は、「Perceptron History」の記述態様の例を示す図である。図7に示すように、本実施形態に係る「Perceptron History」においては、「class 1」、「class 2」、「class 3」、・・・「class n」、のように、記述されている。ここでいうclassとは、ANNにおけるパーセプトロンの階層を示す値である。つまり、本実施形態に係る「Perceptron History」においては、パーセプトロンの処理履歴が階層別に記述されている。
次に、本実施形態に係るANNシステムの動作及び情報の流れについて、図8および図9を参照して説明する。図8は、本実施形態に係るANNシステムの動作を示すフローチャートである。また、図9は、1つ分のパーセプトロンに対する処理対象バケット103及びANN設定情報105の情報の流れを示す情報である。
図8に示すように、本実施形態に係るANNシステムが動作を開始する際、まずはプロセスマネージャー101がHDD40の処理対象データ104から処理対象のバケットを取得し、作業領域20aに処理対象バケット103としてロードする(S801)。これにより、図9下部に示すバケットが特定されて設定される。即ち、S801においてはプロセスマネージャー101が、処理対象バケット取得部として機能する。
処理対象バケット103がロードされると、プロセスマネージャー101は、ロードされた処理対象バケット103の「Header」に記述された「ANN ID」及び「TAG」に記述された「Next Perceptron ID」を参照し、それにより特定されるANN設定情報105をHDD40から読み出す(S802)。これにより、図9上部に示すANN設定情報が特定されて設定される。即ち、S802においては、プロセスマネージャー101が設定情報取得部として機能する。
S802の処理によりANN設定情報105が取得されることにより、図9に示すようにANN設定情報105に記述されている「Bias Value」及び「weight value」が単位パーセプトロン102の振る舞いを特定するためのパラメータとして用いられる。これにより、単位パーセプトロン102が、「Perceptron ID」に記述された情報に応じて振る舞う事となる。
ANN設定情報を取得して単位パーセプトロン102の振る舞いを設定したのち、プロセスマネージャー101は、単位パーセプトロン102に対して処理の実行命令を行う(S803)。即ち、S803においてはプロセスマネージャー101が実行制御部として機能する。これにより、図9に示すように、処理対象バケット103の「DATA」に記述された「Value 1」、「Value 2」、・・・「Value n」がインプットとして単位パーセプトロン102に入力され、「weight value」に応じた重みづけの上で「Bias Value」に応じた閾値判断が行われる。
単位パーセプトロン102による処理が完了すると、プロセスマネージャー101は、データ更新を行う(S804)。S804においては、outputの値の「DATA」への追記および「TAG」の更新が行われる。即ち、S804においてはプロセスマネージャー101が処理結果更新部として機能する。
outputの値の「DATA」への追記処理は、図9に示すように、単位パーセプトロン102の閾値判断の結果、すなわちoutputの値がバケットの「DATA」のValueの新たな値として記述される処理である。ここで、outputの値の追記処理は、作業領域20aにロードされた処理対象バケット103およびHDD40に記憶されている処理対象データ104の両方に対して行ってもよいし、HDD40に記憶されている処理対象データ104に対してのみ行ってもよい。
また、「TAG」の更新処理においては、「STEP NO」、「Next Perceptron ID」、「Perceptron History」がそれぞれ更新される。「STEP NO」は単純にインクリメントされることによって更新される。「Next Perceptron ID」は、単位パーセプトロン102の処理の結果に応じたoutputに基づき、参照中のANN設定情報105における「Next Perceptron ID」が参照されて更新される。
「Perceptron History」は、参照中のANN設定情報105における「Perceptron ID」及び閾値判断の結果に基づいて更新される。参照中のANN設定情報105が、処理の終点に対応したパーセプトロンの振る舞いを記述するものであった場合、ANN設定情報105内にその旨の情報が記述されている。その情報は、例えば「Next Perceptron ID」に記述することができるが、他の情報でも良い。
プロセスマネージャー101は、ANNの終了を記述する情報に基づいてANNが終了したか否か判断する(S805)。その結果、ANNの終点でなければ(S805/NO)、プロセスマネージャー101は、再度HD40の処理対象データ104から処理対象バケット103となる情報を読み出し、S801からの処理を繰り返す。
他方、ANNが終了であれば(S805/YES)、プロセスマネージャー101は、ANN処理を終了する。これにより、あるANNによって処理された結果の情報が処理対象データ104に記述されることとなる。このような処理により、本実施形態に係るANNシステムの処理が完了する。
このように、ANN設定情報105によってANNの構造を記述し、ANNを構成するそれぞれのパーセプトロンにおいて処理される情報として図6に示すようなデータ構造を用いることにより、膨大な数のパーセプトロンに応じたプログラムを予め構築することなく、単一のパーセプトロンの振る舞いを変えながら処理を繰り返すことによって、膨大な数のパーセプトロンによって構成されるANNと同一の処理結果を得る事が可能となる。従って、小規模なハードウェアでも実現可能な人工ニューラルネットワークを提供することができる。
次に、ANNにおいて経路が分岐する場合のバケットへの情報の記述態様及び処理の詳細について説明する。図10は、処理の分岐の例を示す図である。図10の例においては、まずPT001のパーセプトロンによる処理が実行され、その処理結果がPT002およびPT003双方に入力されるように分岐し、PT002およびPT003の処理結果がPT004への入力として用いられる。
図11は、PT001のANN設定情報を示す図である。図11に示すように、「Next Perceptron ID」としてPT002およびPT003が指定されている。図12は、図11に示すANN設定情報がパラメータとして設定された単位パーセプトロン102、すなわち、図10に示すPT001によって処理された後のバケットの内容を示す図である。
図12に示すように、PT001の2つのoutputが「PT001 out1」、「PT002 out」として追記されると共に、「Next Perceptron ID」として「PT002」、「PT003」が指定されている。これにより、次は「PT002」によって処理されることとなる。また、「Perceptron History」として、「class 1:PT001」が記述されている。PT002においては、図12に示す「DATA」のうち、「PT001 out1」が用いられることとなる。
図13は、図10のANNにおいてPT001の次にPT002によって処理された後のバケットの内容を示す図である。図12に示す状態に加えて、「PT002 out」が追記されると共に、「Next Perceptron ID」として「PT002」が消去されて「PT003」が繰り上がると共に新たに「PT004」が記述されている。これにより、次は「PT003」によって処理されることとなる。また、「Perceptron History」として、「class 2:PT002」が追記されている。
図14は、図10のANNにおいてPT002の次にPT003によって処理された後のバケットの内容を示す図である。図13に示す状態に加えて、「PT003 out」が追記されると共に、「Next Perceptron ID」として「PT003」が消去されて「PT004」が繰り上がっている。これにより、次は「PT004」によって処理されることとなる。また、「Perceptron History」として、「class 2:PT003」が追記されている。
図14に示すようなバケットがPT004によって処理される際には、「DATA」に記述された「PT002 out」および「PT003 out」が用いられる。これにより、PT002の出力及びPT003の出力がPT004によって処理されることとなる。
次に、バケットの「Header」に記述された「Group ID」が用いられる場合の処理について説明する。図15は、「Group ID」が用いられる場合の例として、異なるバケットが異なるパーセプトロンによって処理され、それぞれの処理結果が1つのパーセプトロンによって処理される場合のANNを示す図である。
図16は、図15のPT001によって処理されるバケットの記述を示す図である。図16に示すように、「Next Perceptron ID」として「PT001」が指定されているともに、「Group ID」として「Gr001」が指定されている。
図17は、図16に示すバケットが図15に示すPT001によって処理された後のバケットの内容を示す図である。図17に示すように、「DATA」として「PT001 out」が追記されると共に、「Next Perceptron ID」として「PT003」が指定されている。また、「Perceptron History」として「class1:PT001」が追記されている。
図18は、図15のPT002によって処理されるバケットの記述を示す図である。図18に示すように、「Next Perceptron ID」として「PT002」が指定されているともに、「Group ID」として図16と同様に「Gr001」が指定されている。
図19は、図18に示すバケットが図15に示すPT002によって処理された後のバケットの内容を示す図である。図19に示すように、「DATA」として「PT002 out」が追記されると共に、「Next Perceptron ID」として「PT003」が指定されている。また、「Perceptron History」として「class1:PT002」が追記されている。
このようにして図17および図19に示すバケットが処理対象データ104としてHDD40に格納されることとなる。プロセスマネージャー101は、「Group ID」が指定されているバケットを読み出す際、「Next Perceptron ID」が同一のバケットがある場合にはそれらをすべて処理対象バケット103として読み出す。これにより、異なる複数のバケットの情報が単一のパーセプトロンによって処理されることとなる。
従来のANNの場合、膨大な数のパーセプトロンが組み合わされて構成されたANNのプログラムが用意され、その中でそれぞれのパーセプトロンの処理結果に応じた経路で処理が実行されることとなる。即ち、膨大な数のパーセプトロンのうち、処理過程に応じた経路外のパーセプトロンは処理が行われないが、プログラムとしてはメモリ上にロードされるため、メモリ空間の浪費となる。
図20は、そのような状態を例示する図である。図20の例においては、ANNに入力されたDATAがパーセプトロンにおいて処理された結果、太線で示された上側の経路のみが計算される。従って、太線で示された経路以外のパーセプトロンを構成するためのプログラムがロードされたメモリ領域は無駄な領域となる。
これに対して、本実施形態に係るANNシステムによれば、処理経路に応じたパーセプトロンがANN設定情報105によって構成されて処理が実行されるため、従来のようなメモリ空間の非効率な利用も解決する事が可能である。図21はそのような効果を概念的に示すである。図21の例においては、図20と同様のANNにおいて、図20と同様の経路のみが計算される場合を示す。
本実施形態に係るANNシステムにおいては、ANNの構成はANN設定情報として保存されており、ANNを構成するパーセプトロンに対応するプログラムがすべてメモリ上にロードされるわけではない。そのため、図21に破線で示す経路及びパーセプトロンに対応するメモリ領域を削減することができる。
尚、本実施形態においては、図4に示す単位パーセプトロン102がプログラムによって実現される場合を例として説明したが、例えば単位パーセプトロン102をASIC(Application Specific Integrated Circuit)等の専用のハードウェア回路によって実現する場合であっても、同様に効果を得る事が可能である。即ち、本実施形態を適用することにより、単位パーセプトロン102の1つ分のASICがあれば実現可能であり、ANNを構成する膨大な数のパーセプトロンに対応したASICを用意する必要がないため、ハードウェア規模を削減することが可能となる。
実施の形態2.
次に、ANN設定情報およびバケットを用いた本実施形態に係るANNのアーキテクチャを用いて、分散処理を行う態様について説明する。尚、実施の形態1と同様の符号を付す構成については同一、または相当部を示すものとし、詳細な説明を省略する。本実施形態に係るANNシステムにおいては、図4において説明したANNシステムのうち、プロセスマネージャー101およびHDD40に相当する部分をコントロールサーバー1が担い、作業領域20aにロードされたプログラムやデータに相当する部分をANNクライアント2が担う。ANNクライアント2は、PCやスマートホンなどの一般的な情報処理装置によって実現される。
図22は、本実施形態に係るANNシステムの全体構成を示すブロック図である。本実施形態に係るANNシステムは分散処理を実現するシステムであり、コントロールサーバー1及びANNクライアント2がネットワークを介して接続されて構成される。図22においてはANNクライアント2を1つのみ示しているが、複数のANNクライアント2がシステムを構成する。
図22に示すように、コントロールサーバー1は、プロセスマネージャー101およびHDD40を含む。それぞれの機能は概ね実施の形態1と同様であるが、本実施形態に係るプロセスマネージャー101は、ネットワークを介してANNクライアント2に情報を送信すると共にANNクライアント2から情報を受け取る機能を有する。
また、本実施形態に係るHDD40は実施の形態1において説明した情報に加えて、クライアントリスト106を記憶している。クライアントリスト106は、ネットワークを介して通信可能なANNクライアント2のリストの情報であり、識別子やネットワークアドレスの情報などを含む。
ANNクライアント2は、クライアントマネージャー201および作業領域20aにロードされたプログラムによって構成される単位パーセプトロン102、処理対象バケット103及びクライアント用ANN設定情報106を含む。クライアントマネージャー201は、ANNクライアント2側においてプロセスマネージャー101に準ずる機能を担う。
単位パーセプトロン102および処理対象バケット103は実施の形態1と同様である。クライアント用ANN設定情報105aは、コントロールサーバー1においてHDD40に記憶されているANN設定情報105から複製されてANNクライアント2側において記憶されたANN設定情報であり、内容は図5において説明したものと同一である。
次に、図23を参照して本実施形態に係る分散型のANNシステムの動作について説明する。図23に示すように、まずはANクライアント2においてクライアントソフトが起動する(S2301)。ここでいうクライアントソフトとは、図22において説明したANNクライアント2の機能を実現するためのソフトウエアプログラムであり、クライアントマネージャー201および単位パーセプトロン102の機能を実現するためのプログラムである。処理対象バケット103及びクライアント用ANN設定情報105aは、動作の過程でコントロールサーバー1から受信する。
クライアントソフトが起動すると、クライアントマネージャー201は、ネットワークを介してコントロールサーバー1に対してクライアント登録申請を行う(S2302)。ANNクライアント2からクライアント登録申請を受けると、コントロールサーバー1においては、プロセスマネージャー101がクライアントリスト106に登録を行う(S2303)。これにより、コントロールサーバー1がANNによる処理を実行する際に処理を分散する先のANNクライアントとして、登録されることとなる。即ち、S2303においてはプロセスマネージャー101がクライアント登録部として機能する。
クライアントリスト106を登録すると、プロセスマネージャー101は、登録したANNクライアント2に対してANN設定情報を送信する(S2304)。即ち、S2304においては、プロセスマネージャー101が設定情報送信部として機能する。これにより、ANNクライアント2において、クライアントマネージャー201が、クライアント用ANN設定情報105aを保存する(S2305)。
S2304において送信されるANN設定情報105は、コントロールサーバー1が記憶しているすべてのANN設定情報であってもよいし、図5において説明した「ANN ID」によって特定された一部のANN設定情報であってもよい。特定のANN設定情報のみを送信する場合、例えばS2302においてクライアント登録申請を受けた際に、コントロールサーバー1のプロセスマネージャー101が、分散処理を割り当てるANN IDを決定し、クライアントリスト106のへの登録の際にANNクライアント2の識別子とANN IDとを関連付けて保存する。これにより、プロセスマネージャー101は、S2304において特定のANN IDに関してのANN設定情報のみを送信することができる。
このようにしてANNクライアント2において分散処理を受け付けるための準備が完了した後に、コントロールサーバー1側においてANNの処理が発生すると、プロセスマネージャー101は、実施の形態1の図8におけるS801と同様に、処理対象データ104から処理対象バケット103としてセットするためのバケットを取得し、ネットワークを介してANNクライアント2に送信する(S2306)。
バケットを受信したANNクライアント2においては、クライアントマネージャー201が作業領域20aに処理対象バケット103をセットする(S2307)。そして、クライアントマネージャー201は、図8のS802と同様に、処理対象バケット103に記述された「Perceptron ID」に基づいてANN設定情報を取得する(S2308)。そして、クライアントマネージャー201が、図8のS803と同様に単位パーセプトロン102に対して処理の実行命令を行う(S2309)。
これにより、図9において説明したように、処理対象バケット103の「DATA」に記述された「Value 1」、「Value 2」、・・・「Value n」がインプットとして単位パーセプトロン102に入力され、「weight value」に応じた重みづけの上で「Bias Value」に応じた閾値判断が行われる。
単位パーセプトロン102による処理が完了すると、クライアントマネージャー201は、図8のS804と同様にデータ更新を行う(S2310)。S2310のデータ更新処理においてクライアントマネージャー201は、作業領域20aに記憶されている処理対象バケット103に対してデータの更新処理を行う。
データ更新処理が完了すると、クライアントマネージャー201は、S2306の通信に対する返信処理として、更新後のバケットをコントロールサーバー1に対して返信する(S2311)。即ち、S2311においてクライアントマネージャー201が処理結果送信部として機能する。これにより、コントロールサーバー1においては、プロセスマネージャー101が返信されたバケットを受信し、処理対象データ104に保存されているバケットのうち対応するバケットの情報を更新する(S2312)。S2306〜S2312までの処理が繰り返されることにより、分散処理によるANNシステムが実現される。
本実施形態に係る分散型のANNシステムにおいては、バケットのやり取りのみで処理が完了する。バケットの内容は図6において説明したようなものであり、情報量は限られたものである。従って、パケット通信における通信パケットに入れ込んで通信を行うだけで分散型のANNを実現することが可能である。
以上説明したように、本実施形態においては、実施の形態1において説明したANNシステムを応用することによって容易に分散型のANNシステムを実現することが可能である。
尚、本実施形態においては、図23のS2304、S2305において説明したように、ANNクライアント2が分散処理を請け負うクライアントとしてシステムに参加する際にANN設定情報を取得する場合を例として説明した。これにより、S2306〜S2312までの処理を繰り返す際には、バケットのやり取りのみで処理を繰り返し実行することが可能である。
しかしながらこれは一例であり、例えばプロセスマネージャー101がS2306においてバケットを送信する際、送信対象のバケットに記述された「Perceptron ID」によって特定されるANN設定情報を付加してもしくは別途送信してもよい。これにより、ANNクライアント2に送信されるANN設定情報は、処理対象バケット103を処理するためのANN設定情報のみとなり、通信量を削減することができる。
1 コントロールサーバー
2 ANNクライアント
10 CPU
20 RAM
20a 作業領域
30 ROM
40 HDD
50 I/F
60 専用デバイス
70 バス
101 プロセスマネージャー
102 単位パーセプトロン
103 処理対象バケット
104 処理対象データ
105 ANN設定情報
105a クライアント用ANN設定情報
106 クライアントリスト
201 クライアントマネージャー

Claims (10)

  1. 複数のパーセプトロンによる処理が連結された人工ニューラルネットワークシステムであって、
    前記パーセプトロンに入力するための入力情報を含む処理対象バケットを取得する処理対象バケット取得部と、
    取得された前記処理対象バケットを入力するための前記パーセプトロンを識別するパーセプトロン識別子を前記処理対象バケットから取得し、取得した前記パーセプトロン識別子に基づいて前記パーセプトロンの振る舞いを特定する人工ニューラルネットワーク設定情報を取得する設定情報取得部と、
    取得された前記人工ニューラルネットワーク設定情報に基づいて前記パーセプトロンを動作させ、取得された前記処理対象バケットに含まれる前記入力情報に基づいて処理を実行させる実行制御部と、
    前記入力情報に基づいて前記パーセプトロンに処理を実行させた結果の情報を前記処理対象バケットに記述する処理結果更新部とを含むことを特徴とする人工ニューラルネットワークシステム。
  2. 前記人工ニューラルネットワーク設定情報は、前記パーセプトロンの処理結果に応じて前記処理対象バケットを次に入力するべきパーセプトロンを識別する次段パーセプトロン識別子の情報を含み、
    前記処理結果更新部は、前記入力情報に基づいて前記パーセプトロンに処理を実行させた結果の情報を前記処理対象バケットに記述すると共に、取得された前記人工ニューラルネットワーク設定情報に含まれる前記次段パーセプトロン識別子を用いて、前記処理対象バケットに記述された前記パーセプトロン識別子を更新することを特徴とする請求項1に記載の人工ニューラルネットワークシステム。
  3. 前記人工ニューラルネットワーク設定情報は、前記パーセプトロンの振る舞いを特定するための情報として、入力情報に適用する重み値及び重みづけされた値に対して適用する閾値の情報を含むことを特徴とする請求項1に記載の人工ニューラルネットワークシステム。
  4. 前記処理結果更新部は、前記パーセプトロンを動作させるために用いられた前記人工ニューラルネットワーク設定情報を特定するための前記パーセプトロン識別子を、複数のパーセプトロンによる処理の履歴を示す情報として前記処理対象バケットに記述することを特徴とする請求項1に記載の人工ニューラルネットワークシステム。
  5. 前記処理結果更新部は、前記パーセプトロンを動作させるために用いられた前記人工ニューラルネットワーク設定情報を特定するための前記パーセプトロン識別子を、人工ニューラルネットワークを構成する複数のパーセプトロンの階層別に前記処理対象バケットに記述することを特徴とする請求項4に記載の人工ニューラルネットワークシステム。
  6. 前記人工ニューラルネットワークシステム全体の動作を制御するコントロールサーバーおよび前記コントロールサーバーからの要求に応じて少なくともパーセプトロン1つ分の処理を実行する人工ニューラルネットワーククライアントによって構成され、
    前記処理対象バケット取得部は、前記コントロールサーバーにおいて動作すると共に、取得した前記処理対象バケットを前記人工ニューラルネットワーククライアントに送信し、
    前記設定情報取得部、前記実行制御部、前記処理結果更新部は、前記人工ニューラルネットワーククライアントにおいて動作し、
    前記人工ニューラルネットワーククライアントは、前記パーセプトロンに処理を実行させた結果の情報が記述された前記処理対象バケットを前記コントロールサーバーに送信する処理結果送信部を含むことを特徴とする請求項1に記載の人工ニューラルネットワークシステム。
  7. 前記コントロールサーバーは、
    前記処理対象バケットを送信する対象のクライアントとして、前記人工ニューラルネットワーククライアントを識別するクライアント識別子を記憶媒体に記憶させるクライアント登録部と、
    前記クライアント識別子を記憶媒体に記憶させた前記人工ニューラルネットワーククライアントに対して、処理対象バケットを処理するためのパーセプトロンの振る舞いを特定するために用いられる可能性のある複数の人工ニューラルネットワーク設定情報を送信する設定情報送信部とを含み、
    前記設定情報取得部は、前記コントロールサーバーから受信した複数の前記人工ニューラルネットワーク前記設定情報の中から、取得した前記パーセプトロン識別子に基づいて前記パーセプトロンの振る舞いを特定する人工ニューラルネットワーク設定情報を取得する事を特徴とする請求項6に記載の人工ニューラルネットワークシステム。
  8. 前記処理対象バケットは、異なる複数のバケットであって単一のパーセプトロンに対して入力する複数のバケットを識別するグループ識別子を含み、
    前記処理対象バケット取得部は、前記グループ識別子に基づいて複数の前記処理対象バケットを取得することを特徴とする請求項1に記載の人工ニューラルネットワークシステム。
  9. 複数のパーセプトロンによる処理が連結された人工ニューラルネットワークの制御方法であって、
    前記パーセプトロンに入力するための入力情報を含む処理対象バケットを取得し、
    取得された前記処理対象バケットを入力するための前記パーセプトロンを識別するパーセプトロン識別子を前記処理対象バケットから取得し、
    取得した前記パーセプトロン識別子に基づいて前記パーセプトロンの振る舞いを特定する人工ニューラルネットワーク設定情報を取得し、
    取得された前記人工ニューラルネットワーク設定情報に基づいて前記パーセプトロンを動作させ、取得された前記処理対象バケットに含まれる前記入力情報に基づいて処理を実行させ、
    前記入力情報に基づいて前記パーセプトロンに処理を実行させた結果の情報を前記処理対象バケットに記述することを特徴とする人工ニューラルネットワークの制御方法。
  10. 複数のパーセプトロンによる処理が連結された人工ニューラルネットワークのためのデータ構造であって、
    前記パーセプトロンに処理を実行させるために前記パーセプトロンの振る舞いを特定するための人工ニューラルネットワーク設定情報および複数の前記パーセプトロンによって繰り返し処理される処理対象バケットを含み、
    前記人工ニューラルネットワーク設定情報は、前記人工ニューラルネットワークを構成する複数のパーセプトロンを識別するパーセプトロン識別子と、
    前記パーセプトロン識別子によって識別されるパーセプトロンの振る舞いを特定するための情報と、
    前記パーセプトロン識別子によって識別されるパーセプトロンの処理の結果を次に入力するべき他のパーセプトロンを識別する次段パーセプトロン識別子とを含み、
    前記処理対象バケットは、
    前記パーセプトロンに入力するための入力情報と、
    前記入力情報を入力するための前記パーセプトロンを識別するパーセプトロン識別子と、
    前記パーセプトロン識別子によって識別されるパーセプトロンの処理の結果である処理結果とを含み、
    前記処理対象バケットにおける前記パーセプトロン識別子は、そのパーセプトロン識別子によって識別される前記人工ニューラルネットワーク設定情報に記述された前記次段パーセプトロン識別子に基づいて更新されることを特徴とする人工ニューラルネットワークのためのデータ構造。
JP2018562851A 2017-01-23 2017-01-23 人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造 Active JP6964607B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/002141 WO2018135002A1 (ja) 2017-01-23 2017-01-23 人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造

Publications (2)

Publication Number Publication Date
JPWO2018135002A1 true JPWO2018135002A1 (ja) 2019-11-14
JP6964607B2 JP6964607B2 (ja) 2021-11-10

Family

ID=62908288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018562851A Active JP6964607B2 (ja) 2017-01-23 2017-01-23 人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造

Country Status (2)

Country Link
JP (1) JP6964607B2 (ja)
WO (1) WO2018135002A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3933710A4 (en) * 2019-02-28 2022-04-13 Mitsubishi Electric Corporation DATA PROCESSING DEVICE, DATA PROCESSING SYSTEM AND DATA PROCESSING METHODS

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233586A (ja) * 1992-02-25 1993-09-10 Mitsubishi Electric Corp デジタル神経回路およびその駆動方法
JPH06348675A (ja) * 1993-06-07 1994-12-22 Ebara Corp ニューロコンピュータ応用機器およびこれを含む機械装置
JPH0822446A (ja) * 1994-07-11 1996-01-23 Matsushita Electric Ind Co Ltd ニューラルネットワーク回路
JP2008225607A (ja) * 2007-03-09 2008-09-25 Institute Of Physical & Chemical Research 制御装置、制御システム、ならびに、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233586A (ja) * 1992-02-25 1993-09-10 Mitsubishi Electric Corp デジタル神経回路およびその駆動方法
JPH06348675A (ja) * 1993-06-07 1994-12-22 Ebara Corp ニューロコンピュータ応用機器およびこれを含む機械装置
JPH0822446A (ja) * 1994-07-11 1996-01-23 Matsushita Electric Ind Co Ltd ニューラルネットワーク回路
JP2008225607A (ja) * 2007-03-09 2008-09-25 Institute Of Physical & Chemical Research 制御装置、制御システム、ならびに、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
若山涼至,外5名: "共変量シフト適応に基づくrandom forestsの並列分散学習", 電子情報通信学会論文誌D 情報・システム, vol. 第8号, JPN6017008688, 1 August 2016 (2016-08-01), JP, pages 737 - 746, ISSN: 0004465996 *

Also Published As

Publication number Publication date
JP6964607B2 (ja) 2021-11-10
WO2018135002A1 (ja) 2018-07-26

Similar Documents

Publication Publication Date Title
US11106393B2 (en) Latency-based scheduling of command processing in data storage devices
CN109716318B (zh) 配置硬件在运行时期间多种模式下操作的装置和方法
US10713212B2 (en) Mobile remote direct memory access
US11295202B2 (en) Storage device with configurable neural networks
JP6676126B2 (ja) コンピュータシステム、プログラミング方法及び非一時的なコンピュータ読取可能な媒体
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
CN104731607B (zh) 终端终生学习处理方法、装置和系统
CN102708064A (zh) 从休眠中多阶段恢复
WO2022088082A1 (zh) 基于缺陷检测的任务处理方法、装置及设备及存储介质
CN107450971A (zh) 任务处理方法及装置
CN109947709B (zh) 数据存储方法和装置
US11231854B2 (en) Methods and apparatus for estimating the wear of a non-volatile memory
US11243714B2 (en) Efficient data movement method for in storage computation
CN107111502A (zh) 跨多个系统的应用安装/卸载
CN112068777B (zh) 数据存储介质的管理方法、系统、终端设备及存储介质
CN109598427B (zh) 机器人的管理方法、装置及电子设备
CN107526623A (zh) 一种数据处理方法及装置
WO2018135002A1 (ja) 人工ニューラルネットワークシステム、人工ニューラルネットワークの制御方法および人工ニューラルネットワークのためのデータ構造
CN106354435A (zh) Raid初始化的方法及装置
CN114089889A (zh) 模型训练方法、装置以及存储介质
US20220138574A1 (en) Method of training models in ai and electronic device
CN106302125A (zh) 一种对请求信息进行响应的方法、装置及系统
CN106934555B (zh) 工作流的组织方法及装置、计算机设备及存储介质
US11526709B2 (en) Information processing apparatus, information processing method, and storage medium for classifying object of interest
CN114707954B (zh) 企业智慧平台的信息管理方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210517

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: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211019

R150 Certificate of patent or registration of utility model

Ref document number: 6964607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150