出題範囲
- NLP)seq2seq
- NLP)Transformer
- NLP)HRED
- NLP)Word2Vec (Skip-gram)
- MODEL)VGG
- MODEL)GoogLeNet
- MODEL)ResNet/WideResNet
- MODEL)MobileNet
- MODEL)EfficientNet
- MODEL)DenseNet
例題に挑戦
スキルサートのAIが生成した演習問題のサンプルです。アプリでは毎週新しい問題が追加されます。
例題1
TransformerのMulti-Head Attentionにおいて、各ヘッドで計算された出力を結合(Concatenate)した後に重み行列 $W^O$ を掛ける主な目的として、最も適切なものはどれか。
- アテンション重みの正規化を行うため
- 勾配消失問題を回避するために残差接続を準備するため
- 学習時の並列化効率を最大化するため
- 複数のヘッドから得られた情報を統合し、元のモデルの次元数に投影するため
- 非線形活性化関数を適用して表現力を高めるため
解答と解説を見る
正解: 複数のヘッドから得られた情報を統合し、元のモデルの次元数に投影するため
正解は「複数のヘッドから得られた情報を統合し、元のモデルの次元数に投影するため」です。Multi-Head Attentionでは、入力を複数の低次元なヘッドに分割してアテンションを並列計算します。それぞれのヘッドから出力されたベクトルは最後に結合されますが、そのままでは次元数が大きくなる、あるいはモデルの期待する隠れ層の次元数と一致しません。そこで、学習可能な重み行列 $W^O$ を掛けることで、各ヘッドが捉えた異なる情報を効果的に統合しながら、モデルの規定の次元へと線形投影し直す役割を担っています。これにより、後続の層であるFeed-Forward Networkなどへ適切な形式でデータを渡すことが可能になります。
例題2
Transformerで使用されるPositional Encoding(位置エンコーディング)において、正弦波(sin)と余弦波(cos)を利用する主な理由として適切なものをすべて選べ。
- 再帰構造(RNN)を完全に再現し、過去の情報を忘却しないようにするため
- モデルが学習時よりも長い系列に対しても、ある程度の汎化性能を持てる可能性があるため
- 相対的な位置関係が、絶対的な位置の線形関数として表現可能になるため
- 各トークンのベクトルのノルムを常に1に保ち、演算の安定性を高めるため
- アテンション・スコアの計算において、距離が近いトークン間のスコアを強制的に高くするため
解答と解説を見る
正解: モデルが学習時よりも長い系列に対しても、ある程度の汎化性能を持てる可能性があるため / 相対的な位置関係が、絶対的な位置の線形関数として表現可能になるため
正解は「相対的な位置関係が、絶対的な位置の線形関数として表現可能になるため」と「モデルが学習時よりも長い系列に対しても、ある程度の汎化性能を持てる可能性があるため」です。Transformerは並列処理のために再帰構造を排除しているため、単語の順序情報をPositional Encodingとして入力に加算します。三角関数を用いることで、任意のオフセット $k$ に対して、位置 $pos+k$ のエンコーディングが位置 $pos$ の線形変換として表現できるという数学的性質(加法定理に由来)があります。これにより、モデルが相対的な位置関係を学習しやすくなります。また、周期性を持つ関数であるため、未知の長さの系列に対しても理論上の外挿性が期待できるという利点があります。
重要用語
- Transformer
- 2017年に提案されたAttention機構のみを用いたニューラルネットワークモデル。RNNやCNNを使用せず、並列計算が可能なため、学習速度と性能が劇的に向上した。現在の自然言語処理におけるデファクトスタンダードであり、BERTやGPTといった主要なモデルの基礎となっている重要なアーキテクチャである。
- Self-Attention
- 入力シーケンス内の各単語が、同じシーケンス内の他の単語とどの程度関連しているかを計算する仕組み。文脈の中での単語の意味や関係性を動的に捉えることができ、長距離の依存関係を効率的に学習できる。Transformerの表現力を支える核心的な技術である。
- Multi-Head Attention
- Self-Attentionを複数並列で実行する仕組み。異なる「ヘッド」がそれぞれ異なる観点(文法構造や意味関係など)で情報を抽出することで、より多角的な文脈理解が可能になる。単一のAttentionよりも情報の取りこぼしが少なく、モデルの表現力が大幅に向上する。
- Positional Encoding
- TransformerはRNNと異なり時系列の順序情報を持たないため、単語の位置情報を付与する手法。サイン関数やコサイン関数を用いて位置ベクトルを生成し、入力の単語埋め込みに加算する。これにより、文中の単語の並び順や相対的な位置関係をモデルが認識できるようになる。
- Scaled Dot-Product Attention
- Attentionスコアを計算する際、クエリとキーの内積をスケーリング因子(次元数の平方根)で割る手法。内積の値が大きくなりすぎてソフトマックス関数の勾配が極端に小さくなるのを防ぎ、学習を安定させる効果がある。TransformerにおけるAttentionの基本単位である。
- Encoder-Decoder
- 入力を固定長のベクトルに変換するEncoderと、その情報を元に出力を生成するDecoderのペアで構成される構造。Transformerでは両者にAttention機構が組み込まれており、翻訳タスクなどで高い性能を発揮する。BERTはEncoder、GPTはDecoderをベースにしている。
- Layer Normalization
- 各層の出力を平均0、分散1に正規化する手法。各サンプル内の特徴量に対して計算を行うため、ミニバッチサイズに依存せず学習を安定化・高速化できる。Transformerの各サブレイヤーの後に適用され、深層ネットワークにおける勾配消失や爆発の抑制に寄与する。
- Position-wise Feed-Forward Network
- Attention層の後に配置される全結合層からなるネットワーク。各トークン(位置)に対して独立かつ共通の重みが適用される。通常、2つの線形変換とReLUなどの活性化関数で構成され、Attentionで得られた情報を非線形変換して特徴をより深く抽出する役割を担う。
AI実装検定S級の対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。