ディープラーニングG検定ってどんな問題が出るんだろう、と思うことないでしょうか。ディープラーニング協会の公式サイトにはG検定の例題が掲載されていますので、まずは見てみましょう。しかしながら、公式サイトに解答は解説は記載されていません。
本ブログではディープラーニング(deep learning)G検定の例題の回答例と解説を掲載しています。G検定の問題の雰囲気や難易度の把握に役立てて頂ければと。また、合格のための参考にして頂けたら幸いです。
なお、この記事で扱っているのは2021年2月14日時点で掲載されている例題となります。一定の頻度で更新されているようです。
この記事は全4回の連載のうちの最終回である4回目です。他の問題の回答、解説は下記記事を参照ください。
回答例や解説等含めた本記事の記載内容は当ブログ筆者の見解によるもので、間違いを含んでいる可能性があります。そのようなことが無いように努力してはおりますが、万が一誤りがありましたら大変申し訳ありません。
ディープラーニング協会 G検定とは
G検定の”G”はジェネラリスト(Generalist)で、日本ディープラーニング協会の公式サイトでG検定は次のように説明されています。
ディープラーニングの基礎知識を有し、適切な活用方針を決定して、事業活用する能力や知識を有しているかを検定する。
G検定とは – 一般社団法人日本ディープラーニング協会【公式】
今回は、日本ディープラーニング協会の公式サイトに掲載されているG検定の例題のうちの「ディープラーニングの手法」と「ディープラーニングの研究分野」の計7問を解き、解説します。
G検定試験の過去問というわけではないと思いますが、公式サイトが掲載している問題ですので、G検定本番の問題の雰囲気や難易度などの参考になると思います。
G検定の例題:ディープラーニングの手法(5問)
「ディープラーニングの手法」という項目の5問を解いていきます。
ディープラーニングの手法 1問目
Q. 以下の文章を読み、空欄に最もよく当てはまる選択肢を語群の中から1つずつ選べ。
画像認識の国際的なコンペティションのひとつに、ILSVRC(ImageNet Large Scale Visual Recognition Competition)がある。ここで、2012年にCNNのモデルである(ア)が優勝を飾った。それからというもの、続けざまにCNNのモデルが高い成果を上げている。2014年にはインセプションモジュールという構造を利用した(イ)が優勝し、(ウ)もまたそれに迫る優秀な功績を収めた。また、2015年には残差学習という深いネットワークの学習を可能にした(エ)がそれぞれ優勝している。
1. AlexNet
https://www.jdla.oG検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
2. ElmanNet
3. GoogLeNet
4. ImageNet
5. LeNet
6. ResNet
7. VGG
8. WaveNet
回答例
(ア) 1、(イ) 3、(ウ) 7、(エ) 6 ですね。
解説
ILSVRC (ImageNet Large Scale Visual Recognition Competition)は、問題文にある通り、画像認識の国際的なコンテストです (今は行われていません)。ここで使われた画像認識データセットはimagenetと呼ばれる大規模データセットの一部が使われていますが、このコンペティションで使われたデータセットのことを単にimagenetと呼ばれることが多々あります。
論文等に出てくるImagenetデータセットとは、2012年のILSVRCで使われたデータセットのことを指している場合が大半です。本来のImagenetとは正確には異なりますので注意が必要です。
この問題は単純な知識を問う問題です。歴史の問題みたいですね。
(ア) 2012年のILSVRC 2012コンペティションで、トロント大学のジェフリー・ヒントンがニューラルネットワークを用いた手法で2位に大きく差をつけ、ダントツ一位となりました。これを契機にディープラーニングの研究に火がつき、今に至っています。このときに用いられたニューラルネットワークがCNN (Convolutional Neural Network)の1種のAlexNetです。
(イ) インセプションモジュールと言えばGoogleです。GoogLeNetやInceptionの各種バージョンなど、Googleの研究チームからインセプションモジュールを用いたCNNが複数提案されています。
(ウ) VGGですね。この選択肢では、わざわざ1位ではないCNNモデルを問われています。優勝を逃してあっても関わらず現在有名となったCNNモデルがこの選択肢の候補になります。
VGGは、GoogLeNet (構造が複雑)やAlexNet (提案当時のNormalizationは今あまり使われていない)、ResNet (残差に関わる分岐がある)に比べて単純に実装できる構造になっているため、今でも主にベンチマークとして広く使われています。
(エ) 残差といえばResNetです。
難易度
この問題は基本的な知識が問われていて、難易度としては低いと言えます。
ディープラーニングの手法 2問目
Q. 以下の文章を読み、空欄に最もよく当てはまる選択肢を各語群の中から1つずつ選べ。
ニューラルネットワークにおいて、初期は中間層で(ア)が活性化関数として使用されていた。しかし、(イ)ために、層を深くすると学習に用いる勾配がほぼ0になってしまうという問題が起こった。これは、勾配消失問題と呼ばれる重要な問題である。
ディープラーニングで活性化関数として用いられることが多い(ウ)は(ア)と比較してこの問題が生じにくい。また、計算量が少なく済むことも特徴的である。一方で、(エ)を用いることで活性化関数として(ア)を用いた場合でも学習が早く進むことが知られている。
(ア)
1. ステップ関数
2. ReLU
3. sigmoid関数
4. softmax関数(イ)
1. 負の値を入力された場合に出力が一定になってしまう
2. 出力の平均値が0、標準偏差が1にならない
3. 関数に微分不可能な点が存在する
4. 入力の絶対値が大きいと、出力がほぼ一定になってしまう(ウ)
1. ステップ関数
2. ReLU
3. sigmoid関数
4. softmax関数(エ)
G検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
1. Dropout
2. Batch Normalization
3. Regularization
4. Weight Decay
回答例
(ア) 3、(イ) 4、(ウ) 2、(エ) 2 ですね。
解説
(ア) 初期に使われた活性化関数といえばsigmoid(シグモイド)関数です。何十年も前から使われています。一方のReLUは比較的最近と覚えておくと良いと思います。
(イ) シグモイド関数で勾配消失が起こるのは、勾配の値が1未満となってしまうため、層が深くなるたびに1未満の値の掛け算が重なっていってしまうからです。勾配は出力に近い層から掛け算が行われて入力に近い層に伝わっていきます。その結果、問題文にもありますが、勾配の値が0になっていってしまうのです。
この選択肢は悩みます。消去法で言うと、1.はReLUでも当てはまるので違うと思います。3.ですが、微分不可能点はsigomoidにはないので候補からは外れます。
2.と4.はsigmoid関数に当てはまる内容ではありますが、勾配消失問題に関連するのは4.だと思います。4.で説明されている、入力値が大きくても出力が一定となってしまうというシグモイド関数の特性が、勾配の値が1未満になってしまうことに繋がっています。これはReLUにはない特性です。出力が入力に応じて大きくなれば勾配が小さくならず、勾配消失を抑制できると考えられます。
(ウ) 勾配消失問題を改善した活性化関数はReLUと覚えておけば良いと思います。
(エ) 選択肢の、Dropout (ドロップアウト)、Batch Normalization、Regularization、Weight Decayはどれも正則化と呼べれる手法です。汎化性能の向上のために使われています。
これらのうち、問題文にあるような「学習が早く進む」効果があるのはBatch Normalization (バッチ正規化)です。
難易度
(イ)が難しいです。シグモイド=勾配消失問題と覚えているだけでは悩むと思います。こういう問題は、選択肢から候補を絞り、次の問題へとさっさと進むのが正解だと思います。
ディープラーニングの手法 3問目
Q. 次の文章の(A)、(B)の組み合わせとして、最も適しているものを1つ選べ。
時系列データの分析には、もともと( A )が最も適していると考えられていたが、時系列データのひとつである音声処理の分野では( B )が非常に高い精度を記録している。
1. (A)リカレントニューラルネットワーク (B)畳み込みニューラルネットワーク
G検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
2. (A)リカレントニューラルネットワーク (B)Autoencoder
3. (A)畳み込みニューラルネットワーク (B)リカレントニューラルネットワーク
4. (A)畳み込みニューラルネットワーク (B)Autoencoder
5. (A)Autoencoder (B)畳み込みニューラルネットワーク
6. (A)Autoencoder (B)リカレントニューラルネットワーク
回答例
1 ですね。
解説
(A) 時系列と言えばRNN (Recurrent Neural Network; リカレントニューラルネットワーク)です。「もともと」と問題文にあるので、一般的な認識から、(A)リカレントニューラルネットワークを選べばよいと思います。
(B) 問題文にある通り、時系列といえばRNNなのですが、RNNは万能というわけではなく、他の手法が性能を上回ることも多々あります。
音声処理ではスペクトルデータに対してCNN (畳み込みニューラルネットワーク)を用いると高性能が得られるという報告があります。スペクトルデータは時間と周波数の2次元からなるデータで、縦と横の2次元からなる画像データと同じようにCNNを用いることができ、CNNでも適切に学習することが可能です。
難易度
知識問題ですね。難易度は比較的易しいと思います。
ディープラーニングの手法 4問目
Q. 以下の文章の空欄に最も適切に当てはまる選択肢を、各語群の中からそれぞれひとつずつ選べ。
RNN(Recurrent Neural Network)は、(ア)を扱うために開発された。それまでのフィードフォワードニューラルネットワークと比較して特徴的なのは、入力データに加え(イ)を隠れ層に入力する(ウ)構造を取り入れたことである。
(ア)
1. 周期データ
2. 累積データ
3. 連鎖データ
4. 系列データ(イ)
1. 前回の入力
2. 前回の中間層の状態
3. 過去のすべての入力
4. 過去のすべての中間層の状態(ウ)
G検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
1. 再帰
2. 畳み込み
3. 逆伝播
4. 正則化
回答例
(ア) 4.、(イ) 2、(ウ) 1 ですね。
解説
(ア) RNNと言えば時系列データと覚えていると思います。ただし正確には系列データ、つまり時間に限らず順番が重要なデータを扱うのに長けています。文章(文書)を扱う自然言語にも強いのがRNNですが、文章を構成する言葉は単語や文字の系列ですよね。単語や文字の系列は、その前後関係を含めた順番が重要なのであって、紙に書かれた文章には必ずしも時間という概念があるわけではありません。順番が重要なデータを系列データと呼んで良いと思いますので、RNNといえば系列データと覚えなおすのが良いと思います。
(イ) 選択肢から1つ選ぶとしたら、「前回の中間層の状態」かなと思います。1.前回の入力や3.過去のすべての入力、4.過去のすべての中間層の状態は、結果的には中間層に反映されていますが、毎回行われるのは前回の中間層の状態が隠れ層に入力されています。毎回、中間層の状態が隠れ層に入力されることで、過去の入力や状態が反映されるようになっています。
(ウ) RNN (Recurrent Neural Network)の”Recurrent”は再帰という意味です。
難易度
(イ)に少し悩みますね。日本語を論理的に捉えて選択肢から最も適切なものを選ぶ能力が必要かと思いました。国語の問題みたいですね。難易度は少し難しいと思います。
ディープラーニングの手法 5問目
Q. 通常のニューラルネットワークにはない、畳み込みニューラルネットワークがもつ分類問題の汎化性能の向上に寄与する特徴として、最も適切なものを1つ選べ。
1. ネットワークの中間層で、再帰的にフィードバックが与えられる。
G検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
2. 決定境界を非線形にするために、活性化関数が利用される。
3. 画像全体に対して、一定範囲ごとに入力の特徴量が抽出される。
4. 出力層において、出力が確率に変換される
回答例
3. ですね。
解説
1. 再帰的なフィードバックはRNNの説明です。
2. 非線形性はニューラルネットワーク全般がもつ特徴です。
3. 畳み込みニューラルネットワーク(CNN)の畳み込み層は、画像内の一定の範囲を入力として特徴量を抽出します。重要なのは、画像内の座標情報を使わずに特徴量を計算するところです。
例えば、猫を認識するのに、猫が画像の上の方に写っているのか、下の方に写っているかは重要ではありません。画像内の位置情報は使わずに、ある範囲内の画素のみを用いて特徴量を抽出することで、CNNは汎化性能の向上を図っています。CNNの持つこのような特性のことをシフト不変性(シフトインバリアント; shift inavriant)、位置不変性(space invariant)と言います。
一方で、通常のニューラルネットワーク(DNN, MLP)では、入力のうちのどこのデータがどんな値かということを学習しますので、一般的にシフト不変性はありません。
4. 出力を確率に変換する機能を持つのは活性化関数Softmaxです。
難易度
関係ない選択肢を排除するのが簡単なので、この問題は易しいと思います。
G検定の例題:ディープラーニングの研究分野(2問)
次に、「ディープラーニングの研究分野」という項目の2問を解いていきます。
ディープラーニングの研究分野 1問目
Q. 以下の文章の空欄に最もよく当てはまるものを1つずつ選べ。
ロボティクス分野でも、機械学習の応用が進められている。例えば、ロボットの動作制御にQ学習やモンテカルロ法などの(ア)のアルゴリズムを利用する事例は多く存在する。また、ロボットはカメラ(視覚)、マイク(聴覚)、圧力センサ(触覚)などの異なったセンサ情報を収集できる(イ)システムを持っていることから、これらの情報をDNNで統合的に処理する研究や、ロボットの一連の動作の生成をひとつのDNNで実現しようとする(ウ)の研究も行われている。
(ア)
1. End to End Learning
2. Supervised Learning
3. Motion Learning
4. Adaptive Learning
5. Reinforcement Learning
6. Representation Learning(イ)
1. マルチモーダル
2. インセプション
3. コグニティブ
4. フルスクラッチ(ウ)
G検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
1. End to End Learning
2. Supervised Learning
3. Motion Learning
4. Adaptive Learning
5. Reinforcement Learning
6. Representation Learning
回答例
(ア) 5.、(イ) 1.、(ウ) 1. ですね。
解説
(ア) まず、選択肢の日本語は次のようになります。
1. End to End Learning (一気通貫学習)
2. Supervised Learning (教師あり学習)
3. Motion Learning (挙動学習?)
4. Adaptive Learning (適応学習)
5. Reinforcement Learning (強化学習)
6. Representation Learning (表現学習)
“Motion Learning”だけは機械学習やディープラーニングの分野では聞きなれない言葉で、ググっても適切なものが出てきませんでした。問題の都合上出てきた言葉で、無視して良い用語だと思います。
ロボットの制御に使う機械学習といえば強化学習(Reinforcement Learning)と連想しましょう。Q学習は強化学習の中の1つの手法です。モンテカルロ法も強化学習の手法の1つではありますが、強化学習以外の分野でも物理シミュレーションなどに使われる手法ですので、そこは注意が必要かと思います。
(イ) 複数の異なるセンサー等から得られたデータを用いることをマルチモーダルと呼びます。逆に1つの種類のデータを用いることをシングルモーダルと呼びます。
(ウ) 1つのニューラルネットワーク(DNN)で何らかの比較的複雑なタスクを実現するときにEnd to endという用語が使われます。End to endは明確な定義がない用語ではありますが、ロボットのような細かい制御や動作が組み合わされた複雑なシステムだったり、複数の手順で構成されていた複雑なアルゴリズムだったりを、DNNで一気に学習して行ってしまうときに、End to end learningという言葉が使われることが多いです。
難易度
この問題は簡単ですね。ただし、基本知識や基本用語の記憶に加えて英語訳も覚える必要性があることを示唆している問題であると言えます。
ディープラーニングの研究分野 2問目
Q. RNN(Recurrent Neural Network)が自然言語処理の分野で精度の向上に寄与した理由として、最も適しているものを1つ選べ。
1. 畳み込み層で畳み込み処理を行うことにより、単語の出現位置から文脈を読み取れるようになったため。
G検定の例題 – 一般社団法人日本ディープラーニング協会【公式】
2. 隠れ層で過去の情報を保持できるようになり、文字の並びから意味を抽出できるようになったため。
3. ネットワークの外部に記憶部分を設けることで、文章のパターンを簡単に参照できるようになったため。
4. 正しい文章の出力ができるようになるまで繰り返し自動で学習できるようになったため。
回答例
2 ですね。
解説
1. 畳み込み層はCNN (Convolutional Neural Network)に使われます。RNNの説明としてこの選択肢は不適です。
2. RNN (Recurrent Neural Network)はデータを時間軸で扱い、特徴を捉えることができます。過去の情報を隠れ層で保持するという選択肢の説明は妥当です。自然言語処理分野におけるデータは文章(文書)となりますが、文字や単語の並び順を時間方向の情報としてRNNで学習すると、RNNは文章の特徴を抽出できるようになります。
RNNが獲得した特徴のことを、選択肢の文章にあるような「意味」と呼んでいいのかは引っ掛かりますが、他の選択肢と比べると本選択肢が最も適切であると判断しました。
3. RNNでは、ニューラルネットワーク内部の隠れ層が記憶に関わる機能を持っています。外部ではありません。
4. RNNが繰り返し自動で学習できることには違いありませんが、RNN以外のニューラルネットワークでも繰り返し学習することは可能でした。RNNが精度向上に寄与した理由としては不適切だと思います。
難易度
この問題の難易度は低いと思います。問題文は抽象的ですが、選択肢から正解を導くのは容易です。
おわりに
全4回に渡って、ディープラーニングG検定の例題の回答と解説を掲載してきました。受験生の合格の助けになって頂ければ幸いです。
本記事の回答例や解説に疑問や指摘がありましたら、コメント欄で投稿して頂けると助かります。
冒頭でも紹介した、他の問題の回答・解説を掲載した記事は以下の通りです。
コメント