E資格(エンジニア資格) 問題集

JDLA E資格(エンジニア資格)対策公式シラバス2026 第1.0版(2025年10月14日)準拠

E資格(エンジニア資格)の日本語問題集。全180問に解説つき。模擬試験は100問・120分です。

試験の概要(問題数・試験時間・出題範囲と配点)を見る

E資格(エンジニア資格) 無料問題 4 / 10 ・ 分野3: 深層学習の基礎

次のコードを実行したときの表示はどれか。 import torch, torch.nn as nn logits = torch.tensor([[1., 3., 0.]]) target = torch.tensor([1]) print(round(nn.CrossEntropyLoss()(logits, target).item(), 2))

  1. 2.17
  2. 0.66
  3. 0.17
  4. 0.84
正解と解説を見る

正解: C

正解の理由
nn.CrossEntropyLoss は正規化していないロジットを受け取り、内部で log-softmax と負の対数尤度を計算する。softmax(1, 3, 0) の正解クラス(1番)の確率は e³/(e¹+e³+e⁰) ≒ 0.844 で、損失は −log 0.844 ≒ 0.17 になる。

違う選択肢
「0.66」… ソフトマックスを通した確率 (0.11, 0.84, 0.04) をさらに CrossEntropyLoss に渡した(二重にソフトマックスを掛けた)ときの値 ≒ 0.66 である。このコードはロジットを直接渡しているので、起こらない。
「0.84」… 正解クラスの確率 ≒ 0.84 そのものである。損失はこの確率の負の対数 −log 0.84 ≒ 0.17 である。
「2.17」… 正解を 0 番と取り違えた −log(0.114) ≒ 2.17 である。正解のラベルは target = 1 で、1 番のクラスの確率で損失を計算する。

押さえどころ
CrossEntropyLoss にソフトマックスを重ねて渡す誤りは、損失が下がりにくくなる典型的なバグである。推論の確率を出したいときだけ、別に softmax を掛ける。

E資格(エンジニア資格)の演習アプリ(無料10問・全問は購入で)へ

問題集(note)を見る