(57)【要約】【課題】ニューラルネットワークを更新する方法等を提供すること。【解決手段】方法は、ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数が、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ないように選択することを含み得る。本方法は、前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つをさらに含み得る。【選択図】図４
2018116689.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークを変更する方法であって、
ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数は、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ない、選択することと、
前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つを行うことと、
を含む、方法。
【請求項２】
前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント依存特性を選択すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント依存特性を選択することは、前記少なくとも１つのセグメント依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択することを含む、請求項２に記載の方法。
【請求項４】
前記層の性能を高めるように、前記の選択された少なくとも１つのセグメント依存特性を、複数の設定のうちの１つの設定に設定すること
をさらに含む、請求項２に記載の方法。
【請求項５】
前記層についてのセグメント非依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択すること
をさらに含む、請求項１に記載の方法。
【請求項６】
層についてニューロン数を選択することは、閾性能レベルよりも高い性能レベルを維持しながら前記層の効率を最適化するように、前記層について、複数のニューロン数のうちの１つのニューロン数を選択することを含む、請求項１に記載の方法。
【請求項７】
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、ニューロン数Ｍを有する前記第１の層とニューロン数Ｎを有する前記第２の層との間に、ニューロン数Ｐを有する前記層を挿入することを含み、前記ニューロン数Ｐは、
【数１】
2018116689.tif 000007
に従って計算される、請求項１に記載の方法。
【請求項８】
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、前記第１の層及び前記第２の層のうちの１つの層を、前記第１の層及び前記第２の層のうちの置換される該１つの層のニューロン数よりも少ないニューロン数を有する前記層で置換することを含む、請求項１に記載の方法。
【請求項９】
命令を含む１つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が、１つ以上のプロセッサにより実行されたときに、前記命令は、前記１つ以上のプロセッサに動作を実行させるよう構成されており、前記動作は、
ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数は、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ない、選択することと、
前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つを行うことと、
を含む、１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１０】
前記動作は、
少なくとも１つのセグメント依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択すること
をさらに含む、請求項９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１１】
前記動作は、
前記層の性能を高めるように、前記少なくとも１つのセグメント依存特性を、複数の設定のうちの１つの設定に設定すること
をさらに含む、請求項１０に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１２】
層についてニューロン数を選択することは、閾性能レベルよりも高い性能レベルを維持しながら前記層の効率を最適化するように、前記層について、複数のニューロン数のうちの１つのニューロン数を選択することを含む、請求項９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１３】
前記動作は、
少なくとも１つのセグメント非依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択すること
をさらに含む、請求項９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１４】
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、ニューロン数Ｍを有する前記第１の層とニューロン数Ｎを有する前記第２の層との間に、ニューロン数Ｐを有する前記層を挿入することを含み、前記ニューロン数Ｐは、
【数２】
2018116689.tif 000008
に従って計算される、請求項９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１５】
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、前記第１の層及び前記第２の層のうちの１つの層を、前記第１の層及び前記第２の層のうちの置換される該１つの層のニューロン数よりも少ないニューロン数を有する前記層で置換することを含む、請求項９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【請求項１６】
システムであって、
ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数は、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ない、選択することと、
前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つを行うことと、
を行うよう構成されている１つ以上のプロセッサ
を有する、システム。
【請求項１７】
前記１つ以上のプロセッサは、さらに、前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント依存特性を選択することを行うよう構成されている、請求項１６に記載のシステム。
【請求項１８】
前記１つ以上のプロセッサは、さらに、前記層の性能を高めるように、前記の選択された少なくとも１つのセグメント依存特性を、複数の設定のうちの１つの設定に設定することを行うよう構成されている、請求項１７に記載のシステム。
【請求項１９】
前記１つ以上のプロセッサは、さらに、閾性能レベルよりも高い性能レベルを維持しながら前記層の効率を最適化するように、前記層について、複数のニューロン数のうちの１つのニューロン数を選択することを行うよう構成されている、請求項１６に記載のシステム。
【請求項２０】
前記１つ以上のプロセッサは、さらに、前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント非依存特性を選択することを行うよう構成されている、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の実施形態は、ニューラルネットワークに関し、より詳細には、ニューラルネットワーク内の結合の数を低減させることに関する。
【背景技術】
【０００２】
ニューラルネットワーク分析は、複数の処理層を通じて高レベル抽象化をモデル化しようと試みる生物学的ニューラルネットワークによって生じる分析のモデルを含み得る。しかしながら、ニューラルネットワーク分析は、大量の演算リソース及び／又はネットワークリソースを消費し得る。
【０００３】
本出願において特許請求される主題は、あらゆる欠点を解決する実施形態又は上記のような環境においてのみ動作する実施形態に限定されるものではない。そうではなく、この背景技術の記載は、本明細書に記載のいくつかの実施形態が実施され得る１つの例示的な技術領域を示すために提供されているに過ぎない。
【発明の概要】
【０００４】
本開示の１つ以上の実施形態は、ニューラルネットワークを更新する方法を含み得る。本方法は、ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数が、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ないように選択することを含み得る。本方法は、前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つをさらに含み得る。
【０００５】
実施形態の目的及び利点が、少なくとも請求項において特に示される要素、特徴、及び組合せにより、実現及び達成される。前述の総括的な説明及び以下の詳細な説明の両方ともが、例示的で説明的なものであり、限定的なものではない。
【図面の簡単な説明】
【０００６】
例示的な実施形態が、添付の図面を使用して、より具体的且つ詳細に記載及び説明される。
【図１】例示的なニューラルネットワークの２つの層を示す図。
【図２】挿入層を含む例示的なニューラルネットワークを示す図。
【図３】置換層を含む例示的なニューラルネットワークを示す図。
【図４】挿入層及び置換層を含む例示的なニューラルネットワークを示す図。
【図５】ニューラルネットワークに層を挿入する例示的な方法のフローチャート。
【図６】ニューラルネットワークに層を挿入する例示的なシナリオのフローチャート。
【図７】ニューラルネットワーク内の層を置換層で置換する例示的な方法のフローチャート。
【図８】ニューラルネットワーク内の層を置換層で置換する例示的なシナリオのフローチャート。
【図９】例示的なコンピューティングデバイスのブロック図。
【発明を実施するための形態】
【０００７】
本出願において開示される様々な実施形態は、ニューラルネットワーク内の２つの層の間に層を挿入すること、及び／又は、ニューラルネットワーク内の層を置換層で置換すること、に関する。様々な実施形態において、挿入層及び／又は置換層の挿入の際に、ニューラルネットワーク内の結合の数が低減されるように、挿入層内のニューロン数及び／又は置換層内のニューロン数が選択され得る。したがって、本出願において開示される様々な実施形態は、ニューラルネットワークの許容性能レベル（例えば精度）を維持しながら、メモリ要件を低減させること及び／又はニューラルネットワークの効率を向上させることが可能である。
【０００８】
人工ニューラルネットワークは、層のスタックにおいて一般に配置されるニューロンのネットワークを利用して、一般的なルールベースのプログラミングを使用して解決するのが難しい、コンピュータビジョン及び音声認識等の複雑な認知タスクを実行する。
【０００９】
ニューラルネットワークのニューロンは、ニューロン間のシナプス結合を通じて、互いと伝達することができ、各結合は、ニューロン間の伝達の重要度を調整するための数値重みを有し得る。重み調整、したがって、シナプスの結合についてのデータフローは、並列に実行され得る。ニューラルネットワーク内の多数の重み（例えば結合）は、繰り返しの使用又は更新のために、それらの値を記憶するためのメモリを必要とし得、重みにより必要とされるメモリサイズは、通常、ニューロン活性化状態、入力データ等といった他のデータにより必要とされるサイズよりもはるかに大きい。
【００１０】
キャッシュメモリサイズ及びメモリ速度における制限に起因して、比較的大きなニューラルネットワークの性能は、損なわれることがあり、メモリサイズ要件を低減させるための試みがなされている。例えば、ニューラルネットワークは、（１）２つ以上のプロセッサを使用すること、又は、（２）分割によりシナプスの数を低減させること、のいずれかによって、演算の速度を上げるように、２つの等しい又はおおよそ等しい分枝に分割され得る。前者は、ネットワークアーキテクチャを何ら変更することなく、単純に複数のプロセッサを利用するものであり、後者は、パーティション間でシナプスを調整することからの推定に起因して、精度損失が生じやすい。
【００１１】
ニューラルネットワークの各層は、比較的多数のニューロンを有し得、したがって、ニューラルネットワークの隣接する層の間の結合の数は、大きいものであり得る。より具体的には、ニューラルネットワークの２つの隣接する層が、Ｍ個のニューロン及びＮ個のニューロンを有する場合、これらの２つの隣接する層の間の結合の数は、Ｍ＊Ｎである。例えば、ある層内のニューロンの数Ｍが、１０２４に等しく、隣接する層内のニューロンの数Ｎが、６４に等しい場合、これらの２つの隣接する層の間の結合の数は、１０２４＊６４＝６５５３６である。
【００１２】
本開示の様々な実施形態に従うと、層が、ニューラルネットワークの２つの隣接する層の間に挿入され得る。例えば、層（本明細書において「挿入層」とも呼ばれる）が、畳み込みニューラルネットワーク（ＣＮＮ）内の１つの層（例えば、最後の畳み込み層）と別の層（例えば、最初のＦＣ（全結合）層）との間に挿入され得る。
【００１３】
ニューラルネットワークの２つの隣接する層がＮ個のニューロン及びＭ個のニューロンを含む１つの非限定的な例において、Ｐ個のニューロンを有する挿入層が、これらの２つの層の間に挿入され結合され得る。この例において、これらの２つの層の間の結合の数は、Ｍ＊Ｐ＋Ｐ＊Ｎになる。ニューロン数Ｐは、これらの２つの層の間の結合の数が低減されるように選択され得る。
【００１４】
代替的又は追加的に、いくつかの実施形態において、ニューラルネットワークのある層が、別の層（「置換層」）で置換されてもよい。例えば、ニューラルネットワーク（例えば、ＣＮＮ）のある層（例えば、最初のＦＣ層）が、置換層で置換され得、ここで、置換層は、置換される層のニューロン数よりも少ないニューロン数を有する。
【００１５】
ニューラルネットワーク内の層の間の結合の数を低減させることは、精度の低下を生じさせ得る。したがって、いくつかの実施形態において、挿入層及び／又は置換層内のニューロン数は、（例えば、精度閾値を超える、）ニューラルネットワークの精度を維持するように選択され得る。別の言い方をすれば、挿入層及び／又は置換層は、（例えば、精度閾値を含み得る性能レベル閾値を超える）規定可能なレベルでニューラルネットワークの性能レベル（例えば精度）を維持するのに十分な数のニューロンを含み得る。
【００１６】
さらに、いくつかの実施形態に従うと、ニューラルネットワークの挿入層及び／又は置換層の１つ以上の特性が、規定可能であり得る。より具体的には、以下でより詳細に説明されるように、挿入層及び／又は置換層は、１つ以上の規定されたセグメントを有することができ、ここで、この１つ以上のセグメントの各セグメントの１つ以上の特性（例えば、セグメントサイズ、ニューロン活性化等）は、ニューラルネットワークの性能を高めるように調整され得る。規定可能な特性を有する、層内の可変のセグメントは、ニューラルネットワークの精度を高めることができ、演算速度を向上させることができる。
【００１７】
代替的又は追加的に、ニューラルネットワーク内の層の間の（例えば、挿入層と別の層との間の、置換層と別の層との間の、挿入層と置換層との間の）１つ以上の結合の１つ以上の特性が調整されてもよい。より具体的には、例えば、重み初期化方法、固定重みシナプスの割合（a  fraction  of  fixed-weight  synapses）、及び／又は不活性シナプスの割合（a  fraction  of  inactive  synapses）が、ニューラルネットワークの性能を高めるように調整され得る。
【００１８】
様々な用途（例えば、コンピュータビジョン及びパターン認識）で実施され得る、本出願において開示される様々な実施形態は、同等の精度を維持しながら、メモリ要件を低減させること、エネルギー効率を向上させること、及び／又は、演算の速度を上げること、が可能である。
【００１９】
本開示の実施形態が、添付の図面を参照しながら、次に説明される。
【００２０】
図１は、ニューラルネットワーク１００の２つの隣接する層を示している。より詳細には、ネットワーク１００は、ニューロン１０６を含む層１０２と、ニューロン１０８を含む層１０４と、を含む。さらに、シナプス結合１１０（本明細書において「シナプス」とも呼ばれる）は、ある層の各ニューロンを、隣接する層の各ニューロンと結合する。より具体的には、シナプス結合１１０は、層１０２の各ニューロン１０６を、層１０４の各ニューロン１０８と結合する。
【００２１】
図２は、ニューロン１０６を含む層１０２と、ニューロン１０８を含む層１０４と、を含むニューラルネットワーク２００を示している。さらに、様々な実施形態に従うと、ニューラルネットワーク２００は、ニューロン２０６＿１〜２０６＿Ｐを含む挿入層２０２を含む。一例において、層１０２は、Ｍ個のニューロンを含み、層１０４は、Ｎ個のニューロンを含み、層２０２は、Ｐ個のニューロンを含み、ここで、Ｐは、以下の式（１）に従って選択され得る：
【数１】
2018116689.tif 000003
【００２２】
例えば、Ｍ＝１０２４であり、Ｎ＝６４である場合、Ｐは、６０以下の値であり得る。一例において、Ｐ＝５９である場合、層２０２が挿入されると、層１０２と層１０４との間の結合の数は、１０２４＊５９＋５９＊６４＝６４１９２である。したがって、この例において、結合の数は、６５５３６から６４１９２へと低減されている。さらに、所望の性能レベル（例えば精度）が維持されるのであれば、ニューロン数Ｐは、性能をさらに高めるように調整され得る（例えば、低減され得る）。例えば、Ｐは、４０に設定されてよく、これは、結合の数を４３５２０へとさらに低減させる。
【００２３】
いくつかの実施形態において、ある層の１つ以上のニューロン（例えば、挿入層２０２のニューロン２０６）及び関連付けられたシナプスは、１つ以上のセグメントに分割され得る。例えば、各セグメントは、１つ以上のニューロンと、セグメント内の該１つ以上のニューロンを、別の層内の１つ以上のニューロンと結合する１つ以上のシナプスと、を含み得る。様々な実施形態に従うと、各セグメントは、（例えば、１つの入力又は入力のセットを所与としてニューロンの出力を規定している）ニューロン活性化方法、（例えば、シナプスについての値及び／又はシナプスについての値の分布を規定している）重み初期化方法、（例えば、不活性である（例えば、演算に関与しない）ニューロンの割合を規定している、）不活性ニューロンの割合、（例えば、初期化後に１つ以上のシナプスが更新され得ないシナプスの割合を規定している、）固定重みシナプスの割合、（例えば、不活性である（例えば、演算に関与しない）シナプスの割合を規定している、）不活性シナプスの割合等といった１つ以上の可変の特性を有することができる。不活性ニューロン及び／又は不活性シナプスは、ランダムに選択され得ることに留意されたい。様々な実施形態に従うと、以下でより詳細に説明されるように、ニューラルネットワークは、１つ以上のセグメント依存特性及び／又は１つ以上のセグメント非依存特性を含み得る。
【００２４】
例えば、ニューラルネットワーク２００のニューロン２０６＿１及びニューロン２０６＿２は、１つのセグメントに含まれ得、したがって、ニューロン２０６＿１及びニューロン２０６＿２の各々と、ニューロン２０６＿１又はニューロン２０６＿２のいずれかを別のニューロンと結合するシナプスの各々と、は、１つ以上の規定された特性を有することができる。より詳細には、ニューロン２０６＿１及びニューロン２０６＿２があるセグメントに含まれる例において、ニューロン２０６＿１及びニューロン２０６＿２の各々は、同じ規定されたニューロン特性を有することができ、ニューロン２０６＿１又はニューロン２０６＿２のいずれかを、別の層内の別のニューロンと結合するシナプス２０８の各々は、同じ規定されたシナプス特性を有することができる。ニューラルネットワーク内のニューロン及び／又はシナプスにおける可変の特性は、（例えば、極小にて捕捉される可能性を低減させることによって）高められた性能を提供することができる。
【００２５】
図３は、ニューロン１０６を含む層１０２を含むニューラルネットワーク２５０を示している。さらに、図１に示されるニューラルネットワーク１００とは異なり、ニューラルネットワーク２５０は、Ｎ個のニューロンを含む層１０４ではなく、層２５４を含む。本明細書において「置換層」とも呼ばれることがある層２５４は、ニューロン２５８を含む。一例において、層２５４は、Ｘ個のニューロンを含み、ここで、Ｘ＜Ｎである。したがって、例えば、ニューラルネットワーク１００の層１０４（図１参照）は、層２５４で置換されており、層２５４内のニューロン数は、層１０４内のニューロン数より少ない。
【００２６】
図４は、ニューロン１０６＿１〜１０６＿Ｍを含む層１０２と、ニューロン２０６＿１〜２０６＿Ｐを含む挿入層２０２と、を含むニューラルネットワーク３００を示している。さらに、図２に示されるニューラルネットワーク２００とは異なり、ニューラルネットワーク３００は、Ｎ個のニューロンを含む層１０４ではなく、層３０９を含む。層３０９は、ニューロン３１０＿１〜３１０＿Ｙを含む。一例において、層３０９は、Ｙ個のニューロンを含み、ここで、Ｙ＜Ｎである。
【００２７】
さらに、１つ以上のニューロンの特性及び／又は１つ以上のシナプスの特性を含め、ニューラルネットワーク３００の特性が規定され得る。ニューラルネットワークの特性は、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合を含み得るが、これらに限定されるものではない。さらに、１つ以上の特性は、セグメント依存特性として規定され得、１つ以上の特性は、セグメント非依存特性として規定され得る。
【００２８】
例えば、層２０２の１つのセグメントは、ニューロン２０６＿１及び２０６＿２を含み得、層２０２の別のセグメントは、ニューロン２０６＿Ｐ−１及び２０６＿Ｐを含み得る。したがって、この例において、ニューロン２０６＿１及び２０６＿２並びに関連付けられたシナプス３０４及び３０８は、１つ以上の規定されたセグメント依存特性を有することができる。さらに、ニューロン２０６＿Ｐ−１及び２０６＿Ｐ並びに関連付けられたシナプス３０２及び３０６は、１つ以上のセグメント依存特性を有することができる。ニューラルネットワーク３００はまた、１つ以上のセグメント非依存特性を含み得る。
【００２９】
図５は、本開示の少なくとも１つの実施形態に従った、ニューラルネットワークに層を挿入する例示的な方法４００のフローチャートである。方法４００は、任意の適切なシステム、装置、又はデバイスにより実行され得る。例えば、図９のデバイス又はそのコンポーネントのうちの１つ以上が、方法４００に関連付けられた動作のうちの１つ以上を実行し得る。これらの実施形態及び他の実施形態において、コンピュータ読み取り可能な媒体に記憶されているプログラム命令が、方法４００の動作のうちの１つ以上を実行するために実行され得る。
【００３０】
ブロック４０２において、挿入層が、ニューラルネットワークに追加され得、方法４００は、ブロック４０４に進み得る。例えば、挿入層（例えば、挿入層２０２；図２参照）が、ニューラルネットワーク２００の層１０２と層１０４との間に配置され、層１０２及び層１０４に結合され得る。さらに、挿入層は、層（例えば、層１０２及び層１０４）の間に、これらの２つの層の間の結合の数を低減させるように追加され得る。
【００３１】
ブロック４０４において、挿入層内のニューロン数が選択され得、方法４００は、ブロック４０６に進み得る。挿入層についてのニューロン数は、前に隣接していた層の間の結合の数が低減されるように、選択され得る。より具体的には、例えば、図２を参照すると、層１０２が、Ｍ個のニューロンを有し、層１０４が、Ｎ個のニューロンを有する場合、挿入層内のニューロン数Ｐは、
【数２】
2018116689.tif 000004
であるように選択され得る。例えば、ニューラルネットワークに層を挿入する例示的なシナリオを示すフローチャート５００である図６を参照すると、ブロック５０４において、挿入層のニューロン数Ｐは、１０に設定され得る。
【００３２】
図５を再度参照すると、ブロック４０６において、挿入層についての１つ以上のセグメント依存特性が選択され得、方法４００は、ブロック４０８に進み得る。例えば、「ニューロン活性化方法」、「不活性ニューロンの割合」、「重み初期化方法」、「固定重みシナプスの割合」、及び「不活性シナプスの割合」のうちの１つ以上が、セグメント依存特性として選択され得る。より具体的な例として、図６を再度参照すると、ブロック５０６において、「不活性ニューロンの割合」特性が、セグメント依存特性として選択され得る。
【００３３】
図５を再度参照すると、ブロック４０８において、挿入層についての１つ以上のセグメント非依存特性が、選択され、ある値に設定され得、方法４００は、ブロック４１０に進み得る。例えば、「ニューロン活性化方法」、「不活性ニューロンの割合」、「重み初期化方法」、「固定重みシナプスの割合」、及び「不活性シナプスの割合」のうちの１つ以上が、セグメント非依存特性として選択され、ある値に設定され得る。より具体的な例として、図６を再度参照すると、ブロック５０８において、「ニューロン活性化方法」特性、「重み初期化方法」特性、「固定重みシナプスの割合」特性、及び「不活性シナプスの割合」特性が、セグメント非依存特性として選択され得、各セグメント非依存特性が、０％値に設定され得る。
【００３４】
図５を再度参照すると、ブロック４１０において、挿入層についての選択された１つ以上のセグメント依存特性が、初期設定に設定され得、方法４００は、ブロック４１２に進み得る。例えば、図６を再度参照すると、ブロック５１０＿１＿１において、「不活性ニューロンの割合」特性が、０％に設定され得る。
【００３５】
図５を再度参照すると、ブロック４１２において、挿入層を含むニューラルネットワークのシミュレーションが実行され得、性能レベルが、決定されて記録され得、方法４００は、ブロック４１４に進み得る。例えば、図６を再度参照すると、ブロック５１２＿１＿１において、シミュレーションが実行され得、ニューラルネットワークの性能レベル（例えば精度）が、決定されて記録され得る。
【００３６】
図５を再度参照すると、ブロック４１４において、挿入層についての選択された１つ以上のセグメント依存特性の各設定がシミュレートされたかどうかが判定され得る。各設定がシミュレートされた場合、方法４００は、ブロック４１８に進み得る。挿入層についての選択された１つ以上のセグメント依存特性の各設定がシミュレートされていない場合、方法４００は、ブロック４１６に進み得る。
【００３７】
ブロック４１６において、挿入層についての選択された１つ以上のセグメント依存特性が、別の設定に設定され得る。例えば、図６を再度参照すると、ブロック５１０＿２＿１において、「不活性ニューロンの割合」特性が、１０％に設定され得る。
【００３８】
ブロック４１２、４１４、及び４１６における動作が、選択された１つ以上のセグメント依存特性の設定の各々について実行され得る。例えば、図６を再度参照すると、ブロック５１０＿１＿１〜５１０＿１１＿１の各々において、「不活性ニューロンの割合」特性設定が変更され得（例えば、１０％の増分ずつ１００％まで増大され得）、ブロック５１２＿１＿１〜５１２＿１１＿１の各々において、シミュレーションが実行され得、ニューラルネットワークの性能レベル（例えば精度）が、関連付けられた設定について、決定されて記録され得る。各設定がシミュレートされた後、方法５００は、ブロック５１８に進み得る。
【００３９】
図５を再度参照すると、ブロック４１８において、最良の決定された性能レベルが、挿入層を含まないニューラルネットワークの性能レベルの閾値内にあるかどうかが判定され得る。例えば、挿入層を含むニューラルネットワークについての最良の決定された精度が、例えば、挿入層を含まないニューラルネットワークの精度よりも良いかどうか又は挿入層を含まないニューラルネットワークの精度のあるパーセンテージ（例えば、１％、５％、７％）内にあるかどうかが判定され得る。最良の決定された性能レベルが、挿入層を含まないニューラルネットワークの性能レベルの閾値内にない場合、方法４００は終了し得る。最良の決定された性能レベルが、挿入層を含まないニューラルネットワークの性能レベルの閾値内にある場合、方法４００は、ブロック４２０に進み得る。
【００４０】
ブロック４２０において、挿入層内のニューロン数Ｐが低減され得、方法４００は、ブロック４２２に進み得る。例に過ぎないが、挿入層内のニューロン数Ｐは、１、５、１０、又は任意の他の整数だけ低減され得る。より具体的な例として、図６を再度参照すると、ブロック５１８において、最良の決定された性能レベルが、挿入層を含まないニューラルネットワークの性能レベルの閾値内にある場合、挿入層内のニューロン数Ｐは、９に設定され得る。
【００４１】
図５を再度参照すると、ブロック４２２において、挿入層内のニューロン数Ｐが、閾値以下であるかどうかが判定され得る。例えば、挿入層内のニューロン数Ｐが、０以下であるかどうかが判定され得る。挿入層内のニューロン数Ｐが、閾値以下である場合、方法４００は終了し得る。挿入層内のニューロン数Ｐが、閾値より大きい場合、方法４００は、ブロック４１０に戻り得、挿入層についての選択された１つ以上のセグメント依存特性が、初期設定に設定され得る。例えば、図６を再度参照すると、ブロック５１０＿１＿２において、「不活性ニューロンの割合」特性が、０％に設定され得る。
【００４２】
上述したように、ブロック４１２、４１４、及び４１６における動作が、選択された１つ以上のセグメント依存特性の設定の各々について実行され得る。例えば、図６を再度参照すると、ブロック５１０＿１＿２〜５１０＿１１＿２の各々において、「不活性ニューロンの割合」特性設定が変更され得（例えば、１０％の増分ずつ１００％まで増大され得）、ブロック５１２＿１＿２〜５１２＿１１＿２の各々において、シミュレーションが実行され得、ニューラルネットワークの性能レベルが、関連付けられた設定について、決定されて記録され得る。
【００４３】
さらに、図５に示されるブロック４１０、４１２、４１４、４１６、４１８、４２０、及び４２２における動作が、挿入層内の各可能なニューロン数Ｐについて、繰り返され得る。したがって、方法４００は、挿入層内の最適なニューロン数Ｐの決定に加えて、１つ以上のセグメント依存特性の最適な設定の決定を提供することができる。
【００４４】
本開示の範囲から逸脱することなく、方法４００に対して、変更、追加、又は省略が可能である。例えば、方法４００の動作は、異なる順番で実施されることもある。さらに、説明された動作及びアクションは、例として提供されているに過ぎず、動作及びアクションのうちの一部は、開示されている実施形態の本質を損なうことなく、任意的であることもあるし、より少ない動作及びアクションに組み合わされることもあるし、追加の動作及びアクションに拡張されることもある。
【００４５】
図７は、本開示の少なくとも１つの実施形態に従った、ニューラルネットワーク内の層を置換する例示的な方法６００のフローチャートである。方法６００は、任意の適切なシステム、装置、又はデバイスにより実行され得る。例えば、図９のデバイス又はそのコンポーネントのうちの１つ以上が、方法６００に関連付けられた動作のうちの１つ以上を実行し得る。これらの実施形態及び他の実施形態において、コンピュータ読み取り可能な媒体に記憶されているプログラム命令が、方法６００の動作のうちの１つ以上を実行するために実行され得る。
【００４６】
ブロック６０２において、置換層が、ニューラルネットワークに追加され得、方法６００は、ブロック６０４に進み得る。例えば、置換層（例えば、置換層３０９；図４参照）が、ニューラルネットワーク２００（図２参照）のある層（例えば、層１０４；図２参照）を置換し得る。
【００４７】
ブロック６０４において、置換層内のニューロン数が選択され得、方法６００は、ブロック６０６に進み得る。置換層についてのニューロン数は、結合の数が低減されるように、選択され得る。より具体的には、例えば、図１及び図３を参照すると、層１０４が、Ｎ個のニューロンを有する場合、置換層２５４内のニューロン数Ｙは、Ｙ＜Ｎであるように選択され得る。例えば、ニューラルネットワーク内の層を置換する例示的なシナリオを示すフローチャート７００である図８を参照すると、ブロック７０４において、置換層内のニューロン数Ｙは、５０に設定され得る。
【００４８】
図７を再度参照すると、ブロック６０６において、置換層についての１つ以上のセグメント依存特性が選択され得、方法６００は、ブロック６０８に進み得る。例えば、「ニューロン活性化方法」、「不活性ニューロンの割合」、「重み初期化方法」、「固定重みシナプスの割合」、及び「不活性シナプスの割合」のうちの１つ以上が、セグメント依存特性として選択され得る。より具体的な例として、図８を再度参照すると、ブロック７０６において、「不活性ニューロンの割合」特性が、セグメント依存特性として選択され得る。
【００４９】
図７を再度参照すると、ブロック６０８において、置換層についての１つ以上のセグメント非依存特性が、選択され、ある値に設定され得、方法６００は、ブロック６１０に進み得る。例えば、「ニューロン活性化方法」、「不活性ニューロンの割合」、「重み初期化方法」、「固定重みシナプスの割合」、及び「不活性シナプスの割合」のうちの１つ以上が、セグメント非依存特性として選択され、ある値に設定され得る。より具体的な例として、図８を再度参照すると、ブロック７０８において、「ニューロン活性化方法」特性、「重み初期化方法」特性、「固定重みシナプスの割合」特性、及び「不活性シナプスの割合」特性が、セグメント非依存特性として選択され得、各セグメント非依存特性が、０％値に設定され得る。
【００５０】
図７を再度参照すると、ブロック６１０において、置換層についての選択された１つ以上のセグメント依存特性が、初期設定に設定され得、方法６００は、ブロック６１２に進み得る。例えば、図８を再度参照すると、ブロック７１０＿１＿１において、「不活性ニューロンの割合」特性が、０％に設定され得る。
【００５１】
図７を再度参照すると、ブロック６１２において、置換層を含むニューラルネットワークのシミュレーションが実行され得、性能レベルが、決定されて記録され得、方法６００は、ブロック６１４に進み得る。例えば、図８を再度参照すると、ブロック７１２＿１＿１において、シミュレーションが実行され得、ニューラルネットワークの性能レベル（例えば精度）が、決定されて記録され得る。
【００５２】
図７を再度参照すると、ブロック６１４において、置換層についての選択された１つ以上のセグメント依存特性の各設定がシミュレートされたかどうかが判定され得る。各設定がシミュレートされた場合、方法６００は、ブロック６１８に進み得る。置換層についての選択された１つ以上のセグメント依存特性の各設定がシミュレートされていない場合、方法６００は、ブロック６１６に進み得る。
【００５３】
ブロック６１６において、置換層についての選択された１つ以上のセグメント依存特性が、別の設定に設定され得る。例えば、図８を再度参照すると、ブロック７１０＿２＿１において、「不活性ニューロンの割合」特性が、１０％に設定され得る。
【００５４】
ブロック６１２、６１４、及び６１６における動作が、選択された１つ以上のセグメント依存特性の設定の各々について実行され得る。例えば、図８を再度参照すると、ブロック７１０＿１＿１〜７１０＿１１＿１の各々において、「不活性ニューロンの割合」特性設定が変更され得（例えば、１０％の増分ずつ１００％まで増大され得）、ブロック７１２＿１＿１〜７１２＿１１＿１の各々において、シミュレーションが実行され得、ニューラルネットワークの性能レベル（例えば精度）が、関連付けられた設定について、決定されて記録され得る。各設定がシミュレートされた後、方法７００は、ブロック７１８に進み得る。
【００５５】
図７を再度参照すると、ブロック６１８において、最良の決定された性能レベルが、元々の層（例えば、層１０４；図２参照）を含み置換層（例えば、層３０９；図４参照）を含まないニューラルネットワークの性能レベルの閾値内にあるかどうかが判定され得る。例えば、置換層を含むニューラルネットワークについての最良の決定された精度が、例えば、置換層を含まないニューラルネットワークの精度よりも良いかどうか又は置換層を含まないニューラルネットワークの精度のあるパーセンテージ（例えば、１％、５％、７％）内にあるかどうかが判定され得る。最良の決定された性能レベルが、置換層を含まないニューラルネットワークの性能レベルの閾値内にない場合、方法４００は終了し得る。最良の決定された性能レベルが、置換層を含まないニューラルネットワークの性能レベルの閾値内にある場合、方法６００は、ブロック６２０に進み得る。
【００５６】
ブロック６２０において、置換層内のニューロン数Ｙが低減され得、方法６００は、ブロック６２２に進み得る。例に過ぎないが、置換層内のニューロン数Ｙは、１、５、１０、又は任意の他の整数だけ低減され得る。より具体的な例として、図８を再度参照すると、ブロック７１８において、最良の決定された性能レベルが、置換層を含まないニューラルネットワークの性能レベルの閾値内にある場合、置換層内のニューロン数Ｙは、４５に設定され得る。
【００５７】
図７を再度参照すると、ブロック６２２において、置換層内のニューロン数Ｙが、閾値以下であるかどうかが判定され得る。例えば、置換層内のニューロン数Ｙが、０以下であるかどうかが判定され得る。置換層内のニューロン数Ｙが、閾値以下である場合、方法６００は終了し得る。置換層内のニューロン数Ｙが、閾値より大きい場合、方法６００は、ブロック６１０に戻り得、置換層についての選択された１つ以上のセグメント依存特性が、初期設定に設定され得る。例えば、図８を再度参照すると、ブロック７１０＿１＿２において、「不活性ニューロンの割合」特性が、０％に設定され得る。
【００５８】
上述したように、ブロック６１２、６１４、及び６１６における動作が、選択された１つ以上のセグメント依存特性の設定の各々について実行され得る。例えば、図８を再度参照すると、ブロック７１０＿１＿２〜７１０＿１１＿２の各々において、「不活性ニューロンの割合」特性設定が変更され得（例えば、１０％の増分ずつ１００％まで増大され得）、ブロック７１２＿１＿２〜７１２＿１１＿２の各々において、シミュレーションが実行され得、ニューラルネットワークの性能レベル（例えば精度）が、関連付けられた設定について、決定されて記録され得る。
【００５９】
さらに、ブロック６１０、６１２、６１４、６１６、６１８、６２０、及び６２２における動作が、置換層内の各可能なニューロン数Ｙについて、繰り返され得る。したがって、方法６００は、置換層内の最適なニューロン数Ｙの決定に加えて、１つ以上のセグメント依存特性の最適な設定の決定を提供することができる。
【００６０】
本開示の範囲から逸脱することなく、方法６００に対して、変更、追加、又は省略が可能である。例えば、方法６００の動作は、異なる順番で実施されることもある。さらに、説明された動作及びアクションは、例として提供されているに過ぎず、動作及びアクションのうちの一部は、開示されている実施形態の本質を損なうことなく、任意的であることもあるし、より少ない動作及びアクションに組み合わされることもあるし、追加の動作及びアクションに拡張されることもある。
【００６１】
図９は、本開示の少なくとも１つの実施形態に従った例示的なコンピューティングデバイス８００のブロック図である。コンピューティングデバイス８００は、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、タブレットコンピュータ、携帯電話機、スマートフォン、携帯情報端末（ＰＤＡ）、電子リーダデバイス、ネットワークスイッチ、ネットワークルータ、ネットワークハブ、他のネットワーキングデバイス、又は他の適切なコンピューティングデバイスを含み得る。
【００６２】
コンピューティングデバイス８００は、プロセッサ８１０、記憶デバイス８２０、メモリ８３０、及び通信デバイス８４０を含み得る。プロセッサ８１０、記憶デバイス８２０、メモリ８３０、及び／又は通信デバイス８４０は全て、これらのコンポーネントの各々が他のコンポーネントと通信できるように、通信可能に接続され得る。コンピューティングデバイス８００は、本開示において説明された動作のうちのいずれも実行することができる。
【００６３】
概して、プロセッサ８１０は、様々なコンピュータハードウェア又はソフトウェアモジュールを含む任意の適切な専用の又は汎用のコンピュータ、コンピューティングエンティティ、又は処理デバイスを含み得、任意の適用可能なコンピュータ読み取り可能な記憶媒体に記憶されている命令を実行するよう構成され得る。例えば、プロセッサ８１０は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は、プログラム命令を解釈及び／又は実行し、且つ／又はデータを処理するよう構成されている任意の他のデジタル回路若しくはアナログ回路を含み得る。図９において単一のプロセッサとして図示されているが、プロセッサ８１０は、本開示において説明された任意の数の動作を個々に又は集合的に実行するよう構成されている任意の数のプロセッサを含んでもよい。
【００６４】
いくつかの実施形態において、プロセッサ８１０は、記憶デバイス８２０、メモリ８３０、又は記憶デバイス８２０及びメモリ８３０の両方に記憶されているプログラム命令を解釈及び／又は実行することができる、且つ／又は、記憶デバイス８２０、メモリ８３０、又は記憶デバイス８２０及びメモリ８３０の両方に記憶されているデータを処理することができる。いくつかの実施形態において、プロセッサ８１０は、記憶デバイス８２０からプログラム命令をフェッチして、プログラム命令をメモリ８３０にロードすることができる。プログラム命令がメモリ８３０にロードされた後、プロセッサ８１０は、プログラム命令を実行することができる。
【００６５】
例えば、いくつかの実施形態において、ニューラルネットワーク内に挿入層及び／又は置換層を生成するための処理動作のうちの１つ以上は、プログラム命令として、データストレージ８２０に含まれ得る。プロセッサ８１０は、処理動作のうちの１つ以上のプログラム命令をフェッチして、処理動作のうちの１つ以上のプログラム命令をメモリ８３０にロードすることができる。処理動作のうちの１つ以上のプログラム命令がメモリ８３０にロードされた後、プロセッサ８１０は、コンピューティングデバイス８００が、プログラム命令により指示されるように処理動作に関連付けられた動作を実施できるように、プログラム命令を実行することができる。
【００６６】
記憶デバイス８２０及びメモリ８３０は、コンピュータ実行可能な命令又はデータ構造を運ぶ又は記憶するコンピュータ読み取り可能な記憶媒体を含み得る。そのようなコンピュータ読み取り可能な記憶媒体は、プロセッサ８１０等の汎用の又は専用のコンピュータによりアクセスされ得る任意の利用可能な媒体を含み得る。限定ではなく例として、そのようなコンピュータ読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、ソリッドステートメモリデバイス）、又は、コンピュータ実行可能な命令又はデータ構造の形で所望のプログラムコードを運ぶ又は記憶するために使用され得る任意の他の記憶媒体であって、汎用の又は専用のコンピュータによりアクセスされ得る任意の他の記憶媒体を含む、有形の又は非一時的なコンピュータ読み取り可能な記憶媒体を含み得る。これらの組合せも、コンピュータ読み取り可能な記憶媒体の範囲に含まれ得る。コンピュータ実行可能な命令は、例えば、所定の動作又は動作群をプロセッサ８１０に実行させるよう構成されている命令及びデータを含み得る。
【００６７】
いくつかの実施形態において、記憶デバイス８２０及び／又はメモリ８３０は、ニューラルネットワークを生成すること、より詳細には、ニューラルネットワークについての挿入層及び／又は置換層を生成することに関連するデータを記憶することができる。例えば、記憶デバイス８２０及び／又はメモリ８３０は、特性設定（例えば、セグメント依存特性設定及び／又はセグメント非依存特性設定）、シミュレーション結果、挿入層及び／又は置換層内のニューロン数に関連するデータ等を記憶することができる。
【００６８】
通信デバイス８４０は、コンピューティングデバイス８００と別の電子デバイスとの間の通信を可能にする又は円滑にするよう構成されている任意のデバイス、システム、コンポーネント、又はコンポーネントの集合を含み得る。例えば、通信デバイス８４０は、モデム、ネットワークカード（無線又は有線）、赤外線通信デバイス、光通信デバイス、無線通信デバイス（アンテナ等）、及び／若しくはチップセット（Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイス、８０２．６デバイス（例えば、メトロポリタンエリアネットワーク（ＭＡＮ））、Ｗｉ−Ｆｉ（登録商標）デバイス、ＷｉＭＡＸ（登録商標）デバイス、セルラ通信設備等）、並びに／又は同様のデバイスを含み得るが、これらに限定されるものではない。通信デバイス８４０は、データが、ほんの少しの例を挙げるとセルラネットワーク、Ｗｉ−Ｆｉ（登録商標）ネットワーク、ＭＡＮ、光ネットワーク等といった任意のネットワーク、及び／又は、リモートデバイスを含む、本開示において説明された任意の他のデバイス、との間で交換されることを可能にし得る。
【００６９】
本開示の範囲から逸脱することなく、図９に対して、変更、追加、又は省略が可能である。例えば、コンピューティングデバイス８００は、本開示において図示及び説明された要素よりも多くの又は少ない要素を含んでもよい。例えば、コンピューティングデバイス８００は、タブレット又は携帯電話機のスクリーン等の統合されたディスプレイデバイスを含んでもよいし、コンピューティングデバイス８００から分離されコンピューティングデバイス８００に通信可能に接続され得る外部モニタ、プロジェクタ、テレビジョン、又は他の適切なディスプレイデバイスを含んでもよい。
【００７０】
本開示において使用される場合、「モジュール」又は「コンポーネント」という用語は、モジュール又はコンポーネントのアクションを実行するよう構成されている特定のハードウェア実装、及び／又は、コンピューティングシステムの汎用ハードウェア（例えば、コンピュータ読み取り可能な媒体等）に記憶され得る且つ／又はコンピューティングシステムの汎用ハードウェア（例えば、処理デバイス等）により実行され得るソフトウェアオブジェクト又はソフトウェアルーチン、を指し得る。いくつかの実施形態において、本開示において説明された異なるコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステム上で実行されるオブジェクト又はプロセスとして（例えば、別個のスレッドとして）実装され得る。本開示において説明されたシステム及び方法のうちの一部は、（汎用ハードウェアに記憶される且つ／又は汎用ハードウェアにより実行される）ソフトウェアにより実装されるとして一般に説明されるが、特定のハードウェア実装又はソフトウェアと特定のハードウェア実装との組合せも可能であり企図されている。本開示において、「コンピューティングエンティティ」は、本開示において前に定義された任意のコンピューティングシステム、又は、コンピューティングシステム上で動作する任意のモジュール又はモジュールの組合せであり得る。
【００７１】
本開示及び特に請求項（例えば、請求項の本体部分）において使用される用語は、一般に、「オープンな」用語であるとして意図される（例えば、「〜を備える」という用語は、「〜を備えるが、〜に限定されるものではない」として解釈されるべきであり、「〜を有する」という用語は、「少なくとも〜を有する」として解釈されるべきであり、「〜を含む」という用語は、「〜を含むが、〜に限定されるものではない」として解釈されるべきである、等）。
【００７２】
さらに、導入される請求項記載事項の特定の数が意図される場合、そのような意図は、当該請求項中に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解の助けとして、請求項中に、請求項記載事項を導入するための「少なくとも１つの」及び「１つ以上の」といった導入句の使用が含まれることがある。しかしながら、このような導入句の使用は、「a」又は「an」といった不定冠詞による請求項記載事項の導入が、同一の請求項中に「１つ以上の」又は「少なくとも１つの」といった導入句と「a」又は「an」といった不定冠詞とが含まれるとしても、当該導入された請求項記載事項を含む特定の請求項が、当該請求項記載事項を１つしか含まない実施形態に限定されることを意味するとして解釈されるべきではない（例えば、「a」及び／又は「an」は、「少なくとも１つの」又は「１つ以上の」を意味するとして解釈されるべきである）。請求項記載事項を導入するために使用される定冠詞の使用についても同じことが当てはまる。
【００７３】
さらに、導入される請求項記載事項の特定の数が明示的に記載されている場合であっても、そのような記載は、少なくとも記載されている数を意味するとして解釈されるべきであることが、当業者には認識されよう（例えば、他の修飾語のない「２つの記載事項」という単なる記載は、少なくとも２つの記載事項又は２つ以上の記載事項を意味する）。さらに、「Ａ、Ｂ、及びＣ等のうちの少なくとも１つ」又は「Ａ、Ｂ、及びＣ等のうちの１つ以上」に類する表記が使用される場合、一般に、そのような構造は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢの両方、Ａ及びＣの両方、Ｂ及びＣの両方、又は、Ａ、Ｂ、及びＣの全て、等を含むことが意図される。
【００７４】
さらに、２つ以上の選択可能な用語を表すいかなる離接語又は離接句も、明細書、特許請求の範囲、又は図面のいずれであろうと、それら用語のうちの１つ、それらの用語の組合せ、又は、それらの用語の全てを含む可能性を意図するとして理解されるべきである。例えば、「Ａ又はＢ」という句は、「Ａ」若しくは「Ｂ」又は「Ａ及びＢ」の可能性を含むとして理解されるべきである。
【００７５】
本開示において記載された全ての例及び条件付き文言は、当該技術を促進させるために本発明者によって寄与されるコンセプト及び本発明を読者が理解するのを助ける教育上の目的のために意図され、そのような具体的に記載された例及び条件に限定されるものではないとして解釈されるべきである。本開示の実施形態が詳細に説明されたが、それら実施形態に対する様々な変形、置換、及び変更が、本開示の主旨及び範囲から逸脱することなく可能である。
【００７６】
以上の実施形態に関し、さらに以下の付記を開示する。
【００７７】
（付記１）
ニューラルネットワークを変更する方法であって、
ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数は、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ない、選択することと、
前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つを行うことと、
を含む、方法。
【００７８】
（付記２）
前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント依存特性を選択すること
をさらに含む、付記１に記載の方法。
【００７９】
（付記３）
前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント依存特性を選択することは、前記少なくとも１つのセグメント依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択することを含む、付記２に記載の方法。
【００８０】
（付記４）
前記層の性能を高めるように、前記の選択された少なくとも１つのセグメント依存特性を、複数の設定のうちの１つの設定に設定すること
をさらに含む、付記２に記載の方法。
【００８１】
（付記５）
前記層についてのセグメント非依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択すること
をさらに含む、付記１に記載の方法。
【００８２】
（付記６）
層についてニューロン数を選択することは、閾性能レベルよりも高い性能レベルを維持しながら前記層の効率を最適化するように、前記層について、複数のニューロン数のうちの１つのニューロン数を選択することを含む、付記１に記載の方法。
【００８３】
（付記７）
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、ニューロン数Ｍを有する前記第１の層とニューロン数Ｎを有する前記第２の層との間に、ニューロン数Ｐを有する前記層を挿入することを含み、前記ニューロン数Ｐは、
【数３】
2018116689.tif 000005
に従って計算される、付記１に記載の方法。
【００８４】
（付記８）
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、前記第１の層及び前記第２の層のうちの１つの層を、前記第１の層及び前記第２の層のうちの置換される該１つの層のニューロン数よりも少ないニューロン数を有する前記層で置換することを含む、付記１に記載の方法。
【００８５】
（付記９）
命令を含む１つ以上の非一時的なコンピュータ読み取り可能な媒体であって、前記命令が、１つ以上のプロセッサにより実行されたときに、前記命令は、前記１つ以上のプロセッサに動作を実行させるよう構成されており、前記動作は、
ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数は、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ない、選択することと、
前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つを行うことと、
を含む、１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００８６】
（付記１０）
前記動作は、
少なくとも１つのセグメント依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択すること
をさらに含む、付記９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００８７】
（付記１１）
前記動作は、
前記層の性能を高めるように、前記少なくとも１つのセグメント依存特性を、複数の設定のうちの１つの設定に設定すること
をさらに含む、付記１０に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００８８】
（付記１２）
層についてニューロン数を選択することは、閾性能レベルよりも高い性能レベルを維持しながら前記層の効率を最適化するように、前記層について、複数のニューロン数のうちの１つのニューロン数を選択することを含む、付記９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００８９】
（付記１３）
前記動作は、
少なくとも１つのセグメント非依存特性として、ニューロン活性化方法、不活性ニューロンの割合、重み初期化方法、固定重みシナプスの割合、及び不活性シナプスの割合のうちの少なくとも１つを選択すること
をさらに含む、付記９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００９０】
（付記１４）
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、ニューロン数Ｍを有する前記第１の層とニューロン数Ｎを有する前記第２の層との間に、ニューロン数Ｐを有する前記層を挿入することを含み、前記ニューロン数Ｐは、
【数４】
2018116689.tif 000006
に従って計算される、付記９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００９１】
（付記１５）
前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を置換すること、のうちの少なくとも１つを行うことは、前記第１の層及び前記第２の層のうちの１つの層を、前記第１の層及び前記第２の層のうちの置換される該１つの層のニューロン数よりも少ないニューロン数を有する前記層で置換することを含む、付記９に記載の１つ以上の非一時的なコンピュータ読み取り可能な媒体。
【００９２】
（付記１６）
システムであって、
ニューラルネットワークの層についてニューロン数を選択することであって、前記層内の前記ニューロン数は、前記ニューラルネットワークの第１の層内のニューロン数及び前記ニューラルネットワークの隣接する第２の層内のニューロン数のうちの少なくとも１つよりも少ない、選択することと、
前記ニューラルネットワーク内の結合の数を低減させるように、前記ニューラルネットワークの前記第１の層と前記第２の層との間に前記層を挿入すること、及び、前記第１の層及び前記第２の層のうちの１つの層を前記層で置換すること、のうちの少なくとも１つを行うことと、
を行うよう構成されている１つ以上のプロセッサ
を有する、システム。
【００９３】
（付記１７）
前記１つ以上のプロセッサは、さらに、前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント依存特性を選択することを行うよう構成されている、付記１６に記載のシステム。
【００９４】
（付記１８）
前記１つ以上のプロセッサは、さらに、前記層の性能を高めるように、前記の選択された少なくとも１つのセグメント依存特性を、複数の設定のうちの１つの設定に設定することを行うよう構成されている、付記１７に記載のシステム。
【００９５】
（付記１９）
前記１つ以上のプロセッサは、さらに、閾性能レベルよりも高い性能レベルを維持しながら前記層の効率を最適化するように、前記層について、複数のニューロン数のうちの１つのニューロン数を選択することを行うよう構成されている、付記１６に記載のシステム。
【００９６】
（付記２０）
前記１つ以上のプロセッサは、さらに、前記層の少なくとも１つの特定されたセグメントについての少なくとも１つのセグメント非依存特性を選択することを行うよう構成されている、付記１６に記載のシステム。
【符号の説明】
【００９７】
１００  ニューラルネットワーク
１０２  層
１０４  層
１０６  ニューロン
１０８  ニューロン
１１０  シナプス（結合）
２００  ニューラルネットワーク
２０２  挿入層
２０６＿１〜２０６＿Ｐ  ニューロン
２０８  シナプス（結合）
２５０  ニューラルネットワーク
２５４  置換層
２５８  ニューロン
３００  ニューラルネットワーク
３０９  置換層
１０６＿１〜１０６＿Ｍ  ニューロン
２０６＿１〜２０６＿Ｐ  ニューロン
３１０＿１〜３１０＿Ｙ  ニューロン
３０２  シナプス（結合）
３０４  シナプス（結合）
３０６  シナプス（結合）
３０８  シナプス（結合）
８００  コンピューティングデバイス
８１０  プロセッサ
８２０  記憶デバイス
８３０  メモリ
８４０  通信デバイス
【図１】
2018116689.tif 000009
【図２】
2018116689.tif 000010
【図３】
2018116689.tif 000011
【図４】
2018116689.tif 000012
【図５】
2018116689.tif 000013
【図６】
2018116689.tif 000014
【図７】
2018116689.tif 000015
【図８】
2018116689.tif 000016
【図９】
2018116689.tif 000017