RNN対CNNの高レベル


53

リカレントニューラルネットワーク(RNN)とその種類、畳み込みニューラルネットワーク(CNN)とその種類について考えてきました。

これらの2つの点は言うに公平でしょうか。

  • CNNを使用して、コンポーネント(画像など)をサブコンポーネント(画像内のオブジェクトの輪郭など、画像内のオブジェクトなど)に分割します。
  • RNNを使用して、サブコンポーネントの組み合わせ(画像キャプション、テキスト生成、言語翻訳など)を作成します。

これらの記述の不正確さを指摘したい方がいれば幸いです。ここでの私の目標は、CNNとRNNの使用に関するより明確な基盤を得ることです。

回答:


42

CNNは、空間全体のパターンを認識することを学習します。ですから、あなたが言うように、CNNは画像のコンポーネント(線、曲線など)を認識し、これらのコンポーネントを組み合わせて大きな構造(顔、オブジェクトなど)を認識することを学習します。

非常に一般的な方法で、RNNは同様に時間をかけてパターンを認識することを学習すると言うことができます。そのため、テキストを翻訳するように訓練されたRNNは、「犬」の前に「ホット」という単語があれば、別の方法で翻訳する必要があることを学習する可能性があります。

ただし、2種類のNNがこれらのパターンを表すメカニズムは異なります。CNNの場合、同じものを探しています、画像のすべての異なるサブフィールドでパターンを。RNNの場合、(最も単純な場合)次のステップへの追加入力として、前のステップからの非表示レイヤーを供給しています。RNNはこのプロセスでメモリを構築しますが、CNNがスペースの異なる領域で同じパターンを探すのと同じように、異なる時間のスライスで同じパターンを探すのではありません。

また、ここで「時間」と「スペース」と言うとき、文字通りに解釈すべきではないことに注意してください。たとえば、画像キャプションのために1つの画像でRNNを実行できます。「時間」の意味は、単に画像のさまざまな部分が処理される順序です。したがって、最初に処理されたオブジェクトは、後で処理されたオブジェクトのキャプションを通知します。


3
RNNモデルの違いについては、karpathy.github.io / assets / rnn / diags.jpeg(よくコピーされたグラフィック)から直感を得ることができます。CNNは、1対1のモデルケースのみを実装するものとして、MLPおよびその他の非再帰モデルと一緒になります。
ニールスレーター

@NeilSlater この画像の元の記事さえ知っていますが、そこから有用なものを抽出することはできませんでした。画像から学んだことを詳しく説明していただけますか?
ハイエンジェル

2
@ Hi-Angel:この画像は、モデルとマッピングできるシーケンスと単一のエンティティとの関係を視覚化します。順列をすでに十分に理解している場合、そこから何も得られない可能性があります。記事に画像が表示される理由は、RNNの相対的な柔軟性を示すためです:RNNは、示されているすべての異なるタイプの問題に適用できます(たとえば、4番目の項目に一致する言語翻訳の問題で使用できます)フィードフォワードネットワークは、最初の画像に一致する問題にのみ適用されます。
ニールスレーター


23

CNNとRNNの違いは次のとおりです。

CNN:

  1. CNNは固定サイズの入力を受け取り、固定サイズの出力を生成します。

  2. CNNはフィードフォワード人工ニューラルネットワークの一種です-最小量の前処理を使用するように設計された多層パーセプトロンのバリエーションです。

  3. CNNは、そのニューロン間の接続パターンを使用して、動物の視覚皮質の組織に触発され、個々のニューロンは、視野をタイリングする重複領域に応答するように配置されます。

  4. CNNは、画像やビデオの処理に最適です。

RNN:

  1. RNNは、任意の入力/出力長を処理できます。

  2. RNNは、フィードフォワードニューラルネットワークとは異なり、内部メモリを使用して任意の入力シーケンスを処理できます。

  3. リカレントニューラルネットワークは時系列情報を使用します(つまり、最後に話した内容が次に話す内容に影響します)。

  4. RNNは、テキストおよび音声分析に最適です。



密なレイヤーのないCNNは、任意のサイズの入力を受け取ることができます。
ミカエルルソン

1

CNNはコンポーネントをサブコンポーネントに分割せず、同じパターンを見つけるために重複するサブコンポーネント(反復フィールド)の共有ウェイトを使用するため、2つのステートメントは正しくないと思います。分割統治アルゴリズムではありません。

一般的に、CNNは局所的および位置不変(それらの位置とは無関係に)特徴を抽出する傾向があり、RNNは、たとえ遠くにある場合でもディファレントパターンを見つける傾向があります。

たとえば、両方を自然言語に適用する場合、CNNはローカルおよび位置不変の特徴を抽出するのに適していますが、長距離のセマンティック依存性をキャプチャしません。ローカルのキーフレーズを考慮するだけです。

したがって、結果が文全体または長期の意味依存関係によって決定される場合、著者がNLPのタクで両方のアーキテクチュアを比較したこの論文に示すように、CNNは効果的ではありません。

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