スパイキングニューラルネットワークとディープラーニングの主な違いは何ですか


7

人工ニューラルネットワークで最も人気のある分野の1つであるディープラーニングは、データセットの精度の点で大きな期待を示しています。スパイキングニューラルネットワークと比較してどうですか。最近クアルコムがSNNでその0番目のプロセッサを発表したので、代わりにディープラーニングを使用する場合に違いがあるかどうか考えていました。


3
私はAIの専門家ではありませんが、この質問には「このアップルパイは結構です。代わりに梨を使用した場合の主な違いは何ですか?」という感じがします。
ラファエル

2
ここで質問する前に、いくつかの調査を行い、自分で質問に答えてみることが求められます。何を見た?ディープラーニングと比較したいSNNの特定の側面はありますか、それとも@Raphaelでパイを焼きますか?:-)
David Richerby 14

ディープラーニングの主なポイントは、時間の長さとニューロン数です。異なるニューラルネットアーキテクチャを使用できます。深層学習に使用されるSNNについてはまだ聞いたことがありませんが、原理的には誰かによってテストされる可能性があるようです。一部のニューラルアルゴリズムがディープラーニング用に他のニューラルアルゴリズムよりも優れているように見える理由は、まだ実際にはわかっていません。「実際には、スパイクニューラルネットワークの理論上のパワーと実証されたものとの間には大きな違いがあります。それらは神経科学では有用ですが、(まだ)エンジニアリングでは有用ではないことが証明されています。」
vzn 2014

ニューラルエンジニアリングフレームワークを使用して構築された@vzn SNNは、アームクワドロコプター制御などのさまざまなエンジニアリングアプリケーションに適用されています。
Seanny123 2016年

回答:


11

簡潔な答え:

厳密に言うと、「ディープ」と「スパイク」はニューラルネットワークの2つの異なる側面を指します。「スパイク」は個々のニューロンの活性化を指し、「ディープ」はネットワークアーキテクチャ全体を指します。したがって、原理的には、スパイクの深いニューラルネットワークについては矛盾がありません(実際、脳は間違いなくそのようなシステムです)。

ただし、実際には、DLとSNNへの現在のアプローチは一緒にうまく機能しません。具体的には、現在実践されているディープラーニングは通常、微分可能なアクティベーション関数に依存しているため、個別のスパイクトレインを適切に処理できません。

詳細:

実際のニューロンは、電圧の離散的なスパイクを介して通信します。ハードウェアを構築する場合、スパイクは電力消費にいくつかの利点があり、データパケット(アドレスイベント表現(AER))のようなスパイクをルーティングして、脳にある接続をエミュレートできます。ただし、スパイクはノイズの多いプロセスです。通常、単一のスパイクはそれほど意味がありません。そのため、ソフトウェアでは、スパイクの詳細を抽象化し、単一のスカラースパイク率をモデル化するのが一般的です。これにより、特に生物学的モデリングではなく機械学習が目標である場合、多くのことが簡素化されます。

ディープラーニングの重要なアイデアは、ニューロンの複数の層を持ち、各層が前の層に基づいてますます複雑な機能を学習することです。たとえば、ビジョン設定では、最下位レベルは線やエッジなどの単純なパターンを学習し、次のレイヤーは線やエッジ(コーナーやカーブ)の構成を学習し、次のレイヤーは単純な形状を学習します。 。上位レベルは、複雑なカテゴリ(人、猫、車)または特定のインスタンス(上司、猫、バットモービル)さえ学習します。この利点の1つは、最下位レベルの機能が多くの状況に適用できるほど一般的であり、上位レベルが非常に具体的になる可能性があることです。

スパイキングネットワークをトレーニングする正規の方法は、スパイクタイミング依存可塑性(STDP)の一種であり、相関アクティビティに基づいて接続をローカルに強化します。ディープニューラルネットワークをトレーニングする正規の方法は、ネットワークのグローバルな動作に基づいてすべての重みを調整する、何らかの形の勾配降下の逆伝播です。勾配降下には、微分不可能な活性化関数(離散確率スパイクなど)に問題があります。

学習に関心がない場合は、アプローチを組み合わせる方が簡単です。おそらく、事前トレーニング済みのディープネットワークを使用して、フィードフォワード部分(追加学習なし)をスパイクニューラルネット(おそらくチップに配置する)として実装できます。結果として得られるチップは、新しいデータから学習することはありませんが、元のネットワークが行うように訓練された機能を実装する必要があります。


1
私は最近、ほんの数十の画像でトレーニングされ、サンプルサイズが小さいため驚くほど正確なSNNに関するプレゼンテーションを見ました。そのような利点が与えられた場合、人々はSNNでディープラーニングのようなことをする方法に取り組んでいますか?この最近のペーパーarxiv.org/abs/1407.7906「オートエンコーダーがターゲット伝播を介してディープネットワークにクレジット割り当てを提供する方法」で説明されているアプローチは、SNNでディープラーニングを実行することを現実的にしますか(逆伝播に依存しないため) )?
Jason Livesay 2014

5

私が知っていることをSNNSの最大の用途はあるSpaunそのニューラルネットワーク使用して構築された、神経工学の枠組みNengoの神経シミュレータを

SNNとディープラーニングの違いは、特にスペインでは、灰色の領域です。Spaunは、数字認識用のビジョンシステムで修正されたディープラーニング技術を使用しています。基本的に、それは憲法ニューラルネットワークのスパイクバージョンを使用します。

最近では、ディープラーニングアプローチをスパイクニューロンに変換してニューロモーフィックハードウェアで使用するための同じ手法(SpinnakerBrainstormなどのレイテンシを短縮し、電力効率を向上させる)が畳み込みニューラルネットワークに適用されています。

違いは、ここで説明したもの(SNNがトレーニングなしで動的システムやその他の非線形関数を近似する方法など)よりもはるかに深くなりますが、残念ながらそれらを要約する簡単な方法はありません。詳細が必要な場合は、SNNが人工知能を作成するためにどのように使用されているかについての概要について、Chris Eliasmithの「How to Build a Brain」をチェックしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.