JP6605742B2 - 適応型人工ニューラルネットワーク選択技法 - Google Patents

適応型人工ニューラルネットワーク選択技法 Download PDF

Info

Publication number
JP6605742B2
JP6605742B2 JP2018536776A JP2018536776A JP6605742B2 JP 6605742 B2 JP6605742 B2 JP 6605742B2 JP 2018536776 A JP2018536776 A JP 2018536776A JP 2018536776 A JP2018536776 A JP 2018536776A JP 6605742 B2 JP6605742 B2 JP 6605742B2
Authority
JP
Japan
Prior art keywords
computing device
client computing
processing
server
client
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.)
Active
Application number
JP2018536776A
Other languages
English (en)
Other versions
JP2019510287A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2019510287A publication Critical patent/JP2019510287A/ja
Application granted granted Critical
Publication of JP6605742B2 publication Critical patent/JP6605742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Description

関連出願の相互参照
本出願は、2016年3月28日に出願された米国出願第15/082,653号の優先権の利益を主張する。上記の出願の開示全体が、参照により本明細書に組み込まれる。
本開示は、分散型クライアントサーバ処理に関し、より詳細には、適応型人工ニューラルネットワーク(ANN)選択技法に関する。
本明細書で与えられる背景技術の説明は、本開示のコンテキストを概括的に提示するためのものである。この背景技術のセクションで説明される範囲での、現在挙げられている発明者の研究、ならびに出願時に場合によっては従来技術と見なされないことがある説明の態様は、明示的にも暗示的にも本開示に対する従来技術として認められない。
クライアントコンピューティングデバイス(たとえば、モバイルフォン)は、処理タスクの少なくとも一部分を実施するように構成されたリモートサーバコンピューティングデバイスと通信することができる。サーバコンピューティングデバイスにおいて実施されるべき処理の程度は、様々な要因に左右され得る。1つの例示的な要因は、クライアントコンピューティングデバイスとサーバコンピューティングデバイスとの間のネットワーク接続の品質または強度である。ネットワーク接続が低品質/強度を有するとき、クライアントコンピューティングデバイスは、処理タスクのより大きい量を扱い得る。しかしながら、いくつかの集約的処理タスク(たとえば、機械学習モデル)の場合、サーバコンピューティングデバイスは、はるかに多くの能力があり、したがって、処理タスクのいくつかの部分を扱うのにはるかに好ましいことがある。これらの場合、低品質/強度ネットワーク接続にもかかわらず、処理がサーバコンピューティングデバイスにおいて行われることが望ましいことがある。したがって、低品質/強度ネットワーク接続上で、必要とされるデータを転送するために、クライアントコンピューティングデバイスは、サーバコンピューティングデバイスに転送されるべきデータに圧縮をかけ得る。しかしながら、この圧縮は、処理タスクの最終結果に悪影響を及ぼすことがある、データ損失を生じることがある。
コンピュータ実装技法、および1つまたは複数のプロセッサと、本技法のための実行可能命令のセットを記憶したコンピュータ可読メモリ(たとえば、非一時的コンピュータ可読メモリ)とを有するコンピューティングシステムが提示される。本技法は、1つまたは複数のプロセッサを有するクライアントコンピューティングデバイスによって、デジタルメディアアイテムと、デジタルアイテムに対する処理タスクについての要求とを取得することと、クライアントコンピューティングデバイスによって、(i)クライアントコンピューティングデバイスにおける利用可能なコンピューティングリソースと、(ii)ネットワークの状態とに基づいて動作パラメータのセットを決定することであって、クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスが、ネットワークを介した互いとの通信のために構成された、決定することと、動作パラメータのセットに基づいて、複数の人工ニューラルネットワーク(ANN)のうちの1つを選択することであって、各ANNは、処理タスクのどの部分が、クライアントコンピューティングデバイスによっておよびサーバコンピューティングデバイスによって実施されるべきであるかを定義する、選択することと、クライアントコンピューティングデバイスとサーバコンピューティングデバイスとの間で、選択されたANNに従って処理タスクの処理を協調させることと、クライアントコンピューティングデバイスによって、処理タスクの最終評価に対応する最終処理結果を取得することと、クライアントコンピューティングデバイスによって、最終処理結果に基づいて出力を生成することとを含むことができる。
いくつかの実施形態では、各ANNは、処理タスクの第1の部分および第2の部分を定義し、第1の部分は、(i)クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスのうちの一方によって、(ii)クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスのうちの他方に第2の部分を実施させるネットワークを介した通信より前に実施されるべきである。いくつかの実施形態では、クライアントコンピューティングデバイスは、(i)選択されたANNを選択し、(ii)中間処理結果を取得するために、処理タスクの第1の部分を実施し、(iii)サーバコンピューティングデバイスに中間処理結果を送信し、(iv)ネットワークを介してサーバコンピューティングデバイスから最終処理結果を受信する。
いくつかの実施形態では、クライアントコンピューティングデバイスにおける利用可能なコンピューティングリソースは、(i)クライアントコンピューティングデバイスのバッテリーの充電のレベル、(ii)クライアントコンピューティングデバイスの処理能力のレベルのうちの少なくとも1つを含む。いくつかの実施形態では、クライアントコンピューティングデバイスにおける利用可能なコンピューティングリソースは、(i)クライアントコンピューティングデバイスのバッテリーの充電のレベル、(ii)クライアントコンピューティングデバイスの処理能力のレベルの両方を含む。いくつかの実施形態では、デジタルメディアアイテムは、オーディオファイルまたはビデオファイルであり、処理タスクは、音声認識または音声テキスト化である。他の実施形態では、デジタルメディアアイテムは、画像ファイルまたはビデオファイルであり、処理タスクは、画像認識またはテキスト認識である。他の実施形態では、デジタルメディアアイテムは、テキストのストリングまたはテキストファイルであり、処理タスクはテキスト音声化である。
いくつかの実施形態では、本技法は、クライアントコンピューティングデバイスから、およびサーバコンピューティングデバイスに、動作パラメータのセットを送信することであって、動作パラメータのセットの受信が、サーバコンピューティングデバイスに、(i)選択されたANNを選択することと、(ii)中間処理結果を取得するために、処理タスクの第1の部分を実施することとを行わせる、送信することと、クライアントコンピューティングデバイスによって、およびネットワークを介してサーバコンピューティングデバイスから、中間処理結果を受信することとをさらに含む。いくつかの実施形態では、クライアントコンピューティングデバイスは、最終処理結果を取得するために、中間処理結果を使用して処理タスクの第2の部分を実施する。
本明細書で説明される主題の他の態様は、プロセッサによって実行されたとき、プロセッサに、本明細書で説明されるいずれかの実装形態による方法を実施させる命令のセットを記憶したコンピュータ可読媒体を提供し、1つまたは複数のプロセッサと、命令のセットを記憶したコンピュータ可読メモリとを含むコンピューティングシステムであって、命令のセットは、1つまたは複数のプロセッサによって実行されたとき、コンピューティングシステムに、本明細書で説明されるいずれかの実装形態による方法を含む動作を実施させる、コンピューティングシステムを提供する。
本開示の適用可能性のさらなる領域が、以下で与えられる発明を実施するための形態から明らかになろう。発明を実施するための形態および特定の例は、説明のためのものにすぎず、本開示の範囲を限定するものではないことを理解されたい。態様および実装形態は組み合わせられ得ることと、ある態様または実装形態のコンテキストにおいて説明される特徴は、他の態様または実装形態のコンテキストにおいて実装され得ることとが諒解されよう。
本開示は、発明を実施するための形態および添付の図面からより十分に理解されよう。
本開示のいくつかの実装形態による、例示的なコンピューティングシステムの図である。 図1の例示的なコンピューティングデバイスの機能ブロック図である。 本開示のいくつかの実装形態による、サーバ側層、クライアント側層、およびボトルネック層の様々な人工ニューラルネットワーク(ANN)構成の図である。 本開示のいくつかの実装形態による、サーバ側層、クライアント側層、およびボトルネック層の様々な人工ニューラルネットワーク(ANN)構成の図である。 本開示のいくつかの実装形態による、サーバ側層、クライアント側層、およびボトルネック層の様々な人工ニューラルネットワーク(ANN)構成の図である。 本開示のいくつかの実装形態による、例示的な適応型ANN選択技法の流れ図である。
前述のように、クライアントコンピューティングデバイス(たとえば、モバイルフォン)は、処理タスクの少なくとも一部分のためにリモートサーバコンピューティングデバイスに送信さるべきであるデータに圧縮をかけ得る。高い圧縮レベルは、サーバコンピューティングデバイスによって実施される処理の結果に悪影響を及ぼすことがある、データ損失を生じることがある。たとえば、オープンエンド音声認識は、計算コストが高い処理タスクであり、サーバ側で認識を実施することによって、最良の精度が達成され得る。その結果、音声認識関係特徴の広範囲にわたる取り込みにおける1つの制限要因は、関連するネットワーク帯域幅およびレイテンシ要件である。
人工ニューラルネットワーク(ANN)は、一般にサーバコンピューティングデバイスにおいて実装される大規模機械学習モデルを取得するために、深層学習を伴う。ANNによって実施される処理タスクの例は、音声認識(たとえば、音声テキスト化または文字起こし)、画像認識、テキスト認識(たとえば、光学文字認識、またはOCR)、およびテキスト音声変換を含む。ANNは、モデルの多大な改善をもたらし、大きい品質改善につながったが、それは、(クライアントコンピューティングデバイスが、モバイルデバイスなどのバッテリー電源式デバイスである場合)ネットワーク上で送信されるデータによるラウンドトリップレイテンシおよびバッテリー影響を低減しなかった。しかしながら、これらの処理タスクの少なくともいくつかの部分は、クライアントコンピューティングデバイスによってローカルに実施され得る。
したがって、適応型ANN選択技法が提示される。本技法は、クライアントコンピューティングデバイスが、デジタルメディアアイテム(テキスト、オーディオ、画像、ビデオなど)と、デジタルメディアアイテムに対する処理タスクについての要求とを取得することを伴う。クライアントコンピューティングデバイスは、クライアントコンピューティングデバイスとサーバコンピューティングデバイスとの間の処理タスクの分散に影響を及ぼす、動作パラメータ(バッテリーレベル、処理能力、ネットワーク速度など)のセットを取得することができる。処理タスクに応じて、クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスのうちの一方は、各々が処理タスクの分散を定義する、複数のANNのうちの1つを選択することができる。選択されたANNに従って、クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスは、処理タスクの部分を実施することができ、最終評価が、クライアントコンピューティングデバイスにおいて出力され得る。
次に図1を参照すると、本開示のいくつかの実装形態による、例示的なコンピューティングシステム100の図が示されている。コンピューティングシステム100は、ユーザ108に関連するクライアントコンピューティングデバイス104を含むことができる。クライアントコンピューティングデバイス104は、任意の好適なコンピューティングデバイス(デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルフォンなど)であり得る。クライアントコンピューティングデバイス104は、ネットワーク116を介してサーバコンピューティングデバイス112と通信することができる。ネットワーク116は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、たとえば、インターネット、またはそれらの組合せであり得る。本明細書で使用される「サーバコンピューティングデバイス」という用語は、単一のサーバコンピューティングデバイスと、並列または分散型アーキテクチャにおいて動作する2つまたはそれ以上のサーバコンピューティングデバイスの両方を指すことができる。たとえば、機械学習モデルは、複数のサーバコンピューティングデバイス上で分散され得る。
次に図2を参照すると、例示的なコンピューティングデバイス200が示されている。一実装形態では、コンピューティングデバイス200は、通信デバイス204と、プロセッサ208と、メモリ212と、入出力デバイス216と、マイクロフォン220と、カメラ224とを含むことができる。本開示では、コンピューティングデバイス200は、クライアントコンピューティングデバイス104および/またはサーバコンピューティングデバイス112を表すことができる。しかしながら、これらのデバイス104、112は、わずかに異なる構成を有し得ることが諒解されよう(たとえば、サーバコンピューティングデバイス112は、入出力デバイス216と、マイクロフォン220と、カメラ224とを含まないことがある)。通信デバイス204は、ネットワーク116を介した通信のために構成された任意の好適なデバイス(たとえば、トランシーバ)であり得る。メモリ212は、プロセッサ208が実行するための命令のセットなどの情報をコンピューティングデバイス200に記憶するように構成された、任意の好適な記憶媒体(フラッシュ、ハードディスクなど)であり得る。
本明細書で使用される「プロセッサ」という用語は、単一のプロセッサと、並列または分散型アーキテクチャにおいて動作する2つまたはそれ以上のプロセッサの両方を指すことができる。プロセッサ208によって実行されたとき、命令のセットは、コンピューティングデバイス200に、本開示の技法の少なくとも一部分を実施させることができる。入出力デバイス216は、タッチディスプレイ、物理キーボード/ボタン、スピーカー、またはそれらの何らかの組合せであり得る。マイクロフォン220は、オーディオデータ(たとえば、オーディオストリーム)をキャプチャするように構成された任意の好適なデバイスであり得る。カメラ224は、画像/ビデオデータ(たとえば、静止画像またはビデオストリーム)をキャプチャするように構成された任意の好適なデバイス(たとえば、電荷結合デバイス、またはCCD)であり得る。コンピューティングデバイス200は、それの動作に電力供給するための(たとえば、モバイルコンピューティングデバイスのための)バッテリー228をも含むことができる。上述のように、コンピューティングデバイス200は、次により詳細に説明される、本開示の技法の少なくとも一部分を実施するように構成され得る。
再び図1を参照し、引き続き図2を参照すると、クライアントコンピューティングデバイス104は、デジタルメディアアイテムと、処理タスクについての要求とを取得することができる。デジタルメディアアイテムは、ユーザ108がクライアントコンピューティングデバイス104を操作することによって取得され得る(マイクロフォン220によってキャプチャされたオーディオ、入出力デバイス216を介して取得されたテキスト、カメラ224によってキャプチャされた画像/ビデオなど)。デジタルメディアアイテムはまた、別のコンピューティングデバイスによってキャプチャされ、その後、クライアントコンピューティングデバイス104によって取得され得る。デジタルメディアアイテムの非限定的な例は、テキストのストリングまたはテキストファイル全体、画像ファイル、オーディオファイル、およびビデオファイルを含む。処理タスクの非限定的な例は、音声認識(たとえば、音声テキスト化または文字起こし)、テキスト認識(たとえば、OCR)、画像認識、およびテキスト音声変換を含む。
本明細書で使用される「人工ニューラルネットワーク」および「ANN」という用語は、クライアントコンピューティングデバイス104およびサーバコンピューティングデバイス112にわたって分割される、機械学習モデルまたはモデルのファミリーを指すことがある。各機械学習モデルは、たとえば、機械学習モデルを使用して実施される処理タスクと同様のデータを使用してトレーニングされ得る。たとえば、機械学習音響モデルをトレーニングする際に、音響データが利用され得る。各ANNは、異なる層に分割されるものとして説明され得る。各層は、クライアントコンピューティングデバイス104およびサーバコンピューティングデバイス112のうちの1つによって実施されるべきである、タスクまたはタスクのセットを表すことができる。次いで、各タスクまたはタスクの各セットの結果が、後続の層等々にパスされ得る。次いで、最終層が、最終処理結果と呼ばれることもある最終評価を出力することができる。ボトルネック層は、一方のデバイスから他方のデバイスへの(たとえば、クライアントコンピューティングデバイス104からサーバコンピューティングデバイス112への)情報(たとえば、アクティブ化(Activation))の送信を引き起こす層を表すことができる。言い換えれば、ボトルネック層は、デバイスの割り当てられた層の結論を表すことができ、アクティブ化は、初期デバイスによって完了された処理タスクの部分の結果、ならびに他のデバイスにおいて処理タスクを完了するための追加情報を含むことができる。
タスクは、ANNが、品質観点と、他の目的のバランスをもとることとの両方から最適に動作するようにANNをトレーニングすることとして説明され得る。たとえば、1つの他の目的は、クライアント側計算をデバイス上で実現可能であることに制限することであり得る。これは、たとえば、計算コストの増加に対応する、いくつのボトルネックより前の層があるかと、各層のサイズとによって決定され得る。別の例示的な目的は、通信の量/ネットワークコストおよびレイテンシを制限することであり得る。これは、たとえば、ノードの数と、ボトルネック層における情報の量(忠実度のレベル)とによって決定され得る。他方のデバイス(たとえば、サーバコンピューティングデバイス112)は、デバイスに、層の残余を実施することと、したがって、最終評価を取得することとを行わせるアクティブ化を含むことができるボトルネック層を受信することができる。次いで、最終評価は、出力を生成するために、初期デバイス(たとえば、クライアントコンピューティングデバイス104)に返され得る。ANNおよびそれらのそれぞれの層の例が、以下でさらに詳細に説明され、図3A〜図3Cに示されている。
クライアントコンピューティングデバイス104は、処理タスクを実施するための複数のANNのうちの1つの選択において使用され得る、動作パラメータのセットを決定することができる。各動作パラメータは、クライアントコンピューティングデバイス104とサーバコンピューティングデバイス112との間の処理タスクの所望の分散に影響を及ぼすことがあり、したがって、所望の分散を示し得る。前に説明されたように、サーバコンピューティングデバイス112は、広範な処理を扱うためのより良い能力を備え得るが、ネットワーク状態は、たとえば、入力の高次元数により、サーバコンピューティングデバイス112が、処理タスクのすべてまたは大部分を扱うことが可能であることの実現可能性に影響を及ぼすことがある。動作パラメータの非限定的な例は、(i)クライアントコンピューティングデバイス104における利用可能なコンピューティングリソース(バッテリー228の充電のレベル、処理能力のレベル(たとえば、プロセッサ208のタイプ)など)と、(ii)クライアントコンピューティングデバイス104とサーバコンピューティングデバイス112との間のネットワーク116を介した接続(以下、「ネットワーク接続」)の状態とを含む。
たとえば、バッテリー228の充電のより低いレベルは、クライアントコンピューティングデバイス104において処理タスクのより小さい部分を実施することが望まれることを示し得る。同様に、クライアントコンピューティングデバイス104の処理能力のより低いレベルは、クライアントコンピューティングデバイス104において処理タスクのより小さい部分を実施することが望まれることを示し得る。一方、ネットワーク状態の状態は、処理タスクの所望の分散に関するより重要な要因であり得る。より詳細には、より速いネットワーク接続は、サーバコンピューティングデバイス112が、実現可能なだけ多くの処理タスクを実施することが望まれることを示し得る。同様に、より遅いネットワーク接続は、クライアントコンピューティングデバイス104が、処理タスクの少なくとも一部を扱うことが望まれることを示し得る。ネットワーク速度が説明されたが、他のネットワーク接続状態(帯域幅、データコストなど)も所望の分散に影響を及ぼし得る。別の例示的な要因は、たとえば、サーバコンピューティングデバイス112上の負荷(たとえば、重いネットワークトラフィック)であり、これらの場合、クライアントコンピューティングデバイス104は、処理タスクのより大きい部分を扱うことがある。
前述のように、動作パラメータのセットに基づいて、複数のANNのうちの1つが選択され得る。各ANNは、処理タスクのどの部分が、クライアントコンピューティングデバイス104によっておよびサーバコンピューティングデバイス112によって実施されるべきであるかを定義することができる。複数の異なるANNをトレーニングすることによって、およびクライアントおよびサーバのための関連する層を両方の側(クライアントおよびサーバ)で利用可能にすることによって、本明細書で開示される技法は、圧縮レベル、レイテンシ、および計算コストの動的選択を与えることができる。処理タスクに応じて、クライアントコンピューティングデバイス104またはサーバコンピューティングデバイス112のいずれかが、処理タスクの分散型処理において利用される選択されたANNを取得するために、ANNを選択することができる。ボトルネック層アクティブ化を圧縮表現として使用することによって、データは、認識タスクのために最も効果的であるやり方で圧縮され得る。さらに、クエリペイロードをさらに低減するために、可逆圧縮または不可逆圧縮が係数自体に対してかけられ得る。
例示的な一実装形態では、図3A〜図3Cに示されており、以下で説明される3つの異なるANNがあり得る。3つのANNが本明細書で図示および説明されるが、任意の複数のANN(2つのANN、4つまたはそれ以上のANNなど)がトレーニングおよび選択されることがあることが諒解されよう。各ANNは、2つの自由度、すなわち、(1)ボトルネックより前のクライアント側層の数、および(2)ボトルネックの幅を示すことができる。これは、2次元パラメータ面としても説明され得る。図3Aでは、たとえば、ネットワーク接続速度/帯域幅が高い/良好である(たとえば、しきい値を上回る)ときに使用され得る第1の例示的なANN300が示されている。いくつかの実装形態では、このANN300は、クライアントコンピューティングデバイス104の処理能力にかかわらず(すなわち、ネットワーク接続が非常に良好であるので)使用され得る。処理タスクは、少数のクライアント側層304と、多数のサーバ側層308とに分割され、ボトルネック層312がそれらの間にある。クライアントコンピューティングデバイス104において実行されるクライアント側層304は、入力316の受信から始まり、ボトルネック層312で終了することができ、これは、サーバコンピューティングデバイス112へのアクティブ化の送信を引き起こすことができる。層高さインジケータ320は、少数のクライアント側層304を示し、ボトルネック幅インジケータ324は、高品質ネットワーク接続に対応する広いボトルネックを示す。
図3Bでは、別の例示的なANN330が示されている。再び、処理タスクは、ボトルネック層342によって分割されたクライアント側層334とサーバ側層338とに分割される。このANN330は、たとえば、ネットワーク状態速度/帯域幅が低く/不十分であり(たとえば、しきい値を下回り)、クライアントコンピューティングデバイス104の処理能力も低い/不十分である(たとえば、しきい値を下回る)ときに利用され得る。低品質ネットワーク接続は、図3Aと比較してより狭いボトルネック幅インジケータ346によって示される。クライアントコンピューティングデバイス104は、入力350に応答して、図3Aと比較して(層高さインジケータ354によって示されるように)より多くのクライアント側層334を実行するが、クライアントコンピューティングデバイス104の限られた処理能力により、比較的多数のサーバ側層338が依然としてある。図3Bとは対照的に、図3Cは、(ボトルネック幅インジケータ364によって示されている)低品質ネットワーク接続をもつ別の例示的なANN360を示すが、クライアントコンピューティングデバイス104は、はるかにより大きい(たとえば、しきい値よりも大きい)処理能力を有する。したがって、入力368に応答して、クライアントコンピューティングデバイス104は、図3Aおよび図3Bと比較して(層高さインジケータ376によって示されているように)はるかにより多数のクライアント側層372を実行することができる。したがって、ボトルネック層380の後に、サーバコンピューティングデバイス112は、少数のサーバ側層384を実行するにすぎない。
選択されたANNを取得した後に、クライアントコンピューティングデバイス104およびサーバコンピューティングデバイス112は、選択されたANNに従って処理タスクの処理を協調させることができる。これは、たとえば、ネットワーク116を介して送信されるデータにかけられるべきレベル/タイプの圧縮を含むことができる。クライアント処理能力およびネットワーク品質が上記の焦点であるが、ANNの選択は、本明細書で前に説明されたように他の要因にさらに基づき得る。たとえば、限られたバッテリーのシナリオでは、選択は、ネットワークトラフィックのエネルギーコスト(バッテリー充電)と、追加のクライアント側計算のエネルギーコストとのバランスをとることができる。同様に、クライアントコンピューティングデバイス104がローミングしているかまたは高いデータコストを払っていることの自動検出が行われ得る場合、ANNの選択は、小さいボトルネックアーキテクチャのほうへさらにバイアスされ得る。
たいていの処理タスクの場合、クライアントコンピューティングデバイス104は、選択されたANNを選択することができ、中間処理結果を取得するために、処理タスクの第1の部分(たとえば、第1の数の層)を実施することができる。クライアントコンピューティングデバイス104は、次いで、(たとえば、中間処理結果など、アクティブ化と、選択されたANNの一意の識別子(ID)など、処理タスクを完了するための追加情報とを送信することによって)ネットワーク116を介してサーバコンピューティングデバイス112と通信することができ、これは、サーバコンピューティングデバイス112に、最終処理結果を取得するために、処理タスクの第2の部分(たとえば、層の残余)を実施させることができ、最終処理結果は、次いで、出力を生成するためにクライアントコンピューティングデバイス104に返される。特定のANNによって定義されるスタックのすべての層の絶え間ない改善を可能にするために、入力のサンプル、または未加工初期データ(すなわち、圧縮前)のすべてのロギングが、ネットワーク116が制限的である場合などについて実施され得る。次いで、そのようなシナリオにおけるこの非同期ロギングは、ネットワーク116の状態が改善すると、以後の改善を可能にする。
しかしながら、いくつかの処理タスク(たとえば、テキスト音声変換)の場合、サーバコンピューティングデバイス112は、選択されたANNを選択し、中間処理結果を取得するために処理タスクの第1の部分を実施し、アクティブ化(たとえば、中間処理結果、および処理タスクを完了するための追加情報)をクライアントコンピューティングデバイス104に送信することができる。次いで、クライアントコンピューティングデバイス104は、最終処理結果を取得するために、処理タスクの第2の部分を実施することができる。言い換えれば、いくつかの処理タスク(たとえば、テキスト音声変換)のためのプロセスは、他の処理タスクのためのプロセスの逆と考えられ得る。クライアントコンピューティングデバイス104は、最終処理結果に基づいて出力を生成することができる。
クライアントコンピューティングデバイス104によって生成される出力の非限定的な例は、テキスト、画像、および音を含むことができる。この出力は、クライアントコンピューティングデバイス104の様々な構成要素(タッチディスプレイ、スピーカー220など、入出力デバイス216)を使用して生成され得る。たとえば、処理タスクが音声テキスト化であるとき、出力は、元のデジタルメディアアイテム(オーディオまたはビデオファイル)を表すテキストであり得る。別の例として、処理タスクが画像またはテキスト認識であるとき、出力は、元のデジタルメディアアイテム(画像またはビデオファイル)を表すテキストまたは別の画像であり得る。また別の例として、処理タスクがテキスト音声変換であるとき、出力は、元のデジタルメディアアイテム(テキストのストリングまたはテキストファイル)を表す音またはオーディオストリームであり得る。音楽/歌認識など、同じまたは同様の認識処理タスクのために、他の可能な出力も生成されることがあることが諒解されよう。
次に図4を参照すると、例示的な適応型ANN選択技法400の流れ図が示されている。404において、クライアントコンピューティングデバイス104は、デジタルメディアアイテム(テキストのストリングまたはテキストファイル、オーディオファイル、画像ファイル、ビデオファイルなど)と、デジタルアイテムに対する処理タスクについての要求とを取得することができる。408において、クライアントコンピューティングデバイス104は、処理タスクの所望の分散に影響を及ぼす動作パラメータのセットを決定することができる。412において、クライアントコンピューティングデバイス104は、処理タスクが、テキスト音声(「TTS」)変換であるのか、サーバコンピューティングデバイス112がANNを選択することを伴う別の同様の処理タスクであるのかを決定することができる。タスクがテキスト音声変換でない場合、技法400は416に進むことができる。しかしながら、タスクがテキスト音声変換である場合、技法400は432に進むことができる。
416において、クライアントコンピューティングデバイス104は、動作パラメータのセットに基づいて、複数のANNのうちの1つを選択することができる。420において、クライアントコンピューティングデバイス104は、中間処理結果を取得するために、選択されたANNによって指定されている(たとえば、ボトルネック層までの)処理タスクの第1の部分を実施することができる。424において、クライアントコンピューティングデバイス104は、サーバコンピューティングデバイス112にアクティブ化(たとえば、中間処理結果、および処理タスクを完了するための追加情報)を送信することができる。アクティブ化の受信は、サーバコンピューティングデバイス112に、最終処理結果を取得するために、受信されたアクティブ化を使用して、選択されたANNによって指定されている処理タスクの第2の部分を完了させることができる。428において、クライアントコンピューティングデバイス104は、サーバコンピューティングデバイス112から最終処理結果を受信することができる。次いで、技法400は444に進むことができる。
432において、クライアントコンピューティングデバイス104は、サーバコンピューティングデバイス112に動作パラメータのセット(および潜在的に他の情報)を送信することができる。動作パラメータのセットの受信は、サーバコンピューティングデバイス112に、(i)複数のANNのうちの1つを選択することと、(ii)中間処理結果を取得するために、選択されたANNによって指定されている(たとえば、ボトルネック層までの)テキスト音声変換の第1の部分を実施することと、(iii)アクティブ化(たとえば、中間処理結果、および処理タスクを完了するための追加情報)をクライアントコンピューティングデバイス104に送信することとを行わせることができる。中間処理結果は、436においてクライアントコンピューティングデバイス104によって受信され得る。440において、クライアントコンピューティングデバイス104は、最終処理結果を取得するために、受信されたアクティブ化を使用して、選択されたANNによって指定されている処理タスクの第2の部分(すなわち、残余)を完了する。444において、クライアントコンピューティングデバイス104は、最終処理結果に基づいて、出力(テキスト、オーディオストリーム、画像など)を生成することができる。次いで、技法400は、終了するかまたは404に戻ることができる。
上記の説明に加えて、ユーザは、本明細書で説明されるシステム、プログラムまたは特徴が、ユーザ情報(ユーザの現在ロケーションに関する情報、ユーザのセルラー課金プランに関する情報など)の収集を可能にし得るかどうかおよびいつそれを可能にし得るかと、ユーザがサーバからコンテンツまたは通信を送られるかどうかとの両方に関する選択をユーザが行うことを可能にする制御を与えられ得る。さらに、あるデータは、それが記憶または使用される前に、個人識別可能情報(Personally Identifiable Information)が削除されるように1つまたは複数のやり方で取り扱われ得る。たとえば、ユーザの識別情報は、個人識別可能情報がユーザについて決定され得ないように取り扱われ得るか、または、ロケーション情報が(都市、郵便番号、または国家レベルなどまで)取得されるユーザの地理的ロケーションは、ユーザの特定のロケーションが決定され得ないように一般化され得る。したがって、ユーザは、どんな情報がユーザについて収集されるかと、その情報がどのように使用されるかと、どんな情報がユーザに与えられるかとに関する制御を有し得る。
例示的な実施形態は、本開示が完全なものとなり、その範囲を当業者に十分に伝えることになるように与えられている。本開示の実施形態の完全な理解を与えるために、具体的な構成要素、デバイス、および方法の例など、多数の具体的な詳細が記載される。具体的な詳細が採用される必要がないこと、例示的な実施形態が多くの異なる形態で実施され得ること、およびいずれも本開示の範囲を限定すると解釈されるべきでないことが当業者には明らかであろう。いくつかの例示的な実施形態では、よく知られているプロシージャ、よく知られているデバイス構造、およびよく知られている技術は詳細に説明されない。
本明細書で使用される用語は、特定の例示的な実施形態について説明するためのものにすぎず、限定するためのものではない。本明細書で使用される単数形「a」、「an」、および「the」は、コンテキストが別段明確に示さない限り、複数形も含むものとすることがある。「および/または」という用語は、関連する列挙される項目のうちの1つまたは複数のあらゆる組合せを含む。「含む(comprises)」、「含む(comprising)」、「含む(including)」、および「有する(having)」という用語は、包含的であり、したがって、言及される特徴、完全体、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、完全体、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除するものではない。本明細書で説明される方法ステップ、プロセス、および動作は、実施の順序として具体的に特定されない限り、説明されるまたは示される特定の順序でのそれらの実施を必ず必要とすると解釈されるべきでない。また、追加または代替のステップが採用され得ることを理解されたい。
第1の、第2の、第3のなどという用語は、様々な要素、構成要素、領域、層および/またはセクションについて説明するために本明細書で使用され得るが、これらの要素、構成要素、領域、層および/またはセクションは、これらの用語によって限定されるべきでない。これらの用語は、ある要素、構成要素、領域、層またはセクションを、別の領域、層またはセクションと区別するためにのみ使用され得る。「第1の」、「第2の」などという用語および他の数の用語は、本明細書で使用されるとき、コンテキストによって明確に示されない限り、シーケンスまたは順序を暗示しない。したがって、以下で説明される第1の要素、構成要素、領域、層またはセクションは、例示的な実施形態の教示から逸脱することなく、第2の要素、構成要素、領域、層またはセクションと呼ばれることがある。
本明細書で使用されるモジュールという用語は、特定用途向け集積回路(ASIC)、電子回路、組合せ論理回路、フィールドプログラマブルゲートアレイ(FPGA)、コードまたはプロセスを実行する、ネットワーク化されたクラスタまたはデータセンターにおける、プロセッサ、または(共有、専用、またはグループ化)プロセッサの分散型ネットワーク、およびストレージ、説明される機能を与える他の好適な構成要素、あるいはシステムオンチップなどにおける上記の一部または全部の組合せを指すか、それの一部であるか、またはそれを含み得る。モジュールという用語は、1つまたは複数のプロセッサによって実行されるコードを記憶する(共有、専用、またはグループ化)メモリをも含み得る。
上記で使用されたコードという用語は、ソフトウェア、ファームウェア、バイトコードおよび/またはマイクロコードを含み得、プログラム、ルーチン、機能、クラス、および/またはオブジェクトを指し得る。上記で使用された共有という用語は、複数のモジュールからの一部または全部のコードが、単一の(共有)プロセッサを使用して実行され得ることを意味する。さらに、複数のモジュールからの一部または全部のコードは、単一の(共有)メモリによって記憶され得る。上記で使用されたグループという用語は、単一のモジュールからの一部または全部のコードが、プロセッサのグループを使用して実行され得ることを意味する。さらに、単一のモジュールからの一部または全部のコードは、メモリのグループを使用して記憶され得る。
本明細書で説明される技法は、1つまたは複数のプロセッサによって実行される1つまたは複数のコンピュータプログラムによって実装され得る。コンピュータプログラムは、たとえば、非一時的有形コンピュータ可読媒体であり得るコンピュータ可読媒体に記憶されたプロセッサ実行可能命令を含む。コンピュータプログラムは、記憶されたデータをも含み得る。非一時的有形コンピュータ可読媒体の非限定的な例は、不揮発性メモリ、磁気ストレージ、および光ストレージである。
上記の説明のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現に関して本明細書で説明される技法を提示する。これらのアルゴリズムの説明および表現は、データ処理技術分野の当業者によって、彼らの研究の内容を他の当業者に最も効果的に伝達するために使用される手段である。これらの動作は、機能的にまたは論理的に説明されるが、コンピュータプログラムによって実装されることが理解される。さらに、モジュールとしてまたは機能名によって動作のこれらの構成を指すことが、一般性の喪失なしに、時々好都合であることも判明している。
別段に明記されていない限り、上記の説明から明らかなように、説明全体にわたって、「処理すること」または「計算すること(computing)」または「計算すること(calculating)」または「決定すること」または「表示すること」などの用語を利用する説明は、コンピュータシステムメモリもしくはレジスタまたは他のそのような情報ストレージ、送信もしくは表示デバイス内の物理(電子)量として表されるデータを操作および転送する、コンピュータシステム、または類似の電子コンピューティングデバイスの動作およびプロセスを指すことを諒解されたい。
説明される技法のいくつかの態様は、アルゴリズムの形態で本明細書で説明されるプロセスステップおよび命令を含む。説明されるプロセスステップおよび命令は、ソフトウェア、ファームウェアまたはハードウェアで実施され得、ソフトウェアで実施されるとき、リアルタイムネットワークオペレーティングシステムによって使用される異なるプラットフォーム上に存在し、それらから動作させられるようにダウンロードされ得ることに留意されたい。
本開示は、本明細書の動作を実施するための装置にも関する。この装置は、必要とされる目的のために特別に構成され得るか、あるいは、それは、汎用コンピュータによってアクセスされ得るコンピュータ可読媒体に記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成されるコンピュータを含み得る。そのようなコンピュータプログラムは、限定はしないが、各々がコンピュータシステムバスに結合された、フロッピーディスク、光ディスク、CD-ROM、磁気光ディスクを含む任意のタイプのディスク、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、特定用途向け集積回路(ASIC)、または電子命令を記憶するのに好適な任意のタイプのメディアなど、有形コンピュータ可読記憶媒体に記憶され得る。さらに、本明細書で言及されるコンピュータは、単一のプロセッサを含み得るか、または計算能力の増加のためのマルチプルプロセッサ設計を採用するアーキテクチャであり得る。
本明細書で提示されるアルゴリズムおよび動作は、本質的に、特定のコンピュータまたは他の装置に関係する。本明細書の教示によるプログラムをもつ様々な汎用システムも使用され得るか、または必要とされる方法ステップを実施するための一層特殊化された装置を構成することが好都合であることが判明し得る。様々なこれらのシステムのための必要とされる構造が、等価変形形態とともに、当業者に明らかであろう。さらに、本開示は、特定のプログラミング言語に関して説明されない。本明細書で説明される本開示の教示を実装するために、様々なプログラミング言語が使用され得、特定の言語に対するいかなる言及も、本発明の使用可能化および最良の形態の開示のために与えられることを諒解されたい。
本開示は、多数のトポロジーを介した多種多様なコンピュータネットワークシステムに好適である。本分野内で、大規模ネットワークの構成および管理は、インターネットなど、ネットワークを介して類似しないコンピュータおよびストレージデバイスに通信可能に結合されたストレージデバイスとコンピュータとを含む。
実施形態の上記の説明は、例示および説明の目的で与えられた。実施形態の上記の説明は、網羅的なものでも、本開示を限定するものでもない。特定の実施形態の個々の要素または特徴は、概して、その特定の実施形態に限定されないが、適用可能な場合に、明確に図示または説明されない場合でも、互換性があり、選択された実施形態において使用され得る。特定の実施形態の個々の要素または特徴はまた、様々に変化し得る。そのような変形形態は、本開示からの逸脱と見なされず、すべてのそのような変更は、本開示の範囲内に含まれるものとする。
100 コンピューティングシステム
104 クライアントコンピューティングデバイス
108 ユーザ
112 サーバコンピューティングデバイス
116 ネットワーク
200 コンピューティングデバイス
204 通信デバイス
208 プロセッサ
212 メモリ
216 入出力デバイス
220 マイクロフォン
224 カメラ
228 バッテリー
300 ANN
304 クライアント側層
308 サーバ側層
312 ボトルネック層
316 入力
320 層高さインジケータ
324 ボトルネック幅インジケータ
330 ANN
334 クライアント側層
338 サーバ側層
342 ボトルネック層
346 ボトルネック幅インジケータ
350 入力
354 層高さインジケータ
360 ANN
364 ボトルネック幅インジケータ
368 入力
372 クライアント側層
376 層高さインジケータ
380 ボトルネック層
384 サーバ側層

Claims (18)

1つまたは複数のプロセッサを有するクライアントコンピューティングデバイスによって、デジタルメディアアイテムと、前記デジタルメディアアイテムに対する処理タスクについての要求とを取得するステップと、
前記クライアントコンピューティングデバイスによって、(i)前記クライアントコンピューティングデバイスにおける利用可能なコンピューティングリソースと、(ii)ネットワークの状態とに基づいて動作パラメータのセットを決定するステップであって、前記クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスが、前記ネットワークを介した互いとの通信のために構成された、決定するステップと、
動作パラメータの前記セットに基づいて、複数の人工ニューラルネットワーク(ANN)のうちの1つを選択するステップであって、各ANNは、前記処理タスクのどの部分が、前記クライアントコンピューティングデバイスによって実施されるべきであるかと、前記処理タスクのどの部分が、前記サーバコンピューティングデバイスによって実施されるべきであるかとを定義し、
各ANNが、前記処理タスクの第1の部分および第2の部分を定義し、前記第1の部分が、(i)前記クライアントコンピューティングデバイスおよび前記サーバコンピューティングデバイスのうちの一方によって、(ii)前記クライアントコンピューティングデバイスおよび前記サーバコンピューティングデバイスのうちの他方に前記第2の部分を実施させる前記ネットワークを介した通信より前に実施されるべきであり、前記第1の部分が、前記それぞれのANNの第1の数の層を含み、前記第2の部分が、前記それぞれのANNの第2の数の層を含む、選択するステップと、
前記選択されたANNに従って、前記クライアントコンピューティングデバイスと前記サーバコンピューティングデバイスとの間で前記処理タスクの処理を協調させるステップと、
前記クライアントコンピューティングデバイスによって、前記処理タスクの最終評価に対応する最終処理結果を取得するステップと、
前記クライアントコンピューティングデバイスによって、前記最終処理結果に基づいて出力を生成するステップと
を含む、コンピュータにより実行される方法。
前記クライアントコンピューティングデバイスが、(i)前記選択されたANNを選択し、(ii)中間処理結果を取得するために、前記処理タスクの前記第1の部分を実施し、(iii)前記サーバコンピューティングデバイスに前記中間処理結果を送信し、(iv)前記ネットワークを介して前記サーバコンピューティングデバイスから前記最終処理結果を受信する、請求項1に記載の方法。
前記デジタルメディアアイテムが、オーディオファイルまたはビデオファイルであり、前記処理タスクが、音声認識または音声テキスト化である、請求項1または2に記載の方法。
前記デジタルメディアアイテムが、画像ファイルまたはビデオファイルであり、前記処理タスクが、画像認識またはテキスト認識である、請求項1または2に記載の方法。
前記処理タスクを協調させるステップは、
前記クライアントコンピューティングデバイスから、および前記サーバコンピューティングデバイスに、動作パラメータの前記セットを送信するステップであって、動作パラメータの前記セットの受信が、前記サーバコンピューティングデバイスに、(i)前記選択されたANNを選択することと、(ii)中間処理結果を取得するために、前記処理タスクの前記第1の部分を実施することとを行わせる、送信するステップと、
前記クライアントコンピューティングデバイスによって、および前記ネットワークを介して前記サーバコンピューティングデバイスから、前記中間処理結果を受信するステップと
を含む、請求項1に記載の方法。
前記クライアントコンピューティングデバイスが、前記最終処理結果を取得するために、前記中間処理結果を使用して前記処理タスクの前記第2の部分を実施する、請求項5に記載の方法。
前記デジタルメディアアイテムが、テキストのストリングまたはテキストファイルであり、前記処理タスクがテキスト音声化である、請求項5または6に記載の方法。
前記クライアントコンピューティングデバイスにおける前記利用可能なコンピューティングリソースが、(i)前記クライアントコンピューティングデバイスのバッテリーの充電のレベル、(ii)前記クライアントコンピューティングデバイスの処理能力のレベルのうちの少なくとも1つを含む、請求項1から7のいずれか一項に記載の方法。
前記クライアントコンピューティングデバイスにおける前記利用可能なコンピューティングリソースが、(i)前記クライアントコンピューティングデバイスのバッテリーの充電のレベル、(ii)前記クライアントコンピューティングデバイスの処理能力のレベルの両方を含む、請求項1から7のいずれか一項に記載の方法。
1つまたは複数のプロセッサと、命令のセットを記憶した非一時的メモリとを含むコンピューティングシステムであって、命令の前記セットは、前記1つまたは複数のプロセッサによって実行されたとき、前記コンピューティングシステムに、
クライアントコンピューティングデバイスによって、デジタルメディアアイテムと、前記デジタルメディアアイテムに対する処理タスクについての要求とを取得することと、
前記クライアントコンピューティングデバイスによって、(i)前記クライアントコンピューティングデバイスにおける利用可能なコンピューティングリソースと、(ii)ネットワークの状態とに基づいて動作パラメータのセットを決定することであって、前記クライアントコンピューティングデバイスおよびサーバコンピューティングデバイスが、前記ネットワークを介した互いとの通信のために構成された、決定することと、
動作パラメータの前記セットに基づいて、複数の人工ニューラルネットワーク(ANN)のうちの1つを選択することであって、各ANNは、前記処理タスクのどの部分が、前記クライアントコンピューティングデバイスによって実施されるべきであるかと、前記処理タスクのどの部分が、前記サーバコンピューティングデバイスによって実施されるべきであるかとを定義し、
各ANNが、前記処理タスクの第1の部分および第2の部分を定義し、前記第1の部分が、(i)前記クライアントコンピューティングデバイスおよび前記サーバコンピューティングデバイスのうちの一方によって、(ii)前記クライアントコンピューティングデバイスおよび前記サーバコンピューティングデバイスのうちの他方に前記第2の部分を実施させる前記ネットワークを介した通信より前に実施されるべきであり、前記第1の部分が、前記それぞれのANNの第1の数の層を含み、前記第2の部分が、前記それぞれのANNの第2の数の層を含む、選択することと、
前記選択されたANNに従って、前記クライアントコンピューティングデバイスと前記サーバコンピューティングデバイスとの間で前記処理タスクの処理を協調させることと、
前記クライアントコンピューティングデバイスによって、前記処理タスクの最終評価に対応する最終処理結果を取得することと、
前記クライアントコンピューティングデバイスによって、前記最終処理結果に基づいて出力を生成することと
を含む動作を実施させる、コンピューティングシステム。
前記クライアントコンピューティングデバイスが、(i)前記選択されたANNを選択し、(ii)中間処理結果を取得するために、前記処理タスクの前記第1の部分を実施し、(iii)前記サーバコンピューティングデバイスに前記中間処理結果を送信し、(iv)前記ネットワークを介して前記サーバコンピューティングデバイスから前記最終処理結果を受信する、請求項10に記載のコンピューティングシステム。
前記デジタルメディアアイテムが、オーディオファイルまたはビデオファイルであり、前記処理タスクが、音声認識または音声テキスト化である、請求項10または11に記載のコンピューティングシステム。
前記デジタルメディアアイテムが、画像ファイルまたはビデオファイルであり、前記処理タスクが、画像認識またはテキスト認識である、請求項10または11に記載のコンピューティングシステム。
前記処理タスクを協調させることは、
前記クライアントコンピューティングデバイスから、および前記サーバコンピューティングデバイスに、動作パラメータの前記セットを送信することであって、動作パラメータの前記セットの受信が、前記サーバコンピューティングデバイスに、(i)前記選択されたANNを選択することと、(ii)中間処理結果を取得するために、前記処理タスクの前記第1の部分を実施することとを行わせる、送信することと、
前記クライアントコンピューティングデバイスによって、および前記ネットワークを介して前記サーバコンピューティングデバイスから、前記中間処理結果を受信することと
を含む、請求項10に記載のコンピューティングシステム。
前記クライアントコンピューティングデバイスが、前記最終処理結果を取得するために、前記中間処理結果を使用して前記処理タスクの前記第2の部分を実施する、請求項14に記載のコンピューティングシステム。
前記デジタルメディアアイテムが、テキストのストリングまたはテキストファイルであり、前記処理タスクがテキスト音声化である、請求項14または15に記載のコンピューティングシステム。
前記クライアントコンピューティングデバイスにおける前記利用可能なコンピューティングリソースが、(i)前記クライアントコンピューティングデバイスのバッテリーの充電のレベル、(ii)前記クライアントコンピューティングデバイスの処理能力のレベルのうちの少なくとも1つを含む、請求項10から16のいずれか一項に記載のコンピューティングシステム。
前記クライアントコンピューティングデバイスにおける前記利用可能なコンピューティングリソースが、(i)前記クライアントコンピューティングデバイスのバッテリーの充電のレベル、(ii)前記クライアントコンピューティングデバイスの処理能力のレベルの両方を含む、請求項10から16のいずれか一項に記載のコンピューティングシステム。
JP2018536776A 2016-03-28 2016-12-20 適応型人工ニューラルネットワーク選択技法 Active JP6605742B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/082,653 US10878318B2 (en) 2016-03-28 2016-03-28 Adaptive artificial neural network selection techniques
US15/082,653 2016-03-28
PCT/US2016/067715 WO2017171949A1 (en) 2016-03-28 2016-12-20 Adaptive artificial neural network selection techniques

Publications (2)

Publication Number Publication Date
JP2019510287A JP2019510287A (ja) 2019-04-11
JP6605742B2 true JP6605742B2 (ja) 2019-11-13

Family

ID=57794365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018536776A Active JP6605742B2 (ja) 2016-03-28 2016-12-20 適応型人工ニューラルネットワーク選択技法

Country Status (6)

Country Link
US (3) US10878318B2 (ja)
EP (2) EP3380939B1 (ja)
JP (1) JP6605742B2 (ja)
KR (2) KR102180994B1 (ja)
CN (1) CN108475214A (ja)
WO (1) WO2017171949A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190279011A1 (en) * 2018-03-12 2019-09-12 Microsoft Technology Licensing, Llc Data anonymization using neural networks
EP3803712A4 (en) * 2018-06-08 2022-04-20 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR SELECTING A NEURONAL NETWORK
US11386295B2 (en) 2018-08-03 2022-07-12 Cerebri AI Inc. Privacy and proprietary-information preserving collaborative multi-party machine learning
WO2020067592A1 (ko) * 2018-09-28 2020-04-02 한국과학기술원 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치
US11556846B2 (en) * 2018-10-03 2023-01-17 Cerebri AI Inc. Collaborative multi-parties/multi-sources machine learning for affinity assessment, performance scoring, and recommendation making
CN111078284B (zh) * 2018-10-19 2021-02-05 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111124658B (zh) * 2018-10-31 2023-09-29 伊姆西Ip控股有限责任公司 用于处理目标数据的方法、设备和计算机程序产品
CN111385598A (zh) * 2018-12-29 2020-07-07 富泰华工业(深圳)有限公司 云端装置、终端装置及影像分类方法
CN111091182A (zh) * 2019-12-16 2020-05-01 北京澎思科技有限公司 数据处理方法、电子设备及存储介质
JP7475150B2 (ja) 2020-02-03 2024-04-26 キヤノン株式会社 推論装置、推論方法、及びプログラム
WO2021236529A1 (en) * 2020-05-18 2021-11-25 Intel Corporation Methods and apparatus to train a model using attestation data
US11948059B2 (en) * 2020-11-19 2024-04-02 International Business Machines Corporation Media capture device with power saving and encryption features for partitioned neural network
US20220237044A1 (en) * 2021-01-25 2022-07-28 Lenovo (Singapore) Pte. Ltd. Dynamic client/server selection for machine learning execution
JP7352600B2 (ja) * 2021-07-19 2023-09-28 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2023105469A (ja) * 2022-01-19 2023-07-31 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理システム、コンピュータ読み取り可能な記録媒体及び情報処理方法
CN115953771A (zh) * 2023-01-03 2023-04-11 北京百度网讯科技有限公司 文本图像处理方法、装置、设备和介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0566015A3 (en) 1992-04-14 1994-07-06 Eastman Kodak Co Neural network optical character recognition system and method for classifying characters in amoving web
US5586215A (en) 1992-05-26 1996-12-17 Ricoh Corporation Neural network acoustic and visual speech recognition system
EP0574951B1 (en) * 1992-06-18 2000-04-05 Seiko Epson Corporation Speech recognition system
US5442730A (en) * 1993-10-08 1995-08-15 International Business Machines Corporation Adaptive job scheduling using neural network priority functions
US5509103A (en) * 1994-06-03 1996-04-16 Motorola, Inc. Method of training neural networks used for speech recognition
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US9183351B2 (en) * 2000-05-30 2015-11-10 Vladimir Shusterman Mobile system with network-distributed data processing for biomedical applications
US7089178B2 (en) 2002-04-30 2006-08-08 Qualcomm Inc. Multistream network feature processing for a distributed speech recognition system
US20050129306A1 (en) * 2003-12-12 2005-06-16 Xianglin Wang Method and apparatus for image deinterlacing using neural networks
US8589156B2 (en) * 2004-07-12 2013-11-19 Hewlett-Packard Development Company, L.P. Allocation of speech recognition tasks and combination of results thereof
CN1801323B (zh) * 2005-01-06 2011-03-16 台达电子工业股份有限公司 语音/语者识别系统的负载最佳化方法
US7548977B2 (en) * 2005-02-11 2009-06-16 International Business Machines Corporation Client / server application task allocation based upon client resources
US7428516B2 (en) * 2005-06-23 2008-09-23 Microsoft Corporation Handwriting recognition using neural networks
JP2010218307A (ja) 2009-03-17 2010-09-30 Hitachi Ltd 分散計算制御装置及び方法
JP5036791B2 (ja) 2009-11-19 2012-09-26 Necアクセステクニカ株式会社 データ処理システム、データ処理方法およびデータ処理プログラム
US8463025B2 (en) 2011-04-26 2013-06-11 Nec Laboratories America, Inc. Distributed artificial intelligence services on a cell phone
US20140201114A1 (en) 2011-08-15 2014-07-17 Nec Corporation Device of managing distributed processing and method of managing distributed processing
US9424255B2 (en) 2011-11-04 2016-08-23 Microsoft Technology Licensing, Llc Server-assisted object recognition and tracking for mobile devices
US9390370B2 (en) 2012-08-28 2016-07-12 International Business Machines Corporation Training deep neural network acoustic models using distributed hessian-free optimization
US20140375634A1 (en) * 2013-06-25 2014-12-25 Advanced Micro Devices, Inc. Hybrid client-server rendering with low latency in view
US9870537B2 (en) 2014-01-06 2018-01-16 Cisco Technology, Inc. Distributed learning in a computer network
US9514376B2 (en) 2014-04-29 2016-12-06 Google Inc. Techniques for distributed optical character recognition and distributed machine language translation
US10127901B2 (en) * 2014-06-13 2018-11-13 Microsoft Technology Licensing, Llc Hyper-structure recurrent neural networks for text-to-speech
US20160034811A1 (en) * 2014-07-31 2016-02-04 Apple Inc. Efficient generation of complementary acoustic models for performing automatic speech recognition system combination
US20160328644A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Adaptive selection of artificial neural networks
US20160364419A1 (en) * 2015-06-10 2016-12-15 Blackbird Technologies, Inc. Image and text data hierarchical classifiers
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
CN105095967B (zh) * 2015-07-16 2018-02-16 清华大学 一种多模态神经形态网络核
US10332506B2 (en) * 2015-09-02 2019-06-25 Oath Inc. Computerized system and method for formatted transcription of multimedia content
US20170076195A1 (en) * 2015-09-10 2017-03-16 Intel Corporation Distributed neural networks for scalable real-time analytics
US20170169358A1 (en) * 2015-12-09 2017-06-15 Samsung Electronics Co., Ltd. In-storage computing apparatus and method for decentralized machine learning

Also Published As

Publication number Publication date
EP3380939A1 (en) 2018-10-03
US20240119286A1 (en) 2024-04-11
US11847561B2 (en) 2023-12-19
WO2017171949A1 (en) 2017-10-05
KR20200131914A (ko) 2020-11-24
KR102180994B1 (ko) 2020-11-20
KR20180094024A (ko) 2018-08-22
EP4152154A1 (en) 2023-03-22
US20210081794A1 (en) 2021-03-18
JP2019510287A (ja) 2019-04-11
US20170277994A1 (en) 2017-09-28
CN108475214A (zh) 2018-08-31
KR102469261B1 (ko) 2022-11-22
EP3380939B1 (en) 2023-02-01
US10878318B2 (en) 2020-12-29

Similar Documents

Publication Publication Date Title
JP6605742B2 (ja) 適応型人工ニューラルネットワーク選択技法
KR102392094B1 (ko) 컨볼루션 신경망을 이용한 시퀀스 프로세싱
US20230401445A1 (en) Multi-domain joint semantic frame parsing
US11144831B2 (en) Regularized neural network architecture search
US10268679B2 (en) Joint language understanding and dialogue management using binary classification based on forward and backward recurrent neural network
CN111104954B (zh) 一种对象分类的方法与装置
KR102264234B1 (ko) 문서 분류에 있어서 기여도가 높은 단어 및 문장을 제공하는 설명이 부가된 문서 분류 방법
WO2017116811A1 (en) Self-stabilized deep neural network
CN111566728B (zh) 能够实现用户意图和机器服务之间的语义理解映射的对话系统
KR20210105976A (ko) 신경망을 위한 복합 모델 스케일링
KR20180048893A (ko) 경로조회 방법, 장치, 디바이스 및 비발휘성 컴퓨터 기억 매체
US10558909B2 (en) Linearly augmented neural network
CN113726545B (zh) 基于知识增强生成对抗网络的网络流量生成方法及装置
US8543645B1 (en) Live experiment framework
CN113962417A (zh) 一种视频处理方法、装置、电子设备和存储介质
CN112446461A (zh) 一种神经网络模型训练方法及装置
CN107766944B (zh) 一种利用api分析进行系统功能流优化的系统和方法
KR102430548B1 (ko) 구조화된 학습 데이터의 전처리 방법
KR102337678B1 (ko) 그래프 유사 여부를 분석하기 위하여 기계학습을 이용한 전자 장치 및 그 제어 방법
CN114079958B (zh) 5g切片实例的容灾池选择方法、装置及计算设备
CN111406267B (zh) 使用性能预测神经网络的神经架构搜索
CN117729391A (zh) 一种视频分割方法、装置、计算机设备、介质及产品
CN115906941A (zh) 神经网络自适应退出方法、装置、设备及可读存储介质
CN111460169A (zh) 语义表达式生成方法、装置及设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191016

R150 Certificate of patent or registration of utility model

Ref document number: 6605742

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250