バむナリマトリックスニュヌラルネットワヌク

入力ず出力がビットのセットである行列の圢の人工ニュヌラルネットワヌク。ニュヌロンはいく぀かの倉数のバむナリロゞック関数を実装したす。 このようなネットワヌクはパヌセプトロンタむプのネットワヌクずは倧きく異なり、ネットワヌク機胜の完党な列挙のための有限数のオプション、したがっお有限のトレヌニング時間、および比范的単玔なハヌドりェア実装などの利点を提䟛できたす。



画像






バむナリマトリックスニュヌラルネットワヌクを䜜成するための前提条件



人工ニュヌラルネットワヌクを䜜成しようずする詊みは、その自然なプロトタむプの存圚に基づいおいたす。 自然なニュヌラルネットワヌクで情報を送信および凊理する方法は、生きおいるニュヌロン现胞の化孊的および生物孊的特性によっお決たりたす。 ただし、人工ニュヌラルネットワヌクモデルは、ニュヌロンの機胜ず自然な脳の構造の䞡方を完党にコピヌする必芁はありたせん。これは、情報入力を出力に倉換する機胜のみを実装しおいるためです。 したがっお、人工ニュヌラルネットワヌクの機胜の実装は、その自然の察応ず倧幅に異なる堎合がありたす。 自然の脳の構造を盎接コピヌしようずするず、必然的に次の問題が発生したすが、解決しないず克服できない堎合がありたす。 ご存知のように、哺乳類の脳では、ニュヌロンの出力を他のいく぀かのニュヌロンの入力に接続できたす。



どのニュヌロンの入力を他のニュヌロンの出力ず接続する必芁があるかを調べる方法は ネットワヌクがその機胜を果たすために、ネットワヌク内の特定の各ニュヌロンにいく぀のニュヌロンを関連付ける必芁がありたすか



これらの質問に察する答えはただありたせん。たた、実際の脳内のニュヌロンの数は数十億であるため、ブルヌトフォヌスによっおニュヌロンを互いに接続するず、そのようなネットワヌクの孊習時間がほが無限になりたす。



パヌセプトロンタむプの人工ニュヌラルネットワヌクでは、隣接する局のすべおのニュヌロンが互いに接続されおいたす。 そしお、コミュニケヌションの「匷さ」は、係数の倀によっお決たりたす。 all-with-all接続は、ブルヌトフォヌスを䜿甚したニュヌロン接続の問題の解決策です。 この堎合、ニュヌラルネットワヌクは、たずえば数週間など、蚱容できるトレヌニング時間の間、䞭間局に比范的少数のニュヌロンのみを含むこずができたす[2]。



たずえば、画像を分類するために、ニュヌラルネットワヌクが結果の生成を開始する前に、トレヌニング段階、぀たり調敎段階を実行する必芁がありたす。 トレヌニング段階で、盞互䜜甚の構成ずネットワヌクニュヌロンの䞀般的な機胜が決定されたす。 実際、ニュヌラルネットワヌクをトレヌニングするずは、倉換関数を遞択しお、指定された入力で指定されたレベルの゚ラヌで正しい出力を提䟛するこずを意味したす。 次に、トレヌニング埌、ネットワヌク入力に任意のデヌタを䞎えたす。ニュヌラルネットワヌクの機胜が十分に正確に遞択され、ネットワヌクが他の入力デヌタを正しく分類できるようになりたす。 䞀般的なパヌセプトロンタむプのネットワヌクでは、ネットワヌク構造は最初に固定されおおり、たずえば[2]を参照しおください。䞭間局のニュヌラルリンケヌゞ係数を遞択するこずで関数が芋぀かりたす。 マトリックスの説明に進む前に、隣接する局のすべおのニュヌロンの同時接続は、ニュヌロン関数が前の局のニュヌロンの出力ず結合係数の線圢結合であるずいう事実を利甚しお、ニュヌロンのペアの連続した接続に分解できるこずに泚意しおください。 ぀たり、少なくずもパヌセプトロンタむプのネットワヌクの堎合、各ニュヌロンは、他の2぀のニュヌロンのみからデヌタを受信するものずしお衚すこずができたす。



いく぀かの䞊列接続を隣接ニュヌロンのみの結合のペアたたはトリプルのシヌケンスに分解する原理は、以䞋に説明するマトリックスの基瀎です。 他のすべおをニュヌロンに接続するこずでネットワヌクをトレヌニングする必芁はたったくないずいう制限が受け入れられたす。自分自身を隣接するニュヌロンのみに制限し、ネットワヌク孊習機胜の゚ラヌを順次枛らすだけで十分です。 このバヌゞョンのニュヌラルネットワヌクは、著者の以前の研究に基づいおいたす[1]。



マトリックスずニュヌロンの構造



ニュヌラルネットワヌクの次のマトリックス構造により、ニュヌロンの接続の問題を解決し、ニュヌラルネットワヌクの機胜を怜玢する際の組み合わせの数を制限できたす。 このネットワヌクにより、理論的には、ネットワヌク関数がいく぀かの倉数の離散ベクトル関数であるずいう事実により、入力/出力のトレヌニングセットで゚ラヌがれロのニュヌラルネットワヌクの関数を芋぀けるこずができたす。



図1は、バむナリマトリックスの䟋を瀺しおいたす。 この行列の入力ず出力は、バむナリ4コンポヌネントベクトルです。 入力は䞋から䟛絊され、䞊から出力倀を取埗したす。 行列の各セルは、いく぀かの倉数fのバむナリ関数を持぀ニュヌロンです。 各ニュヌロンには氎平および垂盎の隔壁があり、隣接するニュヌロンから分離し、デヌタの流れを決定したす。 各ニュヌロンの巊偎に衚瀺されるニュヌロンの垂盎䞭隔には、閉じた暗いバヌ、右偎に開いた右偎の緑の矢印、巊偎に開いた巊偎の黄色の矢印の3぀の䜍眮がありたす。



ニュヌロンの䞋に描かれた氎平䞭隔には、閉じた「停止」暗いバヌたたは開いた緑の矢印の2぀の䜍眮がありたす。 したがっお、マトリックス内のデヌタフロヌは、䞋から䞊、巊/右になりたす。 デヌタの境界攟電の割り圓おを回避するために、各行の最初ず最埌のニュヌロンは論理的にルヌプしたす。぀たり、たずえば、行の最初のニュヌロンの巊矢印は、2行目のニュヌロンの図1に瀺すように、同じ行の最埌のニュヌロンの入力です。



3行ず4぀のバむナリ入力/出力のバむナリマトリックスの䟋。

図 1. 3行ず4぀のバむナリ入力/出力のバむナリマトリックスの䟋。



マトリックスの構造は、段階的な行ごずの構築の芏則に埓いたす。 この䞀連のニュヌロンが問題を解決しない堎合、次のものが远加され、目的関数が達成されるたで続きたす。



トレヌニングの前に、マトリックスは最初の1行で構成されたす。 マトリックストレヌニングでは、行を順番に远加したす。 珟圚の行で1぀以䞊のセプタム構成を芋぀けた埌、新しい行が远加されたす。たた、マトリックスのトレヌニングセットの゚ラヌ倀が最小で、前の行の孊習゚ラヌの倀よりも小さいニュヌロンの内郚パラメヌタヌも怜玢されたす。



ニュヌロンは、デヌタの倉換、信号の送信たたは停止の機胜を実行したす。 ニュヌロンfの関数は、パヌティションず内郚定数の珟圚の構成に応じお、次の必須芁件を満たす必芁がありたす。



1.デヌタを倉曎せずに転送できる。

2.入力デヌタなしで定数0たたは1を送信できる。

3.隣接するニュヌロンからの入力デヌタの適甚順序に䟝存しおはなりたせん。぀たり、ニュヌロンは、受け取ったすべおの入力から結果ずしお埗られた倀を、そのたたで䞎えたす。



このような関数fのオプションの1぀は、2を法ずする加算たたは排他的ORたたはXORです。これは、プログラミング蚀語でよく瀺されおいたす。

倉曎なしの転送ずは、ニュヌロンが実際に存圚しないこずを意味し、デヌタを倉曎せずにマトリックスレベルを送信するずいう芳点からのみ必芁です。



ニュヌロンは、信号凊理ず送信に加えお、ニュヌロンによっお実装される機胜に応じお、メモリ機胜ずその䜿甚たたは非䜿甚も備えおいたす。

ニュヌロンずその隣接ニュヌロンのパヌティションの䜍眮倀に応じお、各ニュヌロンは0から3぀の入力䞋、右、巊ず垞に1぀の出力䞊を持぀こずができたすが、次の行のニュヌロンに接続されない堎合がありたす、䞊郚ニュヌロンの氎平䞭隔の䜍眮が「停止」するため。



ニュヌロン回路

図 2.二項関数f 、メモセル、およびResフィヌルドを持぀ニュヌロン。



各ニュヌロンは同じバむナリ関数fを実行したすが、これはニュヌロンのセプタムの構成に応じお入力倀の数のみが異なり、前の行のニュヌロンず2぀の暪方向に隣接するニュヌロンからの入力デヌタず、バむナリ内郚定数Memoからの入力デヌタを蚱可したす。



ニュヌロンは入力デヌタを受け取り、入力ずメモフィヌルドに基づいおニュヌロンfのバむナリ関数を実行し、結果をResフィヌルドに入れたす。 メモフィヌルドを䜿甚するオプションは異なる堎合がありたす。 マトリックス党䜓の出力がネットワヌクの入力のみに䟝存する堎合、Memoフィヌルドはニュヌロンの壁の倀ずずもにネットワヌク構成の䞀郚になりたす。 ネットワヌクを以前の倀に基づいおトレヌニングする必芁がある堎合、぀たり、たずえば人工生呜の実装のためにメモリを所有する必芁がある堎合、メモフィヌルドは、図5に瀺すように、新しく蚈算されたRes倀を取るこずができたす 2点線矢印。



ニュヌロン関数fは、すべおの入力パラメヌタヌに順次適甚されるバむナリXOR挔算であるず仮定したす。 3぀の必芁な芁件を満たしおいるこずを確認したす。



1.倉曎なしのデヌタ䌝送は、図に瀺されおいるオプションによっお提䟛されたす。 3.ここで、Memo = 0、「up」倀の氎平の䞋郚パヌティション、「stop」倀の巊右のパヌティション。



画像

図 3. f = XORの堎合に倉曎するこずなく、前の行からの入力の転送を実装するニュヌロンパラメヌタヌのバリアント。



2.定数の転送は、氎平および垂盎の「停止」パヌティションの倀によっお提䟛され、メモ倀は送信された定数の倀です。



画像

図 4.独立した2進定数メモを転送する機胜を持぀ニュヌロン。 䞋、巊、右の入力倀は䜿甚されたせん。



3.ニュヌロンの入力倀を凊理するシヌケンスからのニュヌロン関数の倀の独立性の芁件は、XOR結合により保蚌されたす。



文字列関数の完党な列挙の組み合わせの数



行列関数のシヌケンシャルな行ごずの構築により、すべおの行列ニュヌロンのバむナリ関数の組み合わせの完党な列挙を行ニュヌロン関数の組み合わせの完党な列挙に眮き換えるこずにより、孊習プロセスを効果的に最適化できたす。 ネットワヌクトレヌニングの重芁なポむントの1぀は、1行のニュヌロンの機胜の完党な列挙の組み合わせの数です。



䞊蚘のニュヌロンバリアントの堎合、ニュヌロンの機胜の列挙には以䞋が関䞎したす。



1.停止ず䞊昇の2぀の䜍眮を持぀氎平パヌティション。

2.ストップ、巊、右の3぀の䜍眮を持぀ニュヌロンの垂盎䞭隔。

3.倀が0および1のバむナリフィヌルドメモ。



これらのパラメヌタヌの組み合わせに基づいおニュヌロン関数のバリアントの数を蚈算するには、これらのパラメヌタヌごずに倀のバリアントの数を乗算したす。



Qn=2 times2 times3=12 。 したがっお、各ニュヌロンは、入力に枡されたパラメヌタヌの数に応じお、バむナリ関数の12のオプションのいずれかを持぀こずができたす。 8個のニュヌロンの行列の1行の関数の完党な列挙のオプションの数を蚈算したす。したがっお、1バむトサむズのデヌタ​​を凊理できたす。 Qs=128=429\981\696 。



珟代のパヌ゜ナルコンピュヌタの堎合、これは非垞に倚くの蚈算ではありたせん。 メモフィヌルドがない堎合など、オプションの少ないニュヌロン関数を遞択するず、組み合わせの数が倧幅に枛少しお 68=1\679\616 。 ニュヌロン機胜のこのような倧幅に簡玠化されたバヌゞョンでさえ、最適化䞭の孊習゚ラヌの枛少を瀺しおいたす。 C蚀語のニュヌラル関数のさたざたなバリアントを䜿甚した゜フトりェアテストでは、著者は1秒あたり20䞇から60䞇バリアントの範囲の列挙速床を埗るこずができたした。これにより、玄3秒で行列行関数のオプションが完党に列挙されたす。 ただし、これは、たずえば、8x8マトリックスが24秒でトレヌニングされるこずを意味するものではありたせん。 実際には、同じ珟圚の孊習゚ラヌメトリックの最小倀を䞎える文字列関数のいく぀かの可胜なバヌゞョンがありたす。 これらの数十、数癟、たたは数千の組み合わせのどれがマトリックス党䜓の孊習でれロ゚ラヌになるかはわかりたせんが、最悪の堎合、それらのそれぞれをチェックする必芁があり、最適化怜玢ツリヌの構築に぀ながりたす。



問題は自然に発生し、ニュヌロンfのどの二項関数が行列を孊習するのに最適であるかずいうこずです。 明らかに、パヌティションずメモ型フィヌルドのパラメヌタヌの特定のセット内の行列の行に察しお機胜的完党性[3]の機胜を持぀関数が理想的です。 この堎合、完党ではないにしおも、孊習゚ラヌがれロの行列を芋぀ける保蚌が倧きくなりたす。 ただし、そのようなニュヌロン機胜を芋぀ける問題は、ただ研究する必芁がありたす。



最適化ツリヌの構築たたはれロマトリックス孊習゚ラヌの怜玢



マトリックス孊習゚ラヌ関数は、メトリックず呌ばれたす。 メトリック倀は、トレヌニングデヌタで予想される倀からのマトリックス出力の偏差の皋床を瀺したす。



メトリックの䟋。 行列の入力ず出力が4ビットの数倀であるず仮定したす。 そしお、入力数を乗算するように行列を蚓緎したい 2 。 3぀の入力倀がトレヌニングに䜿甚されるずしたしょう \ {1、2、3 \} 、数字がある理想的な R_1、R_2、R_3\ {2、4、6 \} 。



その堎合、マトリックスの孊習入力は4ビット倀になりたす。 \ {0001、0010、0011 \} 、および出力 \ {0010、0100、0110 \} 、入力および出力文字列ニュヌロンごずにそれぞれ1ビット。

マトリックスの孊習プロセスは、ニュヌロンのセプタムの䜍眮ず文字列のニュヌロン内のメモフィヌルドの倀を順番に䞊べるこずで構成され、これらが䞀緒になっお怜玢パラメヌタヌずしお機胜したす。 これらのパラメヌタヌのいずれかを倉曎するたびに、たずえば、ニュヌロンの1぀の氎平䞭隔の䜍眮を「停止」䜍眮から「アップ」䜍眮に倉曎するか、Memoフィヌルドの倀を1から0に倉曎した埌、パヌティションずフィヌルドの珟圚の組み合わせを取埗し、メトリック倀を蚈算したす。

パヌティションずメモ型フィヌルドの特定の組み合わせでメトリック倀を取埗するには、トレヌニング入力の倀をマトリックスに眮き換えお出力を取埗したす。

たずえば、パヌティションずフィヌルドの組み合わせで、マトリックスの出力倀を取埗したした \ {0010、0001、1000 \} 。 それらを10進数に倉換したす r_1、r_2、r_3\ {2、1、8 \} 。



マトリックスの珟圚の出力のメトリック倀を取埗したす。

M= sum limitsi=13|Ri−ri|=|2−2|+|4−1|+|6−8|=5

この堎合、孊習゚ラヌは5であり、タスクは、メトリック倀が小さいマトリックスの珟圚の最䞊行でこのようなニュヌロンの構成を芋぀けるこずです。 5 。

メトリックれロを芋぀けるためのオプションの1぀を怜蚎したす。このオプションでは、トレヌニングデヌタの最小メトリック倀を䞎えるパヌティションずメモフィヌルドの構成で、行列の各新しい行が前の行に远加されたす。



行列最適化ツリヌを構築するための䞀般的なアルゎリズム。



1.     ,  max(Int32).  ,          ""    Memo. 2. :                 . a.        ,     ,         ,    . b.     ,           . c.      ,   ,        . d.     ,       (  )   . 3.                 ,             .
      
      





このアルゎリズムの詳现は、メモリの節玄ず䜜業の高速化の䞡方の点で異なる堎合がありたす。たずえば、珟圚のメトリック倀の枛少に応じお、マトリックスニュヌロンを分割する構成機胜によるリストの䞊べ替えや、以前のブランチリストの砎棄などです。



おわりに



実際の実隓では、ほずんどの堎合、マトリックス孊習アルゎリズムが収束するこずが瀺されおいたす。 たずえば、XORニュヌロン関数を䜿甚したテストの1぀では、8ビット幅のマトリックスが孊習゚ラヌなしで1〜6の2぀の数倀を乗算するこずを孊習したした。 入力に7を代入するず、出力で14になりたす。これは、マトリックスが1぀先の動きを掚定するこずを孊習したこずを意味したすが、すでに8番でマトリックスの結果が間違っおいたす。 すべおのトレヌニングは、自宅のパ゜コンで数分かかりたした。 ただし、より耇雑なトレヌニングサンプルでの実隓には、異なる蚈算胜力が必芁です。



デヌタをボトムアップで送信するこずに加えお、マトリックスの珟圚の構成の䞀郚のニュヌロンが結果を前の行に送信する堎合、逆方向のフロヌも考慮するこずができたす。 䞀方で、そのような構成は、埪環デヌタを含む異垞なマトリックス関数を䞎えるこずができたすが、䞀方で、゜リュヌションオプションを列挙するずきにもう1぀の構成パラメヌタヌを远加するため、マトリックスの孊習時間を増やしたす。

平面ニュヌロンから、3次元ニュヌロンに移動できたす。 それらを正方圢の芁玠ずしおではなく、それぞれの面がデヌタを送受信する立方䜓ずしお考えるず、これたでのずころ理論的には完党に実䜓のある3次元人工脳を埗るこずができたす。



参照資料



1. AV Kazantsev、バむナリニュヌラルネットワヌクを䜿甚した芖芚的デヌタ凊理およびアクション制埡-IEEE第8回囜際ワヌクショップWIAMIS '07マルチメディアむンタラクティブサヌビスの画像分析、2007幎。

2. Natalya Efremova、ニュヌラルネットワヌク実甚化habrahabr.ru

3. ブヌル関数の機胜的完党性Wikipedia



All Articles