JP2019087072A - 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム - Google Patents

処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム Download PDF

Info

Publication number
JP2019087072A
JP2019087072A JP2017215388A JP2017215388A JP2019087072A JP 2019087072 A JP2019087072 A JP 2019087072A JP 2017215388 A JP2017215388 A JP 2017215388A JP 2017215388 A JP2017215388 A JP 2017215388A JP 2019087072 A JP2019087072 A JP 2019087072A
Authority
JP
Japan
Prior art keywords
processing
neural network
network model
function
activation function
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
JP2017215388A
Other languages
English (en)
Other versions
JP6814480B2 (ja
Inventor
優佑 星月
Yusuke Hoshizuki
優佑 星月
将志 道上
Masashi Michigami
将志 道上
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.)
Axell Corp
Original Assignee
Axell 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 Axell Corp filed Critical Axell Corp
Priority to JP2017215388A priority Critical patent/JP6814480B2/ja
Priority to US16/162,799 priority patent/US11423297B2/en
Publication of JP2019087072A publication Critical patent/JP2019087072A/ja
Application granted granted Critical
Publication of JP6814480B2 publication Critical patent/JP6814480B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】活性化関数として使用できる新たな関数を提供できるようにする。【解決手段】推論装置20において、対象データの入力を受け付ける受信部28と、ニューラルネットワークモデル22を用いて対象データに対して所定の推論処理を実行する推論部21と、を備え、ニューラルネットワークモデル22は、複数の処理レイヤー23を含み、処理レイヤー23として、入力値を所定の活性化関数により変換する活性化関数レイヤー(23−2、23−n−2等)を1以上含み、少なくとも1つの活性化関数レイヤー(23−2、23−n−2等)における活性化関数を、第1範囲においては、入力値が大きくなるほど出力値が最大値に近づくように変化し、第2範囲においては、入力値が大きくなるほど出力値が最小値から離れるように変化し、第1範囲と、第2範囲との出力値とは、同一の出力値をとらないような波形の関数で構成する。【選択図】図5

Description

本発明は、例えば、ニューラルネットワーク(Neural Network:NN)のモデルを使用する推論装置等に関する。
従来、機械学習のアーキテクチャの1つであるニューラルネットワークモデルを用いることにより、画像、文字、及び音声などの認識処理(推論処理)が行われている。
ニューラルネットワークモデルにおける学習済みの係数データは、規模が大きく、クライアント装置のみで処理を行うには負荷が大きかったり、処理の実行が困難であったりという問題がある。これに対して、サーバ・クライアントモデルを用いることにより、大規模な演算が可能なクラウド資源をニューラルネットワークモデルによる推論処理等に利用したいというニーズが存在している。
ニューラルネットワークモデルにおいては、線形変換の処理を行う処理レイヤーの後段に、活性化関数による変換処理を行う活性化関数レイヤーが設けられている。活性化関数としては、例えば、シグモイド関数や、ReLU関数(Rectified Linear Unit Rectifier:正規化線形関数)が用いられている。
例えば、特許文献1には、活性化関数として近似多項式を用いるニューラルネットワークに関する技術が開示されている。
米国特許出願公開第2016/0350648号明細書
ニューラルネットワークモデルにおいては、使用する活性化関数や、入力されるデータの種類等に応じて、ニューラルネットワークモデルを使った認識処理における認識率が変わる可能性がある。このため、いずれの活性化関数を使用するのが最適であるかを一律に決定することは困難である。このような状況下では、複数の活性化関数の中から状況に応じて選択することが好ましい場合がある。この点を考慮すると、多くの候補の中から活性化関数を選択できることが好ましい。
また、サーバ・クライアントモデルを用いることにより、大規模な演算が可能なクラウド資源をニューラルネットワークモデルによる推論処理等に利用する場合においては、個人情報等の機密性の高い情報をサーバに送信しなければならず、情報が流出してしまう虞がある。
本発明は、上記事情に鑑みなされたものであり、その目的は、ニューラルネットワークモデルで使用できる新たな活性化関数を提供することにある。
上記目的を達成するため、第1の観点に係る処理装置は、ニューラルネットワークモデルを用いて所定の処理を実行する処理装置であって、ニューラルネットワークモデルに入力する入力用データを記憶するデータ記憶部と、ニューラルネットワークモデルを用いて入力用データに対して所定の処理を実行する処理実行部と、を備え、ニューラルネットワークモデルは、複数の処理レイヤーを含み、処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、少なくとも1つの活性化関数レイヤーにおける活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似された微分可能な近似関数である。
上記目的を達成するため、第2の観点に係る推論装置は、ニューラルネットワークモデルにより所定の推論処理を実行する推論装置であって、対象データの入力を受け付ける対象データ入力部と、ニューラルネットワークモデルを用いて対象データに対して所定の推論処理を実行する推論部と、を備え、ニューラルネットワークモデルは、複数の処理レイヤーを含み、処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、少なくとも1つの活性化関数レイヤーにおける活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数である。
上記目的を達成するため、第3の観点に係る学習装置は、所定の学習用データに基づいてニューラルネットワークモデルにおける設定値を学習する学習装置であって、学習対象のニューラルネットワークモデルを用いて、学習用データに基づいて、学習対象のニューラルネットワークモデルにおける設定値を学習する学習部と、学習部により学習された学習対象のニューラルネットワークの設定値を記憶する学習結果記憶部と、を備え、ニューラルネットワークモデルは、複数の処理レイヤーを含み、処理レイヤーとして、直前の処理レイヤーからの入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、少なくとも1つの活性化関数レイヤーにおける活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数、又は前記波形に近似された微分可能な近似関数である。
上記学習装置において、学習部は、ニューラルネットワークモデルによる正伝播を実行する場合には、少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数を、波形の関数とし、ニューラルネットワークモデルにおける設定値を更新するために逆伝播を実行する場合には、少なくとも1つの活性化関数レイヤーにおける活性化関数を、近似関数とするようにしてもよい。
また、上記学習装置において、近似関数は、双曲線関数であってもよい。
上記目的を達成するため、第4の観点に係る処理システムは、所定の学習用データに基づいて第1ニューラルネットワークモデルにおける設定値を学習する学習装置と、第1ニューラルネットワークモデルの少なくとも一部に対応する第2ニューラルネットワークモデルにより所定の推論処理を実行する推論装置とを備える処理システムであって、学習装置は、学習対象の第1ニューラルネットワークモデルを用いて、学習用データに基づいて、学習対象の第1ニューラルネットワークモデルにおける設定値を学習する学習部と、学習部により学習した第1ニューラルネットワークの設定値を推論装置に通知する通知部と、
を備え、第1ニューラルネットワークモデルは、複数の処理レイヤーを含み、処理レイヤーは、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、少なくとも1つの活性化関数レイヤーにおける活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似した近似関数であり、推論装置は、対象データの入力を受け付ける対象データ入力部と、第2ニューラルネットワークモデルに通知された設定値を設定し、第2ニューラルネットワークモデルを用いて対象データに対して所定の推論処理を実行する推論部と、を備え、第2ニューラルネットワークモデルにおける少なくとも1つの前記活性化関数レイヤーに対応する活性化関数レイヤーにおける活性化関数は、前記波形の関数である。
上記目的を達成するため、第5の観点に係る処理方法は、ニューラルネットワークモデルを用いて所定の処理を実行する処理装置による処理方法であって、ニューラルネットワークモデルを用いて入力用データに対して所定の処理を実行し、ニューラルネットワークモデルは、複数の処理レイヤーを含み、処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、少なくとも1つの活性化関数レイヤーにおける活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は波形に近似された微分可能な近似関数である。
上記目的を達成するため、第6の観点に係る処理プログラムは、ニューラルネットワークモデルを用いて所定の処理を実行する処理装置を構成するコンピュータに実行させるための処理プログラムであって、コンピュータを、ニューラルネットワークモデルに入力する入力用データを記憶するデータ記憶部と、ニューラルネットワークモデルを用いて前記入力用データに対して所定の処理を実行する処理実行部と、して機能させ、ニューラルネットワークモデルは、複数の処理レイヤーを含み、処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、少なくとも1つの活性化関数レイヤーにおける活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似された微分可能な近似関数である。
本発明によれば、活性化関数として使用できる新たな関数を提供することができる。
図1は、一実施形態に係る処理システムの全体構成図である。 図2は、一実施形態に係る学習装置の機能構成図である。 図3は、一実施形態に係る活性化関数として用いる剰余演算関数の一例を説明する図である。 図4は、一実施形態に係る学習装置のハードウェア構成図である。 図5は、一実施形態に係る推論装置の機能構成図である。 図6は、一実施形態に係る推論装置のハードウェア構成図である。 図7は、一実施形態に係るクライアント装置の機能構成図である。 図8は、一実施形態に係るクライアント装置のハードウェア構成図である。 図9は、一実施形態に係る処理システムの動作を示すシーケンス図である。 図10は、一実施形態に係る処理システムにおける画像認識における認識結果を説明する図である。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
まず、一実施形態に係る処理システムについて説明する。
図1は、一実施形態に係る処理システムの全体構成図である。
処理システム1は、処理装置の一例としての学習装置10と、処理装置の一例としての推論装置20と、クライアント装置30とを備える。学習装置10と推論装置20とは、ネットワーク40を介して接続されている。また、推論装置20とクライアント装置30とは、ネットワーク50を介して接続されている。ネットワーク40,50は、例えば、LAN(Local Area Netowork)や、WAN(Wide Area Network)等である。なお、図1では、ネットワーク40と、ネットワーク50とを別のネットワークとしているが、それらを同一のネットワークとしてもよい。
学習装置10は、ニューラルネットワークモデルの学習を行う。推論装置20は、学習装置10によるニューラルネットワークモデルの学習結果(ニューラルネットワークモデルの係数(重みやバイアス)等の設定値)に基づいてニューラルネットワークモデルを設定し、推論処理を行う。クライアント装置30は、例えば、ユーザにより利用される装置であり、推論装置20に対して推論処理の対象となるデータ(対象データ)を送信し、推論装置20からの推論処理の結果(推論結果)を受け取る。
図2は、一実施形態に係る学習装置の機能構成図である。
学習装置10は、学習部11と、学習結果記憶部の一例としての記憶部15と、通知部の一例としての設定値通知部18とを備える。
学習部11は、ニューラルネットワークモデル12と、学習制御部14とを備える。
ニューラルネットワークモデル12は、例えば、処理対象とする画像データが何を表しているかを推論する推論処理を実行して推論結果を出力するための畳み込みニューラルネットワーク(CNN)のモデルであり、複数の処理レイヤー(レイヤー)により構成されている。なお、本実施形態では、ニューラルネットワークモデル12は、設定値の学習のために使用される。図1の例では、ニューラルネットワークモデル12は、レイヤー1〜レイヤーNにより構成されている。各レイヤーにおける処理(部分処理)は、各処理部13によって実行される。ニューラルネットワークモデル12は、例えば、処理対象とする画像データが何を表しているか(例えば、人、犬、猫等の何が含まれているか)を推論する推論処理を実行して推論結果を出力するためのモデルである。ニューラルネットワークモデル12におけるレイヤー数や、各レイヤーで実行する部分処理の種類及び内容は、任意に設定することができる。
図2に示すニューラルネットワークモデル12の構成は、一例であるが、図2に示す例では、ニューラルネットワークモデル12は、レイヤー1の部分処理を実行する畳込処理部13−1、レイヤー2(活性化関数レイヤー)の部分処理を実行する活性化関数処理部13−2、レイヤー3の部分処理を実行するプーリング処理部13−3、レイヤーN−2の部分処理を実行する活性化関数処理部13−n−2、レイヤーN−1の部分処理を実行するアフィン処理部13−n−1、レイヤーNの部分処理を実行するSoftMax処理部13−n等がある。
畳込処理部13−1は、入力された画像データに対して、複数のフィルタデータ(設定値の一例)のそれぞれを用いて畳込処理を行う。活性化関数処理部13−2、13−n−2等は、直前のレイヤーで生成されたデータを、活性化関数により変換する処理を実行する。本実施形態では、活性化関数処理部13−2、13−n−2等の少なくとも一つにおける活性化関数として、出力値が入力値に応じて有限範囲の値のいずれかの値をとる波形の関数、例えば、いわゆるノコギリの波状の波形となる関数(例えば、剰余演算を含む関数(剰余演算関数))や、このような波形に近似された微分可能な近似関数を用いている。ノコギリの波状の形状とは、連続的に増加(単調増加)して一部の値でのみ非連続に減少する波形、又は連続的に減少(単調減少)して一部の値でのみ非連続に増加する波形ということができる。ここで、単調増加(単調減少)には、傾きが一定な増加(減少)だけでなく、傾きが変化する増加(減少)を含んでもよい。波形に近似された微分可能な近似関数としては、例えば、双曲線関数(tanh等)としてもよく、高次(例えば、20次等)の三角関数としてもよく、多項式としてもよい。なお、活性化関数として双曲線関数を用いた場合には、高次の三角関数を用いた場合や、多項式を用いた場合に比して処理量が少なく済み、必要な処理時間が短く済むという効果がある。
本実施形態では、ニューラルネットワークモデル12における設定値を学習する方法として、例えば、誤差逆伝播法を用いており、ニューラルネットワークモデル12における正伝播を実行する場合には、活性化関数として、上記した剰余演算関数を用いるようにし、設定値を更新するために逆伝播を実行する場合には、活性化関数として、誤差逆伝播法での計算が可能な微分可能な近似関数を用いるようにしている。なお、誤差逆伝播法を用いない場合には、正伝播を実行する場合と、逆伝播を実行する場合の両方の場合において、剰余演算関数を用いるようにしてもよい。
図3は、一実施形態に係る活性化関数として用いる剰余演算関数の一例を説明する図である。図3において、横軸は、直前の処理レイヤーから入力される入力値を示し、縦軸は、剰余演算関数により出力される出力値を示している。
この剰余演算関数は、入力値の取り得る最小値が−5000よりも大きく、入力値の取り得る最大値が5000よりも小さい場合の剰余演算関数である。この剰余演算関数は、(入力値/1000) mod 10と表せる。なお、A mod Bは、AをB(除数)で除算した場合の余りを示している。なお、本実施形態では、余りを、小数を含むものとしているが、例えば、小数を切り捨てた整数としてもよい。
この剰余演算関数は、入力値が取り得る最小値から0(第1値の一例)までの範囲(第1範囲)においては、入力値が大きくなるほど出力値が最大値に近づくように変化し、入力値が0の場合には、出力値が0(出力値の最小値)となり、入力値が第1値から入力値の取り得る最大値までの範囲(第2範囲)においては、入力値が大きくなるほど出力値が最小値から離れるように変化する波形(いわゆるノコギリ波)となる関数である。また、この剰余演算関数においては、第1範囲における出力値と、第2範囲における出力値とは、同一の出力値をとらないようになっている。すなわち、大きく異なる値の入力値同士が同一の出力値に変換されてしまうことを適切に防止できる。本実施形態では、活性化関数処理部では、ノコギリ波となる関数のノコギリの1つの歯に相当する幅以下の範囲の関数を用いている。
図3に示す剰余演算関数は、−5000よりも大きく、5000よりも小さい範囲を取り得る入力値を1000で除算し、その除算後の値を剰余演算する関数となっている。この剰余演算関数によると、入力値の除算後の値の取り得る範囲の幅を剰余演算で用いる除数(すなわち、10)よりも小さくすることができる。なお、この入力値を除算する処理は、入力値の取り得る範囲の幅が、剰余演算における1周期分(入力値の増加に伴って最小値から最大値となる範囲)の幅内に収まるようにする処理である。このように、入力値の除算後の値の取り得る範囲の幅を剰余演算で用いる除数よりも小さくすることができるので、大きく値の異なる入力値が、同一の出力値に変換されてしまうことを適切に防止することができる。
なお、入力値を除算する値や、剰余演算の除数は、上記に限られない。例えば、入力値を除算する値は、各活性化関数処理部に入力される入力値(すなわち、直前のレイヤーの処理部の出力値)の取り得る範囲に基づいて決定すればよい。また、入力値を除算しないようにしてもよい。この場合には、剰余演算の除数を入力値に応じて大きな値とすればよい。
図2の説明に戻り、プーリング処理部13−3は、入力データについてダウンサンプリングする処理を実行する。アフィン処理部13−n−1は、入力データについてのアフィン変換処理を実行する。SoftMax処理部13−nは、入力データについてソフトマックス関数による処理を実行する。
学習制御部14は、記憶部15に格納されている学習用データ16をニューラルネットワークモデル12に入力し、ニューラルネットワークモデル12から出力される推論結果に基づいて、ニューラルネットワークモデル12における設定値を学習する。本実施形態では、学習制御部14は、学習時の正伝播を実行する場合には、ニューラルネットワークモデル12の活性化関数処理部13−2、13−n−2等の少なくとも一つにおける活性化関数を、剰余演算関数とし、学習時の逆伝播を実行する場合には、ニューラルネットワークモデル12の活性化関数処理部13−2、13−n−2等の少なくとも一つにおける活性化関数を、近似関数とする。学習制御部14は、学習用データ16による学習を終えた場合には、学習によって得られた設定値を記憶部15に格納する。
記憶部15は、学習部11のニューラルネットワークモデル12の学習に使用する学習用データ16と、ニューラルネットワークモデル12の係数等の設定値に関する情報である設定値情報17とを記憶する。なお、学習用データ16を、学習用データ16に対応する推論結果データと対応付けた教師データとして記憶部15に格納するようにしてもよい。設定値情報17に含まれる設定値としては、例えば、畳込処理部13−1等で使用されるフィルタの係数や、アフィン処理部13−n−1等で用いられる重み等がある。
設定値通知部18は、記憶部15に格納されている設定値情報17を、推論装置20に送信する。
次に、学習装置10のハードウェア構成について詳細に説明する。
図4は、一実施形態に係る学習装置のハードウェア構成図である。
学習装置10は、例えば、CPU(Central Processin Unit)101と、メインメモリ102と、GPU(Graphics Processing Unit)103と、リーダライタ104と、通信インターフェース(通信I/F)105と、補助記憶装置106と、入出力インターフェース(入出力I/F)107と、表示装置108と、入力装置109とを備えるコンピュータにより構成される。CPU101、メインメモリ102、GPU103、リーダライタ104、通信I/F105、補助記憶装置106、入出力I/F107、及び表示装置108は、バス110を介して接続されている。ここで、メインメモリ102又は補助記憶装置106の少なくとも一方が記憶部15に相当する。
CPU101は、学習装置10の全体を統括制御する。CPU101は、補助記憶装置106に格納されているプログラムをメインメモリ102に読み出して実行することにより各種処理を実行する。本実施形態では、CPU101は、補助記憶装置106に格納された処理プログラムを実行することにより、例えば、学習部11のニューラルネットワークモデル12の活性化関数処理部13−2,13−n−2、プーリング処理部13−3、アフィン処理部13−n−1、及びSoftMax処理部13−nと、学習制御部14とを構成する。
メインメモリ102は、例えば、RAM、ROM等であり、CPU101に実行されるプログラム(処理プログラム等)や、各種情報を記憶する。補助記憶装置106は、例えば、HDD(Hard DISK Drive)、SSD(Solid State Drive)等の非一時的記憶デバイス(不揮発性記憶デバイス)であり、CPU101で実行されるプログラムや、各種情報を記憶する。各種情報としては、例えば、学習データ16や設定値情報17がある。
GPU103は、例えば、画像処理等の特定の処理の実行に適しているプロセッサであり、例えば、並列的に行われる処理の実行に適している。本実施形態では、GPU103は、CPU101の指示に従って所定の処理を実行する。本実施形態では、GPU103は、例えば、学習部11のニューラルネットワークモデル12の畳込処理部13-1等を構成する。
リーダライタ104は、記録媒体111を着脱可能であり、記録媒体111からのデータの読み出し、及び記録媒体111へのデータの書き込みを行う。記録媒体111としては、例えば、SDメモリーカード、FD(フロッピーディスク:登録商標)、CD、DVD、BD(登録商標)、フラッシュメモリ等の非一時的記録媒体(不揮発性記録媒体)がある。本実施形態においては、記録媒体111に、処理プログラムを格納しておき、リードライタ104により、これを読み出して、利用するようにしてもよい。また、記録媒体111に、学習用データを格納しておき、リードライタ104により、これを読み出して利用するようにしてもよい。
通信I/F105は、ネットワーク40に接続されており、ネットワーク40に接続された他の装置(推論装置20等)との間でのデータの送受信を行う。例えば、設定値情報が通信I/F105を介してネットワーク40に接続された推論装置20に送信される。ここで、設定値通知部18は、通信I/F105及びCPU101によって構成される。
入出力I/F107は、例えば、マウス、キーボード等の入力装置109と接続されており、入力装置109からの学習装置10の管理者による操作入力を受け付ける。
表示装置108は、例えば、液晶ディスプレイ等のディスプレイ装置であり、各種情報を表示出力する。
次に、推論装置20について詳細に説明する。
図5は、一実施形態に係る推論装置の機能構成図である。
推論装置20は、推論部21と、記憶部25と、入力部の一例としての受信部28と、推論結果送信部29とを備える。
推論部21は、ニューラルネットワークモデル22と、推論制御部24とを備える。
ニューラルネットワークモデル22は、例えば、処理対象とする画像データが何を表しているかを推論する推論処理を実行して推論結果を出力するための畳み込みニューラルネットワーク(CNN)のモデルであり、複数の処理レイヤー(レイヤー)により構成されている。本実施形態では、ニューラルネットワークモデル22は、学習装置10のニューラルネットワークモデル12に対応する構成(本実施形態では、同一の構成)である。すなわち、図5の例では、ニューラルネットワークモデル22は、レイヤー1〜レイヤーNにより構成されている。各レイヤーにおける処理(部分処理)は、各処理部23によって実行される。ニューラルネットワークモデル22は、例えば、処理対象とする画像データが何を表しているか(例えば、人、犬、猫等の何が含まれているか)を推論する推論処理を実行して推論結果を出力するためのモデルである。ニューラルネットワークモデル22におけるレイヤー数や、各レイヤーで実行する部分処理の種類及び内容は、任意に設定することができる。
図5に示すニューラルネットワークモデル22の構成は、一例であり、図5に示す例では、ニューラルネットワークモデル22は、レイヤー1の部分処理を実行する畳込処理部23−1、レイヤー2(活性化関数レイヤー)の部分処理を実行する活性化関数処理部23−2、レイヤー3の部分処理を実行するプーリング処理部23−3、レイヤーN−2の部分処理を実行する活性化関数処理部23−n−2、レイヤーN−1の部分処理を実行するアフィン処理部23−n−1、レイヤーNの部分処理を実行するSoftMax処理部23−n等がある。畳込処理部23−1、活性化関数処理部23−2、プーリング処理部23−3、活性化関数処理部23−n−2、アフィン処理部23−n−1、SoftMax処理部23−nは、それぞれ、図2に示す畳込処理部13−1、活性化関数処理部13−2、プーリング処理部13−3、活性化関数処理部13−n−2、アフィン処理部13−n−1、SoftMax処理部13−nに対応し、同様な処理を実行する。
活性化関数処理部23−2、23−n−2等は、直前のレイヤーで生成されたデータを、活性化関数により変換する処理を実行する。本実施形態では、活性化関数処理部23−2、23−n−2等の少なくとも一つにおける活性化関数として、出力値が入力値に応じて有限範囲の値のいずれかの値をとる関数、例えば、剰余演算を含む剰余演算関数を用いている。本実施形態では、活性化関数処理部23−2、23−n−2等の活性化関数としては、学習装置10における対応する活性化関数処理部の活性化関数と同じ活性化関数としている。
推論制御部24は、記憶部25に格納されている設定値情報27に基づいて、ニューラルネットワークモデル22の設定を行う、すなわち、処理レイヤーにおける係数等を設定する。また、推論制御部24は、処理対象のデータである対象データ26をニューラルネットワークモデル22に入力し、ニューラルネットワークモデル22による推論処理を実行させる。
記憶部25は、推論部21のニューラルネットワークモデル22で推論処理を実行させる対象の対象データ26と、ニューラルネットワークモデル22の係数等の設定値に関する情報である設定値情報27とを記憶する。設定値情報27に含まれる設定値としては、例えば、畳込処理部23−1等で使用されるフィルタの係数や、アフィン処理部23−n−1等で用いられる重み等がある。
受信部28は、学習装置10から送信される設定値情報を受信して記憶部25に格納する。また、受信部28は、クライアント装置30から送信される対象データ26を受信して記憶部25に格納する。
推論結果送信部29は、推論部21のニューラルネットワークモデル22による推論処理の結果(推論結果)をクライアント装置30に送信する。
次に、推論装置20のハードウェア構成について詳細に説明する。
図6は、一実施形態に係る推論装置のハードウェア構成図である。
推論装置20は、例えば、CPU201と、メインメモリ202と、GPU203と、リーダライタ204と、通信I/F205と、補助記憶装置206と、入出力I/F207と、表示装置208と、入力装置209とを備えるコンピュータにより構成される。CPU201、メインメモリ202、GPU203、リーダライタ204、通信I/F205、補助記憶装置206、入出力I/F207、及び表示装置208は、バス210を介して接続されている。ここで、メインメモリ202又は補助記憶装置206の少なくとも一方が記憶部25に相当する。
CPU201は、推論装置20の全体を統括制御する。CPU201は、補助記憶装置206に格納されているプログラムをメインメモリ202に読み出して実行することにより各種処理を実行する。本実施形態では、CPU201は、補助記憶装置206に格納された処理プログラムを実行することにより、例えば、学習部21のニューラルネットワークモデル22の活性化関数処理部23−2,23−n−2、プーリング処理部23−3、アフィン処理部23−n−1、及びSoftMax処理部23−nと、推論制御部24とを構成する。なお、本実施形態では、CPU201は、クライアント装置30の後述するCPU301よりも処理性能が良いものとなっている。
メインメモリ202は、例えば、RAM、ROM等であり、CPU201に実行されるプログラム(処理プログラム等)や、各種情報を記憶する。補助記憶装置206は、例えば、HDD、SSD等の非一時的記憶デバイスであり、CPU201で実行されるプログラムや、各種情報を記憶する。各種情報としては、例えば、対象データ26や設定値情報27がある。
GPU203は、例えば、画像処理等の特定の処理の実行に適しているプロセッサであり、例えば、並列的に行われる処理の実行に適している。本実施形態では、GPU203は、CPU201の指示に従って所定の処理を実行する。本実施形態では、GPU203は、例えば、推論部21のニューラルネットワークモデル22の畳込処理部23-1等を構成する。
リーダライタ204は、記録媒体211を着脱可能であり、記録媒体211からのデータの読み出し、及び記録媒体211へのデータの書き込みを行う。記録媒体211としては、例えば、SDメモリーカード、FD(フロッピーディスク:登録商標)、CD、DVD、BD(登録商標)、フラッシュメモリ等の非一時的記録媒体(不揮発性記録媒体)がある。本実施形態においては、記録媒体211に、処理プログラムを格納しておき、リードライタ204により、これを読み出して、利用するようにしてもよい。
通信I/F205は、ネットワーク40、50に接続されており、ネットワーク40、50に接続された他の装置(学習装置10、クライアント装置30等)との間でのデータの送受信を行う。ここで、受信部28及び推論結果送信部29は、通信I/F205及びCPU201によって構成される。
入出力I/F207は、例えば、マウス、キーボード等の入力装置209と接続されており、入力装置209からの推論装置20の管理者による操作入力を受け付ける。
表示装置208は、例えば、液晶ディスプレイ等のディスプレイ装置であり、各種情報を表示出力する。
次に、クライアント装置30について詳細に説明する。
図7は、一実施形態に係るクライアント装置の機能構成図である。
クライアント装置30は、結果表示部31と、送信部32と、記憶部33と、受信部36と備える。
記憶部33は、推論処理を実行させる対象データ34と、推論処理の推論結果35とを記憶する。なお、推論結果35は、推論装置20から推論結果が送信された場合に格納されるものであり、推論装置20による推論処理が行われていない対象データ34に対する推論結果については、存在しない。
送信部32は、推論装置20に推論処理の対象データを送信する。受信部36は、推論装置20から推論処理の推論結果を受信して記憶部33に格納する。結果表示部31は、記憶部33に格納された推論結果35に基づいて各種情報を表示出力する。結果表示部31は、推論結果35をそのまま表示してもよく、推論結果35に基づいて所定の処理を実行し、その実行結果を表示するようにしてもよい。
次に、クライアント装置30のハードウェア構成について詳細に説明する。
図8は、一実施形態に係るクライアント装置のハードウェア構成図である。
クライアント装置30は、例えば、CPU301と、メインメモリ302と、GPU303と、リーダライタ304と、通信I/F305と、補助記憶装置306と、入出力I/F307と、表示装置308と、入力装置309とを備えるコンピュータにより構成される。クライアント装置301は、例えば、スマートフォン、携帯端末であってもよい。CPU301、メインメモリ302、GPU303、リーダライタ304、通信I/F305、補助記憶装置306、入出力I/F307、及び表示装置308は、バス310を介して接続されている。ここで、メインメモリ302又は補助記憶装置306の少なくとも一方が記憶部33に相当する。
CPU301は、クライアント装置30の全体を統括制御する。CPU301は、補助記憶装置306に格納されているプログラムをメインメモリ302に読み出して実行することにより各種処理を実行する。本実施形態では、CPU301は、補助記憶装置306に格納された処理プログラムを実行することにより、例えば、結果表示部31を構成する。
メインメモリ302は、例えば、RAM、ROM等であり、CPU301に実行されるプログラム(処理プログラム等)や、各種情報を記憶する。補助記憶装置306は、例えば、HDD、SSD、フラッシュメモリ等の非一時的記憶デバイスであり、CPU301で実行されるプログラムや、各種情報を記憶する。各種情報としては、例えば、対象データ34や推論結果35がある。
GPU303は、例えば、画像処理等の特定の処理の実行に適しているプロセッサであり、例えば、並列的に行われる処理の実行に適している。本実施形態では、GPU303は、CPU301の指示に従って所定の処理を実行する。
リーダライタ304は、記録媒体311を着脱可能であり、記録媒体311からのデータの読み出し、及び記録媒体311へのデータの書き込みを行う。記録媒体311としては、例えば、SDメモリーカード、FD(フロッピーディスク:登録商標)、CD、DVD、BD(登録商標)、フラッシュメモリ等の非一時的記録媒体(不揮発性記録媒体)がある。本実施形態においては、記録媒体311に、処理プログラムを格納しておき、リードライタ304により、これを読み出して、利用するようにしてもよい。また、記録媒体311に、処理対象データを格納しておき、リードライタ304により、これを読み出して記憶部33に格納するようにしてもよい。
通信I/F305は、ネットワーク50に接続されており、ネットワーク50に接続された他の装置(推論装置20等)との間でのデータの送受信を行う。ここで、送信部32及び受信部36は、通信I/F305及びCPU301によって構成される。
入出力I/F307は、例えば、マウス、キーボード等の入力装置309と接続されており、入力装置309からのユーザによる操作入力を受け付ける。
表示装置308は、例えば、液晶ディスプレイ等のディスプレイ装置であり、各種情報を表示出力する。
図9は、一実施形態に係る処理システムの動作を示すシーケンス図である。
図9を参照して、本実施形態に係る処理システム1における処理動作について説明する。
学習装置10の学習制御部14が記憶部15に格納されている学習用データ16を用いて、学習部11のニューラルネットワークモデル12により推論処理を実行させることで、ニューラルネットワークモデル12の処理レイヤー13における各種設定値の学習を行う(S101)。次いで、学習制御部14は、学習によって得られた設定値に関する設定値情報を記憶部15に格納する(S102)。
次いで、設定値通知部18は、記憶部15に格納された設定値情報17を読み出して、推論装置20に送信する(S103)。
推論装置20の受信部28は、学習装置10から送信された設定値情報17を受信して、記憶部25に格納する(S104)。また、クライアント装置30の送信部32は、対象データを推論装置20に送信する(S105)。推論装置20の受信部28は、クライアント装置30から推論対象の対象データを受信し、記憶部25に格納する(S106)。なお、設定値情報17を受信する時点と、対象データを受信する時点とは、いずれが先であってもよく、要は、推論処理を実行するまでに両方がそろっていればよい。
推論処理20の推論制御部24は、記憶部25から設定値情報27を取得し、ニューラルネットワークモデル22の対応する処理部23に対して、設定値を設定する(S107)。次いで、推論制御部24は、記憶部25から対象データ26を読み出して、ニューラルネットワークモデル22の最初の処理レイヤー(レイヤー1)の処理部23に入力する。この結果、ニューラルネットワークモデル22において、対象データ26を対象とした推論処理が実行されて、最終の処理レイヤー(レイヤーN)の処理部23から推論結果が推論結果送信部29に出力されることとなる(S108)。
次いで、推論装置20の推論結果送信部29は、ニューラルネットワークモデル22から渡された推論結果を対象データの推論処理を要求したクライアント装置30に対して送信する(S109)。
クライアント装置30の受信部36は、推論装置20から推論結果を受信し、記憶部33に格納する(S110)。その後、結果表示部31が、記憶部33に格納された推論結果35に基づいて、推論結果を表示出力する(S111)。
次に、本実施形態に係る処理システム1における画像データを対象にした推論処理における推論結果、すなわち、画像認識における認識結果について説明する。
図10は、一実施形態に係る処理システムにおける画像認識における認識結果を説明する図である。図10は、ニューラルネットワークモデルにおける各活性化関数処理部で使用する活性化関数を、本実施形態に係る剰余演算関数及び近似関数とした例(実施例1及び実施例2)と、既存の活性化関数を近似多項式で表した関数とした例(参考例1)と、Relu関数とした例(参考例2)とにおける画像認識の結果を示している。
実施例1においては、学習時及び推論時において使用するニューラルネットワークモデル12,22として、先頭のレイヤーから順に、畳込処理部、活性化関数処理部、プーリング処理部、畳込処理部、活性化関数処理部、プーリング処理部、畳込処理部、活性化関数処理部、アフィン処理部、活性化関数処理部、アフィン処理部、及びSoftMax処理部で構成されたニューラルネットワークモデルを用い、各活性化関数処理部の活性化関数を、学習における正伝播時及び推論時には、図3に示したような剰余演算関数を用い、学習における逆伝播時には、剰余演算関数の波形に近似する双曲線関数を近似関数としている。
そして、MNISTデータセットの中の学習用データを用いてニューラルネットワークモデル12における学習処理を行い、その学習処理によって得られた設定値が設定されたニューラルネットワークモデル22に、MNISTデータセットのテスト用データを入力して画像認識行い、得られた認識結果についての正答率を測定した。実施例1においては、正答率の最小が90.0%、正答率の最大が98.0%、正答率の平均が94.5%となった。
実施例2においては、各活性化関数処理部の活性化関数を、学習における正伝播時及び推論時には、図3に示したような剰余演算関数を用い、学習における逆伝播時には、剰余演算関数の波形に近似する、高次の三角関数を近似関数としている。
そして、MNISTデータセットの中の学習用データを用いてニューラルネットワークモデル12における学習処理を行い、その学習処理によって得られた設定値が設定されたニューラルネットワークモデル22に、MNISTデータセットのテスト用データを入力して画像認識行い、得られた認識結果についての正答率を測定した。実施例2においては、正答率の最小が89.5%、正答率の最大が98.0%、正答率の平均が94.4%となった。
参考例1においては、ニューラルネットワークモデル12,22における各活性化関数処理部の活性化関数として、既存の活性化関数(Relu関数等)を近似多項式とした関数を用いて、実施例と同様に学習処理及び推論処理を行い、得られた認識結果についての正答率を測定した。参考例1においては、正答率の最小が84.5%、正答率の最大が94.0%、正答率の平均が90.3%となった。
参考例2においては、ニューラルネットワークモデル12,22における各活性化関数処理部の活性化関数として、Relu関数を用いて、実施例と同様に学習処理及び推論処理を行い、得られた推論結果についての正答率を測定した。参考例2においては、正答率の最小が92.0%、正答率の最大が98.5%、正答率の平均が95.5%となった。
実施例1、実施例2、参考例1、及び参考例2における正答率を参照すると、実施例1及び実施例2においては、Relu関数や、近似多項式の関数を用いた場合と同様に比較的高い正答率を実現することができることがわかる。したがって、ニューラルネットワークにおける活性化関数として剰余演算関数や剰余演算関数の波形の近似関数を使用できる、すなわち、十分に使用に耐えうることがわかる。この結果、この剰余演算関数及び剰余演算関数の波形の近似関数は、ニューラルネットワークモデルにおける活性化関数の新たな候補となる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態において、クライアント装置30から推論装置20に送信する対象データを、加法準同型暗号により暗号化されたデータ(暗号化データ)としてもよい。ここで、加法準同型暗号とは、暗号化されていないデータ(平文データという)に対して平文データ空間上の加法演算により得られる結果が、暗号化データに対して、加法演算に対応する暗号化データ空間上の演算(対応演算)を行って得られた結果を復号することにより得られる技術である。すなわち、加法準同型暗号は、暗号化データに対して対応演算を行って復号することにより、平文データに対して加法演算をした結果が得られる技術である。加法準同型暗号としては、例えば、Paillier暗号が知られている。Paillier暗号においては、平文データ空間上の加法演算は、暗号化データ空間上においては、乗算演算となる。
対象データとして暗号化データを用いる場合には、加法準同型暗号が対応できる、平文データ空間上での演算は、加法演算に限られている。そこで、ニューラルネットワークモデル12における各処理部は、加法準同型暗号が対応できる演算のみの処理を実行するように構成する必要がある。ここで、剰余演算関数(ただし、入力値自体を除算する関数を除く)は、加法準同型暗号が対応できる演算である。例えば、ニューラルネットワークモデル12の活性化関数処理部の活性化関数を、剰余演算関数又は近似関数とすればよい。
一方、ニューラルネットワークモデル22の各処理部については、ニューラルネットワークモデル12の各処理部の平文データ空間上の演算を、暗号化データ空間上の対応演算とすればよい。具体的には、活性化関数処理部については、剰余演算関数に対応する対応演算とすればよい。
なお、ニューラルネットワークモデル12のSoftMax処理部13−nについては、加法準同型暗号が対応できない演算が含まれてしまうので、例えば、ニューラルネットワークモデル22をSoftMax処理部23を除いた構成とし、クライアント装置30がSoftMax処理部23に対応する処理部(ここでは、Softmax処理部13−nと同様な処理部)を備える必要がある。この場合には、SoftMax処理部23の直前の処理部の処理結果を推論装置20からクライアント装置30に送信するようにし、クライアント装置30が推論装置20から受信した処理結果を復号した後に、SoftMax処理部23に対応する処理部による処理を実行することにより最終的な推論結果を取得することとなる。
このように対象データを暗号化データとすることにより、推論装置20側に情報が漏えいしてしまうことを適切に防止することができ、推論装置20側において暗号化データのままで推論処理(推論処理の一部の処理も含む)を実行することができる。
また、上記実施形態では、画像認識を行うCNNが構成される処理システムに対して本発明を適用した例を示していたが、本発明は、画像認識以外の推論処理を実行するニューラルネットワークが構成される処理システムに対しても適用することができる。
また、上記実施形態においては、活性化関数を剰余演算関数としていたが、本発明はこれに限られず、同様な変化をする関数であれば、剰余演算関数でなくてもよい。
また、上記実施形態において、活性化関数を、入力値が取り得る最小値から第1値までの範囲(第1範囲)においては、入力値が大きくなるほど出力値の最小値に近づくように変化し、入力値が第1値の場合には、出力値が出力値の最大値となり、入力値が第1値から入力値の取り得る最大値までの範囲(第2範囲)においては、入力値が大きくなるほど出力値が最大値から離れるように変化する波形の関数又はこの波形に近似された関数としてもよい。すなわち、活性化関数は、入力値の取り得る値の最小値から第1値までの第1範囲においては、前記入力値が大きくなるほど出力値が前記出力値の最大値又は最小値の一方に近づくように変化し、前記入力値が前記第1値から前記入力値の取り得る最大値までの第2範囲においては、前記入力値が大きくなるほど前記出力値が前記出力値の最大値又は最小値の他方から離れるように変化し、前記第1範囲における出力値と、前記第2範囲における出力値とは、同一の出力値をとらないような波形の関数又はこの波形に近似された波形としてもよい。
また、上記実施形態において、学習装置10のCPU101、推論装置20のCPU201、又はクライアント装置30のCPU301がプログラムを実行することにより構成していた機能部の少なくとも一部を、各装置内の他のプロセッサや、特定の処理を実行するハードウェア回路で構成するようにしてもよい。また、学習装置10のGPU103により構成していた処理部13(畳込処理部13−1等)を、CPU101により構成するようにしてもよく、別のハードウェア回路で構成してもよい。また、推論装置20のGPU203により構成していた処理部23(畳込処理部23−1等)を、CPU201により構成するようにしてもよく、別のハードウェア回路で構成してもよい。
また、上記実施形態では、対象データを受け付ける入力部の一例として通信部28を例に挙げていたが、本発明はこれに限られず、例えば、入力部として、対象データが格納された記録媒体から対象データを読み取るリーダライタとしてもよく、また、対象データとなる画像データを取り込むカメラとしてもよい。
また、上記実施形態では、学習装置10と推論装置20を別体のハードウェアで構成した例を示していたが、本発明はこれに限られず、同一のハードウェアにより構成してもよい。
また、上記実施形態では、推論装置20とクライアント装置30とを別体のハードウェアで構成した例を示していたが、本発明はこれに限られず、例えば、クライアント装置30の処理能力が十分であれば、推論処理20とクライアント装置30とを同一のハードウェアにより構成してもよい。
1…処理システム、10…学習装置、11…学習部、12…ニューラルネットワークモデル、13…処理部、14…学習制御部、15…記憶部、16…学習用データ、17…設定値情報、18…設定値通知部、20…推論装置、21…推論部、22…ニューラルネットワークモデル、23…処理部、24…推論制御部、25…記憶部、26…対象データ、27…設定値情報、28…受信部、29…推論結果送信部、30…クライアント装置、101,201,301…CPU

Claims (8)

  1. ニューラルネットワークモデルを用いて所定の処理を実行する処理装置であって、
    前記ニューラルネットワークモデルに入力する入力用データを記憶するデータ記憶部と、
    前記ニューラルネットワークモデルを用いて前記入力用データに対して所定の処理を実行する処理実行部と、を備え、
    前記ニューラルネットワークモデルは、複数の処理レイヤーを含み、前記処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、
    少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似された微分可能な近似関数である
    処理装置。
  2. ニューラルネットワークモデルにより所定の推論処理を実行する推論装置であって、
    対象データの入力を受け付ける対象データ入力部と、
    前記ニューラルネットワークモデルを用いて前記対象データに対して所定の推論処理を実行する推論部と、を備え、
    前記ニューラルネットワークモデルは、複数の処理レイヤーを含み、前記処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、
    少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数である
    推論装置。
  3. 所定の学習用データに基づいてニューラルネットワークモデルにおける設定値を学習する学習装置であって、
    学習対象のニューラルネットワークモデルを用いて、学習用データに基づいて、前記学習対象のニューラルネットワークモデルにおける設定値を学習する学習部と、
    前記学習部により学習された前記学習対象のニューラルネットワークの設定値を記憶する学習結果記憶部と、を備え、
    前記ニューラルネットワークモデルは、複数の処理レイヤーを含み、前記処理レイヤーとして、直前の処理レイヤーからの入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、
    少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数、又は前記波形に近似された微分可能な近似関数である
    学習装置。
  4. 前記学習部は、前記ニューラルネットワークモデルによる正伝播を実行する場合には、少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数を、前記波形の関数とし、
    前記ニューラルネットワークモデルにおける設定値を更新するために逆伝播を実行する場合には、前記少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数を、前記近似関数とする
    請求項3に記載の学習装置。
  5. 前記近似関数は、双曲線関数である
    請求項4に記載の学習装置。
  6. 所定の学習用データに基づいて第1ニューラルネットワークモデルにおける設定値を学習する学習装置と、前記第1ニューラルネットワークモデルの少なくとも一部に対応する第2ニューラルネットワークモデルにより所定の推論処理を実行する推論装置とを備える処理システムであって、
    前記学習装置は、
    学習対象の第1ニューラルネットワークモデルを用いて、学習用データに基づいて、前記学習対象の第1ニューラルネットワークモデルにおける設定値を学習する学習部と、
    前記学習部により学習した第1ニューラルネットワークの設定値を前記推論装置に通知する通知部と、
    を備え、
    前記第1ニューラルネットワークモデルは、複数の処理レイヤーを含み、前記処理レイヤーは、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、
    少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似された微分可能な近似関数であり、
    前記推論装置は、
    対象データの入力を受け付ける対象データ入力部と、
    前記第2ニューラルネットワークモデルに前記通知された前記設定値を設定し、前記第2ニューラルネットワークモデルを用いて前記対象データに対して所定の推論処理を実行する推論部と、を備え、
    前記第2ニューラルネットワークモデルにおける前記少なくとも1つの前記活性化関数レイヤーに対応する活性化関数レイヤーにおける活性化関数は、前記波形の関数である
    処理システム。
  7. ニューラルネットワークモデルを用いて所定の処理を実行する処理装置による処理方法であって、
    前記ニューラルネットワークモデルを用いて入力用データに対して所定の処理を実行し、
    前記ニューラルネットワークモデルは、複数の処理レイヤーを含み、前記処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、
    少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似された微分可能な近似関数である
    処理方法。
  8. ニューラルネットワークモデルを用いて所定の処理を実行する処理装置を構成するコンピュータに実行させるための処理プログラムであって、
    前記コンピュータを、
    前記ニューラルネットワークモデルに入力する入力用データを記憶するデータ記憶部と、
    前記ニューラルネットワークモデルを用いて前記入力用データに対して所定の処理を実行する処理実行部と、して機能させ、
    前記ニューラルネットワークモデルは、複数の処理レイヤーを含み、前記処理レイヤーとして、入力値を所定の活性化関数により変換する活性化関数レイヤーを1以上含み、
    少なくとも1つの前記活性化関数レイヤーにおける前記活性化関数は、連続的に増加して一部の値でのみ非連続に減少する波形、又は連続的に減少して一部の値でのみ非連続に増加する波形の関数又は前記波形に近似された微分可能な近似関数である
    処理プログラム。

JP2017215388A 2017-11-08 2017-11-08 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム Active JP6814480B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017215388A JP6814480B2 (ja) 2017-11-08 2017-11-08 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
US16/162,799 US11423297B2 (en) 2017-11-08 2018-10-17 Processing apparatus, processing method, and nonvolatile recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017215388A JP6814480B2 (ja) 2017-11-08 2017-11-08 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム

Publications (2)

Publication Number Publication Date
JP2019087072A true JP2019087072A (ja) 2019-06-06
JP6814480B2 JP6814480B2 (ja) 2021-01-20

Family

ID=66328715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017215388A Active JP6814480B2 (ja) 2017-11-08 2017-11-08 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム

Country Status (2)

Country Link
US (1) US11423297B2 (ja)
JP (1) JP6814480B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009686A (ja) * 2019-07-01 2021-01-28 株式会社アクセル 学習装置、推論装置、学習方法、プログラムおよび推論方法
KR20210012083A (ko) * 2019-07-23 2021-02-03 포항공과대학교 산학협력단 뉴럴 네트워크 시스템 및 이의 동작 방법
JP2021060204A (ja) * 2019-10-03 2021-04-15 株式会社 システムスクエア 検査装置
KR20220017174A (ko) 2020-08-04 2022-02-11 주식회사 케이티 딥러닝 네트워크를 구성하는 서버, 방법 및 컴퓨터 프로그램
US11615609B2 (en) 2019-07-01 2023-03-28 Axell Corporation Learning apparatus, inferring apparatus, learning method, program, and inferring method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11510097B2 (en) 2017-11-16 2022-11-22 Distech Controls Inc. Environment control device and method for inferring an optimal wireless data transfer rate using a neural network
US10616121B2 (en) * 2017-11-16 2020-04-07 Distech Controls Inc. Inference server and environment control device for inferring an optimal wireless data transfer rate
US11522671B2 (en) * 2017-11-27 2022-12-06 Mitsubishi Electric Corporation Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
JP6962578B2 (ja) * 2019-05-21 2021-11-05 株式会社アクセル 暗号処理システム、暗号処理装置、暗号処理プログラム、及び暗号処理方法
US11947960B2 (en) * 2021-11-05 2024-04-02 Qualcomm Incorporated Modulo-space processing in multiply-and-accumulate units

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282038A (ja) * 1994-03-31 1995-10-27 Philips Electron Nv 線形関数で近似する数値処理方法及びプロセッサ
JPH11707A (ja) * 1997-04-17 1999-01-06 Nkk Corp 圧延機の制御方法及び圧延機の制御装置
JP2016218513A (ja) * 2015-05-14 2016-12-22 国立研究開発法人情報通信研究機構 ニューラルネットワーク及びそのためのコンピュータプログラム
JP2017187850A (ja) * 2016-04-01 2017-10-12 株式会社リコー 画像処理システム、情報処理装置、プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150106313A1 (en) * 2013-10-11 2015-04-16 General Electric Company Predictive modeling of high-bypass turbofan engine deterioration
US9946970B2 (en) 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data
US10936951B1 (en) * 2016-02-14 2021-03-02 Perceive Corporation Machine learning through multiple layers of novel machine trained processing nodes
EP3693138B1 (en) * 2017-06-19 2022-08-03 Google LLC Robotic grasping prediction using neural networks and geometry aware object representation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282038A (ja) * 1994-03-31 1995-10-27 Philips Electron Nv 線形関数で近似する数値処理方法及びプロセッサ
JPH11707A (ja) * 1997-04-17 1999-01-06 Nkk Corp 圧延機の制御方法及び圧延機の制御装置
JP2016218513A (ja) * 2015-05-14 2016-12-22 国立研究開発法人情報通信研究機構 ニューラルネットワーク及びそのためのコンピュータプログラム
JP2017187850A (ja) * 2016-04-01 2017-10-12 株式会社リコー 画像処理システム、情報処理装置、プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
瓜田健司、外3名: "周期的連続値出力関数を有するニューロンモデルとその応用", 電子情報通信学会技術研究報告, vol. 93, no. 512, JPN6020037109, 15 March 1994 (1994-03-15), JP, pages 53 - 58, ISSN: 0004357141 *
米川晴義、外3名: "疎行列演算による3値化ディープニューラルネットワークの高速化", 電子情報通信学会技術研究報告, vol. 117, no. 46, JPN6020005906, 15 May 2017 (2017-05-15), JP, pages 7 - 11, ISSN: 0004216005 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009686A (ja) * 2019-07-01 2021-01-28 株式会社アクセル 学習装置、推論装置、学習方法、プログラムおよび推論方法
JP7005040B2 (ja) 2019-07-01 2022-01-21 株式会社アクセル 学習装置、推論装置、学習方法、プログラムおよび推論方法
US11615609B2 (en) 2019-07-01 2023-03-28 Axell Corporation Learning apparatus, inferring apparatus, learning method, program, and inferring method
KR20210012083A (ko) * 2019-07-23 2021-02-03 포항공과대학교 산학협력단 뉴럴 네트워크 시스템 및 이의 동작 방법
KR102435447B1 (ko) 2019-07-23 2022-08-25 포항공과대학교 산학협력단 뉴럴 네트워크 시스템 및 이의 동작 방법
JP2021060204A (ja) * 2019-10-03 2021-04-15 株式会社 システムスクエア 検査装置
JP7373840B2 (ja) 2019-10-03 2023-11-06 株式会社 システムスクエア 検査装置
KR20220017174A (ko) 2020-08-04 2022-02-11 주식회사 케이티 딥러닝 네트워크를 구성하는 서버, 방법 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
US20190138899A1 (en) 2019-05-09
JP6814480B2 (ja) 2021-01-20
US11423297B2 (en) 2022-08-23

Similar Documents

Publication Publication Date Title
JP2019087072A (ja) 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
US11307864B2 (en) Data processing apparatus and method
US11307865B2 (en) Data processing apparatus and method
US10963783B2 (en) Technologies for optimized machine learning training
JP7232599B2 (ja) 畳み込みニューラルネットワークのための刈り込みと再学習法
Wang et al. Gan slimming: All-in-one gan compression by a unified optimization framework
US20210263995A1 (en) Reduced dot product computation circuit
CN112166567B (zh) 通信系统中的学习
US11373098B2 (en) Processing apparatus, learning apparatus, processing method, and nonvolatile recording medium
WO2018011842A1 (ja) 階層ネットワークを用いた演算処理システム
CN110929865B (zh) 网络量化方法、业务处理方法及相关产品
KR20180072562A (ko) 인공 뉴럴 네트워크 클래스-기반 프루닝
CN111542839B (zh) 一种反卷积神经网络的硬件加速方法、装置和电子设备
JP6730740B2 (ja) 処理装置、処理方法、処理プログラム、及び暗号処理システム
JP7096610B2 (ja) 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
JP6695595B2 (ja) 推論装置、及び推論方法
CN112200713A (zh) 一种联邦学习中的业务数据处理方法、装置以及设备
CN113965313A (zh) 基于同态加密的模型训练方法、装置、设备以及存储介质
WO2015145997A1 (ja) 属性変換装置、属性変換方法、学習装置、及び、記録媒体
US20220405561A1 (en) Electronic device and controlling method of electronic device
US11086634B2 (en) Data processing apparatus and method
CN113313253A (zh) 神经网络压缩方法、数据处理方法、装置及计算机设备
CN114202070A (zh) 电力数据处理方法、装置、非易失性存储介质及处理器
JP2019502287A5 (ja)
US20150139447A1 (en) Automated construction of infinite impulse response filters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201028

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201214

R150 Certificate of patent or registration of utility model

Ref document number: 6814480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250