JP2020003860A - 学習システム、処理装置、処理方法、およびプログラム - Google Patents

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

Info

Publication number
JP2020003860A
JP2020003860A JP2018119945A JP2018119945A JP2020003860A JP 2020003860 A JP2020003860 A JP 2020003860A JP 2018119945 A JP2018119945 A JP 2018119945A JP 2018119945 A JP2018119945 A JP 2018119945A JP 2020003860 A JP2020003860 A JP 2020003860A
Authority
JP
Japan
Prior art keywords
information
unit
learning
deep learning
update
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.)
Pending
Application number
JP2018119945A
Other languages
English (en)
Inventor
博 川口
Hiroshi Kawaguchi
博 川口
陽紀 森
Haruki Mori
陽紀 森
哲也 陽川
Tetsuya Hikawa
哲也 陽川
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.)
Kobe University NUC
Original Assignee
Kobe University NUC
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 Kobe University NUC filed Critical Kobe University NUC
Priority to JP2018119945A priority Critical patent/JP2020003860A/ja
Publication of JP2020003860A publication Critical patent/JP2020003860A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】深層学習の同期型データ並列の処理が高速に行えなかった。【解決手段】2以上の処理装置とサーバ装置とを有し、処理装置は、2以上の各学習対象情報を深層学習モデルに順次、適用し、フォーワードプロパゲーションとバックワードプロパゲーションとを行い、深層学習モデルの重みの修正情報を取得し、サーバ装置に送信し、サーバ装置からモデルの更新情報を受信し、更新情報を用いて深層学習モデルを更新し、サーバ装置は、2以上の各処理装置から修正情報を受信し、2以上の修正情報を用いて、更新情報を取得し、2以上の各処理装置に送信し、2以上の各処理装置において、フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行う学習システムにより、処理を高速に行える。【選択図】図2

Description

本発明は、深層学習おける学習処理を行う学習システム等に関するものである。
深層学習(以下、適宜「DNN」と言う)では、学習データセット及びネットワークモデルの巨大化により、学習演算の長時間化が課題となっている。これまで、DNNでは学習時間を短縮するために、高性能演算器(CPU、GPGPU)等を複数個同時に利用する並列手法が用いられている。並列手法は大きく分けて「データ並列」と「モデル並列」に分類される。現在では、同等のネットワークを複数並べそれぞれに異なる入力データを学習させる「データ並列」手法が主流である。「データ並列」手法では、同期型データ並列処理を行う。
なお、従来の同期型データ並列処理を行う学習システムの構造の概念図は、図13である。図13において、Worker1、Worker2、・・・、WorkerN(131)は、それぞれ後述する処理装置1に対応し、モデルを用いた演算を行う。モデルを用いた演算とは、深層学習モデルを用いたフォーワードプロパゲーションとバックワードプロパゲーションである。また、図13のサーバ132は、後述するサーバ装置2に対応し、モデルの更新のための処理を行う。具体的には、サーバ132は、各Worker131から深層学習モデル(例えば、重みの更新量の集合dW(t))を受け取り、最新モデルに更新し、各Worker131に最新モデルを、バス133を経由して送信する。なお、図13において、サーバ132および各Worker131はメモリを有しても良いし、外部のメモリにアクセス可能であっても良い。
しかし、図13に示す学習システムが行う従来の同期型データ並列処理において、Worker131におけるフォーワードプロパゲーションとバックワードプロパゲーションの処理に「T」時間必要であり、バスを経由した通信およびサーバ132におけるモデルの更新のための処理に「T」時間必要である場合、図14に示すように、1回のモデル更新のための処理(1サイクルの処理)に「T+T」時間、必要となる。
また、DNNに関する従来技術において、分散計算機システムで学習処理の反復処理を伴う際に、学習処理の起動と終了及びデータロードを抑制し、処理速度を向上させる分散計算システムがあった(特許文献1参照)。
さらに、DNNに関する従来技術において、ノード間並列による深層学習で、係数演算に使用する係数の勾配情報を深層学習に反映する処理の時間を短縮する並列情報処理装置があった(特許文献2参照)。
特開2012−22558号公報 特開2018−18220号公報
上述した同期型データ並列は、最も一般的な深層学習並列化手法であるが、それぞれのプロセッサで演算を完了した後に得られる重みパラメータ(後述する「重み」)の更新量をサーバに集約する際に、データ転送時間が全体処理の律速要因となる課題があった。今後、さらなるネットワークの深層化が進んだ場合、重みパラメータ更新量のデータ転送量が全体のスループットに対してより影響力のある「ボトルネック」となる。
また、特許文献1において、モデル更新部とデータ適用部の処理が並列で行われておらず、高速化が不十分であった。
さらに、特許文献2において、各ノードにモデル更新用のGPUと演算用のCPUとを搭載し、各ノード間のGPUでモデルの情報交換を実施しているため、各ノードにCPUとGPUが必要であり、ノード数が増加すると、システム構成が相当複雑になる、という課題があった。
つまり、従来技術においては、深層学習の並列化で主流である同期型データ並列の処理が十分に高速に行えなかった。
本第一の発明の学習システムは、2以上の処理装置を用いて深層学習による学習を並列に行う学習システムであり、2以上の処理装置とサーバ装置とを有し、2以上の各処理装置は、2以上の各学習対象情報を深層学習モデルに順次、適用し、フォーワードプロパゲーションと、バックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、修正情報をサーバ装置に送信し、修正情報の送信に応じて、サーバ装置から深層学習モデルの更新に関する更新情報を受信し、更新情報を用いて、深層学習モデルを更新し、サーバ装置は、2以上の各処理装置から修正情報を受信し、2以上の修正情報を用いて、更新情報を取得し、更新情報を2以上の各処理装置に送信し、2以上の各処理装置において、フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行う、学習システムである。
かかる構成により、深層学習における同期型データ並列の処理を高速に行える。
また、本第二の発明の学習システムは、第一の発明に対して、2以上の各処理装置は、入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、学習対象の情報である学習対象情報と正解情報とを有する2以上の学習情報が格納され学習情報格納部と、学習情報格納部の2以上の各学習対象情報をモデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、学習対象情報に対応する結果である予測情報を取得する予測部と、予測情報とフォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、予測情報が正解情報に一致するまたは近づくために、予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得部と、修正情報をサーバ装置に送信する送信部と、サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信部と、受信部が受信した更新情報を用いて、モデル格納部の深層学習モデルを更新する更新部とを具備し、予測部は、フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得し、サーバ装置は、2以上の各処理装置から修正情報を受信するサーバ受信部と、サーバ受信部が受信した2以上の修正情報を用いて、更新情報を取得するサーバ取得部と、更新情報を2以上の各処理装置に送信するサーバ送信部とを具備する学習システムである。
かかる構成により、深層学習における同期型データ並列の処理を高速に行える。
また、本第三の発明の学習システムは、第二の発明に対して、2以上の各処理装置の予測部は、更新部が最近に更新した深層学習モデルに、次の学習対象情報を適用し、フォーワードプロパゲーションを行い、学習対象情報に対応する結果である予測情報を取得する学習システムである。
かかる構成により、深層学習における同期型データ並列の処理を高速に行える。
また、本第四の発明の学習システムは、第二または第三の発明に対して、深層学習モデルは、2以上のノードを有する入力層と2以上のノードを有する2層以上の中間層と2以上のノードを有する出力層とを有し、各層のノードの少なくとも一部のノードの間が、重み付きのエッジにより連結されており、修正情報取得部は、2以上の各エッジの重みの修正量である修正情報を取得し、サーバ取得部は、サーバ受信部が受信した2以上の修正情報を用いて、2以上の各エッジの新しい重みを含む更新情報を取得する学習システムである。
かかる構成により、深層学習における同期型データ並列の処理を高速に行える。
また、本第五の発明の学習システムは、第一から第四のいずれかの発明に対して、2以上の各処理装置において、フォーワードプロパゲーションとバックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、当該修正情報を前記サーバ装置に送信する第一の処理と、サーバ装置から深層学習モデルの更新に関する更新情報を受信し、当該更新情報を用いて、深層学習モデルを更新する第二の処理とを並列に実行する学習システムである。
かかる構成により、深層学習における同期型データ並列の処理をより高速に行える。
また、本第六の発明の処理装置は、入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、学習対象の情報である学習対象情報と正解情報とを有する2以上の学習情報が格納され学習情報格納部と、学習情報格納部の2以上の各学習対象情報をモデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、学習対象情報に対応する結果である予測情報を取得する予測部と、予測情報とフォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、予測情報が正解情報に一致するまたは近づくために、予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得部と、修正情報をサーバ装置に送信する送信部と、サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信部と、受信部が受信した更新情報を用いて、モデル格納部の深層学習モデルを更新する更新部とを具備し、予測部は、フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得する処理装置である。
かかる構成により、深層学習における同期型データ並列の処理を高速に行える処理装置を提供できる。
また、本第七の発明の処理装置は、第六の発明に対して、2以上の各処理装置において、フォーワードプロパゲーションとバックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、当該修正情報を前記サーバ装置に送信する第一の処理と、サーバ装置から深層学習モデルの更新に関する更新情報を受信し、当該更新情報を用いて、深層学習モデルを更新する第二の処理とを並列に実行する処理装置である。
かかる構成により、深層学習における同期型データ並列の処理をより高速に行える。
本発明による学習システムによれば、深層学習における同期型データ並列の処理を高速に行える。
実施の形態1における学習システムAの概念図 同学習システムAのブロック図 同深層学習モデルのイメージ図 同処理装置1の動作について説明するフローチャート 同サーバ装置2の動作について説明するフローチャート 同学習システムAの処理時間を説明する図 同実験結果を示す図 同実験結果を示す図 同実験結果を示す図 同学習システムAの他の概念図 同コンピュータシステムの概観図 同コンピュータシステムのブロック図 同従来の学習システムの概念図 同従来の学習システムの処理時間を説明する図
以下、学習システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、フォーワードプロパゲーションとバックワードプロパゲーションとを行う深層学習による学習を高速に行う学習システムについて説明する。特に、処理装置においてフォーワードプロパゲーションを行う場合に、直前より前(例えば、直前のステップより1ステップ前)の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行う、学習システムについて説明する。なお、フォーワードプロパゲーション、バックワードプロパゲーションは公知技術であるので、詳細な説明を省略する。また、学習対象情報は、学習対象の情報であり、例えば、画像であるが、そのデータは問わない。学習対象情報は、例えば、動画、テキスト、音声等でも良い。また、修正情報および更新情報の詳細については、後述する。さらに、1ステップは、1回のフォーワードプロパゲーションと1回のバックワードプロパゲーションとにより、深層学習モデルが更新されるまでの処理である。
図1は、本実施の形態における学習システムAの概念である。学習システムAは、2以上の処理装置1とサーバ装置2とを備える。2以上の各処理装置1とサーバ装置2とは、通信路により通信可能である。通信路は、例えば、バスであるが、インターネット等のネットワークでも良い。また、処理装置1は後述する演算を行う。後述する演算は、フォーワードプロパゲーションとバックワードプロパゲーションとを含む。また、サーバ装置2は後述するモデル更新を行う。モデル更新は、後述する深層学習モデルの更新のための処理である。
学習システムAは、深層学習の並列化における主流である同期型データ並列の処理を行うシステムである。
処理装置1は、2以上の各学習対象情報を深層学習モデルに順次、適用し、フォーワードプロパゲーションと、バックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、当該修正情報をサーバ装置2に送信し、当該修正情報の送信に応じて、サーバ装置2から深層学習モデルの更新に関する更新情報を受信し、当該更新情報を用いて、深層学習モデルを更新する。そして、処理装置1は、更新した深層学習モデルを用いて、次の学習対象情報を用いて、フォーワードプロパゲーションを行う。
サーバ装置2は、2以上の各処理装置1から修正情報を受信し、当該2以上の修正情報を用いて、更新情報を取得し、当該更新情報を2以上の各処理装置1に送信する。
図2は、本実施の形態における学習システムAのブロック図の例である。学習システムAは、処理装置1、およびサーバ装置2を備える。
処理装置1は、格納部11、処理部12、送信部13、および受信部14を備える。格納部11は、モデル格納部111、および学習情報格納部112を備える。処理部12は、予測部121、修正情報取得部122、および更新部123を備える。
サーバ装置2は、サーバ格納部21、サーバ受信部22、サーバ処理部23、およびサーバ送信部24を備える。サーバ処理部23は、サーバ取得部231を備える。
処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報とは、例えば、後述する深層学習モデル、後述する学習情報である。
モデル格納部111には、1または2以上の深層学習モデルが格納される。モデル格納部111に2以上の深層学習モデルが格納される場合、2以上の処理装置1で一のフォーワードプロパゲーションが行われた際に使用された深層学習モデルと、当該一のフォーワードプロパゲーションに対応するバックワードプロパゲーションが行われた結果を用いて更新された深層学習モデル(重みが更新された深層学習モデル)とを含む。深層学習モデルは、深層学習で使用されるモデルである。深層学習モデルは、2以上の各入力層と1または2以上の中間層と出力層とを有する。なお、重みとは、学習により更新されるパラメータ(「数値」と言っても良い)であり、例えば、0以上、1未満の数値である。ただし、パラメータは、負の値の場合もあり、深層学習モデルにより決まるものであり、限定されるものではない。
深層学習モデルとは、入力層と2層以上の中間層と出力層とを有する。入力層、中間層、および出力層の各層が有する2以上のノードのうちの少なくとも一部のノードの間が、重み付きのエッジにより連結されている。
入力層は、2以上のノードを有する。2以上の各ノードは、入力を受け付ける。入力を受け付けることは、入力からのエッジと接続されていることでも良い。2以上の各ノードは、中間層のノードへの2以上のエッジと接続されている。エッジとの接続を特定するデータ構造は問わない。エッジは、重みを有する。
中間層は、2以上のノードを有する。2以上の各ノードは、入力層のノードまたは他の中間層のノードまたは出力層のノードへ繋がる2以上のエッジと接続されている。
出力層は、2以上のノードを有する。2以上の各ノードは、中間層のノードからの2以上のエッジと接続されている。出力層の2以上の各ノードから情報が出力される。
深層学習モデルのイメージ図を図3に示す。図3において、ノードは、301の図柄の丸である(図3において一部のノードに符号301を付している)。エッジは、線302である(図3において一部のエッジに符号302を付している)。入力は、X・・・Xである。出力は、Y・・・Yである。また、図3において、各エッジには重み(W,W,W・・・)が付与されている(図3において一部のエッジにのみ重みを記載している)。
なお、深層学習モデルのデータ構造は問わないことは言うまでもない。深層学習モデルのデータ構造は、図3の構造が実現できるデータ構造であれば良い。
学習情報格納部112は、2以上の学習情報が格納され、学習情報は、学習対象情報と正解情報とを有する。学習対象情報は、学習対象の情報である。正解情報は、正しい情報(正解)である。
処理部12は、各種の処理を行う。各種の処理とは、例えば、予測部121、修正情報取得部122、更新部123が行う処理である。
予測部121は、学習情報格納部112の2以上の各学習対象情報を、モデル格納部111の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、学習対象情報に対応する結果である予測情報を取得する。かかる予測部121の処理は、公知の深層学習に含まれる公知の処理であるので、詳細な説明を省略する。
予測部121は、フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得する。
予測部121は、更新部123が最近に更新した深層学習モデルに、次の学習対象情報を適用し、フォーワードプロパゲーションを行い、学習対象情報に対応する結果である予測情報を取得することは好適である。
つまり、予測部121は、直前のフォーワードプロパゲーションの処理の結果、取得された修正情報により、サーバ装置2で取得される更新情報の受信を待たずに、処理装置1が保持している最新の深層学習モデル(更新部123が最近に更新した深層学習モデル)を用いてフォーワードプロパゲーションを行うことは好適である。
修正情報取得部122は、バックワードプロパゲーションを行う。なお、バックワードプロパゲーションは、公知技術である。
修正情報取得部122は、フォーワードプロパゲーションの対象となった学習対象情報と対になる正解情報を学習情報格納部112から取得し、当該正解情報と予測部121が当該フォーワードプロパゲーションを用いて取得した予測情報とを用いて、バックワードプロパゲーションを行う。バックワードプロパゲーションは、予測情報が正解情報に一致するまたは近づくために、予測部121が使用した深層学習モデルが有する重みを修正するための修正情報を取得する処理である。
修正情報取得部122は、2以上の各エッジの重みの修正量である修正情報を取得することは好適である。かかる場合、修正情報は、前のエッジの重みに対する修正の量を示す情報である。かかる場合、修正情報は、例えば、エッジ識別子と修正量の対の情報の集合でも良いし、エッジの順序が決まっている場合において、修正量の集合でも良い。
ただし、修正情報取得部122は、2以上の各エッジの修正された重みを取得しても良い。かかる場合、修正情報は、各エッジに対して修正された重みの集合である。かかる場合、例えば、修正情報は、エッジ識別子と更新された重みの対の情報の集合でも良いし、エッジの順序が決まっている場合において、更新された重みの集合でも良い。
更新部123は、受信部14が受信した更新情報を用いて、モデル格納部111の深層学習モデルを更新する。
更新情報は、例えば、重みを更新するための修正情報である。修正情報は、前のエッジの重みに対する修正値でも良い。かかる場合、例えば、修正情報は、エッジ識別子と修正値の対の情報の集合でも良いし、エッジの順序が決まっている場合において、修正値の集合でも良い。また、修正情報は、各エッジに対して修正された重みの集合でも良い。かかる場合、例えば、修正情報は、エッジ識別子と重みの対の情報の集合でも良いし、エッジの順序が決まっている場合において、重みの集合でも良い。
更新情報は、例えば、重みが更新された深層学習モデルそのものでも良い。
送信部13は、修正情報取得部122が取得した修正情報をサーバ装置2に送信する。送信とは、バスを経由した情報の送付でも良い。
受信部14は、サーバ装置2から深層学習モデルの更新に関する更新情報を受信する。受信とは、バスを経由した情報の受け付けでも良い。受信部14は、修正情報のサーバ装置2への送信に応じて、更新情報をサーバ装置2から受信する。
サーバ装置2を構成するサーバ格納部21には、各種の情報が格納される。各種の情報とは、例えば、修正情報、更新情報である。
サーバ受信部22は、2以上の各処理装置1から修正情報を受信する。
サーバ処理部23は、各種の処理を行う。各種の処理とは、例えば、サーバ取得部231が行う処理である。
サーバ取得部231は、サーバ受信部22が受信した2以上の修正情報を用いて、更新情報を取得する。
サーバ取得部231は、例えば、サーバ受信部22が受信した2以上の各修正情報が有する各エッジの更新量の代表値を算出し、当該各エッジの代表値を有する更新情報を取得する。代表値は、例えば、平均値であるが、中央値等でも良い。なお、かかる場合、更新情報は、各エッジの重みの更新量の集合を有する。更新情報は、例えば、エッジ識別子と更新量の組の集合である。ただし、エッジの順序が決まっている場合において、更新情報は、2以上の各エッジの新しい重みを取得するための更新量の集合でも良い。
サーバ取得部231は、サーバ受信部22が受信した2以上の各修正情報を用いて、各エッジの更新された重みを取得しても良い。かかる場合、更新情報は、各エッジの更新された重みを含む。そして、更新情報は、例えば、エッジ識別子と更新された重みの組の集合である。ただし、エッジの順序が決まっている場合において、更新情報は、2以上の各エッジの更新された重みの集合でも良い。なお、サーバ取得部231は、公知技術により実現可能である。
サーバ送信部24は、サーバ取得部231が取得した更新情報を2以上の各処理装置1に送信する。
格納部11、モデル格納部111、学習情報格納部112、およびサーバ格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
処理部12、予測部121、修正情報取得部122、更新部123、サーバ処理部23、およびサーバ取得部231は、通常、MPUやメモリ等から実現され得る。なお、処理部12、予測部121、修正情報取得部122、および更新部123は、特に、GPGPUとメモリ等により実現されることは好適である。処理部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部13、受信部14、サーバ受信部22、およびサーバ送信部24は、バスを経由して、情報を送信または受信する手段により実現されても良い。
ただし、送信部13、受信部14、サーバ受信部22、およびサーバ送信部24は、無線または有線の通信手段で実現されても良い。
次に、学習システムAの動作について説明する。まず、処理装置1の動作について、図4のフローチャートを用いて説明する。
(ステップS401)予測部121は、カウンタiに1を代入する。
(ステップS402)予測部121は、i番目の学習情報が存在するか否かを判断する。i番目の学習情報が存在する場合はステップS403に行き、i番目の学習情報が存在しない場合は処理を終了する。なお、学習情報は、深層学習モデルを更新するために学習させるための情報である。
(ステップS403)予測部121は、i番目の学習情報が有する学習対象情報を学習情報格納部112から取得する。
(ステップS404)予測部121は、モデル格納部111からnステップ前の深層学習モデルを取得する。なお、nステップ前の深層学習モデルとは、重み更新をnステップ遅らせた深層学習モデルである。また、nは1以上の自然数である。予測部121が使用するnステップ前の深層学習モデルは、モデル格納部111の中の最新の深層学習モデルであることは好適である。nステップ前の深層学習モデルは、(i−1)番目の学習対象情報を用いて行われたフォーワードプロパゲーションに対応するバックワードプロパゲーションにより取得された修正情報を用いて取得された更新情報により更新された深層学習モデルではない。つまり、予測部121は、サーバ装置2からの更新情報の受信を待つことなく、この時点でモデル格納部111に格納されている最新の深層学習モデルを取得することは好適である。
(ステップS405)予測部121は、ステップS403で取得したi番目の学習対象情報をステップS404で取得した深層学習モデルに適用し、フォーワードプロパゲーションを行い、予測情報を取得する。
(ステップS406)修正情報取得部122は、i番目の学習対象情報と対になる正解情報を学習情報格納部112から取得する。
(ステップS407)修正情報取得部122は、ステップS406で取得した正解情報と、ステップS405で取得された予測情報とを用いて、バックワードプロパゲーションを行う。さらに具体的には、修正情報取得部122は、ステップS405で取得された予測情報が、ステップS406で取得した正解情報に一致するまたは近づくために、予測部121が使用した深層学習モデルが有する重みを修正するための修正情報を取得する。
(ステップS408)送信部13は、ステップS407で取得された修正情報をサーバ装置2に送信する。
(ステップS409)予測部121は、カウンタiを1、インクリメントする。
(ステップS410)受信部14は、サーバ装置2から更新情報を受信したか否かを判断する。更新情報を受信した場合はステップS411に行き、更新情報を受信しなかった場合はステップS402に戻る。
(ステップS411)更新部123は、ステップS410で受信された更新情報を用いて、i番目の学習対象情報に対して適用された深層学習モデルを更新する。ステップS402に戻る。
なお、図4のフローチャートにおいて、フォーワードプロパゲーションとバックワードプロパゲーションとを行い、更新情報をサーバ装置2に送信するまでの処理と、サーバ装置2から更新情報を受信し、当該更新情報を用いて深層学習モデルを更新する処理とを、並列に実行することは好適である。
次に、サーバ装置2の動作について、図5のフローチャートを用いて説明する。
(ステップS501)サーバ受信部22は、処理装置1から修正情報を受信したか否かを判断する。修正情報を受信した場合はステップS502に行き、修正情報を受信しなかった場合はステップS501に戻る。
(ステップS502)サーバ処理部23は、ステップS501で受信された修正情報をサーバ格納部21に蓄積する。
(ステップS503)サーバ処理部23は、今回の処理において、すべての処理装置1から修正情報を受信したか否かを判断する。すべての処理装置1から修正情報を受信した場合はステップS504に行き、すべての処理装置1から修正情報を受信していない場合はステップS501に戻る。
(ステップS504)サーバ取得部231は、今回の処理において、サーバ格納部21に蓄積されたすべての修正情報をサーバ格納部21から読み出す。
(ステップS505)サーバ取得部231は、ステップS504で取得したすべての修正情報を用いて更新情報を取得する。
(ステップS506)サーバ送信部24は、ステップS505で取得された更新情報を2以上の各処理装置1に送信する。
(ステップS507)サーバ処理部23は、次の回の処理が存在するか否かを判断する。次の回の処理が存在する場合はステップS501に戻り、次の回の処理が存在しない場合は処理を終了する。なお、次の回の処理が存在する場合は、次のステップが存在する場合であり、処理装置1で次の学習対象情報を用いた処理が行われる場合である。
以下、本実施の形態における学習システムAの具体例について説明する。学習システムAの概念図は図1である。
学習システムAにおいて、ここでは、重みパラメータの更新量をサーバ装置2に集約する際の通信ボトルネック解消のために、深層学習モデルの更新の手法として、1ステップ分(つまり、上記のn=1)、重みパラメータの更新を遅らせる遅延更新手法を用いた。かかる手法は、連続して多数の学習対象情報を用いて深層学習モデルを更新する中で、i番目の学習対象情報を用いて深層学習モデルを更新する場合に、直前((i−1)番目)の学習対象情報を用いて取得された重みを用いて更新された深層学習モデルを用いるのではなく、直前の1つ前((i−2)番目)の学習対象情報を用いて取得された重みを用いて更新された深層学習モデルを用いる手法である。
そして、かかる処理により、処理装置1は、サーバ装置2からの更新情報の受信を待つことなく、例えば、(i−1)番目の学習対象情報を用いた処理の完了後、直ちにi番目の学習対象情報を用いた処理が行える。
そして、図6に示すように、処理装置1が行う処理の時間を「T」、変更情報の送信およびサーバ装置2の処理の時間を「T」とした場合、学習システムAの1サイクルの処理時間は、T≧Tのとき「T」,T<Tのとき「T」となる。すなわち、図6に示すように、1サイクルの処理時間は、max(T,T)で表示できる。一方、従来技術(図13のシステム)における1サイクルの処理時間は、図14に示したように「T+T」となる。従って、学習システムAの1サイクルの処理時間は、理論上、従来の技術のシステムの1サイクルの処理時間のT≧Tのとき「T/(T+T)」,T<Tのとき「T/(T+T)」となり,T=Tのとき最大で1/2となる。なお、「max(T,T)」の関数「max」は、「T」と「T」のうち、大きい方の値を返す関数である。
(実験結果)
以下、本実施の形態における学習システムAの実験結果について説明する。
本実験において、深層学習モデルのネットワークモデルはVGG-Fネットワークを用いた。また、学習データセットとして、ImageNetデータセット(インターネットホームページ、URL「http://www.image-net.org/」参照)を用いた。そして、数値演算ソフト(MATLAB)(インターネットホームページ、URL「https://jp.mathworks.com/products/matlab.html」参照)を利用して、学習システムAの手法(以下、適宜「本手法」と言う。)と従来手法との比較実験を行った。なお、学習データセットとは、学習対象の情報であり、上述した学習対象情報である。
本手法と従来手法について、画像認識精度と計算機上で実行時間とを評価し、重み更新量の演算器間のデータ転送にかかる待機時間の高速化を検証した。かかる実験結果を、図7、図8、図9に示す。
図7(a)は、1台の処理装置(Worker)が1度に扱う画像枚数であるバッチサイズを16に設定したときに精度を検証した実験結果である。図7(b)は、バッチサイズを32に設定したときに精度を検証した実験結果である。本深層学習における評価は、候補としてあげた上位5つの答えの中に正解が含まれていれば、認識成功としてポイントを与えるという採点をしている。図7(a)(b)において、縦軸「Validation Top 5 error「%」」は、上位5つの候補に正解が含まれていない率を表す。横軸「Epoch」は、全ての学習データセットの処理を実施した場合には、1回とカウントした時の回数で、各エポックで同じデータセットを繰り返し学習する。また、Conv.のグラフは従来手法を用いた学習処理の実行結果を示すものであり、Prop.のグラフは本手法を用いた学習処理の実行結果を示すものである。また、「#Threds th=2」、「#Threds th=4」および「#Threds th=8」は、それぞれ、Workerの数が、2、4、8であることを示している。例えば、Validation Top 5 error「%」が70%に到達するまでのEpoch数は、従来手法と本手法を比較した場合には、従来手法の方がEpoch数は少なくなっているが、その差は、最大1位に収まっている。一方、従来手法と本手法での1Epochの学習に要する時間は、従来手法に比べて、本手法を用いることで短縮され、最大で約2分の1の時間で実施することができる。
図8は、図7(a)のグラフにおいて、従来手法と本手法との差異を明示する概略のグラフであり、本手法は従来手法と比較して、短時間で良好な結果が得られることを示す。従来手法では、1Epochに要する時間が、「T+T」であり、本手法では、2Epochに要する時間が、「T+T」であった場合には、図8に示すようなValidation Top 5 error「%」を得ることができる。本手法では、最大でValidation Top 5 error「%」の値が、同じ値に達するまでの時間を、従来手法と比較して約半分の実行時間まで短縮できる。
図9(a)は、処理装置(Worker)が1度に扱うバッチサイズを16に設定し、Rwsを変化させた場合に、どれだけ学習の速度を高速化可能であるかという指標を「学習速度の高速化倍率」として示している。図9(b)は、処理装置(Worker)が1度に扱うバッチサイズを32に設定し、Rwsを変化させた場合に、どれだけ学習の速度を高速化可能であるかという指標を「学習速度の高速化倍率」として示している。図9(a)(b)において、縦軸「Acceleration ratio:Rws」は本手法において精度変化しない場合の「学習速度の高速化倍率」を示している。図中におけるRwsの計算式は、Rws=(T+T)/max(T,T)である。計算式中のmax(T,T)では、TとTのうち最大のものを選択する。Rwsは、深層学習モデルや学習システムの構成によって1<Rws≦2の範囲で値を取る。縦軸「Convergence speedup factor」はRwsに精度変化を考慮して正規化した学習の高速化倍率、横軸「Number of threads」は、Workerの数である。
本手法では、上述した通り、演算器間の非同期処理を行うため、厳密な意味での正確な重み更新値計算を行わない。従って、学習プロセス段階における多少の精度劣化を考慮する必要があるものの、計算機並列数が「2」の場合において、図9(a)に示す通り、最大で1.97倍の高速化ができる。
以上、本実施の形態によれば、深層学習における同期型データ並列の処理を高速に行える。
なお、本方法を用いると、深層学習の分散処理に特化した多ノードなコンピュータ・クラスタ並列処理における、データ通信遅延解消による全体処理速度の高速化に活用することができる。つまり、学習システムAは、深層学習向けサーバクラウド提供システムに対する計算リソース利用の高効率化に活用可能である。
また、本実施の形態によれば、学習システムAは、処理装置での演算処理とサーバ装置での更新プロセスとを並列化することにより、通信に掛かる待機時間を解消できる。具体的には、本学習システムAは、例えば、1ステップ分、重み更新を遅らせることで、各処理装置が演算を実行する間に重みの更新量を集約し、新しい重みを計算する手法を採用する。
なお、本実施の形態において、処理装置1とサーバ装置2との間の情報の受け渡し方法は問わない。例えば、図10に示すように、2以上の各処理装置1とサーバ装置2とは、共有メモリを介して、修正情報、および更新情報の受け渡しを行っても良い。共有メモリを介する情報の受け渡しも、情報の送信、受信と言っても良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、例えば、入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、学習対象の情報である学習対象情報と正解を示す正解情報とを有する2以上の学習情報が格納され学習情報格納部とにアクセス可能なコンピュータを、前記学習情報格納部の2以上の各学習対象情報を前記モデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、前記学習対象情報に対応する結果である予測情報を取得する予測部と、前記予測情報と前記フォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、前記予測情報が前記正解情報に一致するまたは近づくために、前記予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得部と、前記修正情報を前記サーバ装置に送信する送信部と、サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信部と、前記受信部が受信した更新情報を用いて、前記モデル格納部の深層学習モデルを更新する更新部として機能させるためのプログラムであり、前記予測部を、前記フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得する、ものとして、コンピュータを機能させるためのプログラムである。
また、サーバ装置2を実現するプログラムは、例えば、コンピュータを、2以上の各処理装置から修正情報を受信するサーバ受信部と、前記サーバ受信部が受信した2以上の修正情報を用いて、更新情報を取得するサーバ取得部と、前記更新情報を前記2以上の各処理装置に送信するサーバ送信部として、機能させるためのプログラムである。
また、図11は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の処理装置1、サーバ装置2を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図11は、このコンピュータシステム300の概観図であり、図12は、システム300のブロック図である。
図11において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図12において、コンピュータ301は、CD−ROMドライブ3012に加えて、GPGPU3013と、CD−ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、GPGPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる学習システムは、深層学習の並列化で主流である同期型データ並列の処理を高速に行えるという効果を有し、学習システム等として有用である。
1 処理装置
2 サーバ装置
11 格納部
12 処理部
13 送信部
14 受信部
21 サーバ格納部
22 サーバ受信部
23 サーバ処理部
24 サーバ送信部
111 モデル格納部
112 学習情報格納部
121 予測部
122 修正情報取得部
123 更新部
231 サーバ取得部

Claims (9)

  1. 2以上の処理装置を用いて深層学習による学習を並列に行う学習システムであり、2以上の処理装置とサーバ装置とを有し、
    前記2以上の各処理装置は、
    2以上の各学習対象情報を深層学習モデルに順次、適用し、フォーワードプロパゲーションと、バックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、当該修正情報を前記サーバ装置に送信し、当該修正情報の送信に応じて、前記サーバ装置から深層学習モデルの更新に関する更新情報を受信し、当該更新情報を用いて、深層学習モデルを更新し、
    前記サーバ装置は、
    前記2以上の各処理装置から修正情報を受信し、当該2以上の修正情報を用いて、更新情報を取得し、当該更新情報を前記2以上の各処理装置に送信し、
    前記2以上の各処理装置において、
    前記フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行う、学習システム。
  2. 前記2以上の各処理装置は、
    入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、
    学習対象の情報である学習対象情報と正解情報とを有する2以上の学習情報が格納され学習情報格納部と、
    前記学習情報格納部の2以上の各学習対象情報を前記モデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、前記学習対象情報に対応する結果である予測情報を取得する予測部と、
    前記予測情報と前記フォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、前記予測情報が前記正解情報に一致するまたは近づくために、前記予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得部と、
    前記修正情報を前記サーバ装置に送信する送信部と、
    前記サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信部と、
    前記受信部が受信した更新情報を用いて、前記モデル格納部の深層学習モデルを更新する更新部とを具備し、
    前記予測部は、
    前記フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得し、
    前記サーバ装置は、
    前記2以上の各処理装置から修正情報を受信するサーバ受信部と、
    前記サーバ受信部が受信した2以上の修正情報を用いて、更新情報を取得するサーバ取得部と、
    前記更新情報を前記2以上の各処理装置に送信するサーバ送信部とを具備する請求項1記載の学習システム。
  3. 前記2以上の各処理装置の予測部は、
    前記更新部が最近に更新した深層学習モデルに、次の学習対象情報を適用し、フォーワードプロパゲーションを行い、前記学習対象情報に対応する結果である予測情報を取得する請求項2記載の学習システム。
  4. 前記深層学習モデルは、
    2以上のノードを有する入力層と2以上のノードを有する2層以上の中間層と2以上のノードを有する出力層とを有し、各層のノードの少なくとも一部のノードの間が、重み付きのエッジにより連結されており、
    前記修正情報取得部は、
    2以上の各エッジの重みの修正量である修正情報を取得し、
    前記サーバ取得部は、
    前記サーバ受信部が受信した2以上の修正情報を用いて、2以上の各エッジの新しい重みを含む更新情報を取得する請求項2または請求項3記載の学習システム。
  5. 前記2以上の各処理装置において、
    前記フォーワードプロパゲーションとバックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、当該修正情報を前記サーバ装置に送信する第一の処理と、前記サーバ装置から深層学習モデルの更新に関する更新情報を受信し、当該更新情報を用いて、深層学習モデルを更新する第二の処理とを並列に実行する請求項1から請求項4いずれか一項に記載の学習システム。
  6. 入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、
    学習対象の情報である学習対象情報と正解情報とを有する2以上の学習情報が格納され学習情報格納部と、
    前記学習情報格納部の2以上の各学習対象情報を前記モデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、前記学習対象情報に対応する結果である予測情報を取得する予測部と、
    前記予測情報と前記フォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、前記予測情報が前記正解情報に一致するまたは近づくために、前記予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得部と、
    前記修正情報をサーバ装置に送信する送信部と、
    前記サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信部と、
    前記受信部が受信した更新情報を用いて、前記モデル格納部の深層学習モデルを更新する更新部とを具備し、
    前記予測部は、
    前記フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得する処理装置。
  7. 前記フォーワードプロパゲーションとバックワードプロパゲーションとを行い、深層学習モデルが有する重みを修正するための修正情報を取得し、当該修正情報を前記サーバ装置に送信する第一の処理と、前記サーバ装置から深層学習モデルの更新に関する更新情報を受信し、当該更新情報を用いて、深層学習モデルを更新する第二の処理とを並列に実行する請求項6記載の処理装置。
  8. 入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、学習対象の情報である学習対象情報と正解情報とを有する2以上の学習情報が格納され学習情報格納部と、予測部と、修正情報取得部と、送信部と、受信部と、更新部とにより実現される処理方法であって、
    前記予測部が、前記学習情報格納部の2以上の各学習対象情報を前記モデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、前記学習対象情報に対応する結果である予測情報を取得する予測ステップと、
    前記修正情報取得部が、前記予測情報と前記フォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、前記予測情報が前記正解情報に一致するまたは近づくために、前記予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得ステップと、
    前記送信部が、前記修正情報をサーバ装置に送信する送信ステップと、
    前記受信部が、前記サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信ステップと、
    前記更新部が、前記受信部が受信した更新情報を用いて、前記モデル格納部の深層学習モデルを更新する更新ステップとを具備し、
    前記予測ステップにおいて、
    前記フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得する処理方法。
  9. 入力層と1または2以上の中間層と出力層とを有する深層学習モデルが格納されるモデル格納部と、
    学習対象の情報である学習対象情報と正解情報とを有する2以上の学習情報が格納され学習情報格納部とにアクセス可能なコンピュータを、
    前記学習情報格納部の2以上の各学習対象情報を前記モデル格納部の深層学習モデルに順次、適用し、フォーワードプロパゲーションを行い、前記学習対象情報に対応する結果である予測情報を取得する予測部と、
    前記予測情報と前記フォーワードプロパゲーションの対象である学習対象情報と対になる正解情報とを用いて、前記予測情報が前記正解情報に一致するまたは近づくために、前記予測部が使用した深層学習モデルが有する重みを修正するための修正情報を取得するバックワードプロパゲーションを行う修正情報取得部と、
    前記修正情報をサーバ装置に送信する送信部と、
    前記サーバ装置から深層学習モデルの更新に関する更新情報を受信する受信部と、
    前記受信部が受信した更新情報を用いて、前記モデル格納部の深層学習モデルを更新する更新部として機能させるためのプログラムであり、
    前記予測部を、
    前記フォーワードプロパゲーションを行う場合に、直前より前の学習対象情報を用いたフォーワードプロパゲーションにより取得された修正情報を用いて構成された更新情報に基づく深層学習モデルを使用し、フォーワードプロパゲーションを行い、予測情報を取得する、ものとして、コンピュータを機能させるためのプログラム。
JP2018119945A 2018-06-25 2018-06-25 学習システム、処理装置、処理方法、およびプログラム Pending JP2020003860A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018119945A JP2020003860A (ja) 2018-06-25 2018-06-25 学習システム、処理装置、処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018119945A JP2020003860A (ja) 2018-06-25 2018-06-25 学習システム、処理装置、処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2020003860A true JP2020003860A (ja) 2020-01-09

Family

ID=69100179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018119945A Pending JP2020003860A (ja) 2018-06-25 2018-06-25 学習システム、処理装置、処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2020003860A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020170358A (ja) * 2019-04-03 2020-10-15 株式会社Preferred Networks 集積回路、半導体装置、半導体モジュール、情報処理装置および半導体装置の制御方法
CN113469324A (zh) * 2021-03-23 2021-10-01 中科创达软件股份有限公司 模型动态量化方法、装置、电子设备和计算机可读介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020170358A (ja) * 2019-04-03 2020-10-15 株式会社Preferred Networks 集積回路、半導体装置、半導体モジュール、情報処理装置および半導体装置の制御方法
US11704041B2 (en) 2019-04-03 2023-07-18 Preferred Networks, Inc. Integrated circuit, semiconductor device and control method for semiconductor device
JP7370158B2 (ja) 2019-04-03 2023-10-27 株式会社Preferred Networks 情報処理装置および情報処理方法
CN113469324A (zh) * 2021-03-23 2021-10-01 中科创达软件股份有限公司 模型动态量化方法、装置、电子设备和计算机可读介质
CN113469324B (zh) * 2021-03-23 2024-03-22 中科创达软件股份有限公司 模型动态量化方法、装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
US20220391771A1 (en) Method, apparatus, and computer device and storage medium for distributed training of machine learning model
EP3540652B1 (en) Method, device, chip and system for training neural network model
JP6788019B2 (ja) 非一貫性確率的勾配降下を使用した深層ニューラルネットワークのトレーニングの高速化
US10679145B2 (en) System and method for balancing computation with communication in parallel learning
US9477532B1 (en) Graph-data partitioning for workload-balanced distributed computation with cost estimation functions
WO2021244354A1 (zh) 神经网络模型的训练方法和相关产品
US20210357760A1 (en) Distributed Deep Learning System and Data Transfer Method
WO2018189279A1 (en) Black-box optimization using neural networks
WO2021108796A2 (en) System and method of federated learning with diversified feedback
CN112333234B (zh) 分布式机器学习训练方法、装置、电子设备及存储介质
CN113469355A (zh) 分布式系统中的多模型训练管道
CN109032630B (zh) 一种参数服务器中全局参数的更新方法
CN112686383B (zh) 一种通信并行的分布式随机梯度下降的方法、系统及装置
US11948352B2 (en) Speculative training using partial gradients update
US11941528B2 (en) Neural network training in a distributed system
JP2020003860A (ja) 学習システム、処理装置、処理方法、およびプログラム
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
CN110928683B (zh) 基于两类密集型虚拟机的边缘计算资源分配方法
Xie et al. Task scheduling in heterogeneous computing systems based on machine learning approach
US11880745B1 (en) Noisy intermediate-scale quantum service analysis for cloud based support
US11973695B2 (en) Information processing apparatus and information processing method
US11416581B2 (en) Multiplication of a matrix with an input vector
CN113485805B (zh) 基于异构加速平台的分布式计算调整方法、装置及设备
US20230171205A1 (en) Information processing apparatus and information processing method
US20230051344A1 (en) Optimization of memory use for efficient neural network execution

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180629