一般的な畳み込みニューラルネットワーク (CNN: Convolutional Neural Network)は、画像などから多次元の特徴マップを抽出し、 その特徴マップを1次元に変換したのち、後続の層で出力ノード数の次元を持つベクトルへの変換を行う。このように、ある長さの1次元配列を出力ノード数の次元を持つベクトルに変換する処理を行う層の名称として、最も適切なものを選べ。
畳み込みニューラルネットワーク (CNN: Convolutional Neural Network) における全結合層について問う問題です。
CNNは、画像データなどを扱うニューラルネットワークです。通常のニューラルネットワーク (多層パーセプトロン)は、すべてのユニット同士を各層で連結させる全結合層のみで構成されます。多層パーセプトロンで画像を扱う場合、画像を1次元の配列に変換してから入力する必要があり、画像の位固情報が失われてしまいます。これに対してCNNでは、畳み込み層やプーリング層を導入することで、形状を保ったまま画像を入力することができます。 畳み込み層やプーリング層 [解答2を参照] などによって抽出される数値表現を特徴マップといいます。これらの暦は、画像データのような多次元の入力をそのまま扱うため、特徴マップもまた多次元になります。CNNでは、この特徴マップを1次元配列に変換し、全結合層に入力して処理することで、 最終的な予測値を出力します (C)。
畳み込み層やプーリング層は、画像データなどの多次元の入力を受け取って処理を行います (A、B)。また、疎結合層という用語は一般的に使用されません(D)。
試験対策
全結合層の役割を覚えておきましょう。
以下の文章を読み、空欄(ア) ~ (ウ) に入る語句として最も適切な組み合わせを選べ。
畳み込みニューラルネットワーク (CNN) では、一般に(ア) 層と (イ) 層が使用される。(ア) 層では、フィルタを利用して (ア) 操作を行い、次の層への入力データに対して特徴抽出を行う。 フィルタ中の数値は学習によって最適な値を求める。一方、(イ) 層では窓を移動させながら、その窓内の平均値や最大値を出力することで、次の層への入力データのサイズを小さくする。(イ) 層を用いることで、ネットワークへの入力データに対する(ウ)を獲得できる。
CNNにおける畳み込み層とプーリング層の概要について問う問題です。
CNNは、主に畳み込み層とプーリング層を用いて構成されます。畳み込み層では、層への入力データに対してフィルタ (カーネル)を適用し、畳み込み操作(Convolution) [解答3を参照] を行います(ア)。フィルタとは、入力データに重ねるためのパラメータの集合のことを指します。入力が画像なら、フィルタは小さい画像であると考えればよいでしょう。畳み込み操作とは、フィルタをある層への入力データの領域に対して順に重ね合わせ、対応する入力とフィルタの値をかけ合わせて総和を取る処理のことです。
フィルタ中の各数値は学習可能なパラメータで構成されており、入力データからどのように特徴を抽出すればよいかを学習することができます。
一方、プーリング層では小領域(窓)を設定し、層への入力データに対して順に窓内のデータを小さくします(イ)。そうした方法には、窓内で最大値を取る最大値プーリング (Max Pooling)や、平均値を取る平均値プーリング (Average Pooling) などがあります【解答5を参照】。プーリング層は学習可能なパラメータをもちません。
プーリング層を用いることで、入力データに対する位置不変性を獲得することができます(ウ)。たとえば、画像内に写っている猫の位置が変わっても人間は変わらず猫を認識できますが、通常の多層パーセプトロンでは、これをまったく異なるデータとして扱ってしまいます。畳み込み層やプーリング層による処理は位置のズレに対して頑健で、このような画像データの性質をうまく扱うことができます。
以上のことから、(ア)に畳み込み、(イ)にプーリング、(ウ)に位置不変性が入ります (B)。
試験対策
畳み込み層とプーリング層の役割や処理方法の概要を理解しましょう。 また、フィルタのことをカーネルと呼ぶ場合もあります。どちらで問われても答えられるようにしておきましょう。参考
G検定では、位置不変性のことを移動不変性と呼ぶ場合がありますので、注意しましょう。また、定常性は主に時系列データに用いられる概念で、時刻によって確率変数の分布が変動しないことを指す性質です。
畳み込み操作に関する以下の文章を読み、空欄 (ア) ~ (ウ)に入る語句として最も適切な組み合わせを選べ。
(ア)は、ある層への入力データの周囲を適当な数値で埋める処理である。必要に応じてある層への入力データに(ア)を行ったあと、 (イ)を一定間隔でスライドさせながら畳み込みを行う。この間隔のことを(ウ)という。
畳み込み操作の具体的な手順について問う問題です。
畳み込みでは、ある層への入力データに対してフィルタを一定間隔でスライドさせながら演算を行っていきます(イ)。このフィルタの適用間隔をストライドと呼びます(ウ)。
また、畳み込みでは、フィルタとストライドの大きさに応じて出力のサイズが小さくなります。そこで、ある層への入力データの周囲を0などの値で埋め、 出力のサイズが小さくならないように調整する場合があります。この操作をパディングと呼びます(ア)。
プーリングは、ある層への入力データを決められたルールに従って圧縮し、 サイズを小さくする処理です。また、エポックはニューラルネットワークにおける学習の反復を表す単位です。
以上のことから、(ア)にパディング、(イ)にフィルタ、(ウ) にストライドが入ります (A)。
試験対策
畳み込み操作の具体的な手順と、登場する用語を覚えておきましょう。
畳み込み層やプーリング層の特徴に関する説明として、最も不適切なものを選べ。
畳み込み層やプーリング層の特徴に関する知識を問う問題です。
畳み込み層は一般的に、少数の学習可能なパラメータで構成され、ある暦への入力データ全体に対して同じパラメータの組み合わせを使用し、繰り返し畳み込み演算を行います。このため、同じノード数間の全結合層と比較すると各ニューロン同士の結合が疎であり、効率的に学習を行うことができます (A)。
プーリング層は、入力データを領域ごとに小さくすることで特徴集約を行うことができ、以降の層の計算を効率化できます。なお、これは特徴マップの次元を削減していると考えることもできます(B)。
プーリングは、可変サイズの入力データを扱う上で重要です。通常、CNNは出力層付近に全結合層を配置しますが、全結合層では層への入力データの次元を揃える必要があります。これに対してプーリングでは、窓の大きさを変えることで出力の大きさを一定に保つことができるため、特徴マップを適切に全結合層に接続することができます(C)。
畳み込み層やプーリング層は、画像以外にも時系列データなどに適用することができます (D)。
試験対策
畳み込み層、プーリング層の特徴をその構造から説明できるようにしておきましょう。参考
一般に、時系列データなど1次元のデータに畳み込みを適用する場合は、フィルタも1次元にします。
畳み込みニューラルネットワーク (CNN) における平均値プーリングの演算について、次の図で(ア)と(イ) に入る数値として最も適切な組み合わせを選べ。ただし、プーリングを行う領域は2×2でストライドは2とする。
畳み込みニューラルネットワーク (CNN) において、畳み込み層やプーリング層の出力を特徴マップと呼ぶ。この特徴マップの各チャンネルに対し、全体の平均値を1つの値にするプーリング手法がある。この手法の名称として最も適切なものを選べ。
ニューラルネットワークで使用されるバッチ正規化に関する説明として、最も適切なものを選べ。
畳み込みニューラルネットワーク (CNN) において、前層の出力に対して、ミニバッチ内のデータごとに特徴マップのすべてのチャンネルを用いて統計量を推定し、正規化する手法がある。この手法の名称として、最も適切なものを選べ。
以下の文章を読み、空欄(ア) (イ) に入る語句として最も適切な組み合わせを選べ。
ディープニューラルネットワークにおいて、層を追加すると、勾配消失問題とパラメータ数増加に伴う計算時間の増加が生じる。ResNet (Residual Network) では (ア) 結合と(イ) 構造を用いることで、この2つの問題をそれぞれ解決し、152層などの深いネットワーク構造の学習を可能とした。(ア) 結合は、層を飛び越えた結合のことであり、出力層で計算された誤差が入力層側まで伝播しやすくなる効果がある。(イ) 構造は、ある畳み込み層を、それより小さいフィルタサイズを持つ畳み込み層で挟み込んだ構造であり、大きなフィルタサイズを持つ畳み込み層に入力される特徴マップのチャンネル数を削減することで、計算の効率化を実現した。
以下の文章を読み、空欄(ア) (イ) に入る語句として最も適切な組み合わせを選べ。
ニューラルネットワークにおける (ア) 結合層は、時間ステップに応じた再帰的な結合を持つ層である。(ア) 結合層をもち、言語データや時系列データを効果的に扱うことのできるニューラルネットワークを、リカレントニューラルネットワーク (RNN: Recurrent Neural Network) と呼ぶ。RNNにおいて勾配を計算する際は、時間軸に沿って誤差を伝播させる(イ)を使用する。
以下の(ア)~(エ)のうち、リカレントニューラルネットワーク (RNN) の構造を持つネットワークとして適切な組み合わせを選べ。
以下の文章を読み、空欄(ア) ~ (ウ)に入る語句として最も適切な組み合わせを選べ。
LSTM (Long Short-Term Memory)は、LSTMブロックと呼ばれる構造を採用することで、系列データの学習を効果的に行えるようにしたリカレントニューラルネットワーク (RNN) である。LSTMブロックは (ア)と(イ) によって構成される。また、LSTMの(イ) を簡略化したネットワークとして(ウ)がある。
過去から未来の方向だけでなく、未来から過去の方向についても考慮して学習を行うことができるリカレントニューラルネットワーク (RNN) の構造の名称として、最も適切なものを選べ。
リカレントニューラルネットワーク (RNN) のひとつであるSeq2Seq (Sequence-to-Sequence) に関する説明として、最も不適切なものを選べ。
リカレントニューラルネットワーク (RNN) における教師強制に関する説明として、最も適切なものを選べ。
自然言語処理に利用されるニューラルネットワークであるTransformer は、Attentionと呼ばれる機構を採用している。このAttentionに関する以下の説明を読み、空欄(ア) (イ) に入る語句として最も適切な組み合わせを選べ。
(ア)は、文章内の単語間の関連性を捉えることを目的とした機構である。Transformerのエンコーダおよびデコーダでは、(ア)が並列に複数設置されている。この機構は (イ)と呼ばれる。
自然言語処理に利用されるニューラルネットワークであるTransformer は、query、key、valueという記号を使用して計算を行う。query、 key、valueに関する説明として、最も適切なものを選べ。
Transformerは、自然言語処理に利用されるニューラルネットワークである。Transformerと従来のAttentionを使用しないSeq2Seq (Sequence-to-Sequence) を比較した説明として、最も不適切なものを選べ。
オートエンコーダは、エンコーダとデコーダで構成されるニューラルネットワークのアーキテクチャである。オートエンコーダのエンコーダによって入力データのある特徴を抽出することを考えた場合、エンコーダの最終層におけるノード数の設定方法として、最も適切なものを選べ。
ディープラーニングに関する以下の文章を読み、空欄(ア) (イ)に入る語句として最も適切な組み合わせを選べ。
(ア)は、目的とするタスクに関する学習を行う前に、あらかじめ別のタスクに関する学習を行う手法である。ニューラルネットワークにおいて(ア)を行う手法として、(イ)がある。(イ)は、 入力層から逐次的に層を重ね、それぞれの層を順にオートエンコーダの仕組みを用いて学習することで、深いネットワークを構築する手法である。
変分オートエンコーダ (VAE: Variational AutoEncoder) に関する説明として、最も不適切なものを選べ。
以下の(ア)~(エ)のうち、変分オートエンコーダ (VAE)を応用したネットワークとして適切なものの組み合わせを選べ。
機械学習では、汎化性能の向上を目的として、訓練データを加工してデー夕量を増やすことがある。これをデータ拡張と呼ぶ。テキストデータに適用されるデータ拡張手法に関する説明として、最も不適切なものを選べ。
画像を反転させることでデータ拡張を行う手法の名称として、最も適切なものを選べ。
以下の文章を読み、空欄(ア) (イ) に入る語句として最も適切な組み合わせを選べ。
2019年にグーグル社によって発表されたRandAugmentは、学習時に適用するデータ拡張手法を決定する戦略のひとつである。この手法では、 ミニバッチごとに、適用するデータ拡張手法の候補から (ア) 個数の手法を無作為に抽出し、(イ) 強さでデータ拡張を行う。
平均値プーリングの計算方法を問う問題です。
平均値プーリングはプーリングの一手法です。窓内の数値を平均して1つの値を出力する処理を入力データ全体に順に適用し、特徴集約を行います。
ストライドは、畳み込みやプーリングを順に適用する際のフィルタや窓の移動幅を指します。本設問では、2×2の領域をストライド2で4×4のデータに適用するため、全部で4カ所の集約を行い、結果として出力は2×2となります。
出力の(ア)の部分は、入力データの左上の4マスの平均値で求められ、
(3+4+1+4)/4=3となります。
出力の(イ)の部分は、入力データの右下の4マスの平均値で求められ、
(5+0+0+3)/4-2となります。
以上のことから、(ア)に3、(イ) に2が入ります(B)。
試験対策
ストライドを考慮した畳み込みやプーリングの計算ができるようにしておきましょう。
グローバルアベレージプーリング (GAP: Global Average Pooling) についての理解を問う問題です。
LeNet 【第6章 解答1を参照などの従来のCNNでは、畳み込み層などで抽出した特徴マップを1次元に変換し、全結合層に入力することで出力値を得ていました。一方で最近のCNNでは、グローバルアベレージプーリングと呼ばれる手法を使用することが多くなっています。
画像を扱うCNNでは、特徴マップは通常、3次元のデータで表現されます。縦横のサイズが同じ画像が、複数枚重なっているような状態をイメージするとわかりやすいでしょう。チャンネルは、このような画像方向の軸を表す概念です。
グローバルアベレージプーリングは、各チャンネルについて全体の平均を1 つのニューロンの値とする手法です。たとえば、分類問題において、前段の層までに生成されるチャンネル数をクラス数と同じになるよう設計すれば、 グローバルアベレージプーリングで全結合層を使用せずに、直接各クラスの確率を出力できます。こうすることでパラメータ数を大幅に削減でき、通学習を抑制できるといわれています(A)。
ローカルアベレージプーリングやトータルアベレージプーリング、ディープアベレージプーリングといった呼称は、いずれも一般的に使用されません(B、C、 D)。
試験対策
グローバルアベレージプーリングの仕組みを理解しておきましょう。
バッチ正規化に関する知識を問う問題です。
バッチ正規化は、ニューラルネットワークのある層への入力を正規化する手法のひとつです。ニューラルネットワークの学習において、各層に伝播するデータの分布を考慮することは重要です。そのため、訓練データ全体をあらかじめ正規化する手法がありますが、特に深いネットワークでは、層を伝播するにつれてデータの分布が崩れる傾向があります。そこで、層への入力自体を正規化することにより、この問題を回避することができます。
このような手法の代表例にバッチ正規化があります。バッチ正規化は、ミニバッチ (訓練データからサンプリングされた少数のデータ)内のすべてのデータを使用して、前層の出力をチャンネルごとに正規化する手法です(B)。
バッチ正規化を利用することで、より深いネットワークを学習しやすくなるほか、過学習を抑制しやすくなるといわれています。
学習前に訓練データ全体を正規化することがありますが、これはバッチ正規
化の手続きではありません(A)。
各層に伝播する分布を調整するために、学習前のネットワークにおいてパラメータの初期値を工夫する手法がいくつか考案されていますが、これはバッチ正規化の手続きではありません(C)。また、バッチ正規化はネットワークの最終層の出力を正規化する手法ではありません(D)。
試験対策
バッチ正規化の仕組みや特徴、目的について整理しておきましょう。
バッチ正規化の派生手法に関する知識を問う問題です。
バッチ正規化は、ミニバッチ内のすべてのデータを使用して、チャンネルごとに正規化を行う手法です (A)。バッチ正規化ではミニバッチ内のデータから平均と分散を推定して正規化を行うため、バッチサイズ (ミニバッチ内のデータ数)が小さい場合は学習に悪影響を及ぼすことがあります。そこで、 バッチサイズに影響されないような正規化手法がいくつか提案されています。レイヤー正規化は、前層の出力に対して、ミニバッチ内のデータごとに正規化を行う手法です(B)。
また、インスタンス正規化は、チャンネルごと、データごとに正規化を行う手法です(C)。さらに、グループ正規化は、チャンネルをいくつかのグループに分割し、グループ内のチャンネルを使用してデータごとに正規化を行う手法です。これはインスタンス正規化とレイヤー正規化の両方の利点を取り入れた手法であるといえます (D)。
試験対策
バッチ正規化の派生手法について整理しておきましょう。どのデータを用いて正規化を行うかが重要です。
スキップ結合およびResNet (Residual Network) の構造についての理解を問う問題です。
通常のニューラルネットワークでは、誤差逆伝播法によって出力層から逐次的に情報を処理し、パラメータを更新していきます。特に深いネットワークでは、この過程で勾配消失問題が発生しやすいですが、これを解消する手法としてスキップ結合 (Skip Connection)があります。
スキップ結合は、ネットワーク内の層間を飛び越えた結合を行うことで、出力層で計算された誤差が入力層側まで伝播しやすくなる手法です(ア)。
ResNetは、スキップ結合を導入した代表的なネットワークです。ResNetではスキップ結合に加えて、計算時間の効率化を行うためにボトルネック構造を組み入れることで、勾配消失問題と計算時間の問題をそれぞれ解決し、50 層や152層などの深いネットワーク構造の学習を可能にしています(イ)。ボトルネック構造は、ある畳み込み層を、それより小さいフィルタサイズを持つ畳み込み層で挟み込んだ構造であり、大きなフィルタサイズを持つ畳み込み層に入力される特徴マップのチャンネル数を削減することで、計算の効率化を実現します。ResNetでは、3×3のフィルタを持つ畳み込み層を、1×1のフィルタを持つ畳み込み層で挟み込む構造を採用しています。
以上のことから、(ア)にスキップ、(イ)にボトルネックが入ります(D)。
試験対策
スキップ結合とResNetの特徴について理解しておきましょう。
リカレントニューラルネットワーク(RNN: Recurrent Neural Network)に関する基礎的な知識を問う問題です。
RNNは、回帰結合層と呼ばれる再帰的な構造の隠れ層を持つネットワークで、主に言語データや時系列データなどの系列データの処理に使用されます (ア)。RNNは系列データを順に入力することができ、回帰結合層によって過去時点の隠れ層の状態を現時点に引き継ぐことが可能です。このような構造を利用することで、時間依存性のある一連のデータをうまく処理することができます。
RNNでは、時間軸に沿って過去に遡りながら誤差を伝播させることで学習を行います。これをBackPropagation Through Time (BPTT)と呼びます(イ)。 以上のことから、(ア)に回帰、(イ) にBackPropagation Through Time が入ります(C)。
試験対策
RNNの基本的な構造と特徴、学習方法を理解しておきましょう。参考
回帰結合層は再帰結合層と呼ばれることもあります。また、 Recurrentをカナにしてリカレント層と呼ばれることもあります。
RNNの構造を持つ具体的なネットワークに関する知識を問う問題です。 Transformerは系列データを扱うことのできるニューラルネットワークですが、回帰結合層を有しておらず、RNNの構造はもちません [解答16を参照] (ア)。
エルマンネットワークは、1990年に発表されたシンプルな構造を持つ初期の RNNです。隠れ層の出力をコンテキスト層 (Context Layer) と呼ばれる層に1対1で対応させ、これを隠れ層に再帰的に接続します(ウ)。
ジョルダンネットワークはエルマンネットワークと類似したRNNで、隠れ層の出力の代わりに出力層の値を隠れ層に接続する構造をもちます (イ)。 LSTM [解答12を参照]は、ゲート機構などを有するLSTMブロックを導入したRNNであり、現在も広く使われるネットワークです(工)。
以上のことから、(イ) (ウ) (エ) が適切な組み合わせです(B)。
試験対策
RNNの構造を持つ具体的なネットワークの名称と概要を覚えておきましょう。
LSTM (Long Short-Term Memory) やGRU (Gated Recurrent Unit)の構造に関する知識を問う問題です。
LSTMは、系列データの学習を効果的に行えるように従来のRNNを改良したネットワークです。LSTMブロックと呼ばれる構造を採用しており、ネットワーク内に系列データの情報をうまく保持することができます。
LSTMブロックは、CEC (Constant Error Carousel) とゲート機構を有するのが特徴です。CECは長期的な情報を蓄えておくための機構です(ア、イ)。
一方、ゲート機構は入力ゲートと出力ゲート、忘却ゲートで構成され、必要な情報を適切なタイミングで保持または消去します。
LSTMは計算量が大きく、学習に時間を要します。そこで、LSTMのゲート機構を簡略化したGRUと呼ばれるネットワークが考案されています(ウ)。
GRUのゲート機構はリセットゲートと更新ゲートで構成され、LSTMと比較して効率的に計算を行うことができます。
また、ボトルネック構造はResNetなどで使用されるボトルネック型の構造であり、通常はLSTMには使用されません。
以上のことから、(ア)にCEC、(イ)にゲート機構、(ウ)にGRUが入ります(B)。
試験対策
LSTMやGRUの構造を説明できるようにしておきましょう。
双方向RNN (Bidirectional RNN) に関する知識を問う問題です。
通常、RNNは過去から未来への一方向の依存性のみを学習しますが、2つの RNNを組み合わせることで、未来から過去への方向の依存性も同時に学習することができるようになります。このようなネットワークを双方向RNNと呼びます。特に自然言語処理で文章を扱う場合などでは、次以降のデータ(単語) も参照できた方が良い場合があります。そのような場合に双方向RNNは効果的です(D)。
多方向RNN、二方向RNN、逆方向RNNといった呼称はいずれも一般的ではありません(A、B、C)。
双方向RNNの構造を次の図に示します。$ x $は入力、$ y $はネットワークの出力、$ h $は隠れ層の出力、$ t $は時刻を表します。
試験対策
双方向RNNの特徴や利点を理解しておきましょう。
Seq2Seq (Sequence-to-Sequence) の仕組みについて問う問題です。
一般的なRNNは、固定長の系列を出力することができます。しかし、たとえば翻訳タスクなどのように、入力と出力の長さが異なるような系列を扱いたい場合がしばしばあります。このような問題を扱うことのできるRNNとして、 Seq2Seqがあげられます(A)。
Seq2Seqは、次の図のように、エンコーダ (encoder) とデコーダ (decoder) と呼ばれる2つのネットワークを組み合わせることで、入力と出力の長さが異なるタスクを扱います。なお、図中の
エンコーダは入力系列の符号化(エンコード)を行い (B)、デコーダはエンコーダが符号化した情報を使用して復号化(デコード)を行います。エンコーダとデコーダがともに回帰結合層を持つことで、Seq2Seqは系列の入出力を行うことができます。また、Seq2SeqのデコーダはRNNによって構成され (C)、 可変長の出力を扱うことができます(D)。
試験対策
Seq2Seqの仕組みや特徴について理解しておきましょう。
教師強制に関する知識を問う問題です。
教師強制は、RNNの学習時に一時刻前の出力に対応する教師データを、現時刻の入力として使用する手法です(A)。教師強制によって、 教師強制によって、RNNの出力系列を教師データの系列に近づける効果があります。たとえば、Seq2Seqで機械翻訳タスクを学習する際に教師強制を適用する場合は、次の図のようになります。なお、予測時には前の時刻の教師データは未知であるため、その時刻の予測結果を使用することになります。
教師強制は、教師なしデータをRNNで扱う手法ではありません(B)。また、 過去と未来の依存性を両方向から学習するネットワークは双方向RNNと呼ばれますが、教師強制とは無関係です(C)。さらに、入力データと教師データの系列長を揃える操作は、教師強制とは無関係です(D)。
教師強制について正しく説明できるようにしておきましょう。
試験対策
Transformerで使用されるAttention (注意機構) についての理解を問う問題です。
機械翻訳における従来のRNNは、入力データを逐次的に扱うため処理速度が遅く、離れた単語間の関係を捉えにくいという問題点がありました。
Transformerは、これらの問題をAttentionと呼ばれる機構で解決した手法です。
Attentionは、各時刻の状態に重み付けを行い、その総和を求めることで、 広範囲の情報を高速に扱うことができます。Transformerでは、従来の Seq2SeqにおけるエンコーダとデコーダからRNNを排除し、Attentionのみを使用した構成を採用することで、従来のネットワークを大きく超える精度を実現しています。
Transformerでは、以下のようなさまざまなAttentionが使用されています。
Self-Attention
:文章内の単語間の関連性を捉えることを目的としたAttention
Multi-Head Attention
Self-Attentionを並列に複数配置した Attention
Source-Target Attention:
2つの系列間の対応関係を捉えることを目的としたAttention
なお、Source-Target Attentionは、Encoder-Decoder Attentionと呼ばれることもあります。
以上のことから、(ア) にSelf-Attention、(イ) にMulti-Head Attentionが入ります(B)。
試験対策
Transformerに用いられているさまざまなAttentionについて理解しておきましょう。
Transformerで使用されている技術や仕組みに関する知識を問う問題です。
Transformerで使用されるAttentionは、query (クエリ)、key(キー)、 value (バリュー)という記号を使用して計算を行います。Self-Attentionでは、 query、key, valueを入力文から計算し、文中の単語間の関係を捉えます(A)。
query, key, valueは、エンコーダやデコーダの入出力を表すものではあり
ません(B)。また、デコーダの出力層における出力を計算する際に使用されるものではありません(C)。
Self-Attentionは、入力文内のすべての単語間の関係を並列に計算することができます。一方で、そのまま計算すると単語の順番に関する情報を保持することができません。そこで、単語の位置に固有な情報を入力に加えることで、この問題を回避できます。これを位置エンコーディングと呼びます。ただし、位置エンコーディングの計算にはquery、key、valueのいずれも使用されることはありません(D)。
試験対策
Transformerを構成する個々の要素とその概要を理解しておきましょう。
従来のAttentionを使用しないSeq2Seqと比較した場合のTransformerの特徴に関する知識を問う問題です。
Transformerのエンコーダは、Attentionを採用することで並列計算を行うことができ、GPUを利用してより高速に学習することができます(A)。
一方、デコーダで出力を行う際には、まだ出力していない未来の情報が使用できないため、Transformerであっても並列計算はできず、逐次的に処理することになります(B)。また、TransformerはAttentionによって、より遠く離れた単語間の関係を学習することができます (C)。さらに、Transformerは可変長の出力を扱うことができますが、これは従来の Seq2Seqでも同様です(D)
試験対策
従来のSeq2Seqと比較したTransformerの特徴を説明できるようにしておきましょう。
➡P126
オートエンコーダの構造に関する知識を問う問題です。
オートエンコーダは、エンコーダとデコーダで構成されるニューラルネットワークのアーキテクチャです。オートエンコーダでは、教師データとして入カデータと同じデータを使用します。これにより、入力データをエンコーダによって処理し、エンコーダの出力からデコーダが元のデータを復元できるように学習することができます。その際に、エンコーダの最終層のノード数をエンコーダの入力層よりも小さく設計することで、元の入力データができるだけ復元可能な形で圧縮されることになります (D)。このような特性から、 オートエンコーダは特徴抽出や次元削減などに利用されます。
隠れ層の次元を入力層の次元 (=出力層の次元) 以上になるよう設計すると、ネットワークが単に入力をコピーすることを学習してしまう可能性があり、特徴抽出を目的とするオートエンコーダの設計として適切ではありません(A、B、C)。
試験対策
オートエンコーダの構造とその特徴について理解しておきましょう。
事前学習および積層オートエンコーダに関する知識を問う問題です。
事前学習とは、目的とするタスクに関する学習を行う前に、あらかじめ別のタスクに関する学習を行う手法の総称です(ア)。単純なタスクを利用して事前学習を行うことで、より複雑なタスクを学習しやすくなる場合があります。
事前学習を行う手法のひとつとして、積層オートエンコーダがあげられます。
積層オートエンコーダとは、入力層から逐次的に層を重ね、それぞれの層を順番にオートエンコーダの仕組みによって学習する手法です(イ)。このようにすることで、深いネットワークでも順に学習を行うことができます。
教師強制は、RNNにおいて前の時刻の教師データを現時刻の入力に用いる手法です。また、変分オートエンコーダ (VAE) は生成ネットワークの一種です。 以上のことから、(ア)に事前学習、(イ)に積層オートエンコーダが入ります(B)。
試験対策
事前学習の概要とそれを実現する手法について覚えておきましょう。
変分オートエンコーダ (VAE: Variational AutoEncoder) に関する知識を
問う問題です。VAEは、オートエンコーダを活用した生成ネットワークの一種であり、画像生成などのタスクに使用されます(D)。VAEでは、エンコーダによって入力データが確率分布上で表現され、その確率分布からサンプリングした値(潜在変数)をデコーダに入力することで元のデータを復元します。 このように学習を行うことで、学習済みのデコーダに新たに確率分布からサンプリングした値を入力し、データを生成することができます (A、C)学習済みのVAEを使用してデータ生成を行う場合は、デコーダを使用します(B)。
試験対策
VAEの構造や、VAEが行うタスクについて理解しておきましょう。
変分オートエンコーダ (VAE) の派生手法に関する問題です。
VAEはエンコーダとデコーダで構成され、潜在変数を使用して画像生成などを行う生成ネットワークですが、さらにさまざまな派生手法が提案されています。
β-VAEは、VAEの学習に潜在変数の分布を調整するハイパーパラメータβを導入することで、生成画像の質を高めたネットワークです(ア)。 VAE/GANは、VAEとGAN (敵対的生成ネットワーク) [第6章 解答38を参照] を組み合わせた手法です(イ)。また、InfoVAEは、B-VAEをさらに拡張したネットワークです (ウ)。さらに、VQ-VAEは、潜在変数が離散的になるようにVAEを拡張したネットワークです。VAEでは、学習時に潜在変数を無視してしまう現象が発生することがありますが、VQ-VAEは潜在変
数を工夫することでこの問題を解決しています (エ)。
以上のことから、(ア) (イ) (ウ) (エ) はすべて適切です(D)。
試験対策
VAEの代表的な派生手法を覚えておきましょう。
テキストデータのデータ拡張手法を問う問題です。
データ拡張は、訓練データを加工することでデータ量を増やす手法です。データ拡張の目的は、訓練データの多様性を向上し、未知のデータに対する汎化性能を高めることです。
テキストデータにおけるデータ拡張の手法として、Paraphrasing. Noising. Samplingなどがあげられます。
Paraphrasingは、単語を別の類似した単語で置き換える手法です。たとえば、 「服」を「セーター」 に置き換えることができます(A)。また、Noisingは単語の入れ替え、削除、挿入、置換などをランダムに行うことでデータを増やす手法です(B)。さらに、Samplingは、テキストデータの分布を推定し、 新しいデータのサンプリングを行う手法です(C)。
Rotation (Rotate)は、画像データを回転することでデータを増やす手法です(D)。また、画像データに対するデータ拡張には、RandAugmentという手法もあります。この手法では、画像データに対して、さまざまなデータ拡張操作の中からランダムに操作を選び出し、画像データに適用します。
試験対策
テキストデータのデータ拡張を行う具体的な手法を覚えておきましょう。
➡P128
画像データにおけるデータ拡張の手法を問う問題です。
たとえば、画像認識においては、同じ物体でも角度や位置、明るさなどによってさまざまな見え方があり、このようなデータを網羅することは機械学習モデルの汎化性能を高めるうえで重要です。データ拡張を利用することで、1つのデータから条件の異なる多様なデータを生成することができます。
Random Flipは、画像を反転させることでデータを増やす手法です(C)。
Random ErasingやCutoutは、画像の一部の画素値を0またはランダムな値
にすることでデータを増やす手法です(A、B)。さらに、Random Cropは、 画像を一部を切り取り、サイズの異なるデータを生成する手法です (D)。
以上のほかにも、次のような手法があります。
試験対策
画像のデータ拡張手法には多くの種類があります。代表的なものをしっかりと覚えておきましょう。
RandAugmentに関する理解を問う問題です。
データ拡張を行う手法は数多くあり、それぞれがハイパーパラメータを持つため、タスクに応じた最適なデータ拡張手法の組み合わせを探索することは非常に困難です。そうした探索を効率的に行うことができる手法として、 RandAugmentが提案されています。
RandAugmentは、学習時に適用するデータ拡張手法を決定する戦略のひとつです。あらかじめデータ拡張を行う手法の候補を決めておき、ミニバッチごとに一定数の手法を無作為に選び、一定の強さで適用します (ア、イ)。強さとは、たとえば、Rotaionであれば角度の大きさを指します。
RandAugmentでは、ハイパーパラメータはミニバッチごとに選ぶ手法の数と適用する強さの2つだけであり、探索空間が非常に小さくなることで最適な戦略を見つけやすくなります。
以上のことから、(ア)と(イ)に「一定の」が入ります(D)。
RandAugmentの戦略について理解しておきましょう。
試験対策