[0025]添付の図面に関して以下に記載される発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明される概念が実施され得る構成のみを表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素がブロック図の形式で示される。
[0026]これらの教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、記載された態様をいくつ使用しても、装置は実装され得るか、または方法は実施され得る。さらに、本開示の範囲は、記載された本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。開示される本開示のいずれの態様も、請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0027]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明されるいかなる態様も、必ずしも他の態様よりも好適または有利であると解釈されるべきであるとは限らない。
[0028]本明細書では特定の態様が説明されるが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点が説明されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、それらのいくつかが、例として、図および好適な態様についての以下の説明において示される。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
[0029]従来のシステムでは、画像を変更または強調するためにフィルタが指定され得る。さらに、フィルタは、特定の要素が画像の一部分中に存在するかどうかを決定するために使用され得る。たとえば、フィルタは、水平線が画像の3×3ピクセル部分中に存在するかどうかを決定し得る。したがって、様々なタイプのフィルタを適用することによって、システムは、特定のオブジェクトが画像中に存在するかどうかを決定し得る。したがって、フィルタ処理は、画像を分類することを可能にするために使用され得る。
[0030]画像の線形フィルタ処理のために畳み込みが指定され得る。畳み込み出力は入力ピクセルの重み付き和である。重みの行列は、畳み込みカーネルまたはフィルタと呼ばれることがある。畳み込みは、線形化画像と線形化フィルタとの行列乗算によって取得され得る。
[0031]従来のシステムでは、画像は、画像のピクセルに基づいて分類され得る。さらに、いくつかの場合には、オブジェクトが画像中に存在することになるか、または画像中に存在する増加された確率を有するというアプリオリ(a priori)な知識があり得る。本開示の態様は、オブジェクトが画像中に存在することになるか、または画像中に存在する増加された確率を有するというアプリオリな知識に基づいて、オブジェクトを分類することに向かってネットワークをバイアスすることを対象とする。
[0032]図1に、本開示のいくつかの態様による、汎用プロセッサ(CPU)またはマルチコア汎用プロセッサ(CPU)102を含み得るシステムオンチップ(SOC)100を使用する、上述のネットワークバイアス(network biasing)の例示的な実装形態を示す。変数(たとえば、ニューラル信号およびシナプス荷重(synaptic weight))、計算デバイスに関連するシステムパラメータ(たとえば、重みをもつニューラルネットワーク)、遅延、周波数ビン情報、およびタスク情報が、ニューラル処理ユニット(NPU)108に関連するメモリブロックに記憶されるか、または専用メモリブロック118に記憶され得る。汎用プロセッサ102において実行される命令が、CPU102に関連するプログラムメモリからロードされ得るか、または専用メモリブロック118からロードされ得る。
[0033]SOC100はまた、グラフィックス処理ユニット(GPU)104、デジタル信号プロセッサ(DSP)106など、特定の機能に適合された追加の処理ブロックと、第4世代ロングタームエボリューション(4G LTE(登録商標))接続性、無認可Wi−Fi(登録商標)接続性、USB接続性、Bluetooth(登録商標)接続性などを含み得る接続性ブロック110と、たとえば、ジェスチャーを検出および認識し得るマルチメディアプロセッサ112とを含み得る。SOC100はまた、センサープロセッサ114、画像信号プロセッサ(ISP)、および/または全地球測位システムを含み得るナビゲーション120を含み得る。SOCはARM命令セットに基づき得る。
[0034]SOC100はまた、GPU104、DSP106など、特定の機能に適合された追加の処理ブロックと、第4世代ロングタームエボリューション(4G LTE)接続性、無認可Wi−Fi接続性、USB接続性、Bluetooth接続性などを含み得る接続性ブロック110と、たとえば、ジェスチャーを検出および認識し得るマルチメディアプロセッサ112とを含み得る。一実装形態では、NPUは、CPU、DSP、および/またはGPUにおいて実装される。SOC100はまた、センサープロセッサ114、画像信号プロセッサ(ISP)、および/または全地球測位システムを含み得るナビゲーション120を含み得る。
[0035]SOC100はARM命令セットに基づき得る。本開示の一態様では、汎用プロセッサ102にロードされる命令は、要素がネットワークへの入力中に存在する増加された確率を有するかどうかを決定するためのコードを備え得る。汎用プロセッサ102にロードされる命令はまた、要素に対する感度を増加させるようにネットワーク中のニューロンの活性化関数のバイアスを調節するためのコードを備え得る。一構成では、バイアスは、ネットワークの重みを調節することなしに調節される。汎用プロセッサ102にロードされる命令は、バイアスすることに基づいてネットワークの出力を調節するためのコードをさらに備え得る。
[0036]図2に、本開示のいくつかの態様による、システム200の例示的な実装形態を示す。図2に示されているように、システム200は、本明細書で説明される方法の様々な動作を実施し得る複数のローカル処理ユニット202を有し得る。各ローカル処理ユニット202は、ローカル状態メモリ204と、ニューラルネットワークのパラメータを記憶し得るローカルパラメータメモリ206とを備え得る。さらに、ローカル処理ユニット202は、ローカルモデルプログラムを記憶するためのローカル(ニューロン)モデルプログラム(LMP)メモリ208と、ローカル学習プログラムを記憶するためのローカル学習プログラム(LLP)メモリ210と、ローカル接続メモリ212とを有し得る。さらに、図2に示されているように、各ローカル処理ユニット202は、ローカル処理ユニットのローカルメモリのための構成を与えるための構成プロセッサユニット214、およびローカル処理ユニット202間のルーティングを与えるルーティング接続処理ユニット216とインターフェースし得る。
[0037]深層学習アーキテクチャは、各層において連続的により高い抽象レベルで入力を表現するように学習し、それにより、入力データの有用な特徴表現を蓄積することによって、オブジェクト認識タスクを実施し得る。このようにして、深層学習は、旧来の機械学習の主要なボトルネックに対処する。深層学習の出現より前に、オブジェクト認識問題に対する機械学習手法は、場合によっては浅い分類器(shallow classifier)と組み合わせて、人的に設計された特徴に大きく依拠していることがある。浅い分類器は、たとえば、入力がどのクラスに属するかを予測するために、特徴ベクトル成分の重み付き和がしきい値と比較され得る2クラス線形分類器であり得る。人的に設計された特徴は、領域の専門知識をもつ技術者によって特定の問題領域に適合されたテンプレートまたはカーネルであり得る。対照的に、深層学習アーキテクチャは、人間の技術者が設計し得るものと同様である特徴を表現するように学習するが、トレーニングを通してそれを行い得る。さらに、深層ネットワークは、人間が考慮していないことがある新しいタイプの特徴を表現し、認識するように学習し得る。
[0038]深層学習アーキテクチャは特徴の階層を学習し得る。たとえば、視覚データが提示された場合、第1の層は、エッジなど、入力ストリーム中の比較的単純な特徴を認識するように学習し得る。別の例では、聴覚データが提示された場合、第1の層は、特定の周波数におけるスペクトル電力を認識するように学習し得る。第1の層の出力を入力として取る第2の層は、視覚データの場合の単純な形状、または聴覚データの場合の音の組合せなど、特徴の組合せを認識するように学習し得る。たとえば、上位層は、視覚データ中の複雑な形状、または聴覚データ中の単語を表現するように学習し得る。さらに上位の層は、共通の視覚オブジェクトまたは発話フレーズを認識するように学習し得る。
[0039]深層学習アーキテクチャは、自然階層構造を有する問題に適用されたとき、特にうまく機能し得る。たとえば、原動機付き車両の分類は、ホイール、フロントガラス、および他の特徴を認識するための第1の学習から恩恵を受け得る。これらの特徴は、車、トラック、および飛行機を認識するために、異なる方法で、上位層において組み合わせられ得る。
[0040]ニューラルネットワークは、様々な結合性パターンを用いて設計され得る。フィードフォワードネットワークでは、情報が下位層から上位層に受け渡され、所与の層における各ニューロンは、上位層におけるニューロンに通信する。上記で説明されたように、フィードフォワードネットワークの連続する層において、階層表現が蓄積され得る。ニューラルネットワークはまた、リカレント(recurrent)または(トップダウンとも呼ばれる)フィードバック結合を有し得る。リカレント結合では、所与の層におけるニューロンからの出力は、同じ層における別のニューロンに通信され得る。リカレントアーキテクチャは、ニューラルネットワークに順次配信される入力データチャンクのうちの2つ以上にわたるパターンを認識するのに役立ち得る。所与の層におけるニューロンから下位層におけるニューロンへの結合は、フィードバック(またはトップダウン)結合と呼ばれる。高レベルの概念の認識が、入力の特定の低レベルの特徴を弁別することを助け得るとき、多くのフィードバック結合をもつネットワークが役立ち得る。
[0041]図3Aを参照すると、ニューラルネットワークの層間の結合は全結合302または局所結合304であり得る。全結合ネットワーク302では、第1の層におけるニューロンは、第2の層における各ニューロンが第1の層におけるあらゆるニューロンから入力を受信するように、それの出力を第2の層におけるあらゆるニューロンに通信し得る。代替的に、局所結合ネットワーク304では、第1の層におけるニューロンは、第2の層における限られた数のニューロンに結合され得る。畳み込みネットワーク306は、局所結合であり得、第2の層における各ニューロンのための入力に関連する結合強度が共有されるようにさらに構成される(たとえば、308)。より一般的には、ネットワークの局所結合層は、層における各ニューロンが同じまたは同様の結合性パターンを有するように構成されるが、異なる値を有し得る結合強度で構成され得る(たとえば、310、312、314、および316)。局所結合の結合性パターンは、所与の領域中の上位層ニューロンが、ネットワークへの総入力のうちの制限された部分のプロパティにトレーニングを通して調整された入力を受信し得るので、上位層において空間的に別個の受容野を生じ得る。
[0042]局所結合ニューラルネットワークは、入力の空間ロケーションが有意味(meaningful)である問題に好適であり得る。たとえば、車載カメラからの視覚特徴を認識するように設計されたネットワーク300は、画像の下側部分対上側部分とのそれらの関連付けに依存して、異なるプロパティをもつ上位層ニューロンを発達させ得る。画像の下側部分に関連するニューロンは、たとえば、車線区分線を認識するように学習し得るが、画像の上側部分に関連するニューロンは、交通信号、交通標識などを認識するように学習し得る。
[0043]DCNは、教師あり学習を用いてトレーニングされ得る。トレーニング中に、DCNは、速度制限標識のクロップされた画像など、画像326を提示され得、次いで、出力322を生成するために、「フォワードパス」が計算され得る。出力322は、「標識」、「60」、および「100」など、特徴に対応する値のベクトルであり得る。ネットワーク設計者は、DCNが、出力特徴ベクトルにおけるニューロンのうちのいくつか、たとえば、トレーニングされたネットワーク300のための出力322に示されているように「標識」および「60」に対応するニューロンについて、高いスコアを出力することを希望し得る。トレーニングの前に、DCNによって生成された出力は不正確である可能性があり、したがって、実際の出力とターゲット出力との間で誤差が計算され得る。次いで、DCNの重みは、DCNの出力スコアがターゲットとより密接に整合されるように調節され得る。
[0044]重みを調節するために、学習アルゴリズムは、重みのための勾配ベクトルを計算し得る。勾配は、重みがわずかに調節された場合に、誤差が増加または減少する量を示し得る。最上層において、勾配は、最後から2番目の層における活性化されたニューロンと出力層におけるニューロンとを結合する重みの値に直接対応し得る。下位層では、勾配は、重みの値と、上位層の計算された誤差勾配とに依存し得る。次いで、重みは、誤差を低減するように調節され得る。重みを調節するこの様式は、それがニューラルネットワークを通して「バックワードパス」を伴うので、「バックプロパゲーション」と呼ばれることがある。
[0045]実際には、重みの誤差勾配は、計算された勾配が真の誤差勾配を近似するように、少数の例にわたって計算され得る。この近似方法は、確率的勾配降下(stochastic gradient descent)と呼ばれることがある。システム全体の達成可能な誤差レートが減少しなくなるまで、または誤差レートがターゲットレベルに達するまで、確率的勾配降下が繰り返され得る。
[0046]学習の後に、DCNは新しい画像326を提示され得、ネットワークを通したフォワードパスは、DCNの推論または予測と見なされ得る出力322をもたらし得る。
[0047]深層信念ネットワーク(DBN:deep belief network)は、隠れノードの複数の層を備える確率モデルである。DBNは、トレーニングデータセットの階層表現を抽出するために使用され得る。DBNは、制限ボルツマンマシン(RBM:Restricted Boltzmann Machine)の層を積層することによって取得され得る。RBMは、入力のセットにわたる確率分布を学習することができる人工ニューラルネットワークのタイプである。RBMは、各入力がそれにカテゴリー分類されるべきクラスに関する情報の不在下で確率分布を学習することができるので、RBMは、教師なし学習においてしばしば使用される。ハイブリッド教師なしおよび教師ありパラダイムを使用して、DBNの下部RBMは、教師なし様式でトレーニングされ得、特徴抽出器として働き得、上部RBMは、(前の層からの入力とターゲットクラスとの同時分布上で)教師あり様式でトレーニングされ得、分類器として働き得る。
[0048]深層畳み込みネットワーク(DCN)は、追加のプーリング(pooling)層および正規化(normalization)層で構成された、畳み込みネットワークのネットワークである。DCNは、多くのタスクに関して最先端の性能を達成している。DCNは、入力と出力ターゲットの両方が、多くの標本について知られており、勾配降下方法の使用によってネットワークの重みを変更するために使用される、教師あり学習を使用してトレーニングされ得る。
[0049]DCNは、フィードフォワードネットワークであり得る。さらに、上記で説明されたように、DCNの第1の層におけるニューロンから次の上位層におけるニューロンのグループへの結合は、第1の層におけるニューロンにわたって共有される。DCNのフィードフォワードおよび共有結合は、高速処理のために活用され得る。DCNの計算負担は、たとえば、リカレントまたはフィードバック結合を備える同様のサイズのニューラルネットワークのそれよりもはるかに少ないことがある。
[0050]畳み込みネットワークの各層の処理は、空間的に不変のテンプレートまたは基底投射(basis projection)と見なされ得る。入力が、カラー画像の赤色、緑色、および青色チャネルなど、複数のチャネルに最初に分解された場合、その入力に関してトレーニングされた畳み込みネットワークは、画像の軸に沿った2つの空間次元と、色情報をキャプチャする第3の次元とをもつ、3次元であると見なされ得る。畳み込み結合の出力は、後続の層318および320において特徴マップを形成すると考えられ、特徴マップ(たとえば、320)の各要素が、前の層(たとえば、318)における様々なニューロンから、および複数のチャネルの各々から入力を受信し得る。特徴マップにおける値は、整流(rectification)、max(0,x)など、非線形性を用いてさらに処理され得る。隣接するニューロンからの値は、さらにプールされ得、これは、ダウンサンプリングに対応し、さらなる局所不変性と次元削減とを与え得る。白色化に対応する正規化はまた、特徴マップにおけるニューロン間のラテラル抑制(lateral inhibition)によって適用され得る。
[0051]深層学習アーキテクチャの性能は、より多くのラベリングされたデータポイントが利用可能となるにつれて、または計算能力が増加するにつれて、向上し得る。現代の深層ニューラルネットワークは、ほんの15年前に一般的な研究者にとって利用可能であったものより数千倍も大きいコンピューティングリソースを用いて、ルーチン的にトレーニングされる。新しいアーキテクチャおよびトレーニングパラダイムが、深層学習の性能をさらに高め得る。整流された線形ユニット(rectified linear unit)は、勾配消失(vanishing gradients)として知られるトレーニング問題を低減し得る。新しいトレーニング技法は、過学習(over-fitting)を低減し、したがって、より大きいモデルがより良い汎化を達成することを可能にし得る。カプセル化技法は、所与の受容野においてデータを抽出し、全体的性能をさらに高め得る。
[0052]図3Bは、例示的な深層畳み込みネットワーク350を示すブロック図である。深層畳み込みネットワーク350は、結合性および重み共有に基づく、複数の異なるタイプの層を含み得る。図3Bに示されているように、例示的な深層畳み込みネットワーク350は、複数の畳み込みブロック(たとえば、C1およびC2)を含む。畳み込みブロックの各々は、畳み込み層と、正規化層(LNorm)と、プーリング層とで構成され得る。畳み込み層は、1つまたは複数の畳み込みフィルタを含み得、これは、特徴マップを生成するために入力データに適用され得る。2つの畳み込みブロックのみが示されているが、本開示はそのように限定しておらず、代わりに、設計選好に従って、任意の数の畳み込みブロックが深層畳み込みネットワーク350中に含まれ得る。正規化層は、畳み込みフィルタの出力を正規化するために使用され得る。たとえば、正規化層は、白色化またはラテラル抑制を行い得る。プーリング層は、局所不変性および次元削減のために、空間にわたってダウンサンプリングアグリゲーションを行い得る。
[0053]たとえば、深層畳み込みネットワークの並列フィルタバンクは、高性能および低電力消費を達成するために、随意にARM命令セットに基づいて、SOC100のCPU102またはGPU104にロードされ得る。代替実施形態では、並列フィルタバンクは、SOC100のDSP106またはISP116にロードされ得る。さらに、DCNは、センサー114およびナビゲーション120に専用の処理ブロックなど、SOC上に存在し得る他の処理ブロックにアクセスし得る。
[0054]深層畳み込みネットワーク350はまた、1つまたは複数の全結合層(たとえば、FC1およびFC2)を含み得る。深層畳み込みネットワーク350は、ロジスティック回帰(LR)層をさらに含み得る。深層畳み込みネットワーク350の各層の間には、更新されるべき重み(図示せず)がある。各層の出力は、第1の畳み込みブロックC1において供給された入力データ(たとえば、画像、オーディオ、ビデオ、センサーデータおよび/または他の入力データ)から階層特徴表現を学習するために、深層畳み込みネットワーク350中の後続の層の入力として働き得る。
[0055]図4は、人工知能(AI)機能をモジュール化し得る例示的なソフトウェアアーキテクチャ400を示すブロック図である。アーキテクチャを使用して、SOC420の様々な処理ブロック(たとえば、CPU422、DSP424、GPU426および/またはNPU428)に、アプリケーション402のランタイム動作中に計算をサポートすることを実施させ得るアプリケーション402が設計され得る。
[0056]AIアプリケーション402は、たとえば、デバイスが現在動作するロケーションを示すシーンの検出および認識を与え得る、ユーザ空間404において定義されている機能を呼び出すように構成され得る。AIアプリケーション402は、たとえば、認識されたシーンがオフィス、講堂、レストラン、または湖などの屋外環境であるかどうかに応じて別様に、マイクロフォンおよびカメラを構成し得る。AIアプリケーション402は、現在のシーンの推定を与えるために、SceneDetectアプリケーションプログラミングインターフェース(API)406において定義されているライブラリに関連するコンパイルされたプログラムコードへの要求を行い得る。この要求は、たとえば、ビデオおよび測位データに基づくシーン推定を与えるように構成された深層ニューラルネットワークの出力に最終的に依拠し得る。
[0057]さらに、ランタイムフレームワークのコンパイルされたコードであり得るランタイムエンジン408が、AIアプリケーション402にとってアクセス可能であり得る。AIアプリケーション402は、たとえば、ランタイムエンジンに、特定の時間間隔における、またはアプリケーションのユーザインターフェースによって検出されたイベントによってトリガされた、シーン推定を要求させ得る。シーンを推定させられたとき、ランタイムエンジンは、SOC420上で実行している、Linux(登録商標)カーネル412など、オペレーティングシステム410に信号を送り得る。オペレーティングシステム410は、CPU422、DSP424、GPU426、NPU428、またはそれらの何らかの組合せ上で、計算を実施させ得る。CPU422は、オペレーティングシステムによって直接アクセスされ得、他の処理ブロックは、DSP424のための、GPU426のための、またはNPU428のためのドライバ414〜418など、ドライバを通してアクセスされ得る。例示的な例では、深層ニューラルネットワークは、CPU422およびGPU426など、処理ブロックの組合せ上で動作するように構成され得るか、または存在する場合、NPU428上で動作させられ得る。
[0058]図5は、スマートフォン502上のAIアプリケーションのランタイム動作500を示すブロック図である。AIアプリケーションは、画像506のフォーマットを変換し、次いで画像508をクロップおよび/またはリサイズするように(たとえば、JAVA(登録商標)プログラミング言語を使用して)構成され得る前処理モジュール504を含み得る。次いで、前処理された画像は、視覚入力に基づいてシーンを検出および分類するように(たとえば、Cプログラミング言語を使用して)構成され得るSceneDetectバックエンドエンジン512を含んでいる分類アプリケーション510に通信され得る。SceneDetectバックエンドエンジン512は、スケーリング516およびクロッピング518によって、画像をさらに前処理514するように構成され得る。たとえば、画像は、得られた画像が224ピクセル×224ピクセルであるように、スケーリングされ、クロップされ得る。これらの次元は、ニューラルネットワークの入力次元にマッピングし得る。ニューラルネットワークは、SOC100の様々な処理ブロックに、深層ニューラルネットワークを用いて画像ピクセルをさらに処理させるように、深層ニューラルネットワークブロック520によって構成され得る。次いで、深層ニューラルネットワークの結果は、しきい値処理522され、分類アプリケーション510中の指数平滑化(exponential smoothing)ブロック524を通され得る。次いで、平滑化された結果は、スマートフォン502の設定および/またはディスプレイの変更を生じ得る。
[0059]一構成では、ニューラルネットワークなどの機械学習モデルは、要素がネットワークへの入力中に存在する増加された確率を有するかどうかを決定することと、要素に対する感度を増加させるようにネットワーク中のニューロンの活性化関数のバイアスを調節することと、バイアスすることに少なくとも部分的に基づいてネットワークの出力を調節することとを行うために構成される。モデルは決定手段および/または調節手段を含む。一態様では、決定手段および/または調節手段は、具陳された機能を実施するように構成された、汎用プロセッサ102、汎用プロセッサ102に関連するプログラムメモリ、メモリブロック118、ローカル処理ユニット202、およびまたはルーティング接続処理ユニット216であり得る。別の構成では、上述の手段は、上述の手段によって具陳された機能を実施するように構成された任意のモジュールまたは任意の装置であり得る。
[0060]本開示のいくつかの態様によれば、各ローカル処理ユニット202は、モデルの所望の1つまたは複数の機能的特徴に基づいてモデルのパラメータを決定し、決定されたパラメータがさらに適合、調整および更新されるように、1つまたは複数の機能的特徴を所望の機能的特徴のほうへ発達させるように構成され得る。バイアス項を介して深層ニューラルネットワーク中にトップダウン情報を組み込むこと
[0061]前に説明されたように、オブジェクトが画像中に存在することになるか、または画像中に存在する増加された確率を有するというアプリオリな知識があり得る。たとえば、画像の時間/ロケーションが、画像中に存在し得るオブジェクトに関する情報を与え得る。すなわち、一例では、フットボールゲームにおいて画像が撮られた場合、フットボール、芝生、および/またはヘルメットが画像中に存在する増加された確率がある。別の例として、オブジェクトが画像中に存在する確率は、画像中の他のオブジェクトの存在に基づいて増加し得る。たとえば、スノーボーダーの画像は、雪を含む増加された確率を有する。
[0062]本開示の態様は、画像中のオブジェクトを決定することについて説明されるが、本開示の態様は、画像中のオブジェクトを決定することに限定されない。もちろん、本開示の態様はまた、要素が存在するのか、またはネットワークへの入力中に存在する増加された確率を有するのかを決定することのために企図される。たとえば、本開示の態様は、特定の音がオーディオ入力中に存在するかどうかを決定するために使用され得る。
[0063]一構成では、ネットワークは、オブジェクトが画像中に存在することになるか、または画像中に存在する増加された確率を有するというアプリオリな知識に基づいてオブジェクトを分類することに向かってバイアスされる。バイアスは、フォールスポジティブ(false positives)を防ぐために指定され得る。すなわち、オブジェクトが存在する確率に基づいて分類器ニューロンの出力を増加させるのではなく、本開示の態様は、画像中に検出されるオブジェクトについての応答を増幅するためにバイアスをスケーリングする。
[0064]図6に、画像600に適用され得る画像600とフィルタ602〜608との一例を示す。図6に示されているように、画像600は、キックボールゲームの画像である。この例では、画像は、緑色の芝生610と、赤色のボール612と、青色のチーム614のプレーヤと、紫色のチーム616のプレーヤとを含む。フィルタは、水平線をフィルタ処理する水平フィルタ602と、垂直線をフィルタ処理する垂直フィルタ604と、緑色のオブジェクトをフィルタ処理する緑色フィルタ606と、赤色/紫色のオブジェクトをフィルタ処理する赤色/紫色フィルタ608とを含む。図6のフィルタは例示的なフィルタである。本開示の態様は、入力に適用されるべき様々なフィルタのために企図されるので、本開示の態様は図6のフィルタに限定されない。
[0065]本例では、画像600にフィルタ602〜608を適用した後に、ネットワークの出力は次のようになり得る。
0.24−ボール
0.60−青色のチーム
0.15−紫色のチーム
0.01−木
[0066]出力は、入力から導出されたエビデンスに基づいてオブジェクトが入力中にある決定された確率を指す。この例では、ボールが画像中にある24パーセントの確率と、青色のチームのプレーヤが画像中にいる60パーセントの確率と、紫色のチームのプレーヤが画像中にいる15パーセントの確率と、木が画像中にある1パーセントの確率とがある。
[0067]図6に示されているように、各フィルタ602〜608は、特定のオブジェクト(たとえば、クラス)に関連する分類器ニューロンへの入力を有する。この例では、説明の目的で、太いラインは、フィルタからの強い(strong)出力を示し、細いラインは、フィルタからの弱い(weak)出力を示す。オブジェクトの存在についてのエビデンスの量が増加するにつれて、フィルタからの出力の強度は増加する。たとえば、赤色のオブジェクトが画像中に存在するエビデンスがあると赤色/紫色フィルタ608が決定したことに基づいて、そのフィルタから赤色のボールニューロン618への出力は強い。
[0068]しかしながら、図6に示されているように、垂直フィルタ604が紫色のチーム616のエビデンスを発見しないので、垂直フィルタ604から紫色のチームニューロン620への出力は弱い。前に説明されたように、垂直フィルタ604は、垂直線が画像中に存在するかどうかを決定する。すなわち、垂直フィルタ604は、紫色のシャツを着用している人間など、紫色のチーム616に関連する特徴についてフィルタ処理しない。したがって、紫色のチーム616のプレーヤが垂直線に関連しないので、紫色のチームニューロン620への垂直フィルタ604との間に弱い結合がある。
[0069]本開示の態様によれば、フィルタおよびニューロンなどのネットワーク要素間の結合は、シナプスと呼ばれることがある。さらに、分類器ニューロンは、出力ニューロンおよび/またはオブジェクトニューロンと呼ばれることがある。分類器ニューロン、出力ニューロン、およびオブジェクトニューロンは、フィルタからの入力に基づいて活性化関数から値を出力するニューロンを指す。
[0070]前に説明されたように、画像600は、赤色のボール612と、紫色のシャツを着用している個人(たとえば、紫色のチーム616のプレーヤ)とを含む。さらに、画像600では、赤色のボール612は、他のオブジェクトと比較して比較的小さい。その上、画像600では、紫色のシャツを着用している個人は、青色のシャツを着用している個人のグループなど、他のオブジェクトほど多数でない。したがって、赤色のボール612と、紫色のシャツを着用している個人とは、見落とされるか、またはネットワーク出力に基づいて存在しないと仮定され得る。
[0071]さらに、本構成では、分類は、紫色のチーム616のプレーヤが画像中にいるかどうかを決定するために指定される。従来のシステムでは、画像600は青色のチーム614が紫色のチーム616とキックボールをプレイしている画像であるという事前知識に基づいて、紫色のチームの分類器ニューロン(たとえば、紫色のチームニューロン620)についての応答は、画像600が紫色のチーム616のプレーヤを含む確率に基づいて増加され得る。さらに、紫色のチーム616のプレーヤが画像中に存在しない可能性がある。したがって、画像600が紫色のチーム616のプレーヤを含む確率に基づいて、紫色のチームニューロン620についての応答(たとえば、活性化値出力)を増加させることは、フォールスポジティブにつながり得る。
[0072]したがって、フォールスポジティブを防ぐことに加えて、他のオブジェクトと比較して比較的小さく、および/または他のオブジェクトほど多数でないオブジェクトの不正確なまたは弱い分類を緩和することが望ましい。本開示の態様によれば、オブジェクトが画像中に存在することになるか、またはオブジェクトが画像中に存在する増加された確率を有するというアプリオリな知識に基づいて、活性化関数のバイアスは、フィルタの出力がバイアスすることに基づいて調節されるように調節され得る。一構成では、分類器ニューロンへのシナプスのバイアスは、オブジェクトが画像中に存在する確率に基づいて調節され得る。一例として、紫色のチームニューロン620へのシナプス622のバイアスは、紫色のチーム616のプレーヤが画像中に存在する確率に基づいて調節され得る。
[0073]いくつかの場合には、オブジェクトが画像中に存在することになるか、またはオブジェクトが画像中に存在する増加された確率を有するというアプリオリな知識に基づいてネットワークの出力を変更するようにフィルタの重みを調節することは望ましくないことがある。詳細には、フィルタの重みは、多数のトレーニングパスから決定されている。したがって、トレーニングの後に重みを調節することは、トレーニングの結果を変更し、誤った値をもたらし得る。
[0074]さらに、活性化値を直接変更することは、存在しないオブジェクト(たとえば、錯覚(hallucinations))を分類するネットワークを生じ得る。したがって、一構成では、バイアス項は、オブジェクトの存在を示す可能性が高い応答を増幅するためにスケーリングされる。すなわち、本構成では、バイアスをスケーリングすることは、入力により反応するように活性化関数の作用範囲を変更する。式1は、活性化関数のための式を示す。
[0075]式1では、wiは重みであり、xiは、フィルタなどの下位層から出力された活性化値であり、γbiはバイアス項である。詳細には、γはバイアスのための調節の量であり、biはバイアスである。式1によれば、バイアス項は、特定の分類器ニューロンにつながるすべてのシナプスのためにスケーリングされ得る。すなわち、分類器ニューロンへの入力の利得は、バイアスに基づいて増加または減少され得る。
[0076]図7に、x軸上の分類器ニューロンへの入力(
)と、y軸上の分類器ニューロンから出力された活性化関数(式1)の値とをもつ協調グラフ700を示す。活性化関数の値は活性化値と呼ばれることがあり、分類器ニューロンへの入力はエビデンス入力と呼ばれることがある。x軸上のエビデンス入力は、オブジェクトの存在についてのエビデンスの量のための値である。この例では、入力値は、−10の値が、オブジェクトが画像中に存在するエビデンスがほとんどないことを示し、10の値がオブジェクトの存在についてのエビデンスの大きい量を示すように、−10から10にわたる。さらに、活性化値は、画像中のオブジェクトの存在についてのエビデンスの量(たとえば、x軸入力)に基づく、オブジェクトが画像中に存在する確率である。したがって、図7に示されているように、分類器ニューロンへのエビデンス入力が増加するにつれて、活性化値は増加する。すなわち、分類器ニューロンへの強いエビデンス入力は、強い活性化値出力を生じる。
[0077]さらに、図7は、グラフ700上にプロットされた多数のラインを示す。ラインは、入力のバイアスを調節することの結果を示す。たとえば、第1のライン702は、入力および活性化のためのベースライン(たとえば、バイアス調節なし)を示す。この例では、第1のライン702に示されているように、0のエビデンス入力は約0.5の活性化値を生じる。さらに、第2のライン704は、バイアスを1.5だけ調節する例を与える。第2のライン704上に示されているように、0のエビデンス入力は約0.9の活性化値を生じる。
[0078]したがって、図7に示されているように、第1のライン702と第2のライン704とはエビデンス入力について同じ値を受信するが、分類器ニューロンから出力された活性化値は、スケーリングされたバイアスに基づいて調節される。
[0079]バイアスが正に(positively)調節されるかまたは負に調節され得ることに留意されたい。たとえば、図7は、正の調節と負の調節の両方を示す。第2のライン704は、バイアスを1.5だけ調整する場合の座標をプロットする。第3のライン706は、バイアスを−1.5だけ調整する場合の座標をプロットする。
[0080]前に説明されたように、バイアスは、項目が入力中に存在するアプリオリな知識に基づいて正に調節され得る。たとえば、鳥が木に関連するので、バイアスは、鳥の画像が提示されるとき、木について正に調節され得る。さらに、バイアスは、項目が入力中に存在しないアプリオリな知識に基づいて負に調節され得る。たとえば、野球がフットボールゲームに関連しないので、バイアスは、フットボールゲームの画像が提示されるとき、野球について負に調節され得る。
[0081]バイアスが分類器ニューロンの各入力に適用されることに留意されたい。すなわち、バイアスは、各フィルタの出力など、エビデンスの各々に適用される。たとえば、図6の例に基づいて、バイアスは、紫色のチームニューロン620に入力されるシナプス622の各々に適用され得る。前に説明されたように、オブジェクトの存在について決定される値は、フィルタのタイプに基づいて変動し得る。
[0082]たとえば、図6の例に基づいて、水平フィルタ602は、水平線が画像中に存在するかどうかを決定するために指定される。したがって、赤色のボールが垂直線をほとんど有しないので、水平フィルタ602から赤色のボールニューロン618へのエビデンス入力の値は低い。すなわち、水平フィルタ602は、赤色のキックボールに関連する水平線についてのエビデンスをほとんど発見しなかった。したがって、バイアスが各フィルタからの入力に適用されるので、オブジェクトが存在する確率は、各フィルタからのオブジェクトについて発見されたエビデンスの量に基づいて増加する。
[0083]前に説明されたように、図6の例に基づいて、調節されていないバイアスをもつネットワークの出力は次のようになり得る。
0.24−ボール
0.60−青色のチーム
0.15−紫色のチーム
0.01−木
[0084]本構成では、図6の例に基づいて、バイアスは、ボールが画像中に存在することになるか、または画像中に存在する増加された確率を有するというアプリオリな知識に基づいて、ボールに対してスケーリングされる。ボールのために適用される正バイアスに基づいて、ネットワークの出力は次のようになり得る。
0.50−ボール
0.35−青色のチーム
0.05−紫色のチーム
0.00−木
[0085]ボールについて調節された正バイアスについて上記で与えられた出力に示されているように、調節されていないバイアス出力と比較して、ボールの確率は24パーセントから50パーセントに変更される。
[0086]本構成では、図6の例に基づいて、バイアスは、木が画像中に存在する増加された確率を有するというアプリオリな知識に基づいて、木に対してスケーリングされる。この構成に基づいて、ネットワークの出力は次のようになり得る。
0.10−ボール
0.35−青色のチーム
0.05−紫色のチーム
0.02−木
[0087]木について調節された正バイアスについて上記で与えられた出力に示されているように、調節されていないバイアス出力と比較して、木の確率は1パーセントから2パーセントに変更される。すなわち、木が図6の画像600中に存在しないので、木に対してバイアスをスケーリングすることは、木が存在する確率の著しい増加を生じない。
[0088]図8に、フィルタから分類器ニューロンに入力されたエビデンス値を表すx軸と、分類器ニューロンから出力された活性化関数の値を表すy軸とを有するグラフ800を示す。図8では、異なる曲線は、入力のバイアスを調節することの結果を示す。たとえば、第1のライン802は、入力および活性化のための調節されていないベースラインを示す。この例では、第1のライン802に示されているように、バイアスがエビデンス入力について調節されないとき、−1の入力は約0.24の活性化を生じる。さらに、第2のライン804は、エビデンス入力についてバイアスを0.5だけ調節する例を与える。第2のライン804上に示されているように、−1の入力は約0.5の活性化を生じる。したがって、前に説明されたように、調節されていないネットワーク出力では、ボールなどのオブジェクトについての値は0.24である。さらに、上記で説明されたように、バイアスがオブジェクトについて調節されたとき、値は0.5である。
[0089]さらに、図8に示されているように、−5などの低いエビデンス値をもつ第2のオブジェクトの場合、第1のライン802からの調節されていない活性化値は0.01である。さらに、第2のライン804は、第2のオブジェクトのエビデンス入力についてバイアスを0.5だけ調節する例を与える。第2のライン804上に示されているように、エビデンス入力についての−5の値は約0.02の活性化値を生じる。したがって、上記で説明されたように、調節されていないネットワーク出力では、第2のオブジェクトについての活性化値は0.01である。さらに、上記で説明されたように、バイアスが第2のオブジェクトについて調節されるとき、活性化値は0.02である。前に説明されたように、第2のオブジェクトが存在するというエビデンスがほとんどないので、エビデンス入力についてバイアスを調節することは、活性化値の著しい変化を生じないことになる。
[0090]一構成では、バイアスは、オブジェクトにつながる重みの関数として調節される。たとえば、ボールのバイアスが調節されるべきである場合、シナプスの重みに比例する調節項が、ボールの分類器ニューロンからバックプロパゲーションされる。
[0091]図9に、最上層(層J)における分類器ニューロンが中間層(層I)におけるオブジェクト固有フィルタに結合されたネットワークの例900を示す。分類器は、下位層(層H)において汎用フィルタに結合される。一例では、バイアスはボールのエビデンスについて調節され得る。したがって、この例では、調節値は最上層に存在し得、したがって、調節値(γij)は、ネットワーク中のシナプスの重みに比例してボールニューロン902からネットワークにバックプロパゲーションされる。この例では、調節値は、オブジェクトが画像中に存在するか、またはオブジェクトが画像中に存在する増加された確率があることが知られているとき、最上層において適用され得る。
[0092]たとえば、図9に示されているように、ボールフィルタ906からボールニューロン902へのシナプス904の重みは高い。しかしながら、他のオブジェクト固有フィルタからボールニューロン902への他のシナプス908の重みは弱い。したがって、ボールフィルタ906にバックプロパゲーションされる調節値は、ボールニューロン902から層Iの他のオブジェクト固有フィルタにバックプロパゲーションされる調節値と比較して、より強い。すなわち、調節値は、層Iにおける各オブジェクト固有フィルタから層Jにおける分類器ニューロンへのシナプスの重みに比例してバックプロパゲーションされる。
[0093]さらに、調節値は、オブジェクト固有フィルタから層Hにおける各汎用フィルタへのシナプスの重みに基づいて、層Iにおけるオブジェクト固有フィルタから層Hにおける汎用フィルタにバックプロパゲーションされる。
[0094]各シナプスの重みに基づいて調節値を決定するための式は次のようになる。
[0095]式2および式3では、図8の例に基づいて、wijは層Jから層Iへのシナプスの重みであり、whiは層Iへの層Hを形成するシナプスの重みであり、γ0は、出力ニューロンに存在するバイアス調節の量であり、γijは、層Jから層Iへのシナプスに適用される調節値であり、γhiは、層Hから層Iへのシナプスに適用される調節値である。
[0096]別の構成では、特定のオブジェクト(たとえば、クラス)についてのバイアスを調節するのではなく、バイアスは、赤色のオブジェクト、および/または円形エッジをもつオブジェクトなど、特定の特徴に調節され得る。この例では、画像中のオブジェクトのアプリオリな知識がないことがある。さらに、この例では、ネットワークは、紫色のシャツなど、特定のオブジェクトを探索していることがある。したがって、バイアスは、ネットワーク中の任意の層において調節され得る。たとえば、図9に基づいて、バイアスは、層Iにおける紫色の画像フィルタ910について調節され得、調節値は、層Hから層Iへの各シナプスの重みに比例して層Hにおけるフィルタにバックプロパゲーションされ得る。層Iにおけるフィルタに結合された各シナプスに調節値をバックプロパゲーションするための式は、次のようになる。
[0097]式4および式5では、図9の例に基づいて、whiは層Hから層Iへのシナプスの重みであり、γ0は、出力ニューロンに存在するバイアス調節の量であり、γijは、層Jから層Iへのシナプスに適用される調節値であり、γhiは、層Hから層Iへのシナプスに適用される調節値である。この構成では、調節が、層Jから適用され、バックプロパゲーションされるのではなく、層Iから層Hにバックプロパゲーションされるので、γij=0である。
[0098]別の構成では、バイアスは、例示的な画像に対するネットワークの測定された応答に基づいて調節され得る。たとえば、画像がネットワークに提示され得、ネットワークの応答は、画像に応答して測定される。さらに、バイアスは、応答に基づいて調節され得る。調節することはネットワークの内部レベルにおいて実施され得る。
[0099]図10は、ネットワーク1000に提示された画像1002に対する測定された応答に基づいてバイアスを生成することの一例を示す。図10に示されているように、ネットワーク1000は、分類器ニューロンの最上層(層J)と、オブジェクト固有フィルタの中間層(層I)と、汎用フィルタの最下層(層H)とを含む。さらに、図10に示されているように、画像1002がネットワーク1000に提示される。この例では、画像1002は、葉の背景をもつ紫色のボールである。図10に示されているように、画像1002の紫色のボールは、オブジェクトニューロン中のオブジェクトとして存在しない。したがって、画像1002中のオブジェクトについての調節値を決定するために、画像1002は、ネットワーク1000の応答を測定するためにネットワーク1000に提示される。
[00100]本例では、画像1002がネットワーク1000に提示されるとき、ネットワークの活性化は、ニューロン、シナプス、および層において測定される。たとえば、図10に示されているように、活性化は、様々なフィルタ、シナプス、およびニューロンにおいて分散される。詳細には、この例では、紫色のフィルタ1004、緑色のフィルタ1006、赤色のボールフィルタ1008、紫色の正方形フィルタ1010、および木フィルタ1012は、画像1002に応答して活性化されるフィルタである。さらに、活性化は、木ニューロン1014、紫色のチームニューロン1016、およびボールニューロン1018が活性化されるように、分類器ニューロンにおいて分散される。図10では、太いラインをもつシナプスが、画像1002に応答して活性化されるシナプスを表すことに留意されたい。図10の例では、フィルタ/ニューロンに対する円のサイズは、より大きい円がより小さい円よりも大きい活性化を表すように、活性化のレベルを示す。
[00101]特定のオブジェクトについての活性化を決定した後に、バイアスは、活性化の関数として調節され得る。たとえば、新しい画像がネットワークに提示され得、ネットワークの全体にわたる活性化のパターンが観測される。バイアスは、次いで、シナプスが結合されるニューロンの活性化に比例して各シナプスに分散される。この例では、バイアスは、バイアスの一部が各層においてシナプスの間で分散されるように、ボトムアップから調節される。この構成では、バイアスは、以下の式に基づいてボトムアップから調節され得る。
[00102]式6および式7では、図10の例に基づいて、γ0は、出力ニューロンに存在するバイアス調節の量であり、γijは、層Jから層Iへのシナプスに適用される調節値であり、γhiは、層Hから層Iへのシナプスに適用される調節値であり、xiは、層Iの特定のシナプスから出力された値であり、xhは、層Hの特定のシナプスから出力された値である。
[00103]別の構成では、調節値は、以下の式に基づいて出力からバックプロパゲーションされる。
[00104]式8および式9では、図10の例に基づいて、γ0は、出力ニューロンに存在するバイアス調節の量であり、γijは、層Jから層Iへのシナプスに適用される調節値であり、γhiは、層Hから層Iへのシナプスに適用される調節値であり、xjは層Jにおける活性化のパターンであり、whiは層Hから層Iへのシナプスの重みであり、wijは層Iから層Jへのシナプスの重みである。
[00105]本開示の態様に基づいて、バイアスを調節するための複数の構成が提示される。一構成では、バイアスは定数として調節され得る。バイアスは、トップダウン信号が知識グラフタイプソース(knowledge-graph type source)から決定されるとき、定数として調節され得る。たとえば、バイアスは、鳥の画像が、木の画像を含む増加された確率を有することが知られているとき、定数として調節され得る。式1は、バイアスを定数として調節するために使用され得る。
[00106]別の構成では、バイアスは、シナプス荷重の関数として調節される。バイアスは、所与のオブジェクトについての重要な重みがバイアスされるように、シナプス荷重の関数として調節され得る。追加または代替として、バイアスは、調節値がネットワークを通してバックプロパゲーションされるように、シナプス荷重の関数として調節され得る。バイアスをシナプス荷重の関数として調節するための式は、次のようになる。
[00107]式10では、wiは重みであり、()はバイアス調節(たとえば、バイアスの変化)であり、xiは、下位層から出力された値であり、biはバイアスである。
[00108]別の構成では、バイアスは、ターゲットクラス提示に応答する活性化の関数として調節される。この構成は、トップダウン信号がネットワークに提示される一例から導出されるときに使用され得る。たとえば、図10に示されているように、画像1002がネットワーク1000に提示され、バイアスは、ネットワーク中の活性化の分散に基づいて決定される。ターゲットクラス提示に応答する活性化の関数としてバイアスを調節するための式は、以下の式に基づき得る。
[00109]式11では、wiは重みであり、()はバイアス調節(たとえば、バイアスの変化)であり、xiは、下位層から出力された値であり、biはバイアスである。
[00110]さらに、バイアス調節は加法的にまたは乗法的に適用され得る。バイアスの適用は活性化関数に依存し得る。
[00111]バイアスの調節は、以下の式に基づいて加法的に適用され得る。
[00112]式12では、wiは重みであり、γはバイアス調節(たとえば、バイアスの変化)であり、xiは、下位層から出力された値であり、biはバイアスである。
[00113]一構成では、バイアスの調節は、式1に基づいて乗法的に適用される。バイアスが元の値からスケーリングされるので、バイアスを乗法的に適用することは望ましいことがある。
[00114]図11に、ニューラル分類器ネットワークなどの機械学習ネットワークにおいて活性化関数についてのバイアスを調節する方法1100を示す。ブロック1102において、ネットワークは、要素がネットワークへの入力中に存在する増加された確率を有するかどうかを決定する。ブロック1104において、ネットワークは、要素に対する感度を増加させるようにネットワーク中のニューロンの活性化関数のバイアス項を調節する。一構成では、バイアスは、ネットワークの重みを調節することなしに調節される。さらに、ブロック1106において、ネットワークは、バイアスすることに基づいてネットワークの出力を調節する。
[00115]図12に、ニューラル分類器ネットワークなどの機械学習ネットワークにおいて活性化関数についてのバイアスを調節する方法1200を示す。ブロック1202において、ネットワークは、画像などの入力に関連する属性を決定する。一例として、属性は、画像の時間、画像のロケーション、および/または画像中に存在する特定のオブジェクトを含み得る。決定された属性に基づいて、ブロック1204において、ネットワークは、要素が入力中に存在する増加された確率を有するかどうかを決定する。
[00116]要素が、ネットワークへの入力中に存在する増加された確率を有する場合、ブロック1206において、ネットワークは、要素に対する感度を増加させるようにネットワーク中のニューロンの活性化関数のバイアス項を調節する。さらに、ブロック1210において、ネットワークは、調節されたバイアス項に基づいてネットワーク出力を調節する。
[00117]要素が、ネットワークへの入力中に存在する増加された確率を有しない場合、ブロック1208において、ネットワークは、要素に対する感度を減少させるようにネットワーク中のニューロンの活性化関数のバイアス項を調節する。さらに、ブロック1210において、ネットワークは、調節されたバイアス項に基づいてネットワーク出力を調節する。
[00118]上記で説明された方法の様々な動作は、対応する機能を実施することが可能な任意の好適な手段によって実施され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々な(1つまたは複数の)ハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含み得る。概して、図に示されている動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。
[00119]本明細書で使用される「決定すること」という用語は、多種多様なアクションを包含する。たとえば、「決定すること」は、計算すること(calculating)、計算すること(computing)、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含み得る。さらに、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ中のデータにアクセスすること)などを含み得る。さらに、「決定すること」は、解決すること、選択すること、選定すること、確立することなどを含み得る。
[00120]本明細書で使用される、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cを包含するものとする。
[00121]本開示に関連して説明された様々な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明された機能を実施するように設計されたそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[00122]本開示に関連して説明された方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形態の記憶媒体中に常駐し得る。使用され得る記憶媒体のいくつかの例としては、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMなどがある。ソフトウェアモジュールは、単一の命令、または多数の命令を備え得、いくつかの異なるコードセグメント上で、異なるプログラム間で、および複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取ることができ、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
[00123]本明細書で開示された方法は、説明された方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく、互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は特許請求の範囲から逸脱することなく変更され得る。
[00124]説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、例示的なハードウェア構成はデバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いて実装され得る。バスは、処理システムの特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサと、機械可読媒体と、バスインターフェースとを含む様々な回路を互いにリンクし得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能を実装するために使用され得る。いくつかの態様では、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)もバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧調整器、電力管理回路など、様々な他の回路をリンクし得るが、それらは当技術分野でよく知られており、したがってこれ以上説明されない。
[00125]プロセッサは、機械可読媒体に記憶されたソフトウェアの実行を含む、バスおよび一般的な処理を管理することを担当し得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いて実装され得る。例としては、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行することができる他の回路がある。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、命令、データ、またはそれらの任意の組合せを意味すると広く解釈されたい。機械可読媒体は、例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体はコンピュータプログラム製品において実施され得る。コンピュータプログラム製品はパッケージング材料を備え得る。
[00126]ハードウェア実装形態では、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者なら容易に理解するように、機械可読媒体またはその任意の部分は処理システムの外部にあり得る。例として、機械可読媒体は、すべてバスインターフェースを介してプロセッサによってアクセスされ得る、伝送線路、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得る。代替的に、または追加として、機械可読媒体またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルがそうであり得るように、プロセッサに統合され得る。局所構成要素など、説明された様々な構成要素は、特定のロケーションを有するものとして説明され得るが、それらはまた、分散コンピューティングシステムの一部として構成されているいくつかの構成要素など、様々な方法で構成され得る。
[00127]処理システムは、すべて外部バスアーキテクチャを介して他のサポート回路と互いにリンクされる、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械可読媒体の少なくとも一部を提供する外部メモリとをもつ汎用処理システムとして構成され得る。代替的に、処理システムは、本明細書で説明されたニューロンモデルとニューラルシステムのモデルとを実装するための1つまたは複数の神経形態学的プロセッサを備え得る。別の代替として、処理システムは、プロセッサをもつ特定用途向け集積回路(ASIC)と、バスインターフェースと、ユーザインターフェースと、サポート回路と、単一のチップに統合された機械可読媒体の少なくとも一部分とを用いて、あるいは1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、もしくは他の好適な回路、または本開示全体にわたって説明された様々な機能を実施することができる回路の任意の組合せを用いて、実装され得る。当業者は、特定の適用例と、全体的なシステムに課される全体的な設計制約とに応じて、どのようにしたら処理システムについて説明された機能を最も良く実装し得るかを理解されよう。
[00128]機械可読媒体はいくつかのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されたときに、処理システムに様々な機能を実施させる命令を含む。ソフトウェアモジュールは、送信モジュールと受信モジュールとを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス中に常駐するか、または複数の記憶デバイスにわたって分散され得る。例として、トリガイベントが発生したとき、ソフトウェアモジュールがハードドライブからRAMにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を高めるために、命令のいくつかをキャッシュにロードし得る。次いで、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行したときにプロセッサによって実装されることが理解されよう。さらに、本開示の態様が、そのような態様を実装するプロセッサ、コンピュータ、機械、または他のシステムの機能に改善を生じることを諒解されたい。
[00129]ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu−ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。さらに、他の態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[00130]したがって、いくつかの態様は、本明細書で提示された動作を実施するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明された動作を実行するために1つまたは複数のプロセッサによって実行可能である命令をその上に記憶した(および/または符号化した)コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
[00131]さらに、本明細書で説明された方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にユーザ端末および/または基地局によってダウンロードされ、および/または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明された方法を実行するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明された様々な方法は、ユーザ端末および/または基地局が記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体など)をデバイスに結合するかまたは与えると様々な方法を得ることができるように、記憶手段によって提供され得る。その上、本明細書で説明された方法および技法をデバイスに提供するための任意の他の好適な技法が利用され得る。
[00132]特許請求の範囲は、上記で示された厳密な構成および構成要素に限定されないことを理解されたい。上記で説明された方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
[00132]特許請求の範囲は、上記で示された厳密な構成および構成要素に限定されないことを理解されたい。上記で説明された方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
深層ニューラルネットワークをバイアスする方法であって、
要素が前記ネットワークへの入力中に存在する増加された確率を有するかどうかを決定することと、
前記要素に対する感度を増加させるように前記ネットワーク中のニューロンの活性化関数のバイアスを調節することと、前記バイアスが、前記ネットワークの重みを調節することなしに調節される、
前記バイアスすることに少なくとも部分的に基づいて前記ネットワークの出力を調節することと
を備える、方法。
[C2]
前記バイアスのための調節の量を、定数、シナプス荷重の関数、またはターゲットクラスの提示に応答する活性化の関数として決定することをさらに備える、C1に記載の方法。
[C3]
前記バイアスを調節することが、前記バイアスをスケーリングすることを備える、C1に記載の方法。
[C4]
前記調節することのスケールは、前記入力中に存在する可能性が高いもの、および/または前記入力中に存在する可能性低いもののアプリオリな知識に少なくとも部分的に基づく、C3に記載の方法。
[C5]
前記調整することが前記ネットワークの内部レベルにおいて実施される、C1に記載の方法。
[C6]
深層ニューラルネットワークをバイアスするための装置であって、
要素が前記ネットワークへの入力中に存在する増加された確率を有するかどうかを決定するための手段と、
前記要素に対する感度を増加させるように前記ネットワーク中のニューロンの活性化関数のバイアスを調節するための手段と、前記バイアスが、前記ネットワークの重みを調節することなしに調節される、
前記バイアスすることに少なくとも部分的に基づいて前記ネットワークの出力を調節するための手段と
を備える、装置。
[C7]
前記バイアスのための調節の量を、定数、シナプス荷重の関数、またはターゲットクラスの提示に応答する活性化の関数として決定するための手段をさらに備える、C6に記載の装置。
[C8]
前記バイアスを調節するための前記手段が、前記バイアスをスケーリングするための手段を備える、C6に記載の装置。
[C9]
前記調節することのスケールは、前記入力中に存在する可能性が高いもの、および/または前記入力中に存在する可能性が低いもののアプリオリな知識に少なくとも部分的に基づく、C8に記載の装置。
[C10]
調整するための前記手段が前記ネットワークの内部レベルにおいて実施される、C6に記載の装置。
[C11]
深層ニューラルネットワークをバイアスするための装置であって、
メモリユニットと、
前記メモリユニットに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサは、
要素が前記ネットワークへの入力中に存在する増加された確率を有するかどうかを決定することと、
前記要素に対する感度を増加させるように前記ネットワーク中のニューロンの活性化関数のバイアスを調節することと、前記バイアスが、前記ネットワークの重みを調節することなしに調節される、
前記バイアスすることに少なくとも部分的に基づいて前記ネットワークの出力を調節することと
を行うように構成された、装置。
[C12]
前記少なくとも1つのプロセッサが、前記バイアスのための調節の量を、定数、シナプス荷重の関数、またはターゲットクラスの提示に応答する活性化の関数として決定するようにさらに構成された、C11に記載の装置。
[C13]
前記少なくとも1つのプロセッサが、前記バイアスをスケーリングすることによって前記バイアスを調節するようにさらに構成された、C11に記載の装置。
[C14]
前記調節することのスケールは、前記入力中に存在する可能性が高いもの、および/または前記入力中に存在する可能性が低いもののアプリオリな知識に少なくとも部分的に基づく、C13に記載の装置。
[C15]
前記少なくとも1つのプロセッサが、前記ネットワークの内部レベルにおいて前記バイアスを調節するようにさらに構成された、C11に記載の装置。
[C16]
プログラムコードを記録した非一時的コンピュータ可読媒体であって、前記プログラムコードは、プロセッサによって実行され、
要素がネットワークへの入力中に存在する増加された確率を有するかどうかを決定するためのプログラムコードと、
前記要素に対する感度を増加させるように前記ネットワーク中のニューロンの活性化関数のバイアスを調節するためのプログラムコードと、前記バイアスが、前記ネットワークの重みを調節することなしに調節される、
前記バイアスすることに少なくとも部分的に基づいて前記ネットワークの出力を調節するためのプログラムコードと
を備える、非一時的コンピュータ可読媒体。
[C17]
前記プログラムコードが、前記バイアスのための調節の量を、定数、シナプス荷重の関数、またはターゲットクラスの提示に応答する活性化の関数として決定するためのプログラムコードをさらに備える、C16に記載のコンピュータ可読媒体。
[C18]
前記バイアスを調節するための前記プログラムコードが、前記バイアスをスケーリングすることによって前記バイアスを調節するためのプログラムコードを備える、C16に記載のコンピュータ可読媒体。
[C19]
前記調節することのスケールは、前記入力中に存在する可能性が高いもの、および/または前記入力中に存在する可能性が低いもののアプリオリな知識に少なくとも部分的に基づく、C18に記載のコンピュータ可読媒体。
[C20]
前記バイアスを調節するための前記プログラムコードが、前記ネットワークの内部レベルにおいて前記バイアスを調節するためのプログラムコードを備える、C16に記載のコンピュータ可読媒体。