出題範囲(21分野)
- AI)入力層と出力層86問
- AI)重み80問
- AI)行列の掛け算90問
- AI)順伝播の計算88問
- AI)バイアス項の導入75問
- AI)sigmoid関数90問
- AI)正解値の導入90問
- AI)二乗和誤差70問
- AI)誤差の微分79問
- AI)誤差逆伝播法80問
- AI)連鎖律75問
- AI)偏微分84問
- AI)アダマール積75問
- プログラミング)Numpy90問
- プログラミング)Pandas90問
- プログラミング)Matplotlib89問
- プログラミング)Seaborn89問
- プログラミング)Scikit-learn90問
- 数学)集合と確率 -和集合と共通部分 -絶対補と相対補 -ベイズ確率-条件付き確率90問
- 数学)数列と行列 -ニューラルネットワークの基本的なネットワークの記載に必要な数式の読解力を問う65問
- 数学)関数と微分 -ニューラルネットワークの連鎖率で使われる数式の読解力を問う79問
AI実装検定A級の例題(6問・解説つき)
スキルサートのAIが出題範囲に沿って作成した演習問題です(過去問ではありません)。アプリでは毎週新しい問題が追加されます。
例題1AI)入力層と出力層
10種類の動物を分類する多クラス分類モデルを構築する場合、出力層の構成として最も適切なものはどれか。
- 10個のユニットを用い、活性化関数にソフトマックス関数を使用する
- 1個のユニットを用い、活性化関数に恒等関数を使用する
- 1個のユニットを用い、活性化関数にシグモイド関数を使用する
- 10個のユニットを用い、活性化関数にハイパボリックタンジェント関数を使用する
- 10個のユニットを用い、活性化関数にReLU関数を使用する
解答と解説を見る
正解: 10個のユニットを用い、活性化関数にソフトマックス関数を使用する
正解は「10個のユニットを用い、活性化関数にソフトマックス関数を使用する」です。多クラス分類では、各クラスに対応するユニットを用意し、それらの出力の総和が1になるように正規化する必要があります。ソフトマックス関数は、各ユニットの出力を0から1の範囲に収めつつ、合計を1にする特性を持つため、多クラス分類の確率表現に最適です。シグモイド関数は主に二値分類で、ReLUやハイパボリックタンジェントは主に中間層で利用されます。
例題2AI)重み
ニューラルネットワークにおける「重み(Weight)」の更新と性質に関する記述として、最も不適切なものはどれか。
- 重みはモデルの外部から設計者が手動で固定値を設定するハイパーパラメータであり、学習プロセスを通じてその値が変化することはない。
- L2正則化は「荷重減衰(Weight Decay)」とも呼ばれ、重みの二乗和を損失関数に加えることで、過度に大きな重みを持つのを抑制する手法である。
- 重みの初期値がすべて同じ値(例えば0)に設定されると、各ユニットが同じ勾配で更新されてしまい、モデルの表現力が大きく制限される。
- 畳み込みニューラルネットワーク(CNN)におけるカーネルの各要素は、画像の特徴を抽出するための学習可能な重みとして機能する。
- 誤差逆伝播法において、特定の重みに関する損失関数の勾配が求められ、それに基づき重みが更新される。
解答と解説を見る
正解: 重みはモデルの外部から設計者が手動で固定値を設定するハイパーパラメータであり、学習プロセスを通じてその値が変化することはない。
正解は「重みはモデルの外部から設計者が手動で固定値を設定するハイパーパラメータであり、学習プロセスを通じてその値が変化することはない。」です。重みは、訓練データを通じてモデルが自律的に最適化していく「内部パラメータ」であり、学習によって逐次更新されます。一方、学習率やバッチサイズ、層の数などは設計者が手動で設定する「ハイパーパラメータ」と呼ばれ、これらは通常、学習プロセス自体によって値が更新されることはありません。重みの更新は誤差逆伝播法と最適化アルゴリズム(SGDやAdamなど)を組み合わせて行われ、損失関数の値を最小化するように調整されます。初期値の設定も重要で、すべての重みを同じ値にすると学習が進まなくなる対称性の問題が発生します。
例題3AI)行列の掛け算
行列 $A$ が $(l \times m)$ 行列、行列 $B$ が $(m \times n)$ 行列であるとき、積 $AB$ の形状として正しいものはどれか。
- $(m \times m)$ 行列
- $(l \times n)$ 行列
- $(l \times m)$ 行列
- $(n \times m)$ 行列
- $(n \times l)$ 行列
解答と解説を見る
正解: $(l \times n)$ 行列
行列の積 $AB$ が定義されるための必須条件は、左側の行列 $A$ の列数と右側の行列 $B$ の行数が一致していることです。本問では $A$ の列数と $B$ の行数がともに $m$ であるため、計算が可能です。計算の結果得られる行列のサイズは、左側の行列の行数と右側の行列の列数を引き継ぐという性質があります。したがって、行数は $l$、列数は $n$ となり、結果は $(l \times n)$ の行列となります。これは行列演算の基礎的なルールであり、ニューラルネットワークの各層における次元設計でも極めて重要です。正解は「$(l \times n)$ 行列」です。
例題4AI)順伝播の計算
入力ベクトルを $x = [2, -1]$、重み行列を $W = \begin{pmatrix} 0.5 & 0.8 \\ -0.4 & 0.3 \end{pmatrix}$、バイアスを $b = [0.1, -0.2]$ としたとき、活性化関数を適用する前の第1層の出力(加重和)を求めなさい。
- [0.2, -1.0]
- [1.8, -1.1]
- [1.1, -1.3]
- [0.1, -0.5]
- [0.3, -1.3]
解答と解説を見る
正解: [0.3, -1.3]
正解は「[0.3, -1.3]」です。順伝播における加重和の計算式 $z = Wx + b$ に基づいて計算を行います。まず第1要素は $(0.5 \times 2) + (0.8 \times -1) + 0.1 = 1.0 - 0.8 + 0.1 = 0.3$ となります。次に第2要素は $(-0.4 \times 2) + (0.3 \times -1) + (-0.2) = -0.8 - 0.3 - 0.2 = -1.3$ となります。これらをまとめると $[0.3, -1.3]$ というベクトルが得られます。行列の積とベクトルの加算という基本演算の習熟が必要です。
例題5AI)バイアス項の導入
ニューラルネットワークにおいて、バイアス項を導入する理由として最も適切なものはどれか。
- 学習率の減衰を自動的に調整し、収束を早めるため。
- 活性化関数の出力を0から1の範囲に正規化するため。
- 損失関数の局所解を回避するためのノイズとして機能させるため。
- 入力データの次元を圧縮し、過学習を抑制するため。
- 決定境界を原点から離れた位置へ平行移動可能にするため。
解答と解説を見る
正解: 決定境界を原点から離れた位置へ平行移動可能にするため。
正解は「決定境界を原点から離れた位置へ平行移動可能にするため。」です。ニューラルネットワークでバイアス項がない場合、決定境界(あるいは回帰直線)は必ず原点を通ることになります。これではデータの分布が原点を通らない場合に適切に学習できず、モデルの表現能力が著しく制限されます。バイアスを加えることで、入力が0であっても出力をオフセットさせることができ、空間内を自由に移動できる境界を構成できます。
例題6AI)sigmoid関数
標準的なシグモイド関数 σ(x) = 1 / (1 + exp(-x)) の出力値(値域)として適切なものはどれか。
- 0より大きく1より小さい
- 0以上1以下
- -1より大きく1より小さい
- 0より大きいすべての実数
- -1以上1以下
解答と解説を見る
正解: 0より大きく1より小さい
正解は「0より大きく1より小さい」です。シグモイド関数の定義式において、指数部分の exp(-x) は常に正の値をとるため、分母である 1 + exp(-x) は常に1より大きい値となります。x が負の無限大に向かうとき分母は無限に大きくなり出力は 0 に近づきます。一方、x が正の無限大に向かうとき exp(-x) は 0 に近づき、出力は 1 に近づきます。しかし、数学的に出力が完全に 0 や 1 になることはないため、0 < y < 1 の範囲となります。
AI実装検定A級の重要用語
- 入力層
- ニューラルネットワークの最初の階層であり、外部からデータを受け取る役割を担います。入力データの次元数、すなわち特徴量の数に合わせてユニット数が決定されます。この層では重み計算などの演算は行われず、受け取った数値をそのまま次の中間層へと受け渡します。データの適切な前処理やスケーリングが行われていることが、モデルの学習の安定性に直結します。
- 重み
- ニューラルネットワークにおいて、入力信号の重要度を調整するパラメータです。各入力値に掛け合わせることで、出力への影響度を決定します。学習プロセスを通じて、損失関数の値を最小化するように最適化されます。重みが大きいほどその入力は出力に強く影響し、逆に0に近いほどその入力の影響力は小さくなります。
- 内積
- 2つのベクトルの対応する要素同士を掛け合わせ、その合計を求める演算のことです。行列の掛け算は、左側の行列の行ベクトルと右側の行列の列ベクトルの内積を計算することで構成されます。ディープラーニングにおける重みと入力の計算の基本となる概念であり、計算の結果として一つのスカラー値を返すのが特徴です。
- 順伝播
- 入力層から出力層に向けて、各層の計算を順番に行い予測値を算出するプロセスのこと。入力データに重みを掛け合わせ、バイアスを足し、活性化関数を通すという一連の流れを繰り返す。モデルが現在のパラメータを用いてどのような予測を下すかを決定する、ニューラルネットワークの最も基本的な動作であり、推論フェーズの核となる計算である。
- バイアス項
- ニューラルネットワークの各層において、入力値と重みの積の総和に加算される定数値のことです。数学的には直線の「切片」に相当し、モデルの表現力を向上させる役割を持ちます。バイアスがあることで、決定境界を原点から自由に移動させることが可能になり、複雑なデータの分布に対して柔軟に適合できるようになります。
- シグモイド関数
- 任意の数値を0から1の範囲に変換するS字型の関数です。数式はf(x) = 1 / (1 + exp(-x))で表されます。ニューラルネットワークの黎明期から活性化関数として広く利用されており、特に出力が確率として解釈できるため、二値分類問題の出力層でよく用いられます。なめらかな曲線で全域において微分可能であるという特徴があります。
- 正解値
- 機械学習モデルが予測すべき目標となる値のことです。教師あり学習において、入力データに対してペアとなる「正しい答え」を指します。モデルはこの正解値と自身の予測値を比較し、その誤差を最小化するように学習を進めます。画像認識であれば「犬」や「猫」といったラベル、回帰問題であれば具体的な数値が正解値となり、学習の基準として機能します。
- 二乗和誤差 (Sum of Squared Errors)
- ニューラルネットワークの出力値と正解値の差(残差)を二乗し、全データ分を合計した指標です。主に回帰問題の損失関数として利用されます。二乗することで誤差が常に正の値となり、正負の相殺を防ぐとともに、大きな誤差に対してより大きなペナルティを与える特性があります。学習の過程でこの値を最小化するように重みやバイアスを調整します。
よくある質問
- AI実装検定A級の問題はスキルサートで何問解けますか?
- 全1,744問・21分野の問題を用意しています。問題は出題範囲に沿って随時追加しています。
- 無料で使えますか?
- 無料プランで週10回の演習(1回10問)と、毎日の「今日の1問」を利用できます。解説を読み、わからない点はAIに質問できます。
- ここの問題は過去問ですか?
- 過去問ではありません。出題範囲に沿ってAIが作成した演習問題です。すべて解説つきで、間違えた問題は繰り返し解けます。
AI実装検定A級の対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。