ニューラルネットワークは、「はい」または「いいえ」以上の答えを提供できますか?


11

私が読んだ画像認識用のニューラルネットワークの例はすべて、単純な「はい」または「いいえ」の答えを生成します。1つの出口ノードは「はい、これは人間の顔です」に対応し、もう1つの出口ノードは「いいえ、これは人間の顔ではありません」に対応します。

これは説明を簡単にするための可能性が高いことを理解していますが、より具体的な出力を提供するために、このようなニューラルネットワークをどのようにプログラムできるか疑問に思っています。たとえば、動物を分類していたとしましょう。「動物」または「動物ではない」と言う代わりに、「犬」、「魚」、「鳥」、「蛇」などの応答が必要です。これを認識しないでください」。

これは可能であるに違いないと思いますが、その方法を理解するのに苦労しています。エラーの逆伝播のトレーニングアルゴリズムが原因であるように思われます。1つの出口ノード(つまり、「これは犬です」)をトレーニングし、ニューロンの重みが変更されると、以前に別の出口ノードの理想的な状態訓練された(つまり、「これは鳥です」)が逸脱し始め、逆もまた同様です。したがって、あるカテゴリを認識するようにネットワークをトレーニングすると、別のカテゴリに対して行われたトレーニングが妨害され、単純な「はい」または「いいえ」の設計に制限されます。

これにより、そのようなレコグナイザーは不可能になりますか?または、アルゴリズムを誤解していますか?私が考えることができるのは、次の2つだけです。

  • 分類したいものごとに1つのニューラルネットワークをトレーニングし、それらを使用して、より大きなスーパーネットワーク(たとえば、「犬」のネットワーク、「鳥」のネットワークなど)を構築します。 「動物」のスーパーネットワークを作成するために一緒に追加)。または、

  • 信じられないほど高度な数学を必要とし、すべての可能な出力(つまりinsert math magic here)に対して理想的なニューロン重量状態を何らかの形で生成する、ある種の途方もなく複雑なトレーニング方法論を作成します。

(サイドノート1:多層パーセプトロンを一種のニューラルネットワークとして具体的に見ています。)

(サイドノート2:最初の箇条書きの「可能性のある解決策」では、特定の各ニューラルネットワークを持ち、「はい」の応答を受け取るまでそれらを繰り返し処理するだけでは十分ではありません。機械学習ではなくプログラミング。情報を供給して適切な応答を受け取るために1つのニューラルネットワークを使用できるかどうかを知りたい)。

回答:


15

タイトルに答えるには、はい。ニューラルネットは、非ブール型の回答を提供できます。たとえば、ニューラルネットは、株式市場の価値を予測するために使用されてきました。これは数値的な答えであり、したがって、イエス/ノー以上のものです。ニューラルネットは手書き認識でも使用されます。この場合、出力は文字全体(アルファベット全体、数字、句読点)のいずれかになります。

あなたの例にもっと焦点を当てる-動物を認識する-私はそれが可能であると言うでしょう。これは主に、手書き認識の例の拡張です。形状の特徴を認識し、それらを「理想的な」形状と比較して、一致するものを確認しています。問題は理論的なものではなく、技術的なものです。手書きソフトウェアは、認識ソフトウェアを介して実行されると、通常、一連の直線と曲線にマップされます-すてきでシンプルです。動物の顔は認識しにくいため、目、鼻、口、大まかな頭蓋骨の輪郭などの特徴を抽出するための画像処理ロジックが必要になります。

あなたの最善の策は、おそらく適応共鳴理論のようなものを見ることです。一般的な原則は、感覚入力(この場合、相対的なサイズ、形状、およびさまざまな顔の特徴の間隔に関するメトリック)が、そのクラスを定義する「プロトタイプ」またはテンプレートと比較されることです。感覚入力と記憶されたテンプレートの差が特定のしきい値(「警戒パラメーター」で定義)を下回る場合、観察されているオブジェクトはテンプレートで表されるグループのメンバーであると想定されます。一致するものが見つからない場合、システムはそれを以前は見えなかったタイプであると宣言します。この種のネットの良い点は、オブジェクトがたとえば馬であることを認識すると、馬の認識についてさらに学習できるため、たとえば、

編集:

(完全な開示のために:私はまだプロジェクトのためにこれを自分で研究しているので、私の知識はまだ不完全で、場合によっては少し外れています。)

これは、バックプロパゲーションが1つの出力ノードの重みを設定し、以前にトレーニングした別のノードの重みをどのように損なうのでしょうか?

これまで読んだことから、ARTパラダイムはわずかに異なります。それは2つのセクションに分かれています-1つは入力を学習し、もう1つはそれらの出力を学習します。これは、一致しない入力セットに遭遇すると、コミットされていないニューロンがアクティブになり、入力に一致するように調整され、そのニューロンが次回に一致をトリガーすることを意味します。この層のニューロンは認識専用です。このレイヤーが一致を見つけると、入力はその下のレイヤーに渡されます。このレイヤーが応答を計算します。あなたの状況では、このレイヤーはおそらく非常にシンプルです。私が見ているシステムは、運転することを学んでいます。これは実際には2種類の学習です。1つはさまざまな状況で運転することを学ぶことであり、もう1つは状況を認識することを学ぶことです。例えば、

以前に学習した動作を損なわずに新しい入力を学習するというこの考え方は、安定性/可塑性のジレンマとして知られています。ネットは学習した行動を維持するために十分に安定している必要がありますが、状況が変化したときに新しいことを教えることができるように十分にプラスチックである必要があります。これはまさにARTネットが解決しようとしているものです。


すばらしい回答をありがとう!では、これは、バックプロパゲーションが出力ノードの重みを設定し、以前に訓練された別のノードの重みをどのように損なうのでしょうか?それとも私はこれについて間違った方法で考えていますか?
アステリ

@ジェフ答えに少し追加しました。それは特に詳細ではありません、私は恐れています-私はまだこれを自分で学んでいます。それでも、あなたの質問は安定性/可塑性のジレンマに関連しています。既に知っているものを認識する方法を忘れることなく、新しいものを認識するようにネットを訓練できるようにしたいという点で、適応共鳴理論はその問題を正確に解決することを目的としていますそのため、おそらく検討する価値があります。
アナキシマンダー

3

@anaximanderの答えはかなり良いです、あなたの質問のこの部分についてコメントしたいと思いました:

1つの出口ノード(つまり、「これは犬です」)をトレーニングし、ニューロンの重みが変更されると、エラーの逆伝播のトレーニングアルゴリズムが原因であるように見えます。訓練された(すなわち、「これは鳥です」)が逸脱し始め、逆もまた同様です。したがって、あるカテゴリを認識するようにネットワークをトレーニングすると、別のカテゴリに対して行われたトレーニングが妨害され、単純な「はい」または「いいえ」の設計に制限されます。

さて、ここであなたの仮定は間違っていると思います。私が正しく理解していれば、分類しようとしているカテゴリごとに1つの出力を持つNNがあります。理想的には、「犬」と「鳥」の分類が同時に発生しないように、それらをほぼ独立して動作させたいと考えています。本当に、トレーニング中に起こることは、「犬」の結果でNNをトレーニングしているときに、バックプロパゲーションが「鳥」やその他の出力ニューロンが偽陽性を生成しないようにすることです。したがって、理論的には、あなたのコメントに反して、うまく機能します。「鳥」の否定的な結果の強化は正しい。

ただし、問題はこのアプローチのスケーラビリティです。ネットワークにさらにカテゴリを追加すると、トレーニングは少なくとも線形(ただし、はるかに悪い可能性が高い)でより複雑になります。このため、多くの人々は、個々のNNがカテゴリごとにトレーニングされるアプローチを使用しています。これにより、物事が十分にシンプルで比較的スケーラブルになります。これらがどのように組み合わされるかのメタレベルはあなた次第です。単純にすべてのNNをループして、どの出力が正の出力を生成するかを確認したり、動物のタイプを絞り込もうとする中間レベルのヒューリスティックNNを作成したり、個々のNNをニューロンとして組み合わせたりすることもできます。本質的に、私が言いたいことは、あなたは問題の構造についての事前知識を持っているということです-個々の分類は互いに異なる可能性が高いです。

編集:タイトルの質問に答えるために、もちろんNNはyes / noの答え以上のものを提供できます。「標準」モデルでは、通常、各出力ニューロンはyes / noを起動します(ただし、必要に応じてこの動作を変更できます)。1ビットの情報を表します。ただし、コンピューターと同様に、ビットを組み合わせてさまざまな離散値を提供し、任意の方法で解釈することができます。非バイナリ出力のかなり視覚的な例は、通常2D出力を持つ自己組織化マップです。


ご回答有難うございます。必要な数の出力ノードを使用できることはわかっていましたが、エラーアルゴリズムのバックプロパゲーション(すべての重みを望ましい結果に調整する)の性質により、ある分類を学習すると別の分類が学習されなくなることを懸念していました。
アステリ

1

短くてあまり厳密ではない答え:はい、すべてのNNは単にyes、または以外の情報を提供できますno。これはしきい値によるものです。重みがしきい値よりも高い場合、答えは分類クラスの1つであり、低い場合、答えは2番目の分類クラスです。基本的に:

    0..threshold 
    threshold..1

ニューロンの出力は間隔[0..1](または[-1,1]に依存)にあり、出力がしきい値よりも低いか高いかどうかは知りたくないが、出力(出力は0..1間隔に簡単に変換できます。つまり、%)

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