総合クイズ
Month 3 で学んだ深層学習の知識を総合的に確認します。10問中8問以上の正解で合格です。
Q1. 深層学習の基礎
深層学習が従来の機械学習(LightGBM等)よりも優れているタスクはどれですか?
- A: 1000行のテーブルデータによる売上予測
- B: 商品画像の自動カテゴリ分類
- C: 10個の特徴量による顧客離反予測
- D: 明確なルールに基づくデータバリデーション
正解: B
解説: 深層学習は画像・テキスト・音声などの非構造化データで従来の ML を大きく上回ります。テーブルデータの分類/回帰では勾配ブースティング(LightGBM等)が依然として強力であり、少量データやルールベースのタスクでは深層学習は必要ありません。
Q2. 活性化関数
多クラス分類の出力層に使用する活性化関数と損失関数の正しい組み合わせはどれですか?
- A: ReLU + MSE
- B: Sigmoid + Binary Cross-Entropy
- C: Softmax + Cross-Entropy
- D: Tanh + Huber Loss
正解: C
解説: 多クラス分類では Softmax で各クラスの確率を出力し(合計1)、Cross-Entropy Loss で予測と正解の差を計算します。Sigmoid + BCE は二値分類、ReLU は隠れ層用、MSE は回帰用です。
Q3. PyTorch の自動微分
以下のコードについて正しい説明はどれですか?
x = torch.tensor(3.0, requires_grad=True)
y = 2 * x ** 2 + 3 * x
y.backward()
- A:
x.gradは 6.0 - B:
x.gradは 15.0 - C:
x.gradは 21.0 - D:
x.gradは 12.0
正解: B
解説: y = 2x^2 + 3x の微分は dy/dx = 4x + 3。x = 3.0 のとき 4 * 3 + 3 = 15.0。PyTorch の autograd が自動的にこの微分を計算します。
Q4. CNN の畳み込み
畳み込み層で「重み共有」が行われることの利点はどれですか?
- A: 計算速度が低下する
- B: 同じフィルタを画像の異なる位置で再利用するため、パラメータ効率が高い
- C: 出力サイズが入力と常に同じになる
- D: 位置情報が完全に保持される
正解: B
解説: 畳み込み層では1つのフィルタを画像全体でスライドさせて適用します(重み共有)。これにより、全結合層と比べてパラメータ数が大幅に少なくなり、かつ同じパターンが画像のどこにあっても検出できます。
Q5. 転移学習
ImageNet で事前学習した CNN の浅い層を凍結する理由はどれですか?
- A: 浅い層は計算量が多いため
- B: 浅い層が学習するエッジやテクスチャは多くの画像タスクで共通しており、再学習が不要だから
- C: 浅い層のパラメータ数が多すぎるため
- D: 浅い層は学習に時間がかからないため
正解: B
解説: CNN の浅い層はエッジ、コーナー、テクスチャなどの汎用的な低レベル特徴を学習しています。これらは画像タスク全般で共通するため、再学習する必要がなく、凍結することで過学習を防ぎつつ計算コストも削減できます。
Q6. Transformer
Transformer が RNN に取って代わった最大の理由はどれですか?
- A: パラメータ数が少ないから
- B: Self-Attention による並列計算が可能で、長距離依存も直接捉えられるから
- C: CPU でも高速に動作するから
- D: 学習データが少なくても高精度だから
正解: B
解説: RNN は逐次処理のため並列化が困難で、長い系列では初期の情報が失われます。Transformer の Self-Attention はすべての位置を同時に参照でき、並列計算も可能です。これにより学習速度と性能の両方が大幅に改善されました。
Q7. BERT の Fine-tuning
BERT の Fine-tuning で推奨される学習率の範囲はどれですか?
- A: 1e-1 ~ 1e-2
- B: 1e-2 ~ 1e-3
- C: 2e-5 ~ 5e-5
- D: 1e-7 ~ 1e-8
正解: C
解説: BERT の Fine-tuning では 2e-5 ~ 5e-5 の小さい学習率が推奨されます。事前学習済みの重みを大きく壊さないよう、慎重に微調整する必要があります。大きすぎると破壊的忘却が起き、小さすぎると学習が進みません。
Q8. 正則化
以下の正則化手法のうち、Transformer で標準的に使用されるのはどれですか?
- A: BatchNorm
- B: LayerNorm
- C: GroupNorm
- D: InstanceNorm
正解: B
解説: Transformer では LayerNorm が標準的に使用されます。LayerNorm はバッチサイズに依存せず、各サンプル内の特徴量方向に正規化するため、可変長のテキスト系列処理に適しています。BatchNorm は CNN で主に使用されます。
Q9. 学習のデバッグ
学習データでは損失が下がるがテストデータでは損失が上がる場合、最も適切な対策はどれですか?
- A: 学習率を上げる
- B: モデルの層をさらに増やす
- C: Dropout の追加、データ拡張、Early Stopping を適用する
- D: バッチサイズを大きくする
正解: C
解説: 学習データで損失が下がりテストデータで上がるのは過学習の典型的な症状です。Dropout で重みの過度な依存を防ぎ、データ拡張で学習データの多様性を増やし、Early Stopping で最適なエポックで学習を停止することが有効です。
Q10. モデル選択
NetShop で以下のタスクに取り組む場合、最も適切なモデルの組み合わせはどれですか?
-
タスクA: 商品画像の10カテゴリ分類(画像3000枚)
-
タスクB: レビューの感情分析(テキスト5000件)
-
A: タスクA → BERT、タスクB → ResNet
-
B: タスクA → ResNet 転移学習、タスクB → DistilBERT Fine-tuning
-
C: タスクA → 全結合層のみ、タスクB → GPT をゼロから学習
-
D: タスクA → LightGBM、タスクB → LightGBM
正解: B
解説: 画像分類には CNN(ResNet)の転移学習が最適で、3000枚のデータでも高い精度が得られます。テキスト感情分析には BERT 系(軽量版の DistilBERT)の Fine-tuning が適しており、5000件のデータで十分な精度が期待できます。LightGBM はテーブルデータ向けで、画像やテキストには不適です。
結果
10問中の正解数を確認してください。
- 10問正解: 素晴らしい!深層学習の基礎を完全に理解しています。
- 8-9問正解: 合格です。Month 4 に進みましょう。
- 6-7問正解: あと少しです。間違えた問題の Step を復習してください。
- 5問以下: Month 3 の各 Step を再度学習してから挑戦しましょう。
合格基準: 8問以上正解(80%)
推定所要時間: 30分