AI用語集・違い比較

CNN・RNNとTransformerの違い

CNNとはRNNとはTransformerとは

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

結論

CNNは畳み込みで近くの値どうしの局所的なパターンを捉え、RNNは系列を1時刻ずつ順に処理して過去の情報を隠れ状態で受け渡します。TransformerはSelf-Attentionで系列内のすべての位置どうしの関係を直接計算するので、離れた位置の関係を捉えやすく、学習時の並列計算にも向きます。

比較表

CNN・RNNとTransformerの違いの比較表
観点 CNNRNNTransformer
中心となる仕組み 畳み込み層(小さなフィルタを位置をずらしながら掛ける)とプーリング層前の時刻の隠れ状態を次の時刻の計算に戻す再帰の経路Self-Attention(Multi-Head Attention)と位置ごとの全結合層
1層で参照する範囲 フィルタが重なる近くの範囲だけ。層を重ねて広げる現在の入力と、1つ前の時刻の隠れ状態系列内のすべての位置(デコーダのSelf-Attentionでは、後ろの位置をマスクで隠す)
向いているデータの例 画像、スペクトログラム、波形など、近くの値どうしが関係するデータセンサーの時系列、音声、文章など、並び順に意味がある系列データ文章などの系列データ。画像をパッチに分けるVision Transformerで画像にも広がった
順序・位置の扱い フィルタの重みが位置ごとに違うので、近くの値の並び方を区別できる読む順番そのものが順序の情報になるSelf-Attentionだけでは順序を区別できないため、位置エンコーディングを加える
学習時の並列計算 各位置の畳み込みを同時に計算できる前の時刻の結果を待つため、時間方向には並列化しにくい全位置をまとめて計算でき、並列化しやすい
離れた位置どうしの関係 層を重ねて受容野を広げないと捉えられない間の時刻を順に経由して伝わり、勾配消失で学習しにくい1層で直接結びつく。その代わり、計算量が系列の長さの2乗に比例する
代表的なモデル LeNet、AlexNet、VGG、ResNetエルマンネットワーク、LSTM、GRUBERT、GPT、Vision Transformer
シラバス項目 技術分野 項目18 畳み込み層技術分野 項目22 回帰結合層技術分野 項目23 Attention
G検定での問われ方 フィルタ・ストライド・パディングの役割、特徴マップの大きさの計算、向いているデータの判断隠れ状態の受け渡し、BPTT、勾配消失とLSTM・GRUによる対処位置エンコーディングが必要な理由、並列計算のしやすさ、Self-Attentionの計算量

最終確認日:2026年11月1日

それぞれの説明

CNN

CNNは、小さなフィルタを入力の上でずらしながら掛け合わせる畳み込み層を中心に組み立てたネットワークです。1回の畳み込みで見るのは、フィルタが重なる近くの範囲だけです。同じフィルタをすべての位置で使い回すので、画像のどこに写った模様でも同じように見つけられます。層を重ねるほど見る範囲が広がり、線や角から物体の部品へと、より複雑な特徴を捉えます。近くの値どうしが関係するデータなら、画像以外の波形やスペクトログラムにも使えます。

RNN

RNNは、各時刻の隠れ状態を次の時刻へ持ち越し、新しい入力と合わせて計算します。読む順番そのものが順序の情報になるため、時系列や文章のように並び順に意味があるデータを自然に扱えます。一方、前の時刻の計算が終わるまで次へ進めないので、1つの系列の中では時間方向に並列化しにくくなります。遠い過去の情報は間の時刻を順に経由して届くため、勾配消失で学習しにくいという弱点もあります。これを補うのがLSTMやGRUです。

Transformer

Transformerは、2017年の論文「Attention Is All You Need」で機械翻訳のために提案されました。RNNも畳み込みも使わず、Self-Attentionで系列内のすべての位置の組について関連度を計算します。離れた位置どうしも1層で直接結びつき、学習時には全位置をまとめて計算できます。ただし、Self-Attentionだけでは語順を区別できないので、位置エンコーディングを加えます。また、計算量が系列の長さの2乗に比例するため、長い系列では計算とメモリの負担が大きくなります。

選び方の考え方

データの種類だけで決めず、データのどんな性質を生かしたいかで考えます。局所的なパターンが重要ならCNN、データが1つずつ届いて逐次処理したいならRNN系、大量のデータで広い範囲の関係を学ばせたいならTransformerが候補になります。現在の自然言語処理ではTransformerが主流で、画像認識でもCNNに加えてVision Transformerが使われています。

見分けるコツ

  1. データのどの関係を捉えたいかで見分けます。近くの値の局所的なパターンならCNN、時刻の順に積み重なる文脈ならRNN、離れた位置も含めたすべての組の関係ならTransformerです。
  2. 前の時刻の結果を待って1時刻ずつ計算するのはRNNです。Transformerは学習時に全位置をまとめて計算します。Self-Attentionは語順を区別できないので、位置エンコーディングで順序の情報を加えます。
  3. 「画像ならCNN、文章ならRNN」は目安にすぎません。1次元の畳み込みは波形や文章にも使え、Vision Transformerは画像にも使います。選択肢は、データの種類ではなく仕組みの説明で判断します。

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. 手元にある系列データを1次元の畳み込み層で処理する場合も、RNNと同じく、前の位置の出力を計算し終えてからでないと次の位置の出力を計算できない。

    答えを見る

    答え × 誤り

    畳み込みの各出力は、フィルタが重なる範囲の入力だけから計算され、ほかの位置の出力を使いません。そのため全位置を同時に計算できます。前の時刻の結果を待つ必要があるのは、隠れ状態を受け渡すRNNです。

  2. Transformerの元の論文の比較では、系列の長さが表現の次元数より小さいとき、Self-Attention層は1層あたりの計算量がRNNの層より少ない。

    答えを見る

    答え ◯ 正しい

    系列の長さをn、次元数をdとすると、1層あたりの計算量はSelf-Attentionがn²・d、RNNがn・d²に比例します。n < dならSelf-Attentionのほうが少なく、系列の長さが次元数を上回ると逆転します。

  3. 2017年の論文で提案されたTransformerは、エンコーダで畳み込み層を使って局所的な特徴を取り出してから、Self-Attentionに渡す構造である。

    答えを見る

    答え × 誤り

    元のTransformerは、RNNも畳み込みも使わず、Attentionと位置ごとの全結合層を中心に組み立てられています。論文の題名「Attention Is All You Need」もこの方針を表しています。

関連問題

4問
  1. #0390推論時の生成手順の比較難易度 標準・単一選択未回答
  2. #0193位置エンコーディングの必要性難易度 応用・単一選択未回答
  3. #0214ViTとCNNの性質の違い難易度 標準・単一選択未回答
  4. #0195Self-Attentionの計算量難易度 標準・単一選択未回答

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術18・技術22・技術23

誤りを報告

ほかの違い比較

違い比較の一覧

表示設定

テーマ
文字の大きさ
問題演習