「G 検定 Study-AI 模擬テスト」練習後まとめ
May 5, 2023
機械学習の勉強のために次の問題に取り組んだ。振り返りのために内容を補完しつつ整理しておく。
- G 検定模擬テスト | Study-AI
- https://study-ai.com/generalist/
G 検定模擬テスト(約 200 題) #
- No. 16:CNN の特性上、入力層に近い中間層は全体的な特徴を捉え、出力層に近い中間層は個別の特徴を捉える。
- No. 28:「バッチ正規化」とは、各層において活性化関数をかける前に伝播してきたデータを正規化する処理。勾配消失問題の解決策になると考えられる。
- No. 29:「Skip connection」とは「層を飛び越えた結合」を用いる手法。Microsoft 社の CNN 系モデルである ResNet が採用した。層が深くなっても層を飛び越える部分は伝播しやすくなり、また、様々なネットワークのアンサンブル学習にもなるため、勾配消失問題への大きな対策となった。これによって従来よりも深い層を持ったモデルを作ることができるようになった。
- No. 40:転移学習・ファインチューニングでは、新たに追加した層とそれを含んだ全体を再学習するため、主に出力層の再学習を行なっていると見なすことができる。
- No. 41:転移学習・ファインチューニングでは、既存モデル(=学習済みモデル)の層の学習率(=重みパラメータを一度にどの程度変化させるかを表すハイパーパラメータ)を低く設定することが多い。これによりすでに学習済みの部分の変更幅を小さくしている。
- No. 43:データ拡張(水増し)においては、元の綺麗な画像を汚すことで、モデルのロバスト性を高める(=外部の影響によって影響されにくくする)ことを狙うことができる。
- No. 44:バッチ正規化を用いると、(重みの更新が1度だけになるため)学習が高速になり、勾配消失問題が起こりにくくなり、初期値への依存がなくなり、過学習が起こりにくくなる。
- No. 58, 59, 60, 61:東京大学の松尾豊准教授によると、現在巷で人工知能と呼ばれているものは様々なレベルのものが混合しており、これをレベル 1 からレベル 4 までの 4 つのレベルに分類できそうであると述べている。
- レベル 1:学術分野としては制御工学やシステム工学に対応する、単純な制御プログラム
- レベル 2:探索や推論を活用し、限定された環境下における問題解決を行えるプログラム
- レベル 3:機械学習を活用し、多量のデータをもとに推論の仕組みや知識ベースが作成されているプログラム
- レベル 4:特徴表現学習と呼ばれ、特徴量自体を学習することができるプログラム
- No. 68:第三次 AI ブームに関して、2012 年に生じた二つの象徴的な出来事。1つは ILSVRC で Deep Learning を採用したモデルの優勝。もう1つが Google 社が大量の画像データから「猫」を抽出し、その隠れ層では猫の概念と思われる画像が抽出されたこと。これにより、コンピュータがディープラーニングにより意味を理解できたと考えられた。
- No. 76:DeepMind Technologies(ディープマインド・テクノロジーズ)は、イギリスにある会社。2010 年に起業され、2014 年に Google によって買収された。
- No. 88:ディープラーニングでは、特徴量を機械学習自身に発見させる「表現学習(または特徴表現学習)」が行われる。したがって、特徴量は人間が与えずとも人工知能自身が自分で発見する。
- No. 108:「End-to-End 音声認識」は音響特徴量から音素、音素から文字列、文字列から単語列への変換をまとめて実施して言語モデルを学習するアプローチ。
- No. 113:Define-by-Run とは、計算グラフの構築と同時にデータを流して処理を並行して実行する方式で、途中の処理結果が確認でき、デバッグが楽になるほか、データ構造によってモデルを変えやすい利点がある。
- No. 114:end-to-end learning (端対端学習) とは、ディープラーニングにおいて、1 つの問題やタスクに対して、ネットワーク中の入力層(端)から出力層(端)までの全層の重みをいっぺんに学習する方法。
- No. 124:「言語モデル」の本質は「過去の入力系列を利用して次回の出力単語の分布を求める確率モデル」である。
- No. 125, 126:RNNLM モデル(Recurrent Neural Language Model)における従来型の言語生成システムでは見られなかった新たな誤動作の例
- 過生成:入力:I have an apple and an orange/出力:私はりんごとりんごとりんごとオレンジを持っている
- 生成不足:入力:I have an apple and an orange/出力:私はりんごを持っている
- 原構造無視:入力:I have an apple and an orange/出力:私はりんごとペンを持っている
- No. 127:「マルチエージェントシミュレーション」とはエージェントが多数存在して相互作用することによって生じる現象を模倣し分析しようとするもの。
- No. 138:日本の現行法は、インターネット上のデータ等の著作物から学習用データを解析することは営利目的の場合まで含め著作権侵害には当たらないというスタンスである。
- No. 140:発明においては、創作は「課題の設定」「解決手段候補選択」「実効性評価」の3ステップからなり、特許法における「発明をした者」は自然人に限られる。
- No. 142, 143, 144, 145:総務省は AI の社会実装によって想定されるリスクを大きく 4 分類で整理している。分類とそのリスクの例は次の通り。
- AI 自身のリスク:AI のアルゴリズムがブラックボックス化し人間の制御ができなくなってしまう。
- AI に関わる人間のリスク:人間が AI を利用した無差別殺人を行う。
- 社会的負のインパクト:AI が人々の職を奪ってしまう。
- 法律・社会のあり方:自動運転車が引き起こした事故は誰が責任を負うのか。
- No. 153:予測とその予想が正解かどうかの組み分けを表にまとめたものを「混同行列(confusion matrix)」という。分類問題におけるモデルの汎化性能を考える際に性能指標を算出するために利用される。これにより、正解率や適合率、再現率などを確認する。
- No. 164:ロジスティック回帰は2値分類問題を解く。また、ロジスティック回帰では各クラスの確率も得ることができる。
- No. 167:単純パーセプトロンはとてもシンプルであるがデータが線形分離可能ではない場合は分類できない。非線形問題が解けないことは XOR 問題と呼ばれる。
- No. 172:機械学習をする上で難問となるのが、学習を行う際に設定せねばならない初期パラメータ、すなわちハイパーパラメータにどのような値を設定するかということである。この問題の解決を試みて様々なアプローチが取られている。
- グリッドサーチ:適切だと考えられるパラメータを複数用意し、それらの値の組み合わせを全通り総当たりで行い、最も良いハイパーパラメータを探す方法
- ランダムサーチ:考えられるパラメータの範囲を決め、ランダムにパラメータを組み合わせて学習させ、最も良いハイパーパラメータを探す方法
- No. 179:決定木において「剪定(pruning)」とは、あまりに細かすぎる分類を行なって汎化性能を損なわないように、条件分岐の回数の初期値を設定することでそれを適切な回数に留める手法をいう。
- No. 184:評価に用いられる代表的な指標のうち、再現率を用いるケースの例は、病院における疾病の診断判定である。病院の疾病診断のような見落としが許されないケースでは再現率の高さが求められる。
- No. 185:評価に用いられる代表的な指標のうち、適合率を用いるケースの例は、e コマースによる商品のレコメンドの精度である。推薦結果がユーザーの嗜好に合致しないものをなるべく除外した方が望ましいため適合率の高さが求められる。
- No. 191:SVM ではすべてのデータを外れ値も含め正確に分類する関数を考えると関数が非常に複雑になる。これを解消するために「スラック変数」を導入し、一部のサンプルの誤分類に寛容になることで関数を簡易化することが可能である。
- No. 192:SVM では通常、非線形問題を解くことはできないが、「カーネル法」を用いることで決定境界を新しい空間に転写し線形にすることで、非線形問題も線形問題として解くことが可能となる。
- No. 193:SVM でカーネル法を利用する場合は計算量が大きくなるが、カーネル関数を用いる「カーネルトリック」によって計算量を削減することができる。
- No. 203:決定木でアンサンブル学習を用いる場合で言えば、「ランダムフォレスト」は「バギング」に、「勾配ブースティング木」は「ブースティング」にあたる。両者の違いは、複数のモデルを独立に学習させるのか、逐次的に学習させるのかの違いである。
- No. 214:日本においては現在、高度 150m 以上の空域でドローンを飛行させる場合は許可が必要。
- No. 215:日本においては現在、ヒト・モノから 30m 以内でドローンを飛行させる場合は許可が必要。
G 検定模擬テスト - 新シラバス対応(約 100 題) #
- No. 4:スパースモデリングは「あらゆるものごとに含まれる本質的な情報はごくわずかである(=スパース性)という仮定に基づき、データそのものではなく同士の関係性に注目することで、少量のデータでも分析可能とする技術」のこと。これはオッカムの剃刀の「ある事柄を説明するためには、必要以上に多くを仮定するべきでない」という考え方を背景にしている。
- No. 7:画像認識におけるデータ拡張(data augmentation)の手法の1つに「Cutout」がある。正方領域を固定値 0 でマスクする手法。マスクする領域の大きさはどのデータセットについても同一である。
- No. 8:画像認識におけるデータ拡張(data augmentation)の手法の1つに「Random Erasing」がある。ランダム縦横比の長方形を領域をランダムな値でマスクする。
- No. 9:画像認識におけるデータ拡張(data augmentation)の手法の1つに「Mixup」がある。2つの画像を合成して新しいサンプルを作成する。
- No. 10:画像認識におけるデータ拡張(data augmentation)の手法の1つに「CutMix」がある。画像を2枚用意し,一つの画像からもう一つの画像へコピーする。この手法は Cutout の改良版であり、Cutout は学習に必要な情報を削っているため、その改善を図っている。
- No. 23, 24:姿勢推定(人の頭や足、手などの関節位置を推定するタスク)モデルで有名なものが Open Pose である。手法として、まず入力画像から部位の位置の推定(S・confidense maps)と、部位の連関を表す(L・Part Affinity Fields(PAFs))を算出し、その後 S と L の集合から同じ人物の部位を組み合わせ、姿勢の状態を出力する。
- No. 25:「Attention(アテンション)」とは、「時間の重み」をネットワークに組み込んだ機構。RNN では LSTM や(LSTM を簡略化した)GRU を利用した場合であっても1つ前の状態と新たな入力から次の状態を計算するだけであり、どの時刻の状態がどれだけ次の状態に影響するかまでは直接求めることができない。Attention は過去の各時刻での隠れ層の状態を保持しておくことで、時間の重みを考慮したモデルを実現する。Attention を使って(RNN を用いずに)並列計算を可能としたのが「Transformer(トランスフォーマー)」であり、ニューラル機械翻訳のために提案された。
- No. 28:RNN Encoder-Decoder モデルは2つの RNN から構成され、Encoder が入力データを、Decoder が出力データをそれぞれ処理する。「Seq2Seq(sequence-tosequence)」モデルとも呼ばれる。入力が時系列データであり、出力もまた時系列データで表現したい場合に用いる。その代表例が機械翻訳。
- No. 37, 38:音声認識エンジンの仕組みは、大まかに、元の音声データから特徴量を抽出するために、アナログ信号からデジタル信号の波形に変換(A-D 変換)し、音素(意味の違いに関わる最小の音声的な単位)の抽出やノイズ除去を行う、という流れとなる。
- 音声は「パルス符号変調(Pulse Code Modulation, PCM)」という A-D 変換が用いられるのが一般的で、これは主に以下3つの手順を踏むもの。
- 標本化:アナログ信号を一定時間ごとに区切り、その値を読み込む。(サンプリングとも呼ぶ)
- 量子化:標本化し読み込んだ値をデジタル信号に変換できるように加工する。
- 符号化:量子化された値を指定された二進コードなどで符号化する。
- 音声は「パルス符号変調(Pulse Code Modulation, PCM)」という A-D 変換が用いられるのが一般的で、これは主に以下3つの手順を踏むもの。
- No. 40:「メル尺度」は、人間が感じる音の高さに基づいた、音高の知覚尺度である。心理学者らによって提案された。例えば人間は低音域の差は見抜けくことができるが、高音域の違いを見抜くのが難しい。メル尺度も同様の考えであり、周波数が高いほどメル尺度が増加しにくくなる。
- No. 41:N-gram は任意の文字列やテキストをいくつかの単語や文字のペアで n 個ずつ分割し、ペア内の文脈を考慮してテキストを解析する手法。1つの漢字を読み取るときに単語の前後関係から読みを解析するときなどに利用できる。
- No. 42:BoW(Bag-of-Words)は任意の文字列やテキストに対して、記載内容の特徴を分析するため、単語の出現回数を読み取る手法。記述内容が肯定的なのか否定的なのかの判定などに利用できる。ただし、出現順序は考慮されない。
- No. 43:「ワンホットベクトル」は、全要素のうちが 1 つが 1 で残りの成分が全て 0 で表現するベクトルのこと。
- No. 45:自然言語処理の分野で単語の意味をベクトルで表現するモデルを「単語埋め込みモデル」という。その代表例が「word2vec」である。
- No. 46:自然言語処理の分野で、単語とベクトルの関係を 1 対 1 で表現する考え方を「局所表現」と呼ぶ。他の概念とは完全に独立しているため、単語間の関係性をとらえることができない問題がある。ワンホットベクトルな表現がこれに該当する。
- No. 47:自然言語処理の分野で、文字や単語をベクトル空間に埋め込み、その空間上で点として扱う考え方を「分散表現」または「単語埋め込み」と呼ぶ。他の概念と関連する場合は紐づけながらベクトル空間上に表現していく。
- No. 48, 49:word2vec には「スキップグラム(skip-gram)」と「CBOW(Continuous Bag-of-Words)」という2つの手法がある。
- スキップグラム(skip-gram):ある単語を与えて周辺の単語を予測するモデル
- CBOW(Continuous Bag-of-Words):周辺の単語からある単語を予測するモデル
- No. 51:「ELMo(Embeddings from Language Models)」は、文脈から意味を演算するモデル。多義語であったり、同じ単語でも文脈によって異なる表現を得ることができる。
- No. 54, 55:Attention(アテンション)機構は当初、エンコーダとデコーダを橋渡しするような仕組みを持っていた。入力文(source)と出力文(target)の橋渡しに使われるアテンションを「Source-Target Attention」もしくは「Encorder-Decorder Attention」と呼ぶ。
- No. 56:Source-Target Attention が入力文と出力文の単語感の関連度を計算したものっであるのに対し、「Self-Attention」は「入力文内の単語間または出力文内の単語間の関連度」を計算したもの。これによりその文における文脈を考慮したより適切な表現を得ることができる。また、RNN を利用した機械翻訳では、時間軸にそって順にデータを読み込む必要があったため並列処理ができなかったが、Self-Attention によって並列処理が可能になり、高速な処理が実現された。
- No. 57:「トランスフォーマー」は従来式の RNN の代わりに Self-Attention 機構を採用したことで高速化したが、一方でその結果、語順情報を考慮することができなくなった。その対策として「位置エンコーディング(positional encoding)」付加することで、間接的に単語の位置情報や位置関係を考慮することができるようにした。
- No. 63:主なデータセット
- ImageNet:カラー写真のデータセット
- MNIST:手書き数字画像のデータセット。Mixed National Institute of Standards and Technology database で MNIST。
- GLUE:言語理解タスクのベンチマーク用データセット。General language Understanding Evaluation で GLUE。
- No. 66:DQN(Deep Q-Network)の拡張手法として、深層強化学習を二重化することによって、偶然に行動価値が大きくなり誤った学習をしてしまう現象を防ぐ手法が「ダブル DQN(double deep q-network)」である。
- No. 67:DQN(Deep Q-Network)の拡張手法として、行動によらず学習ができるように行動価値関数を状態と行動に分割する手法が「デュエリングネットワーク(dueling network)」である。
- No. 68:DQN(Deep Q-Network)の拡張手法として、常にその時点で価値の高い行動をとり続けた場合に別の行動をとる可能性がなくなってしまうという問題点に対し、ネットワークそのものに学習可能なパラメータと共に外乱を与えてそれも含めて学習させていくことでより長期的で広範囲に探索をすすめることで改善するという手法が「ノイジーネットワーク(noisy network)」である。
- No. 69:「Rainbow」は DQN、Categorical DQN、Multi-Step RL、Double DQN、Prioritized Experience Reply、Dueling Net、Noisy Net という 7 種類の手法を統合した手法である。
- No. 70:マルチエージェント強化学習は複数のエージェントが同時に行動し、相互に影響を与える学習。例えば、あるエージェントが報酬を得た時に、他のエージェントにも間接報酬を与えることによって協調的な関係を考慮して学習を進めることができる。反対に、競争関係を考慮させることもできる。
- No. 73:「状態表現学習」とは、環境の状態をあらかじめ学習しておくことで深層強化学習の学習効率を高める手法である。
- No. 75:「報酬成形(reward shaping)」とは、報酬関数の設計と、それに基づいた学習で得られる方策を確認し、タスクに応じた適切な報酬関数を設計することで、学習速度を向上させること。
- No. 76:「オフライン強化学習」とは、実世界での行動による学習は行わずに、過去に蓄積されたデータのみで学習を行う手法。例えるならば、実際にゲームをプレイすることなしに、人のプレイ動画のデータを見て学習するようなもの。オンライン学習が難しい、医療やロボティクス分野での利用が期待されている。
- No. 77:「Sim2Real(Simulation-To-Real)」とは、シミュレーションを用いて方策を学習し、その学習した方策を現実に転移させる手法。例えばロボティクスの場合、カメラ画像やセンサデータ、ロボットの存在する空間の力学や制約をシミュレータを用いて再現することで、現実世界より低コストで学習することができる。その一方で、シミュレータと現実世界の際である「リアリティギャップ(reality gap)」によって、シミュレーションでの学習内容を実世界に転移した場合に、想定した性能が出ない可能性もある。
- No. 78:教科学習において、「ドメインランダマイゼーション」とは、ランダム化されたプロパティを使用して様々な学習用のシミュレーション環境を作成する手法のこと。これらすべての環境で機能するようにモデルを学習させていく。
- No. 80:「蒸留」とは、学習済みモデルに与えた入力とそれに対する出力を学習データとして新たなモデルを訓練すること。
- No. 87:学習等に用いるデータを他者から提供してもらう場合、又は、共有する場合にはデータの利用に関して契約を結ぶ。 外部に漏洩したくない情報を扱う場合には、「秘密保持契約(NDA, non-disclosure agreement)」を課す。秘密保持契約がある者のみで営業秘密等を扱うように配慮する必要がある。
- No. 89:学習用データ等のデータ、及び、プログラムは「特許権」又は「営業秘密」等で法的に保護されている場合がある。他者の特許発明又は営業秘密を権利者に無断で実施すると民事・刑事上の請求又は罰則を受ける場合があるため注意する。発明を特許出願をして特許権を取得して保護を図る、及び、データを営業秘密として保護を図る方法等がある。営業秘密として保護の客体となるには、有用性、秘密管理性、及び、非公知性等を備える必要がある。この3つの要件を備えれば形式や書面であるか否かを問わない。すなわち、学習用等のデータ、プログラム、データベース、仕様書、ソースコード、及び、設計図のすべてが法的な保護対象になりうる。
- No. 90:学習用データ、プログラム、データベース、仕様書、及び、AI による成果物等のデータは営業秘密として保護されている場合がある。転職、社外への発表、販売、情報提供、又は、他者との共同開発等で営業秘密を扱う場合には、「不正競争」に該当する行為か注意する必要がある。例えば、不正競争となる行為は、不正取得、不正使用、又は、不正開示等がある。
- No. 95:「k-匿名化」とは、準識別子(同一属性)のデータが k 件以上になるようにデータを変換することで、個人が特定される確率を k 分の 1 以下に低減して特定を困難にする匿名化技術。