(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】モバイル端末および分散深層学習システム
(51)【国際特許分類】
G06N 3/067 20060101AFI20231129BHJP
【FI】
G06N3/067
(21)【出願番号】P 2022516578
(86)(22)【出願日】2020-04-23
(86)【国際出願番号】 JP2020017485
(87)【国際公開番号】W WO2021214940
(87)【国際公開日】2021-10-28
【審査請求日】2022-08-02
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100098394
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100153006
【氏名又は名称】小池 勇三
(74)【代理人】
【識別番号】100064621
【氏名又は名称】山川 政樹
(74)【代理人】
【識別番号】100121669
【氏名又は名称】本山 泰
(72)【発明者】
【氏名】田仲 顕至
(72)【発明者】
【氏名】中島 光雅
(72)【発明者】
【氏名】橋本 俊和
(72)【発明者】
【氏名】坂本 健
【審査官】北川 純次
(56)【参考文献】
【文献】米国特許出願公開第2019/0354894(US,A1)
【文献】米国特許出願公開第2019/0370652(US,A1)
【文献】国際公開第2019/244513(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
周囲の環境から情報を取得して、この情報を伝送する電気信号を出力するように構成されたセンサと、
前記センサから出力された電気信号を光信号に変換するように構成された第1の発光素子と、
前記光信号によって伝送された前記情報の特徴量を抽出し、抽出結果の光信号を出力するように構成された第1の光プロセッサと、
前記第1の光プロセッサから出力された光信号を電気信号に変換するように構成された第1の受光素子と、
前記第1の受光素子から出力された信号を、DNN推論のFC層の処理を行う外部の処理装置に送信し、前記処理装置から送信された信号を受信するように構成された第1の通信回路とを備えることを特徴とするモバイル端末。
【請求項2】
請求項1記載のモバイル端末において、
制御信号に従って動作するように構成されたアクチュエータを更に備え、
前記第1の通信回路は、前記処理装置から送信された前記制御信号を受信することを特徴とするモバイル端末。
【請求項3】
請求項1または2記載のモバイル端末において、
モバイル端末内における電気信号の送受信の制御を行うように構成されたCPUまたは非ノイマン型プロセッサをさらに備えることを特徴とするモバイル端末。
【請求項4】
請求項1乃至3のいずれか1項に記載のモバイル端末において、
前記第1の受光素子から出力された信号を圧縮して前記第1の通信回路に出力するように構成されたエンコーダと、
前記第1の通信回路が受信した圧縮された信号を伸長して圧縮前の状態に戻すように構成されたデコーダとをさらに備えることを特徴とするモバイル端末。
【請求項5】
請求項1乃至4のいずれか1項に記載のモバイル端末と、
前記モバイル端末から受信した信号に対してDNNのFC層の処理を行うように構成された処理装置とを備えることを特徴とする分散深層学習システム。
【請求項6】
請求項1乃至4のいずれか1項に記載のモバイル端末と、
前記モバイル端末から受信した信号に対してDNNのFC層の処理を行い、このFC層の処理によって得られた推論結果のエントロピーを計算するように構成された第1の処理装置と、
前記エントロピーの結果が所定の閾値よりも大きい場合にDNN推論を終了し、前記エントロピーの結果が前記閾値以下の場合に、前記第1の処理装置から送信された推論結果に対して更にFC層の処理を行うように構成された第2の処理装置とを備え、
前記第1の処理装置は、
前記モバイル端末から送信された信号を受信するように構成された第2の通信回路と、
前記第2の通信回路が受信した電気信号を光信号に変換するように構成された第2の発光素子と、
前記第2の発光素子から出力された光信号によって伝送された特徴量に対してDNNのFC層の処理を行い、このFC層の処理によって得られた推論結果の光信号を出力するように構成された第2の光プロセッサと、
前記第2の光プロセッサから出力された光信号を電気信号に変換するように構成された第2の受光素子と、
前記第2の受光素子から出力された信号を前記第2の処理装置に送信し、前記第2の処理装置から送信された信号を受信するように構成された第3の通信回路とを備えることを特徴とする分散深層学習システム。
【請求項7】
請求項6記載の分散深層学習システムにおいて、
前記第1の処理装置は、第1の処理装置内における電気信号の送受信の制御を行い、前記エントロピーを計算するように構成されたCPUまたは非ノイマン型プロセッサをさらに備えることを特徴とする分散深層学習システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モバイル端末を用いた分散深層学習に関するものである。
【背景技術】
【0002】
深層学習は、その性能の高さ、適用範囲の広さから、様々なアプリケーションが提案され、従来の技術を上回る性能を示している。その反面、深層学習の推論において高い性能を出そうとすると、深層学習のニューラルネットワークモデルが大きくなり、データインプットからアウトプットまでに必要な演算量が増大してしまう。電子回路での演算はトランジスタによって行われるため、演算量が増えると、演算量が増えた分だけ消費電力が増大する。消費電力を抑える方法として、トランジスタに供給する電圧、電流を抑え、クロック周波数をあえて落とす方法などがある。しかしながら、このような方法では、演算の処理時間が増大してしまい、低遅延な応答が求められる適用領域に適さないという問題がある。
【0003】
深層学習に要する消費電力と応答時間の課題が顕著なのは、モバイル端末によってDNN(Deep Neural Network) 推論を行った場合である。モバイル機器でDNN推論を行う理由は、クラウドサーバにデータを送信して処理する場合に比べ、応答時間が短縮できるためである。応答時間が短縮できる理由は、センサから得られたデータのサイズが大きい場合、このデータをクラウドサーバに送信してサーバでDNN推論を実施しようとすると、通信の遅延が発生してしまうためである。
【0004】
低遅延なDNN推論の需要は高く、例えば自動運転や自然言語翻訳などの分野で注目されている。一方、モバイル端末への給電は全て電池から行われており、電池の容量増大の技術的進歩が遅いために、深層学習に要する消費電力全てを電池によって賄うのは困難であった。
【0005】
モバイル端末を用いた従来のDNNの処理の概要を
図8に示す。従来の技術では、DNNの処理中のデータサイズと各層の処理遅延に着目し、ニューラルネットワークモデル200の入力層近辺の層201の演算をモバイル端末100で行い、演算の結果をネットワーク102を介してクラウドサーバ101に送信し、出力層近辺の層202の演算をクラウドサーバ101で行う方法が提案されている(非特許文献1参照)。
【0006】
一般的なDNNでは、入力層近辺では特徴抽出が行われ、出力層近辺はフルコネクション層(FC層)となっている。特徴抽出とは、サイズの大きな入力データから推論に必要な特徴を抽出する処理である。この特徴抽出によりデータサイズが圧縮される。データサイズが圧縮された場合、モバイル端末とクラウドサーバ間の通信時間が短縮され、クラウドサーバでDNNを推論する際のボトルネックが解消される。
【0007】
また、出力層近辺のFC層は非常にメモリアクセスが多い。クラウドサーバの高性能なCPU(Central Processing Unit)であれば、潤沢なキャッシュを活用したり、プリフェッチなどの機能を用いてたりして、メモリアクセスのコストを小さくすることができる。しかし、モバイル端末のCPUでは、プリフェッチなどの機能がないために、FC層の処理中にDRAM(Dynamic Random Access Memory)に頻繁にアクセスする必要が生じる。DRAMへのアクセスは、キャッシュへのアクセスに比べてコストが大きいことが知られており、遅延時間の大幅な増大を引き起こし、消費電力の大幅な増大を引き起こす。よって、モバイル端末でFC層の処理を行わずに、クラウドサーバで処理した方が遅延時間と消費電力の面で効率が良いことがある。このように、モバイル端末でDNN推論の特徴量抽出処理を行うようにすれば遅延時間と消費電力の面で効率が良いが、従来の技術では、モバイル端末での消費電力の低減を実現できていなかった。
【先行技術文献】
【非特許文献】
【0008】
【文献】Yiping Kang,Johann Hauswald,Cao Gao,Austin Rovinski,Trevor Mudge,Jason Mars,Lingjia Tang,“Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge”,ACM SIGARCH Computer Architecture News,p.615-629,2017
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記課題を解決するためになされたもので、DNN推論の特徴量抽出処理に要するモバイル端末の消費電力を低減することができるモバイル端末および分散深層学習システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明のモバイル端末は、周囲の環境から情報を取得して、この情報を伝送する電気信号を出力するように構成されたセンサと、前記センサから出力された電気信号を光信号に変換するように構成された第1の発光素子と、前記光信号によって伝送された前記情報の特徴量を抽出し、抽出結果の光信号を出力するように構成された第1の光プロセッサと、前記第1の光プロセッサから出力された光信号を電気信号に変換するように構成された第1の受光素子と、前記第1の受光素子から出力された信号を、DNN推論のFC層の処理を行う外部の処理装置に送信し、前記処理装置から送信された信号を受信するように構成された第1の通信回路とを備えることを特徴とするものである。
【0011】
また、本発明の分散深層学習システムは、前記モバイル端末と、前記モバイル端末から受信した信号に対してDNNのFC層の処理を行うように構成された処理装置とを備えることを特徴とするものである。
また、本発明の分散深層学習システムは、前記モバイル端末と、前記モバイル端末から受信した信号に対してDNNのFC層の処理を行い、このFC層の処理によって得られた推論結果のエントロピーを計算するように構成された第1の処理装置と、前記エントロピーの結果が所定の閾値よりも大きい場合にDNN推論を終了し、前記エントロピーの結果が前記閾値以下の場合に、前記第1の処理装置から送信された推論結果に対して更にFC層の処理を行うように構成された第2の処理装置とを備え、前記第1の処理装置は、前記モバイル端末から送信された信号を受信するように構成された第2の通信回路と、前記第2の通信回路が受信した電気信号を光信号に変換するように構成された第2の発光素子と、前記第2の発光素子から出力された光信号によって伝送された特徴量に対してDNNのFC層の処理を行い、このFC層の処理によって得られた推論結果の光信号を出力するように構成された第2の光プロセッサと、前記第2の光プロセッサから出力された光信号を電気信号に変換するように構成された第2の受光素子と、前記第2の受光素子から出力された信号を前記第2の処理装置に送信し、前記第2の処理装置から送信された信号を受信するように構成された第3の通信回路とを備えることを特徴とするものである。
【発明の効果】
【0012】
本発明によれば、モバイル端末における特徴量抽出処理を高速で低消費電力な光プロセッサで行うことで、特徴量抽出処理に要するモバイル端末の消費電力を低減することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本発明の第1の実施例に係る分散深層学習システムの構成を示すブロック図である。
【
図2】
図2は、本発明の第1の実施例に係る分散深層学習システムの推論動作を説明するフローチャートである。
【
図3】
図3は、本発明の第2の実施例に係る分散深層学習システムの構成を示すブロック図である。
【
図4】
図4は、本発明の第3の実施例に係る分散深層学習システムの構成を示すブロック図である。
【
図5】
図5は、本発明の第4の実施例に係る分散深層学習システムの構成を示すブロック図である。
【
図6】
図6は、本発明の第5の実施例に係る分散深層学習システムの構成を示すブロック図である。
【
図7】
図7は、本発明の第5の実施例に係る分散深層学習システムの推論動作を説明するフローチャートである。
【
図8】
図8は、モバイル端末を用いた従来のDNNの処理の概要を示す図である。
【発明を実施するための形態】
【0014】
[第1の実施例]
以下、本発明の実施例について図面を参照して説明する。
図1は本発明の第1の実施例に係る分散深層学習システムの構成を示すブロック図である。分散深層学習システムは、モバイル端末1と、モバイル端末1とネットワーク2を介して接続されたクラウドサーバ3(処理装置)とから構成される。
【0015】
モバイル端末1は、センサ10と、バッファ11と、デジタルアナログ変換器(DA)12と、レーザーダイオード(LD)13と、光プロセッサ14と、フォトダイオード(PD)15と、アナログデジタル変換器(AD)16と、通信回路17と、DA18と、LD19と、PD20と、AD21と、アクチュエータ22とを備えている。
【0016】
センサ10は、周囲の環境から情報を取得してデジタルデータを出力する。センサ10の例としては、例えば画像センサがある。ただし、本発明は、画像センサに限定されるものではないことは言うまでもない。DA12は、センサ10から出力されたデジタルデータをアナログ電気信号に変換する。LD13(第1の発光素子)は、DA12から出力されたアナログ電気信号を光信号に変換する。
【0017】
光プロセッサ14は、LD13から出射した光信号を取り込み、光信号に対して内部の光導波路上での干渉を用いて四則演算を実施し、演算結果の光信号を出力するものである。光プロセッサ14は、受動光学素子のみを用いたものでもよいし、LCOS(Liquid crystal on silicon)素子やマッハツェンダー型導波路のような能動光学素子を含むものでもよい。
【0018】
PD15(第1の受光素子)は、光プロセッサ14から出力された光信号をアナログ電気信号に変換する。AD16は、PD15から出力されたアナログ電気信号をデジタルデータに変換する。
通信回路17は、AD16から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク2を介してクラウドサーバ3宛に送信する。周知のとおり、パケットは、ヘッダとペイロードとからなる。AD16から出力されたデジタルデータは、ペイロードに格納される。ネットワーク2は、有線ネットワーク、無線ネットワークのどちらであってもよい。また、通信回路17は、ネットワーク2を介してクラウドサーバ3から受信したパケットからペイロードのデータを抽出して、DA18に出力する。
【0019】
DA18は、通信回路17から出力されたデジタルデータをアナログ電気信号に変換する。LD19は、DA18から出力されたアナログ電気信号を光信号に変換する。PD20は、光プロセッサ14から出力された光信号をアナログ電気信号に変換する。AD21は、PD20から出力されたアナログ電気信号をデジタルデータに変換する。
アクチュエータ22は、AD21から出力されバッファ11に一旦格納されたデジタルデータに応じて動作する。
【0020】
クラウドサーバ3は、データセンタに設置されている。クラウドサーバ3は、モバイル端末1に比べて計算資源が豊富である、という特徴を有する。クラウドサーバ3は、通信回路30と、CPU31と、メモリ32とを備えている。
【0021】
通信回路30は、ネットワーク2から受信したパケットからペイロードのデータを抽出して、CPU31に出力する。また、通信回路30は、CPU31から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク2を介してモバイル端末1宛に送信する。
【0022】
図2は本実施例の分散深層学習システムの推論動作を説明するフローチャートである。モバイル端末1のセンサ10は、情報を取得してデジタルデータを出力する。このデジタルデータは、バッファ11に一旦蓄積される(
図2ステップS100)。
モバイル端末1のDA12は、センサ10から出力されバッファ11に蓄積されたデジタルデータをアナログ電気信号に変換する(
図2ステップS101)。
【0023】
モバイル端末1のLD13は、DA12から出力されたアナログ電気信号を光信号に変換する(
図2ステップS102)。
モバイル端末1の光プロセッサ14は、LD13から入力された光信号に対して四則演算を実施する。これにより、光プロセッサ14は、光信号によって伝送された情報の特徴量を抽出し、特徴量の抽出結果の光信号を出力する(
図2ステップS103)。
【0024】
モバイル端末1のPD15は、光プロセッサ14から出力された光信号をアナログ電気信号に変換する(
図2ステップS104)。モバイル端末1のAD16は、PD15から出力されたアナログ電気信号をデジタルデータに変換する(
図2ステップS105)。
モバイル端末1の通信回路17は、AD16から出力されたデジタルデータをパケット化してクラウドサーバ3宛に送信する(
図2ステップS106)。
【0025】
クラウドサーバ3の通信回路30は、ネットワーク2から受信したパケットからペイロードのデータを抽出する。クラウドサーバ3のCPU31は、通信回路30がモバイル端末1から受信したデータに対してDNNのFC層の処理を行う(
図2ステップS107)。こうして、DNN推論の結果を得ることができる。この推論結果は、クラウドサーバ3での次の処理に利用される。推論結果を利用する処理としては例えば画像認識などがあるが、本発明は画像認識に限定されるものではないことは言うまでもない。
【0026】
また、CPU31は、推論結果を利用した処理の結果として、モバイル端末1のアクチュエータ22を動かすためのデジタルデータである制御データを生成する。
クラウドサーバ3の通信回路30は、CPU31から出力された制御データをパケット化して、生成したパケットをネットワーク2を介してモバイル端末1宛に送信する。こうして、モバイル端末1に制御データを送信することにより、モバイル端末1のアクチュエータ22を制御することができる。具体的には例えばロボットのアクチュエータを動かす例などが考えられるが、本発明はこのような例に限定されるものではないことは言うまでもない。
【0027】
基本的に、本実施例の光プロセッサ14は、従来のモバイル端末100の処理に相当する処理を行う。ただし、光プロセッサ14はアナログ演算を行うのに対し、モバイル端末100のプロセッサはデジタル演算を行う。このため、モバイル端末100のプロセッサが行う演算と厳密に同じ結果が光プロセッサ14で得られるとは限らない。また、外界の状況が変化してデータとラベルの関係が変化することがある。したがって、ニューラルネットワークの学習が再度必要になる場合がある。
【0028】
この場合には、モバイル端末1のセンサ10に学習データを取得させて、
図2で説明したDNN推論を実行させる。クラウドサーバ3のCPU31は、推論結果が正解(教師データ)に近づくように、誤差逆伝搬法によってクラウドサーバ3のFC層の再学習を行う。
【0029】
従来のモバイル端末での特徴抽出処理の1例を挙げると、畳み込み計算などがある。畳み込み計算は、メモリアクセスは無いものの、大量のトランジスタを駆動させて演算結果を得る必要がある。また、畳み込み計算の基盤であるデジタル回路は、クロック信号に同期して動作する。しかし、モバイル端末では、電池の消費を抑える必要があり、高速なクロック信号を使用することはできない。
【0030】
一方、本実施例の光プロセッサ14は、トランジスタなどを用いないために消費電力が小さい。また、光プロセッサ14が扱う光信号はアナログ信号なので、クロック信号によって光プロセッサ14の動作速度が左右されることはない。また、既存のCMOS(Complementary Metal Oxide Semiconductor)回路のアナログ信号帯域は30GHz程度である。これに対して、光信号はおよそ十倍程度の信号帯域を有する。したがって、本実施例では、電気回路では不可能な情報の多重化を適用でき、チャネルあたりの情報量を増やすことができる。
【0031】
なお、学習済みの光プロセッサ14は、上記のとおり特徴抽出器として働く。特徴抽出とは、高次元の信号を低次元に変換し、線形分離可能にすることである。LD19から光信号が入力された場合、光プロセッサ14は、線形分離可能な信号を高次元の信号に変換してPD20に出力する。このとき、学習が既に行われていれば変換は適切に働き、高次元の信号は無秩序な信号ではなく、尤もらしい信号に変換される。このニューラルネットワークの作用は生成ネットワークと呼ばれる。つまり、ニューラルネットワークによって尤もらしい信号が生成され、この信号を基にアクチュエータ22が動作する。
【0032】
[第2の実施例]
次に、本発明の第2の実施例について説明する。
図3は本発明の第2の実施例に係る分散深層学習システムの構成を示すブロック図である。本実施例は、第1の実施例の具体例である。本実施例のモバイル端末1aでは、センサ10とDA12,18とLD13,19とPD15,20とAD16,21と通信回路17とアクチュエータ22との制御をCPU23で行い、モバイル端末1a内における電気信号の送受信の制御をCPU23で行う。CPU23は、ノイマン型を処理していく汎用プロセッサであり、メモリ24に格納されたプログラムに従って処理を実行する。なお、
図1のバッファ11はCPU23内に設けられる。
【0033】
例えばCPU23は、センサ10から出力されたデジタルデータをDA12に出力する。また、CPU23は、AD16から出力されたデジタルデータを通信回路17に出力する。デジタルデータのパケット化の処理をCPU23で行うようにしてもよい。
【0034】
また、CPU23は、通信回路17が受信したデータをDA18に出力する。このとき、通信回路17が受信したパケットからペイロードのデータを抽出する処理をCPU23で行うようにしてもよい。さらに、CPU23は、AD21から出力されたデジタルデータをアクチュエータ22に出力する。
【0035】
このように、本実施例では、センサ10とDA12,18とLD13,19とPD15,20とAD16,21と通信回路17とアクチュエータ22との制御をCPU23で行うことにより、モバイル端末1aのユーザーによる手作業でのキャリブレーション、制御の必要性がなくなり、統一されたプログラミング言語によって制御を実現することができる。
【0036】
本実施例によれば、モバイル端末1aのユーザーの手作業が減ることで生産性を向上させることができる。ユーザーがアクセスできない場所にモバイル端末1aが設置されている場合でも、ユーザーは、モバイル端末1aを遠隔で操作することで種々の制御が実行できる。したがって、モバイル端末1aが例えば数万台存在していても、これらモバイル端末1aの制御を自動化することができる。本実施例では、コンピュータで一般的なセキュリティ技術を利用できるため、悪意の第三者の攻撃に対する耐性を高めることができる。
【0037】
[第3の実施例]
次に、本発明の第3の実施例について説明する。
図4は本発明の第3の実施例に係る分散深層学習システムの構成を示すブロック図である。本実施例は、第1の実施例の別の具体例である。本実施例のモバイル端末1bでは、センサ10とDA12,18とLD13,19とPD15,20とAD16,21と通信回路17とアクチュエータ22との制御を非ノイマン型プロセッサ25で行い、モバイル端末1b内における電気信号の送受信の制御を非ノイマン型プロセッサ25で行う。
【0038】
非ノイマン型プロセッサ25とは、ノイマン型プロセッサとは異なり、専用の回路とレジスタからなるプロセッサである。
例えば非ノイマン型プロセッサ25は、センサ10から出力されたデジタルデータをDA12に出力する。また、非ノイマン型プロセッサ25は、AD16から出力されたデジタルデータを通信回路17に出力する。CPU23の場合と同様に、デジタルデータのパケット化の処理を非ノイマン型プロセッサ25で行うようにしてもよい。
【0039】
また、非ノイマン型プロセッサ25は、通信回路17が受信したデータをDA18に出力する。このとき、通信回路17が受信したパケットからペイロードのデータを抽出する処理を非ノイマン型プロセッサ25で行うようにしてもよい。さらに、非ノイマン型プロセッサ25は、AD21から出力されたデジタルデータをアクチュエータ22に出力する。
【0040】
本実施例では、第2の実施例のCPU23の動作を全て専用回路化したことにより、第2の実施例とは異なり、メモリを介した動作を減らすことができ、必要最低限の回路構成とすることで、省電力かつ低遅延に処理が実行できる。高性能なDA12,18とAD16,21とを使用すれば、従来のCPUでは実現不可能なバスあたりのビットレートを実現することができる。
【0041】
[第4の実施例]
次に、本発明の第4の実施例について説明する。
図5は本発明の第4の実施例に係る分散深層学習システムの構成を示すブロック図である。本実施例は、第1の実施例の別の具体例である。本実施例のモバイル端末1cでは、CPU23は、AD16から出力されたデジタルデータをエンコーダ26に出力する。エンコーダ26は、CPU23から出力されたデジタルデータを圧縮し、圧縮後のデジタルデータを通信回路17に出力する。
通信回路17は、エンコーダ26から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク2を介してクラウドサーバ3c宛に送信する。
【0042】
クラウドサーバ3cの通信回路30は、ネットワーク2から受信したパケットからペイロードのデータを抽出して、デコーダ33に出力する。
デコーダ33は、通信回路30から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU31に出力する。デコーダ33は、圧縮されたデジタルデータを圧縮前の状態に戻す。
【0043】
クラウドサーバ3cのエンコーダ34は、CPU31から出力されたデジタルデータを圧縮し、圧縮後のデジタルデータを通信回路30に出力する。エンコーダ26,34による圧縮処理としては、一般的な可逆圧縮処理の他に、低ビット化(量子化)や圧縮センシング、ゼロスキッピングなどの非可逆圧縮処理を含む。
【0044】
モバイル端末1cの通信回路17は、ネットワーク2を介してクラウドサーバ3cから受信したパケットからペイロードのデータを抽出して、デコーダ27に出力する。
デコーダ27は、通信回路17から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU23に出力する。CPU23は、デコーダ27から出力されたデジタルデータをDA18に出力する。
【0045】
第1~第3の実施例において、AD16から出力された信号は、AD16のデータの解像度にAD16のサンプリングレートを乗算したデータ量を有し、大きなデータ量になることがある。同様に、CPU31から出力されたデータは、大きなデータ量になることがある。このような大きな量のデータをネットワーク2で送受信した場合、通信の遅延が大きくなってしまう。
【0046】
本実施例では、データをエンコーダ26,34によって圧縮することにより、通信の遅延を最小化することができる。また、本実施例では、送受信データ量が少なくなるので、モバイル端末1cの消費電力を低減することができる。
なお、本実施例では、CPU23を設ける例で説明したが、第3の実施例で説明したようにCPU23の代わりに、非ノイマン型プロセッサ25を用いてもよい。
【0047】
[第5の実施例]
次に、本発明の第5の実施例について説明する。
図6は本発明の第5の実施例に係る分散深層学習システムの構成を示すブロック図である。本実施例の分散深層学習システムは、モバイル端末1cと、モバイル端末1cとネットワーク2を介して接続されたデータ処理装置5(第1の処理装置)と、データ処理装置5とネットワーク4を介して接続されたクラウドサーバ3d(第2の処理装置)とから構成される。第1~第4の実施例では、モバイル端末とクラウドサーバの2台で深層学習を分散処理させた。一方、本実施例は、分散処理の台数を更に増やすものである。
【0048】
モバイル端末1cについては第4の実施例で説明したとおりである。データ処理装置5は、DA50,55と、LD51,56と、光プロセッサ52と、PD53,57と、AD54,58と、通信回路59,60と、CPU61と、メモリ62と、デコーダ63,66と、エンコーダ64,65とを備えている。データ処理装置5は、基地局、エッジサーバ、フォグと呼ばれるものである。データ処理装置5は、モバイル端末1cよりも電力の制約が緩く、クラウドサーバ3dよりもデータの生成源に近い場所でコンピューティングを行う。
【0049】
データ処理装置5のCPU61は、メモリ62に格納されたプログラムに従って処理を実行する。
データ処理装置5の通信回路59は、ネットワーク2を介してモバイル端末1cから受信したパケットからペイロードのデータを抽出して、デコーダ63に出力する。
デコーダ63は、通信回路59から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU61に出力する。
【0050】
CPU61は、デコーダ63から出力されたデータをDA50に出力する。DA50は、CPU61から出力されたデジタルデータをアナログ電気信号に変換する。LD51(第2の発光素子)は、DA50から出力されたアナログ電気信号を光信号に変換する。
【0051】
光プロセッサ52は、LD51から出射した光信号を取り込み、光信号に対して内部の光導波路上での干渉を用いて四則演算を実施し、演算結果の光信号を出力する。
PD53(第2の受光素子)は、光プロセッサ52から出力された光信号をアナログ電気信号に変換する。AD54は、PD53から出力されたアナログ電気信号をデジタルデータに変換してCPU61に出力する。
【0052】
CPU61は、AD54から出力されたデジタルデータをエンコーダ65に出力する。エンコーダ26は、CPU61から出力されたデジタルデータを圧縮し、圧縮後のデジタルデータを通信回路60に出力する。
通信回路60は、エンコーダ65から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク4を介してクラウドサーバ3d宛に送信する。また、通信回路60は、ネットワーク4を介してクラウドサーバ3dから受信したパケットからペイロードのデータを抽出して、デコーダ66に出力する。
【0053】
デコーダ66は、通信回路60から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU61に出力する。CPU61は、デコーダ66から出力されたデジタルデータをDA55に出力する。
【0054】
DA55は、CPU61から出力されたデジタルデータをアナログ電気信号に変換する。LD56は、DA55から出力されたアナログ電気信号を光信号に変換する。PD57は、光プロセッサ52から出力された光信号をアナログ電気信号に変換する。AD58は、PD57から出力されたアナログ電気信号をデジタルデータに変換してCPU61に出力する。
【0055】
CPU61は、AD58から出力されたデジタルデータをエンコーダ64に出力する。エンコーダ64は、CPU61から出力されたデジタルデータを圧縮し、圧縮後のデジタルデータを通信回路59に出力する。
通信回路59は、エンコーダ64から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク2を介してモバイル端末1c宛に送信する。
【0056】
図7は本実施例の分散深層学習システムの推論動作を説明するフローチャートである。
図7のステップS100~S105の処理は第1~第4の実施例と同様なので、説明は省略する。
モバイル端末1cの通信回路17は、デジタルデータをパケット化してデータ処理装置5宛に送信する(
図7ステップS106a)。このとき、通信回路17が送信するデータは、モバイル端末1cのエンコーダ26によって圧縮されたデータである。
【0057】
データ処理装置5の通信回路59は、ネットワーク2から受信したパケットからペイロードのデータを抽出して、デコーダ63に出力する。デコーダ63は、通信回路59から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU61に出力する(
図7ステップS108)。
【0058】
CPU61は、デコーダ63から出力されたデジタルデータをDA50に出力する。DA50は、CPU61から出力されたデジタルデータをアナログ電気信号に変換する(
図7ステップS109)。
【0059】
データ処理装置5のLD51は、DA50から出力されたアナログ電気信号を光信号に変換する(
図7ステップS110)。
データ処理装置5の光プロセッサ52は、LD51から入力された光信号に対して演算を実施する。これにより、光プロセッサ52は、光信号によって伝送されたデータに対してFC層の処理を行う(
図7ステップS111)。
【0060】
データ処理装置5のPD53は、光プロセッサ52から出力された光信号をアナログ電気信号に変換する(
図7ステップS112)。AD54は、PD53から出力されたアナログ電気信号をデジタルデータに変換してCPU61に出力する(
図7ステップS113)。
【0061】
データ処理装置5のCPU61は、光プロセッサ52によって得られた推論結果のエントロピーを計算する(図ステップS114)。
CPU61は、AD54から出力されたデジタルデータと計算したエントロピーのデータとをエンコーダ65に出力する。エンコーダ65は、CPU61から出力されたデジタルデータを圧縮し、圧縮後のデジタルデータを通信回路60に出力する。通信回路60は、エンコーダ65から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク4を介してクラウドサーバ3d宛に送信する(
図7ステップS115)。
【0062】
クラウドサーバ3dの通信回路30は、ネットワーク4から受信したパケットからペイロードのデータを抽出して、デコーダ33に出力する。デコーダ33は、通信回路30から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU31に出力する(
図7ステップS115)。
【0063】
クラウドサーバ3dのCPU31は、デコーダ33から出力されたデータに含まれるエントロピーの結果が予め定められた閾値よりも大きい場合(
図7ステップS116においてYES)、DNN推論を終了する(
図7ステップS117)。
【0064】
また、CPU31は、デコーダ33から出力されたデータに含まれるエントロピーの結果が閾値以下の場合(ステップS116においてNO)、デコーダ33から出力されたデータに含まれる推論結果に対して更にFC層の処理を行う(
図7ステップS118)。このクラウドサーバ3dのFC層は、データ処理装置5のFC層よりも層数およびノード数が大きいFC層である。
【0065】
以上のような複数の装置を用いたDNN推論については、例えば文献「Surat Teerapittayanon,Bradley McDanel,H.T.Kung,“BranchyNet: Fast Inference via Early Exiting fromDeep Neural Networks”,2016 23rd International Conference on Pattern Recognition (ICPR).IEEE,2016」に開示されている。
【0066】
本実施例では、FC層の処理にデータ処理装置5の光プロセッサ52を使うことで、省電力かつ低遅延に処理が実行できる。
【0067】
なお、クラウドサーバ3dのCPU31は、推論結果を利用した処理の結果として、モバイル端末1cのアクチュエータ22を動かすためのデジタルデータである制御データを生成する。
【0068】
クラウドサーバ3dの通信回路30は、CPU31から出力されエンコーダ34によって圧縮された制御データをパケット化して、生成したパケットをネットワーク4を介してデータ処理装置5宛に送信する。
【0069】
データ処理装置5の通信回路60は、ネットワーク4を介してクラウドサーバ3dから受信したパケットからペイロードのデータを抽出して、デコーダ66に出力する。
デコーダ66は、通信回路60から出力されたデジタルデータを伸長して、伸長後のデジタルデータをCPU61に出力する。
【0070】
CPU61は、デコーダ66から出力されたデジタルデータをDA55に出力する。DA55は、CPU61から出力されたデジタルデータをアナログ電気信号に変換する。LD56は、DA55から出力されたアナログ電気信号を光信号に変換する。PD57は、光プロセッサ52から出力された光信号をアナログ電気信号に変換する。AD58は、PD57から出力されたアナログ電気信号をデジタルデータに変換してCPU61に出力する。
【0071】
CPU61は、AD58から出力されたデジタルデータをエンコーダ64に出力する。エンコーダ64は、CPU61から出力されたデジタルデータを圧縮し、圧縮後のデジタルデータを通信回路59に出力する。
通信回路59は、エンコーダ64から出力されたデジタルデータをパケット化して、生成したパケットをネットワーク2を介してモバイル端末1c宛に送信する。モバイル端末1c内の動作は第4の実施例で説明したとおりである。
【0072】
本実施例では、エンコーダ26,34,64,65とデコーダ27,33,63,66とを設けた例について説明しているが、本発明においてエンコーダとデコーダを設けることは必須の構成要件ではない。エンコーダとデコーダを用いない場合、モバイル端末1cの代わりに、モバイル端末1,1a,1bの構成を用いることになる。また、クラウドサーバ3dの代わりに、クラウドサーバ3の構成を用いることになる。
また、本実施例では、データ処理装置5にCPU61を設ける例で説明したが、第3の実施例で説明したようにCPU61の代わりに非ノイマン型プロセッサを用いてもよい。
【産業上の利用可能性】
【0073】
本発明は、モバイル端末を用いた分散深層学習に適用することができる。
【符号の説明】
【0074】
1,1a,1b,1c…モバイル端末、2,4…ネットワーク、3,3c,3d…クラウドサーバ、5…データ処理装置、10…センサ、11…バッファ、12,18,50,55…デジタルアナログ変換器、13,19,51,56…レーザーダイオード、14,52…光プロセッサ、15,20,53,57…フォトダイオード、16,21,54,58…アナログデジタル変換器、17,30,59,60…通信回路、22…アクチュエータ、23,31,61…CPU、24,32,62…メモリ、25…非ノイマン型プロセッサ、26,34,64,65…エンコーダ、27,33,63,66…デコーダ。