JP2022091725A - ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体、およびシステム(深層クラスタリングを用いた知識の蒸留) - Google Patents

ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体、およびシステム(深層クラスタリングを用いた知識の蒸留) Download PDF

Info

Publication number
JP2022091725A
JP2022091725A JP2021198687A JP2021198687A JP2022091725A JP 2022091725 A JP2022091725 A JP 2022091725A JP 2021198687 A JP2021198687 A JP 2021198687A JP 2021198687 A JP2021198687 A JP 2021198687A JP 2022091725 A JP2022091725 A JP 2022091725A
Authority
JP
Japan
Prior art keywords
computer
training
training data
neural network
data samples
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
JP2021198687A
Other languages
English (en)
Inventor
隆 福田
Takashi Fukuda
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2022091725A publication Critical patent/JP2022091725A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural 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/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

【課題】ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体及びシステムを提供する。【解決手段】ニューラルネットワークをトレーニングする方法は、トレーニングデータサンプルのフルセットを専門トレーニングクラスタにクラスタ化することを含む。専門教師ニューラルネットワークは、専門トレーニングクラスタのそれぞれの専門トレーニングクラスタを使用してトレーニングされる。ソフトラベルは、専門教師ニューラルネットワークを使用して、トレーニングデータサンプルのフルセットに対して生成される。生徒モデルは、トレーニングデータサンプルのフルセット、専門トレーニングクラスタ及びソフトラベルを使用して、トレーニングされる。【選択図】図2

Description

本発明は、一般に機械学習に関し、より詳細には、より大きなモデルと同じ機能を実行するコンパクトなモデルをトレーニングすることに関する。
知識の蒸留トレーニングは知識を比較的大きなモデルから比較的小さなモデルに移す。例えば、より大きなモデルは、その処理能力を十分に使用しない可能性があり、その結果、より小さなモデルは、より少ないリソースを消費しながら、同じ機能を実行するようにトレーニングされ得る。
ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体、およびシステムを提供する。
ニューラルネットワークをトレーニングする方法は、トレーニングデータサンプルのフルセットを専門トレーニングクラスタにクラスタ化することを含む。専門教師ニューラルネットワークは、専門トレーニングクラスタのそれぞれの専門トレーニングクラスタを使用してトレーニングされる。ソフトラベルは、専門教師ニューラルネットワークを使用して、トレーニングデータサンプルのフルセットに対して生成される。生徒モデルは、トレーニングデータサンプルのフルセット、専門トレーニングクラスタ、およびソフトラベルを使用して、トレーニングされる。
ニューラルネットワークをトレーニングするためのシステムは、ハードウェアプロセッサと、コンピュータプログラムコードを格納するメモリとを含む。コンピュータプログラムコードは、ハードウェアプロセッサによって実行されると、生徒モデルと、クラスタリングネットワークと、複数の専門教師ニューラルネットワークと、モデルトレーナーとを実装する。クラスタリングネットワークは、トレーニングデータサンプルのフルセットを複数の専門トレーニングクラスタにクラスタ化する。専門教師ニューラルネットワークは、トレーニングデータサンプルのフルセットに対してソフトラベルを一緒に生成する。モデルトレーナーは、複数の専門トレーニングクラスタのそれぞれの専門トレーニングクラスタを使用して複数の専門教師ニューラルネットワークをトレーニングし、トレーニングデータサンプルのフルセット、専門トレーニングクラスタ、およびソフトラベルを使用して、生徒モデルをトレーニングする。
これらおよび他の特徴および利点は、添付の図面に関連して読まれる、それらの例示的な実施形態の以下の詳細な説明から明らかになるであろう。
以下の説明は、以下の図面を参照して、好適な実施形態の詳細を提供する。
本発明の一実施形態による、異なる音響条件のための一般教師モデルおよび専門教師モデルに基づく生徒モデルのトレーニングおよび使用の図である。 本発明の一実施形態による、異なる音響条件のための一般教師モデルおよび専門教師モデルに基づいて生徒モデルをトレーニングする方法のブロック/フロー図である。 本発明の一実施形態による、トレーニングされた生徒モデルを使用して、新しい発話に対して音声認識および自然言語タスクを実行する方法のブロック/フロー図である。 本発明の一実施形態による、異なる音響条件のための一般教師モデルおよび専門教師モデルに基づいて生徒モデルをトレーニングする自然言語処理システムのブロック図である。 本発明の一実施形態による、ニューラルネットワークの特徴を示す人工ニューラルネットワークの一般化された図である。 本発明の一実施形態による、ニューラルネットワークの特徴を示す特定の人工ニューラルネットワークのアーキテクチャの一般化された図である。 一実施形態による、クラウド消費者によって使用されるローカルコンピューティング装置が通信する1つまたは複数のクラウドコンピューティングノードを有する例示的なクラウドコンピューティング環境を示すブロック図である。 一実施形態による、クラウドコンピューティング環境によって提供される機能抽象化レイヤのセットを示すブロック図である。
知識の蒸留は、比較的大きな「教師モデル」を用い、それを使用して比較的小さな「生徒モデル」をトレーニングすることができる。生徒モデルは、クラスタ化されたデータを表すドメイン固有の知識を組み込むことができる。音声認識および他の音響処理タスクにおいて、このようなモデルは、背景雑音の相違および話者のアクセントおよび影響の相違を含むことがある様々な音響条件のための専門教師を組み込むことができる。
複数のデータクラスタが生成され、教師なし深層クラスタリングを用いて専門教師モデルを形成するために使用できる。複数の教師を使用してソフトラベルを決定するトレーニングパイプラインが本明細書に記載されており、このソフトラベルは生徒モデルのトレーニングに使用される。1つのモデルで複数の音響条件を同時に表現することは困難であるため、専門教師モデルを使用することは、生徒モデルをトレーニングする際に音響条件の違いを捉えるのに役立つ。
自動音声認識における1つの目的は、広範囲の音響条件に対してロバストな音響モデリングを提供することである。本明細書では、音響データを扱うものとしてモデルを具体的に説明するが、代わりに別の形式のデータを使用してもよいことを理解されたい。音響データは、例えば、経時的に空気圧の強度を表す波形として表すことができるが、同様の波形として表すことができる他の多くの形態の情報がある。したがって、入力データは、人間の可聴範囲内の音声信号、人間の可聴範囲外の超低周波音信号または超音波信号、電磁スペクトル内のエネルギーの波形を含む電磁信号、地表の動きを記録する地震信号、または任意の他の適切な波形データを含み得る。
トレーニングデータは、話者の年齢、場所、グループアイデンティティ、または発声速度、チャンネルまたは環境条件、または周囲雑音レベルを含むことができる異なる音響条件などの様々な条件で収集され得るが、データがそのような情報のラベルを含むとは想定されない。このため、音響状態に関する先験的な情報が得られない場合がある。したがって、トレーニングデータは、音響条件に従って発話をグループ化するために教師なし深層クラスタリングを使用してクラスタ化され、これらのクラスタは、条件固有の教師ネットワークをトレーニングするために使用され得る。
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載する教示の実施はクラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているか、または後に開発される任意の他のタイプのコンピューティング環境と共に実施することができる。
ここで図1を参照すると、音響処理タスクの概要が示されている。話者102は、マイクロフォン104によって録音される発話を行い、マイクロフォン104は、その発話の空気圧波を波形に変換する。波形は、トレーニングされた生徒モデル106によって処理され、例えば、波形に対して音声認識を実行して、話者102が何を言ったかを判断することができる。次いで、トレーニングされた生徒モデル106によって生成された情報は、自然言語タスク112の一部として処理され、例えば、要求された情報のためのクエリを実行したり、またはコマンドに応答したアクションを実行したりする。
トレーニングされた生徒モデル106は、一般教師モデル108および専門教師モデル110を含む教師モデルのセットによってトレーニングすることができる。一般教師モデル108は、各構成波形の音響条件に関係なく、トレーニングデータのフルセットでトレーニングすることができる。一般教師モデル108の例示的な構造は、双方向の長短期記憶ネットワーク、ビジュアルジオメトリグループ(VGG)の畳み込みニューラルネットワーク、および残留ニューラルネットワークを含むことができる。一般教師モデル108を使用して、専門教師モデル110が一般環境からの異なる特性をどのように表すかを判断することができる。一般教師モデル108はまた、自動音声認識の特性がクラスタリングに反映されるように、教師なしクラスタリングに使用される特徴として文脈依存音素のログ尤度を推定するために使用される。
専門教師モデル110は、例えば、異なる音響条件に従ってトレーニングデータがクラスタ化された後に、トレーニングデータのサブセットに従ってそれぞれトレーニングされてもよい。専門教師モデル110は、一般教師モデル108から始まり、異なる教師モデル間の各ニューロンの基本を維持するモデル適応として実施することができる。一般教師モデル108および専門教師モデル110と比較して、生徒モデル106は、より少ないネットワークパラメータを有するニューラルネットワークであってもよい。その結果、生徒モデル106は教師モデルよりも速く動作することができる。ある特定の例では、音声信号を復号するために使用される生徒モデルは、9300の出力ターゲットの事後確率を推定するために、1レイヤ当たり2048個のノードを有する4つの完全に接続されたレイヤに加えて、それぞれ128個および256個の隠れノードを有する2つの畳み込みレイヤを有することができる。生徒モデル106の出力は、教師モデルの出力と同じフォーマットを有することができる。
畳み込みニューラルネットワーク(CNNs)は、CNNレイヤ内の各ニューロンが各ウィンドウ位置に適用されるそれぞれの「フィルタ」を有する入力にわたって、スライディング「ウィンドウ」を使用して情報を処理する。各フィルタは、例えば、入力内のそれぞれのパターンを処理するようにトレーニングすることができる。CNNsは、画像を処理する際に特に有用であり、画像の異なる領域を通過する際に、個々の画素間のローカルリレーションシップがフィルタによって捕捉され得る。CNNレイヤ内のニューロンの出力は、それぞれのフィルタがスライディングウィンドウ内の値の各セットに一致したかどうかを表す値のセットを含むことができる。
クラスタリングは、話者ベクトルとして表されるトレーニングデータ波形上で実行されてもよく、話者ベクトルは、それぞれ、音の特徴と話者の音レベルの信頼スコアとを含む。音レベルの信頼スコアを含む話者ベクトルは、同じ話者からの特徴ベクトル系列全体の平均から決定することができる。
このように、一般教師モデル108は、データセット内のすべての波形でトレーニングされてもよく、またはトレーニングデータの平均音響条件を表すサブセットを使用してトレーニングされてもよい。このサブセットは、例えば、トレーニングデータプールから発話をランダムに選択することによって生成することができる。信頼スコアを生成するために使用される初期音響モデルも、同じデータからトレーニングされ得る。
クラスタリング後、トレーニングデータはN個のクラスに分割され、教師なし深層ラーニングを使用して音響ドメイン固有のデータセットd(nはN個のクラスの1つ)が作成され得る。次いで、専門教師モデル110は、それぞれのデータセットdを用いてトレーニングされ、一般教師モデル108を適合させる。
生徒モデル106をトレーニングするために、対応する専門教師モデル110を用いてソフトラベルlが生成される。次いで、生徒モデル106は、対応するソフトラベルセットlを用いて、全てのトレーニングデータdでトレーニングされる。専門教師モデル110によって生成されたソフトラベルは、一般教師モデル108よりも、対応する音響条件ドメインに対してより良い品質を有することができる。したがって、生徒モデル106は、様々な専門教師モデル110の識別能力を黙示的に含む。
次に図2を参照すると、生徒モデル106をトレーニングする方法が示されている。ブロック202は、例えば、トレーニングデータセット全体またはトレーニングデータセット全体のランダムにサンプリングされたサブセットを使用して、一般教師モデル108をトレーニングすることから始まる。このトレーニングは、例えば、確率的勾配降下法およびバックプロパゲーションを用いて実行することができ、教師モデルからの予測出力と所定のトレーニングデータラベルとの間の交差エントロピー損失を最小化する。
ブロック204は、例えば教師なし深層クラスタリングを使用して、トレーニングデータに対してクラスタリングを実行する。深層クラスタリングは、例えば、ディープニューラルネットワークを使用して、クラスタリングプロセス(例えばK平均法)を使用して特徴を反復的にグループ化し、後続の割当てを監視として使用して、ネットワークの重みを更新してもよい。クラスタリングの各反復は、トレーニングデータの疑似ラベルを提供するために使用され、疑似ラベルは、その後、クラスタリングの次の反復で使用される。トレーニングデータ波形のそれぞれのサブセットを含むN個のクラスタdのセットが形成される。深層クラスタリングの代わりに他の形式のクラスタリングを使用することもできるが、深層クラスタリングのアプローチは、複数の専門モデルに基づくフレームワークで優れたパフォーマンスを提供する。
ブロック204は、特徴マッピングレイヤ、分類レイヤ、およびk平均法クラスタリングコンポーネントを含み得るクラスタリングニューラルネットワークモデルを採用し得る。特徴マッピングレイヤは、入力信号を特徴の中間表現に変換する。次いで、分類レイヤは、中間表現の分類を行う。重みパラメータが更新されると、特徴マッピングと分類レイヤが組み合わされる。
Figure 2022091725000002
各話者が特定の音響条件で話すと仮定することができる。トレーニングデータ内の全ての発話は、D次元スーパーベクトルを使用して表現されてもよく、これは、全ての文脈依存音素について平均化されたログメル周波数特徴(およびそれらのデルタおよびダブルデルタ)を連結することによって形成されてもよい。平均化されたログメル周波数特徴は、発話に対して強制アライメントが実行された後に計算され得る。アライメント推定プロセス中に得られた各音素の平均ログ尤度も、スーパーベクトルに付加することができ、その結果、スーパーベクトルのサイズは、D=F×P+Sとなる。この場合、Fがログメル周波数特徴の次元であり、Pが文脈依存音素の数であり、Sがスーパーベクトルを作成する際に使用されたログ尤度の数であり、Pに等しくなり得る。
音素文脈依存性が、例えば、トライフォンまたはクインフォンである場合、スーパーベクトルのサイズは、クラスタリングネットワークのための実践的な入力として使用するには大きすぎる可能性がある。したがって、スーパーベクトルは、例えば主成分分析(PCA)によって、より扱いやすいサイズに圧縮されてもよく、または代わりに文脈非依存音素が使用されてもよい。
発話が音声的にバランスがとれている場合、チャネル関連特性が平均化されるので、発話ベクトルは音響特性のみの良好な表現となり得る。対照的に、発話が短いか、またはバランスが良くない場合、ベクトルは音声的に偏った成分を含み得る。しかし、このような情報は、専門教師モデル110によって使用され得る言語的に意味のある特性を表すため、有用である。各話者のすべての発話を含むスーパーベクトルを使用することは、音声的にバランスのとれた表現を得るのに役立つ。
このように、このシステムを使用してトレーニングデータをクラスタ化するために、各フレームがどの音素に属するかを表す音アライメント情報を生成することができる。同じ音素の平均をとると、各話者に対してスーパーベクトルを生成することができる。各音には、対応する特徴を含む話者ベクトルの最初の部分があり、その後にその音に対する平均信頼スコアが続く。音レベルの信頼スコアは、推定され、話者ベクトルに付加され、クラスタリングのための音声認識情報を組み込むことができる。これにより、音素の数に対応するコンポーネントの追加セットが音ごとに作成される。
ブロック206は、専門教師モデル110をトレーニングする。各専門教師モデル110は、それぞれのサブセットdをトレーニングデータとして使用して、特定の音響条件を有する波形でトレーニングされるモデルを生成する。次いで、これらの専門教師モデル110をブロック208で使用して、トレーニングデータの各サブセットのためのソフトラベルqspを生成し、一方、一般教師モデル108を使用して、トレーニングデータの全セットのためのソフトラベルqblを生成する。
次に、ブロック210は、ソフトラベルおよびクラスタ化されたトレーニングデータを使用して、生徒モデル106をトレーニングする。ブロック210は、生徒モデル106をトレーニングするために双方向損失関数を使用することができる。例えば、損失関数は以下のように表される。
Figure 2022091725000003
ここで、λは、2つの異なる損失成分を重み付けするハイパーパラメータであり、qbl(i|x)は一般教師モデル108からのソフトラベルを表し、qsp(i|x)は専門教師モデル110からのソフトラベルを表し、xは入力特徴であり、p(i|x)は、iが文脈依存音素のインデックスを示すとき、生徒モデル106からのクラスの出力確率である。ハイパーパラメータは、例えば0.5に設定することができる。
専門教師モデル110の損失Lspは、まず、分類されたデータdの予測出力と対応するソフトラベルqsp(i|x)との間で計算される。同じデータが一般教師モデル108を通過して、一般教師モデル108のための損失Lblが生成される。生徒モデル106のパラメータは、結合損失Lを最小にするように更新される。
損失関数の2つの成分は、それぞれ、生徒モデル106と一般教師モデル108の分布の間、および生徒モデル106と専門教師モデル110の分布の間の差を最小化しようとする。ソフトラベルqを使用すると、各トレーニング例について、競合するクラスは小さいがゼロ以外の確率を持つことになる。生徒モデル106をトレーニングするために使用することができるカルバックライブラー(KL)情報量基準は、等価的に、ソフトターゲットラベルの結合された交差エントロピーも最小化する。
ここで図3を参照すると、自然言語タスクを実行する方法が示されている。ブロック302は、生徒モデル106を、例えば、一般教師モデル108および専門教師モデル110を使用して、様々な発話波形を含むトレーニングデータのセットでトレーニングする。ブロック304は、例えばマイクロフォン104を使用して新しい発話を記録する。
ブロック306は、例えばトレーニングされた生徒モデル106を使用して、新しい発話に対して音声認識を実行する。トレーニングされた生徒モデル106は、例えば、発話中の異なる音に対応する音素のセットを出力することができる。場合によっては、トレーニングされた生徒モデル106は、音素を完全な単語および文にさらに変換し、新しい発話をテキスト文字列として表すことができる。
次に、ブロック308は、テキストに対して自然言語タスク112を実行する。例えば、自然言語タスク112は、質疑応答システムを実装するチャットボットを含むことができる。このような例では、自然言語タスク112は、話し言葉からユーザの意図を識別し、特定の情報に対する要求を識別し、要求された情報を提供する。別の例では、自然言語タスク112は、新しい発話に符号化されたコマンドを実行する実行エンジンを含むことができる。
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピュータ装置/処理装置へダウンロード可能である。あるいは、ネットワーク(例えばインターネット、LAN、WANもしくはワイヤレスネットワークまたはこれらの組み合わせ)を介して、外部コンピュータまたは外部記憶装置へダウンロード可能である。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはこれらの組み合わせを備えることができる。各コンピュータ装置/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、各々のコンピュータ装置/処理装置におけるコンピュータ可読記憶媒体に記憶するために転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、スモールトークやC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン型ソフトウェアパッケージとして完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、完全にリモートコンピュータもしくはサーバ上で実行可能である。後者の場合、リモートコンピュータは、LANやWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続してもよいし、外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続してもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行する目的で当該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の各態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品のフローチャートもしくはブロック図またはその両方を参照して説明されている。フローチャートもしくはブロック図またはその両方における各ブロック、および、フローチャートもしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行可能である。
上記のコンピュータ可読プログラム命令は、機械を生産するために、コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供してよい。これにより、かかるコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行するための手段を創出する。上記のコンピュータ可読プログラム命令はさらに、コンピュータ、プログラマブルデータ処理装置もしくは他の装置またはこれらの組み合わせに対して特定の態様で機能するよう命令可能なコンピュータ可読記憶媒体に記憶してよい。これにより、命令が記憶された当該コンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作の態様を実行するための命令を含む製品を構成する。
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブル装置、または他の装置にロードし、一連の動作ステップを当該コンピュータ、他のプログラマブル装置、または他の装置上で実行させることにより、コンピュータ実行プロセスを生成してもよい。これにより、当該コンピュータ、他のプログラマブル装置、または他の装置上で実行される命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行する。
本明細書において、本発明の「一実施形態(one embodiment)」または「一実施形態(an embodiment)」、ならびに、それらの他の変形例を参照することは、本実施形態に関連して説明される特定の特徴、構造、特性などが、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書中の様々な箇所に現れる「1つの実施形態において(in one embodiment)」または「1つの実施形態において(in an embodiment)」という語句の出現および他の変形は、必ずしもすべて同じ実施形態を指しているわけではない。
以下の「/」、「および/または(and/or)」、および「~のうちの少なくとも1つ(at least one of)」のいずれかの使用は、例えば、「A/B」、「Aおよび/またはB(A and/or B)」、および「AおよびBのうちの少なくとも1つ(at least one of A and B)」の場合に、1番目に列挙されたオプション(A)のみの選択、または2番目に列挙されたオプション(B)のみの選択、または両方のオプション(AおよびB)の選択を包含することが意図されていることを理解されたい。さらに別の例として、「A、Bおよび/またはC(A, B, and/or C)」および「A、B、Cのうちの少なくとも1つ(at least one of A, B, and C)」の場合、そのような表現は、1番目に列挙されたオプション(A)のみの選択、2番目に列挙されたオプション(B)のみの選択、3番目に列挙されたオプション(C)のみの選択、1番目および2番目に列挙されたオプション(AおよびB)のみの選択、1番目および3番目に列挙されたオプション(AおよびC)のみの選択、2番目および3番目に列挙されたオプション(BおよびC)のみの選択、または3つの全てのオプション(AおよびBおよびC)の選択を包含することを意図している。これは、この技術および関連技術の当業者によって容易に明らかなように、列挙された項目の数だけ拡張することができる。
本開示の図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に係るシステム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行してもよい。例えば、連続して示される2つのブロックは、実際には、関係する機能に応じて、1つの工程として達成してもよいし、同時もしくは略同時に実行してもよいし、部分的もしくは全体的に時間的に重複した態様で実行してもよいし、または場合により逆順で実行してもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能または動作を行う専用ハードウェアベースのシステムによって、または専用ハードウェアとコンピュータ命令との組み合わせによって実行可能である。
本明細書で使用される用語「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」は、1つまたは複数の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェアまたはそれらの組み合わせを指すことができる。有用な実施形態では、ハードウェアプロセッササブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行装置など)を含むことができる。1つまたは複数のデータ処理要素は、中央処理装置、グラフィックス処理装置、もしくは別個のプロセッサベースまたはコンピューティングエレメントベースのコントローラ(例えば、論理ゲート等)またはその組み合わせに含まれ得る。ハードウェアプロセッササブシステムは、1つまたは複数のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み取り専用メモリなど)を含むことができる。いくつかの実施形態では、ハードウエアプロセッササブシステムは、オンボードまたはオフボードであってもよく、または、ハードウエアプロセッササブシステム(例えば、ROM、RAM、基本入出力システム(BIOS)など)によって使用されるために専用であってもよい1つまたは複数のメモリを含むことができる。
いくつかの実施形態では、ハードウェアプロセッササブシステムは、1つまたは複数のソフトウェア要素を含み、実行することができる。1つまたは複数のソフトウェア要素は、オペレーティングシステムもしくは、1つまたは複数のアプリケーションもしくは、特定のコードまたはその組み合わせを含み、特定の結果を達成することができる。
他の実施形態では、ハードウェアプロセッササブシステムは、特定の結果を達成するために1つまたは複数の電子処理機能を実行する専用の専用回路を含むことができる。このような回路は、1つまたは複数の特定用途向け集積回路(ASICs)、FPGAs、もしくはPLAsまたはその組み合わせを含むことができる。
本発明の実施形態によれば、ハードウェアプロセッササブシステムのこれらの変形例および他の変形例も考えられる。
図4を参照すると、自然言語処理システム400が示されている。システム400は、ハードウェアプロセッサ402およびメモリ404を含む。センサインタフェース406は、マイクロフォン104などのセンサから波形情報を受信する。トレーニングデータ408は、メモリ404に格納されてもよい。
クラスタリングネットワーク410は、上述のようにトレーニングデータ408をクラスタリングし、異なる音響条件に対応するトレーニングサブセットを提供する。トレーニングデータ408は、モデルトレーナー412が一般教師モデル108をトレーニングするために使用される。クラスタリングネットワーク410によって生成されたトレーニングデータ408のクラスタ化されたサブセットは、モデルトレーナー412によって使用されて、それぞれの専門教師モデル110をトレーニングする。一般教師モデル108と専門教師モデル110とを用いてトレーニングデータに対してソフトラベルが生成され、モデルトレーナー412はこれらのソフトラベルを用いて生徒モデル106をトレーニングする。
トレーニングされた生徒モデル106は、センサインタフェース406から新しい発話を受信する。生徒モデル106は、例えば発話に対して自動音声認識を行い、テキスト出力を生成する。次いで、自然言語タスク112は、テキスト出力を受け入れ、適切な応答を提供する。
一般教師モデル108、専門教師モデル110および生徒モデル106は、それぞれ人工ニューラルネットワーク(ANNs)として実装されてもよい。ANNは、脳などの生物学的な神経系からヒントを得た情報処理システムである。ANNの重要な要素は、情報処理システムの構造であり、これは、特定の問題を解決するために並列に動作する多数の高度に相互接続された処理要素(「ニューロン」と呼ばれる)を含む。ANNsはさらに使用中にトレーニングされ、ニューロン間に存在する重みを調整する学習を伴う。ANNは、このような学習プロセスを介して、パターン認識やデータ分類などの特定のアプリケーション用に構成される。
次に図5を参照すると、ニューラルネットワークの一般化された図が示されている。ANNsは、複雑または不正確なデータから意味を引き出す能力を示し、ヒトまたは他のコンピュータベースのシステムによって検出するには複雑すぎるパターンを抽出し傾向を検出するために使用することができる。ニューラルネットワークの構造は、一般に、1つまたは複数の「隠れ」ニューロン504に情報を提供する入力ニューロン502を有することが知られている。入力ニューロン502と隠れニューロン504との間の接続508は重み付けされ、これらの重み付けされた入力は、隠れニューロン504によって、隠れニューロン504のある機能に従って、レイヤ間の重み付けされた接続508で処理される。隠れニューロン504の任意の数のレイヤ、ならびに異なる機能を実行するニューロンが存在し得る。畳み込みニューラルネットワーク、マックスアウトネットワークなどの異なるニューラルネットワーク構造も存在する。最後に、出力ニューロン506のセットは、隠れニューロン504の最後のセットからの重み付けされた入力を受け入れて処理する。
これは、情報が入力ニューロン502から出力ニューロン506に伝播する「フィードフォワード」計算を表す。フィードフォワード計算が完了すると、出力はトレーニングデータから得られる所望の出力と比較される。トレーニングデータに関するエラーは、次に、「フィードバック」計算で処理され、隠れニューロン504および入力ニューロン502は、出力ニューロン506から逆方向に伝播するエラーに関する情報を受け取る。逆方向のエラー伝播が完了すると、重み更新が実行され、重み付き接続508は、受信されたエラーを考慮して更新される。これは、ANNの1つの種類にすぎない。
次に図6を参照すると、ANN用の例示的なアーキテクチャ600が示されている。本アーキテクチャは純粋に例示的なものであり、他のアーキテクチャまたはタイプのニューラルネットワークを代わりに使用できることを理解されたい。特に、ANNのハードウェア実施形態が本明細書に記載されているが、ニューラルネットワークアーキテクチャは、ソフトウェアで実装またはシミュレートすることができることを理解されたい。本明細書に記載されるハードウェアの実施形態は、高レベルの一般性でのニューラルネットワーク計算の一般原理を説明する意図で含まれ、いかなる方法においても制限するものと解釈されるべきではない。
さらに、以下に記載されるニューロンのレイヤおよびそれらを接続する重みは、一般的な方法で記載され、任意の適切な程度またはタイプの相互接続性を有する任意のタイプのニューラルネットワークレイヤで置き換えることができる。例えば、レイヤには、畳み込みレイヤ、プーリングレイヤ、完全に接続されたレイヤ、ソフトマックスレイヤ、またはその他の適切なタイプのニューラルネットワークレイヤを含めることができる。さらに、必要に応じてレイヤを追加または除去することができ、より複雑な相互接続の形態のために重みを省略することができる。
フィードフォワード動作中、入力ニューロン602のセットの各々は、重み604のそれぞれの列に平行な入力電圧を供給する。本明細書に記載するハードウェア実施形態では、重み604の各々は、電流出力が重み付き入力を表すために重み604からそれぞれの隠れニューロン606に流れるように、設定可能な抵抗値を有する。ソフトウェア実施形態では、重み604は、単に、関連するニューロン出力に対して乗算される係数値として表すことができる。
ハードウェアの実施形態に従って、与えられた重み604による電流出力は、I=v/rと決定される。ここで、Vは入力ニューロン602からの入力電圧であり、rは重み604の設定抵抗である。各重みからの電流は列方向に加算され、隠れニューロン606に流れる。基準重み607のセットは固定抵抗を有し、それらの出力を結合して、隠れニューロン606の各々に供給される基準電流にする。コンダクタンス値は正の数にしかできないため、マトリックス内の正の値と負の値の両方をエンコードするには、ある程度の基準コンダクタンスが必要である。重み604によって生成される電流は連続的に値が付けられて正であるため、基準重み607は基準電流を提供するために使用され、基準電流を超えると電流は正の値を有すると考えられ、基準電流を下回ると電流は負の値を有すると考えられる。基準重み607の使用は、出力および重みの値が正確かつ直接的に得られるソフトウェア実施形態では必要とされない。基準重み607を使用する代わりに、別の実施形態は、重み604の別個のアレイを使用して負の値を捉えることができる。
隠れニューロン606は、重み604のアレイからの電流および基準重み607を使用して、何らかの計算を実行する。次に、隠れニューロン606は、自身の電圧を重み604の別のアレイに出力する。このアレイは、同様に動作し、重み604の列がそれぞれの隠れニューロン606から電圧を受け取り、行方向に加算して出力ニューロン608に供給される加重電流出力を生成する。
アレイの追加のレイヤおよび隠れニューロン606を介在させることによって、これらのステージの任意の数を実施できることを理解されたい。いくつかのニューロンは、アレイに一定の出力を提供する一定ニューロン609であり得ることにも留意されたい。一定ニューロン609は、入力ニューロン602もしくは隠れニューロン606またはその両方の間に存在することができ、フィードフォワード動作中にのみ使用される。
バックプロパゲーションの間、出力ニューロン608は、重み604のアレイに電圧を戻す。出力レイヤは、生成されたネットワーク応答をトレーニングデータと比較し、エラーを計算する。エラーは電圧パルスとしてアレイに印加され、パルスの高さもしくは持続時間またはその両方はエラー値に比例して変調される。この例では、重み604の列は、それぞれの出力ニューロン608から並列に電圧を受け取り、その電圧を、列ごとに加算して、隠れニューロン606に入力を提供する電流に変換する。隠れニューロン606は、重み付きフィードバック信号をそのフィードフォワード計算の導関数と結合し、エラー値を格納してから、フィードバック信号電圧をそれぞれの重み604の列に出力する。このバックプロパゲーションは、すべての隠れニューロン606および入力ニューロン602がエラー値を格納するまでネットワーク600全体を伝播する。
重み更新の間、入力ニューロン602および隠れニューロン606は、第1の重み更新電圧を順方向に印加し、出力ニューロン608および隠れニューロン606は、ネットワーク600を介して第2の重み更新電圧を逆方向に印加する。これらの電圧の組み合わせは、各重み604内に状態変化を生じさせ、重み604に新しい抵抗値を生じさせる。このようにして、重み604は、ニューラルネットワーク600をその処理におけるエラーに適応させるようにトレーニングすることができる。なお、フィードフォワード、バックプロパゲーション、重み更新の3つの動作モードは互いに重複しない。
上述したように、重み604は、例えば、比較的複雑な重み付け回路を使用したり、抵抗性クロスポイント装置を使用したりして、ソフトウェアまたはハードウェアで実装することができる。このような抵抗装置は、データ処理に使用できる非線形性を有するスイッチング特性を有することができる。重み604は、それらの非線形特性がニューラルネットワーク600における計算を実行するために使用されるので、抵抗型処理ユニット(RPU)と呼ばれる装置のクラスに属することができる。RPU装置は、抵抗変化型メモリ(RRAM)、相変化メモリ(PCM)、プログラマブルメタライゼーションセル(PMC)メモリ、または非線形抵抗スイッチング特性を有する任意の他の装置で実装することができる。このようなRPU装置は、メモリスタシステムと考えることもできる。
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがある。
特性は以下の通りである。
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインタフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。ただし、ユーザ固有の限られたアプリケーション構成の設定はその限りではない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含む任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備し、消費者がオペレーティングシステムおよびアプリケーションを含む任意のソフトウェアを展開および実行できるようにすることである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
展開モデルは以下の通りである。
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで、図7に例示的なクラウドコンピューティング環境50を示す。図示するように、クラウドコンピューティング環境50は1つ以上のクラウドコンピューティングノード10を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、PDAもしくは携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは自動車コンピュータシステム54Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード10は互いに通信することができる。ノード10は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つ以上のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境50は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、図7に示すコンピュータ装置54A~Nの種類は例示に過ぎず、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
ここで、クラウドコンピューティング環境50(図7)によって提供される機能的抽象化レイヤのセットを図8に示す。なお、図8に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本発明の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェアレイヤ60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワークコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
仮想化レイヤ70は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75。
一例として、管理レイヤ80は以下の機能を提供することができる。リソース準備81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定82は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウド消費者およびタスクの識別確認を可能にする。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行85は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
ワークロードレイヤ90は、クラウドコンピューティング環境が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育の配信93、データ分析処理94、取引処理95、ならびに、モデルトレーニング96が含まれる。
深層クラスタリングを使用する知識の蒸留の好適な実施形態(例示的であり、限定的ではないことが意図されている)を説明したが、上記の教示に照らして、修正および変形が当業者によってなされ得ることに留意されたい。したがって、添付の特許請求の範囲によって概説されるように、本発明の範囲内にある開示された特定の実施形態に変更を加えることができることを理解されたい。このようにして、特許法によって要求される詳細および特殊性と共に、本発明の態様を説明してきたが、特許状によって特許請求され、保護されることが望まれるものは、添付の特許請求の範囲に記載されている。

Claims (20)

  1. ニューラルネットワークをトレーニングするためのコンピュータ実装方法であって、
    トレーニングデータサンプルのフルセットを複数の専門トレーニングクラスタにクラスタ化することと、
    前記複数の専門トレーニングクラスタのそれぞれの専門トレーニングクラスタを使用して複数の専門教師ニューラルネットワークをトレーニングすることと、
    前記複数の専門教師ニューラルネットワークを使用して、前記トレーニングデータサンプルのフルセットに対してソフトラベルを生成することと、
    前記トレーニングデータサンプルのフルセット、前記専門トレーニングクラスタ、および前記ソフトラベルを使用して、生徒モデルをトレーニングすることと、
    を含む、コンピュータ実装方法。
  2. 前記トレーニングデータサンプルは、音響波形を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記トレーニングデータサンプルのフルセットをクラスタ化することは、音響条件に従ってクラスタ化することを含む、請求項2に記載のコンピュータ実装方法。
  4. クラスタ化することは、教師なし深層クラスタリングを行うことを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記トレーニングデータサンプルのフルセットを使用して一般教師ニューラルネットワークをトレーニングすることをさらに含む、請求項1に記載のコンピュータ実装方法。
  6. 前記ソフトラベルを生成することは、前記一般教師ニューラルネットワークをさらに使用する、請求項5に記載のコンピュータ実装方法。
  7. 前記生徒モデルをトレーニングすることは、下記損失関数を最小化することを含む、請求項6に記載のコンピュータ実装方法。
    Figure 2022091725000004
    ここで、λは重みハイパーパラメータであり、qblは前記一般教師ニューラルネットワークからのソフトラベルのセットであり、qspは前記複数の専門教師ニューラルネットワークからのソフトラベルのセットであり、p(i|x)は、iが文脈依存音素のインデックスを示し、xが入力信号を示すとき、前記生徒モデルからのクラスの確率である。
  8. 前記生徒モデルは、前記一般教師ニューラルネットワークよりも少ないパラメータを有するニューラルネットワークである、請求項5に記載のコンピュータ実装方法。
  9. 前記トレーニングされた生徒モデルを使用して、新しい発話に対して音声認識を実行することをさらに含む、請求項1に記載のコンピュータ実装方法。
  10. 前記新しい発話から認識された音声に対して自然言語タスクを実行することをさらに含む、請求項9に記載のコンピュータ実装方法。
  11. ニューラルネットワークをトレーニングするためのコンピュータ可読プログラムを含む非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読プログラムは、コンピュータ上で実行されたときに前記コンピュータに、
    トレーニングデータサンプルのフルセットを複数の専門トレーニングクラスタにクラスタ化することと、
    前記複数の専門トレーニングクラスタのそれぞれの専門トレーニングクラスタを使用して複数の専門教師ニューラルネットワークをトレーニングすることと、
    前記複数の専門教師ニューラルネットワークを使用して、前記トレーニングデータサンプルのフルセットに対してソフトラベルを生成することと、
    前記トレーニングデータサンプルのフルセット、前記専門トレーニングクラスタ、および前記ソフトラベルを使用して、生徒モデルをトレーニングすることと、
    をさせる、非一時的なコンピュータ可読記憶媒体。
  12. 前記トレーニングデータサンプルは、音響波形を含む、請求項11に記載の非一時的なコンピュータ可読記憶媒体。
  13. コンピュータ可読プログラムは、前記コンピュータに、音響条件に従ってクラスタ化することをさらにさせる、請求項12に記載の非一時的なコンピュータ可読記憶媒体。
  14. コンピュータ可読プログラムは、前記コンピュータに、前記トレーニングデータサンプルのフルセットに対して教師なし深層クラスタリングを行うことをさらにさせる、請求項11に記載の非一時的なコンピュータ可読記憶媒体。
  15. コンピュータ可読プログラムは、前記コンピュータに、前記トレーニングデータサンプルのフルセットを使用して一般教師ニューラルネットワークをトレーニングすることをさらにさせる、請求項11に記載の非一時的なコンピュータ可読記憶媒体。
  16. コンピュータ可読プログラムは、前記コンピュータに、前記一般教師ニューラルネットワークを使用してソフトラベルを生成することをさらにさせる、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
  17. コンピュータ可読プログラムは、前記コンピュータに、下記損失関数を最小化して前記生徒モデルをトレーニングすることをさらにさせる、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
    Figure 2022091725000005
    ここで、λは重みハイパーパラメータであり、qblは前記一般教師ニューラルネットワークからのソフトラベルのセットであり、qspは前記複数の専門教師ニューラルネットワークからのソフトラベルのセットであり、p(i|x)は、iが文脈依存音素のインデックスを示し、xが入力信号を示すとき、前記生徒モデルからのクラスの確率である。
  18. 前記生徒モデルは、前記一般教師ニューラルネットワークよりも少ないパラメータを有するニューラルネットワークである、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
  19. コンピュータ可読プログラムは、前記コンピュータに、前記トレーニングされた生徒モデルを使用して、新しい発話に対して音声認識を実行することをさらにさせる、請求項11に記載の非一時的なコンピュータ可読記憶媒体。
  20. ニューラルネットワークをトレーニングするためのシステムであって、
    ハードウェアプロセッサと、
    コンピュータプログラムコードを格納するメモリと、を含み、前記コンピュータプログラムコードは、前記ハードウェアプロセッサによって実行されると、
    生徒モデルと、
    トレーニングデータサンプルのフルセットを複数の専門トレーニングクラスタにクラスタ化するクラスタリングネットワークと、
    前記トレーニングデータサンプルのフルセットに対してソフトラベルを一緒に生成する複数の専門教師ニューラルネットワークと、
    前記複数の専門トレーニングクラスタのそれぞれの専門トレーニングクラスタを使用して前記複数の専門教師ニューラルネットワークをトレーニングし、前記トレーニングデータサンプルのフルセット、前記専門トレーニングクラスタ、および前記ソフトラベルを使用して、生徒モデルをトレーニングするモデルトレーナーと、
    を実装する、システム。
JP2021198687A 2020-12-09 2021-12-07 ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体、およびシステム(深層クラスタリングを用いた知識の蒸留) Pending JP2022091725A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/116,117 2020-12-09
US17/116,117 US20220180206A1 (en) 2020-12-09 2020-12-09 Knowledge distillation using deep clustering

Publications (1)

Publication Number Publication Date
JP2022091725A true JP2022091725A (ja) 2022-06-21

Family

ID=79163769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021198687A Pending JP2022091725A (ja) 2020-12-09 2021-12-07 ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体、およびシステム(深層クラスタリングを用いた知識の蒸留)

Country Status (5)

Country Link
US (1) US20220180206A1 (ja)
JP (1) JP2022091725A (ja)
CN (1) CN114626518A (ja)
DE (1) DE102021129058A1 (ja)
GB (1) GB2607133B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024512648A (ja) * 2021-04-02 2024-03-19 ライブパーソン, インコーポレイテッド 知識蒸留を伴うai nlp符号化器のドメイン適応
CN114626408A (zh) * 2022-02-18 2022-06-14 清华大学深圳国际研究生院 脑电信号分类方法、装置、电子设备、介质及产品
CN116187322B (zh) * 2023-03-15 2023-07-25 深圳市迪博企业风险管理技术有限公司 一种基于动量蒸馏的内控合规检测方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332492A (ja) * 1993-05-19 1994-12-02 Matsushita Electric Ind Co Ltd 音声検出方法および検出装置
US6067517A (en) * 1996-02-02 2000-05-23 International Business Machines Corporation Transcription of speech data with segments from acoustically dissimilar environments
US7337114B2 (en) * 2001-03-29 2008-02-26 International Business Machines Corporation Speech recognition using discriminant features
US20080300875A1 (en) * 2007-06-04 2008-12-04 Texas Instruments Incorporated Efficient Speech Recognition with Cluster Methods
JP4528839B2 (ja) * 2008-02-29 2010-08-25 株式会社東芝 音素モデルクラスタリング装置、方法及びプログラム
US20140074614A1 (en) * 2012-09-12 2014-03-13 Globys, Inc. Time series-based entity behavior classification
US9412361B1 (en) * 2014-09-30 2016-08-09 Amazon Technologies, Inc. Configuring system operation using image data
US10019438B2 (en) * 2016-03-18 2018-07-10 International Business Machines Corporation External word embedding neural network language models
US11430124B2 (en) * 2020-06-24 2022-08-30 Samsung Electronics Co., Ltd. Visual object instance segmentation using foreground-specialized model imitation

Also Published As

Publication number Publication date
CN114626518A (zh) 2022-06-14
US20220180206A1 (en) 2022-06-09
GB2607133B (en) 2024-04-17
DE102021129058A1 (de) 2022-06-09
GB202116914D0 (en) 2022-01-05
GB2607133A (en) 2022-11-30

Similar Documents

Publication Publication Date Title
US10929614B2 (en) Automated contextual dialog generation for cognitive conversation
US11100399B2 (en) Feature extraction using multi-task learning
JP2022091725A (ja) ニューラルネットワークをトレーニングするためのコンピュータ実装方法、非一時的なコンピュータ可読記憶媒体、およびシステム(深層クラスタリングを用いた知識の蒸留)
US11580959B2 (en) Improving speech recognition transcriptions
AU2021236965B2 (en) Automatically generating diverse text
CN114787913A (zh) 训练语音合成以生成不同的语音声音
WO2022121515A1 (en) Mixup data augmentation for knowledge distillation framework
US20220208179A1 (en) Customization of recurrent neural network transducers for speech recognition
US20220101835A1 (en) Speech recognition transcriptions
US11354920B2 (en) Updating and implementing a document from an audio proceeding
WO2022121684A1 (en) Alternative soft label generation
JP2022181204A (ja) ニューラルネットワークをトレーニングするためのコンピュータプログラムおよびコンピュータで実装される方法(混合された拡張済みデータセットを用いる音声異常検出)
US11610581B2 (en) Multi-step linear interpolation of language models
WO2023139015A1 (en) Data sorting for generating speech recognition models
US20230335123A1 (en) Speech-to-text voice visualization
US20230237989A1 (en) External language model information integrated into neural transducer model
US20220319494A1 (en) End to end spoken language understanding model
US20220414448A1 (en) Cross-lingual knowledge transfer learning
US20240232699A1 (en) Enhanced data labeling for machine learning training
US20230136842A1 (en) Training data sequence for rnn-t based global english model

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220518

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20220610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240711