AI資格ドリル
資格を選ぶ

G検定 大項目5 ディープラーニングの要素技術 予想問題(2/2)

第40問〜第54問を掲載しています。答えを開き、誤答選択肢との違いまで確認してください。

情報源と編集区分

公式範囲を確認し、問題文・選択肢・解説は当サイトが作成。本試験問題の複写ではありません。

試験概要(公式)
第40問 ・ 最適化と汎化

ResNetで使われる恒等写像のスキップ結合(ショートカット)の特徴として、原論文が述べているものはどれか。

  • ア恒等のスキップ結合は、追加のパラメータも計算量も増やさずに、入力を積み重ねた層の出力へ足し合わせる
  • イ飛び越える層ごとに新しい重み行列を学習するため、パラメータ数は飛び越える層の数に応じて増える
  • ウ積み重ねた層の出力を捨て、入力をそのまま次の層へ渡すことで、ブロックの学習を省略する
  • エ学習のときだけ入力を足し合わせ、推論のときには取り除いて計算量を減らす
答えと解説を見る
ア恒等のスキップ結合は、追加のパラメータも計算量も増やさずに、入力を積み重ねた層の出力へ足し合わせる正解
解説

正解は、追加のパラメータも計算量も増やさずに入力を積み重ねた層の出力へ足し合わせる、という説明。ResNetの原論文はスキップ結合(原文ではshortcut connections)を1層以上を飛び越える接続と定義し、ResNetではこれが恒等写像を行ってその出力が積み重ねた層の出力に足し合わされるとする。恒等のスキップ結合は追加のパラメータも計算量も増やさない。層は入力を参照した残差関数を学習するので、出力を捨てるのでも、学習時だけ使うのでもない。

https://arxiv.org/abs/1512.03385 (ResNet原論文 He・Zhang・Ren・Sun/大項目5 最適化と汎化)

第41問 ・ 最適化と汎化

ResNetの残差ブロックで、積層層の出力F(x)の次元と入力xの次元が異なるとき、原論文が示す対処として正しいものはどれか。ただしWsは線形射影の行列とする。

  • ア出力をF(x)+xとし、足し合わせの前にxの次元だけを切り捨てる
  • イ恒等のショートカットのかわりに、線形射影Wsxで次元を合わせてF(x)+Wsxを出力する
  • ウ出力をF(x)×Wsxとし、残差の足し算を掛け算に置き換える
  • エショートカットを取り除き、出力をF(x)だけにして残差の考え方をやめる
答えと解説を見る
イ恒等のショートカットのかわりに、線形射影Wsxで次元を合わせてF(x)+Wsxを出力する正解
解説

正解は、線形射影Wsxで次元を合わせてF(x)+Wsxを出力すること。ResNetの原論文は、目的写像をH(x)とすると積層層に残差F(x)=H(x)-xを学習させ、恒等ショートカットを通した入力xを足してF(x)+xを出力する構成を示している。入出力の次元が異なる場合は、恒等ショートカットのかわりに線形射影Wsxで次元を合わせてF(x)+Wsxとできると述べる。足し算を掛け算に変える形や、ショートカットを取り除いて残差を足し合わせない形は示されておらず、次元の切り捨ても対処としては挙げられていない。

https://arxiv.org/abs/1512.03385 (ResNet原論文 3.1節・3.2節/大項目5 最適化と汎化)

第42問 ・ 最適化と汎化

ResNetの原論文が、最大152層のネットワークについて述べている内容として、正しいものはどれか。

  • アVGGの8倍の深さでありながら計算量は低く、ILSVRC 2015の分類タスクで1位となった
  • イ層を深くしても精度は上がらないと結論づけ、100層未満の浅い構成が最適だと示した
  • ウVGGと同じ深さにそろえることで、計算量を8倍に増やしてILSVRC 2015で1位となった
  • エ残差学習を使わずに通常の積み重ねだけで152層を学習し、ILSVRC 2015で1位となった
答えと解説を見る
アVGGの8倍の深さでありながら計算量は低く、ILSVRC 2015の分類タスクで1位となった正解
解説

正解は、VGGの8倍の深さでありながら計算量は低く、ILSVRC 2015の分類タスクで1位となった、という内容。ResNetの原論文の抄録は、層を入力を参照した残差関数を学習するものとして組み替える残差学習により、非常に深いネットワークの学習を容易にすると述べる。最大152層はVGGの8倍の深さでありながら計算量は低く、ImageNetテストセットの誤差3.57%を達成し、ILSVRC 2015の分類タスクで1位となった。残差学習は最適化しやすく、深さを大きく増やしても精度が上がると示されている。

https://arxiv.org/abs/1512.03385 (ResNet原論文の抄録/大項目5 最適化と汎化)

第43問 ・ 畳み込みニューラルネットワーク

入力が227×227×3の画像で、フィルタの大きさ11×11、ストライド4、パディング0、フィルタ数96の畳み込み層を1つ通したとき、出力の大きさ(幅×高さ×奥行き)として正しいものはどれか。

  • ア56×56×96
  • イ55×55×96
  • ウ55×55×3
  • エ227×227×96
答えと解説を見る
イ55×55×96正解
解説

正解は55×55×96。畳み込み層の出力の幅は、入力の幅をW1、フィルタの大きさをF、ストライドをS、ゼロパディングをPとして(W1-F+2P)/S+1で求める。W1=227、F=11、S=4、P=0を当てはめると(227-11+0)/4+1=55になり、高さも同じ計算で55になる。奥行きは使うフィルタの数に等しいので96である。Stanford CS231nは、AlexNetの最初の畳み込み層をこの条件の例として挙げ、出力を[55×55×96]とする。奥行きが入力のチャネル数の3のままになることはなく、パディングなしのため入力と同じ227にもならない。

Stanford CS231n 畳み込みニューラルネットワーク/大項目5 畳み込みニューラルネットワーク

第44問 ・ 畳み込みニューラルネットワーク

AlexNetの最初の畳み込み層(入力227×227×3、フィルタの大きさ11×11、フィルタ数96)で、同じフィルタの重みを画像上のすべての位置で共有するとき、重みの数(バイアスを除く)はいくつか。

  • ア363
  • イ105,705,600
  • ウ290,400
  • エ34,848
答えと解説を見る
エ34,848正解
解説

正解は34,848。パラメータ共有のもとでは、1つのフィルタが持つ重みは(フィルタの高さ×幅×入力の奥行き)個で、ここでは11×11×3=363個になる。これに使うフィルタの数96を掛けると96×363=34,848個になり、バイアスは別に96個で、合計は34,944個になる。Stanford CS231nは、共有をしない場合は55×55×96=290,400個のニューロンがそれぞれ363個の重みと1個のバイアスを持つので合計105,705,600個になると説明する。位置ごとに重みを共有することで、同じ層のパラメータ数が大きく減る。

Stanford CS231n 畳み込みニューラルネットワーク/大項目5 畳み込みニューラルネットワーク

第45問 ・ 畳み込みニューラルネットワーク

入力が32×32×3の画像に、大きさ3×3のフィルタを12個、ストライド1、パディング1で適用する畳み込み層の出力の形(高さ×幅×奥行き)はどれか。

  • ア30×30×12
  • イ32×32×12
  • ウ32×32×3
  • エ16×16×12
答えと解説を見る
イ32×32×12正解
解説

正解は32×32×12。出力の幅は(入力の幅−フィルタの大きさ+2×パディング)÷ストライド+1で求める。(32−3+2×1)÷1+1=32となり、高さも同じく32になる。奥行きは使ったフィルタの数に等しく12になる。Stanford CS231nも、F=3・S=1のときパディングをP=(F−1)/2=1にすると入力と出力の幅・高さが等しくなると説明する。式のうちパディングの項(2×P)は、フィルタが端の画素に当たるときに入力の外側を補う分を表す。パディングを使うと、層を重ねても画像の端の情報が失われにくく、大きさを保ったまま特徴を取り出せる。

Stanford CS231n 畳み込みニューラルネットワーク(https://cs231n.github.io/convolutional-networks/ 2026-10-23確認)/大項目5 畳み込みニューラルネットワーク

第46問 ・ 畳み込みニューラルネットワーク

入力が32×32×3の画像に、大きさ3×3のフィルタを12個使う畳み込み層で、フィルタの重みをすべての位置で共有するとき、重みの数(バイアスを除く)はいくつか。

  • ア27
  • イ37,748,736
  • ウ324
  • エ12
答えと解説を見る
ウ324正解
解説

正解は324。パラメータを共有する畳み込み層では、1つのフィルタが持つ重みは(高さ×幅×入力の奥行き)個で、ここでは3×3×3=27個になる。これにフィルタ数12を掛けた324個が重みの数で、バイアスは別にフィルタごとに1個、合計12個で、全体は336個になる。比べると、入力のすべての値を出力の32×32×12=12,288個のすべてへつなぐ全結合なら、重みは3,072×12,288=37,748,736個になり、畳み込みの共有で大きく減ることが分かる。

Stanford CS231n 畳み込みニューラルネットワーク(https://cs231n.github.io/convolutional-networks/ 2026-10-23確認)/大項目5 畳み込みニューラルネットワーク

第47問 ・ 畳み込みニューラルネットワーク

入力の幅が7、フィルタの大きさが3、パディングが0、ストライドが2の畳み込みで、出力の幅はいくつか。

  • ア5
  • イ4
  • ウ3
  • エ2
答えと解説を見る
ウ3正解
解説

正解は3。出力の幅は(入力の幅−フィルタの大きさ+2×パディング)÷ストライド+1で求める。(7−3+0)÷2+1=3となる。同じ入力でストライドを1にすると5、3にすると(7−3)÷3が割り切れず、Stanford CS231nの説明では設定として成り立たない。解くときは、式の分子(入力の幅−フィルタの大きさ+2×パディング)を先に計算し、ストライドで割ってから最後に1を足す。この順を守れば、ストライドやパディングを変えた問題でも同じ手順で求められる。

Stanford CS231n 畳み込みニューラルネットワーク(https://cs231n.github.io/convolutional-networks/ 2026-10-23確認)/大項目5 畳み込みニューラルネットワーク

第48問 ・ 畳み込みニューラルネットワーク

Stanford CS231nの出力の幅の式で、入力の幅10、フィルタの大きさ3、パディング0、ストライド2を当てはめたときの扱いとして、正しいものはどれか。

  • ア4.5になり、割り切れないため設定として成り立たない
  • イ4になり、そのまま使える
  • ウ5になり、そのまま使える
  • エ3になり、そのまま使える
答えと解説を見る
ア4.5になり、割り切れないため設定として成り立たない正解
解説

正解は、4.5になり割り切れないため設定として成り立たない、である。出力の幅は(入力の幅−フィルタの大きさ+2×パディング)÷ストライド+1で、(10−3+0)÷2+1=4.5になる。フィルタを置ける位置の数は整数でなければならないので、CS231nはこの設定を不適切とする。この場合はストライドかパディングを変えて割り切れるようにする。式の結果が整数になるかを確かめることが、畳み込み層の設計の第一歩になる。ストライドを1にすれば(10−3+0)÷1+1=8となり、この入力でも整数の出力の幅が得られる。

Stanford CS231n 畳み込みニューラルネットワーク(https://cs231n.github.io/convolutional-networks/ 2026-10-23確認)/大項目5 畳み込みニューラルネットワーク

第49問 ・ 畳み込みニューラルネットワーク

畳み込みニューラルネットワークで、2×2の領域から最大値を取り、ストライド2で適用するプーリング層は、入力の活性化のうちどれだけを捨てるか。

  • ア25%
  • イ50%
  • ウ0%
  • エ75%
答えと解説を見る
エ75%正解
解説

正解は75%。2×2の4つの値から最大の1つだけを残すので、残るのは4分の1で、4分の3(75%)が捨てられる。Stanford CS231nは、最も一般的なこの設定で活性化の75%を捨てると説明する。幅と高さはそれぞれ半分になり、たとえば[32×32×12]は[16×16×12]に縮む。奥行きは変わらない。プーリング層を入れると、後ろの層が扱う値の数が減るので、パラメータと計算量が減る。また、対象の位置が少しずれても最大値が変わりにくいため、位置のずれに強い特徴になる。

Stanford CS231n 畳み込みニューラルネットワーク(https://cs231n.github.io/convolutional-networks/ 2026-10-23確認)/大項目5 畳み込みニューラルネットワーク

第50問 ・ 畳み込みニューラルネットワーク

畳み込みニューラルネットワークのプーリング層の説明として、Stanford CS231nの記述に合うものはどれか。

  • ア各奥行きの断面ごとに独立して空間の大きさを縮める固定の関数で、学習するパラメータを持たない
  • イ学習するフィルタの重みを持ち、出力の奥行きを増やす
  • ウ入力のすべての値を出力のすべての値へつなぎ、クラスごとの得点を出す
  • エ入力の周囲に0を足して、幅と高さを大きくする
答えと解説を見る
ア各奥行きの断面ごとに独立して空間の大きさを縮める固定の関数で、学習するパラメータを持たない正解
解説

正解は、各奥行きの断面ごとに独立して空間の大きさを縮める固定の関数で、学習するパラメータを持たない、である。Stanford CS231nは、プーリング層が空間の大きさを縮めてパラメータと計算量を減らし、過学習を抑える役割を持つと説明する。奥行きは変わらず、パラメータは持たない。また、プーリング層ではゼロパディングを通常は使わない。畳み込み層と比べると、畳み込み層は学習するフィルタの重みを持ち、奥行きがフィルタ数で決まるのに対して、プーリング層は学習せず奥行きを変えない。この違いで2つの層の役割を区別できる。

Stanford CS231n 畳み込みニューラルネットワーク(https://cs231n.github.io/convolutional-networks/ 2026-10-23確認)/大項目5 畳み込みニューラルネットワーク

第51問 ・ 再帰型ニューラルネットワーク

PyTorch公式ドキュメントのGRUの定義で、LSTMと比べて異なる点として正しいものはどれか。

  • ア入力ゲート・忘却ゲート・出力ゲートの3つを使う
  • イゲートを使わず、隠れ状態を毎回そのまま置き換える
  • ウLSTMと同じく、隠れ状態とは別にセル状態を持つ
  • エセル状態を持たず、リセットゲート・更新ゲート・新ゲートを使って隠れ状態を更新する
答えと解説を見る
エセル状態を持たず、リセットゲート・更新ゲート・新ゲートを使って隠れ状態を更新する正解
解説

正解は、セル状態を持たず、リセットゲート・更新ゲート・新ゲートを使って隠れ状態を更新する、である。PyTorch公式ドキュメントのGRUは、h_t=(1−z_t)⊙n_t+z_t⊙h_(t−1)で隠れ状態を更新すると定義し、セル状態は持たない。これに対してLSTMは、隠れ状態h_tとは別にセル状態c_tを持ち、入力・忘却・セル・出力の4つの量を計算する。GRUはゲートを2つに絞り、セル状態を持たない分だけ、LSTMよりパラメータが少なく計算量も小さくなる。入力が3、隠れ状態が2の設定では、重みの組の数はRNNが1、GRUが3、LSTMが4である。

PyTorch公式ドキュメント torch.nn.GRU(https://docs.pytorch.org/docs/stable/generated/torch.nn.GRU.html) (2026-10-23確認)/大項目5 再帰型ニューラルネットワーク

第52問 ・ 再帰型ニューラルネットワーク

PyTorch公式ドキュメントのLSTMの定義で、セル状態の更新式 c_t = f_t⊙c_(t−1) + i_t⊙g_t のうち、f_t(忘却ゲート)が担う働きとして正しいものはどれか。

  • ア現在の入力から作った新しい候補g_tを、どれだけ加えるかを決める
  • イ前の時刻のセル状態c_(t−1)を、どれだけ残すかを決める
  • ウセル状態から隠れ状態h_tへ、どれだけ出力するかを決める
  • エ入力x_tを、次の時刻の入力へそのまま渡す
答えと解説を見る
イ前の時刻のセル状態c_(t−1)を、どれだけ残すかを決める正解
解説

正解は、前の時刻のセル状態c_(t−1)をどれだけ残すかを決める、である。PyTorch公式ドキュメントは、LSTMのセル状態をc_t=f_t⊙c_(t−1)+i_t⊙g_tと定義する。忘却ゲートf_tはシグモイド関数で0〜1の値を作り、前のセル状態に要素ごとに掛けるので、1に近いほど過去の情報が残り、0に近いほど忘れる。新しい候補g_tを加える量を決めるのは入力ゲートi_tで、隠れ状態への出力量を決めるのは出力ゲートo_tである。たとえば忘却ゲートの値が0.9で入力ゲートの値が0なら、10ステップ後にセル状態は0.9の10乗=約0.35倍まで減るだけで済み、通常のRNNで重み0.8を繰り返し掛ける場合の約0.11倍より情報が残りやすい。

PyTorch公式ドキュメント torch.nn.LSTM(https://docs.pytorch.org/docs/stable/generated/torch.nn.LSTM.html) (2026-10-23確認)/大項目5 再帰型ニューラルネットワーク

第53問 ・ 再帰型ニューラルネットワーク

PyTorchのtorch.nn.RNN(Elman RNN)が各層で計算する式 h_t = f(x_t W_ih^T + b_ih + h_(t−1) W_hh^T + b_hh) の活性化関数fについて、正しいものはどれか。

  • アtanhを使い、nonlinearityにreluを指定するとReLUに置き換えられる
  • イシグモイド関数に固定されていて、変更できない
  • ウソフトマックス関数を使い、出力を確率にする
  • エ活性化関数は使わず、線形結合の値をそのまま隠れ状態にする
答えと解説を見る
アtanhを使い、nonlinearityにreluを指定するとReLUに置き換えられる正解
解説

正解は、tanhを使い、nonlinearityにreluを指定するとReLUに置き換えられる、である。PyTorch公式ドキュメントのtorch.nn.RNNは、各層がh_t=tanh(x_t W_ih^T + b_ih + h_(t−1) W_hh^T + b_hh)を計算すると定義し、nonlinearityにreluを指定するとtanhの代わりにReLUを使う。式の通り、現在の入力x_tと前の時刻の隠れ状態h_(t−1)を線形結合してから活性化関数を通す。

PyTorch公式ドキュメント torch.nn.RNN(https://docs.pytorch.org/docs/stable/generated/torch.nn.RNN.html) (2026-10-23確認)/大項目5 再帰型ニューラルネットワーク

第54問 ・ 最適化と汎化

クラスの不均衡に対処するため、imbalanced-learnで、少数派のクラスのサンプルを復元抽出で無作為に選んで増やし、元のサンプルを複製する最も素朴な方法はどれか。

  • アSMOTE
  • イADASYN
  • ウRandomOverSampler
  • エランダムなアンダーサンプリング
答えと解説を見る
ウRandomOverSampler正解
解説

正解はRandomOverSampler。imbalanced-learn公式ドキュメントは、少数派のクラスのサンプルを復元抽出で無作為に選んで増やす最も素朴な方法として、元の少数派サンプルを複製するRandomOverSamplerを挙げる。SMOTEとADASYNは近傍のサンプルの補間で新しい合成サンプルを作る方法で、複製ではない。ランダムなアンダーサンプリングは、少数派以外のクラスのサンプルを無作為に取り除く方法である。不均衡の度合いが大きいほど、ロジスティック回帰の決定関数は多数派のクラスに寄りやすくなる。そのため、学習の前に少数派を増やす、または多数派を減らすことで、クラスの数の差を小さくする。

imbalanced-learn公式ドキュメント Over-sampling(2026-10-18確認)/大項目5 最適化と汎化

執筆: AI資格ドリル編集部(運営者情報を見る)

章別問題ページ