G検定 まとめ


受験した際のまとめです。参考になれば幸いです。
人工知能

計算機により知的な情報処理システムを設計・実装するための研究分野
第一次AIブーム:推論と探索:トイプログラムしか解けないため終焉
第二次AIブーム:エキスパートシステム(ナレッジエンジニアという職業が生まれる):専門家の知識は膨大で、定式化が難しいため終焉
第三次AIブーム:機械学習と深層学習:
機械学習
アーサー・サミュエル「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」

教師なし学習

教師データを使わずに、既知のデータの本質的な構造を浮かび上がらせることを目的とする学習手法。
代表的な手法は、クラスタリング(サンプル同士の類似値を基にしてそれらを複数のグループに分ける手法。一方、クラス分類(代表的なアルゴリズムはKNN法)はグループを事前に設定する点で異なる。)と次元削減(多次元からなる情報を、その意味を保ったまま、それより少ない次元の情報に落とし込むこと。主成分分析は特によく用いられる。)
 k-means(k-平均法):教師なし学習の一種。距離をベースに計算を行う単純なハードクラスタリング手法。主成分分析(PCA)とオートエンコーダの共通点:次元圧縮、教師なし学習が可能
 主成分分析:線形な次元削減であり、計算量の削減、次元の呪いの回避が期待できるだけでなく、寄与率を調べれば各成分の重要度が分かり、主成分を調べれば各成分の意味を推測することができる。

教師あり学習

正解ラベルが未知のサンプルに対して、正解ラベルを予測するモデルを生成する学習手法。教師データを使い予測値を正解ラベルに近づけることを目標に学習を行う手法。回帰と分類に大別される。教師データをテストデータと訓練データに分割し、訓練データを学習、テストデータを検証に用いる方法をホールドアウト法と呼ぶ。
 強化学習
「エージェントの目的は、収益を最大化する方策を獲得すること。エージェントが収益を最大化するよう行動を選択することで状態が変化しますが、変化した状態で再び最良の行動を選択するという行為を繰り返すことで、収益を最大化する方策を獲得する。」
エージェント:ある環境で動くプレーヤー
行動:エージェントが取る行動
収益:エージェントが行動することにより得られる評価額
価値関数:将来的に得られる収益の期待値を表す関数
方策:ある状態の時どの行動を取るべきかを示す関数。決定的に行動を取るものと確率的に決めるものがある
強化学習 最適な方策を求めることを目的とした機械学習の学習方法。一般的に教師あり学習にも教師なし学習にも分類されない。
前処理
正規化(データをスケーリングする)。標準化(平均を0、分数を1に変換する)
アンサンブル学習
簡単に言えば多数決をとる方法で、個々に別々の学習器として学習させたものを、融合させる事によって、未学習のデータに対しての予測能力を向上させるための学習です。
 分類問題に関しては、単一の強識別器を用いるよりもほとんど確実にバギングの性能がなくなることが経験的に知られている。

回帰
連続値などの値の予測が目的。代表的な手法は線形回帰
線形回帰
散らばっているデータを直線で予測
目的変数:予測したい対象の変数
説明変数:予測に使われる変数
単回帰分析:説明変数が一つのときの回帰分析⇔重回帰分析:複数の説明変数による回帰分析
多重共線性:重回帰分析の際に、説明変数同士の絶対値が1に近い(強い相関がある)と、正しく推計できないような悪影響が生じる。

重回帰分析を行う際は多重共線性に注意。
多重共線性とは、相関係数が高い(1または-1に近い)特徴量の組を同時に説明変数に選ぶと、予測がうまくいかなくなる現象のこと。
相関係数の理解が必要。
相関係数とは、特徴量同士の相関の正負と強さを表す指標。-1(強い負の相関)から1(強い正の相関)をとる。0の時は相関なし。

分類
入力値から出力ラベルを予測(データが属するクラス(Yes,Noのような)を予測)
 例 スパムメールの分類 など
代表的な事例は、サポートベクターマシン(SVM)、決定木、ランダムフォレスト、ロジスティック回帰、KNN法

SVMサポートベクタマシーン
高度な数学的推論により支えられた分類手法。各データ点との距離が最大となる方向に境界面を引きパターン分類を行う。境界面の最も近くにあるデータのことをサポートベクトルと呼ぶ。マージンの最大化がコンセプト。スラック変数という工夫によりどの程度誤分類を許容するか調整することもできる。線形分離可能でないデータ(直線で分離しきれない)に対しても、カーネル法という手法を組み合わせることで決定境界を求めることができる。
SVM マージンの最大化がコンセプト
 スラック関数:誤分類を許容するための工夫。
 カーネル法:決定境界を非線形にする。
 カーネルトリック:計算量を大幅に削減するための工夫。
決定木
条件分岐を用いて分類や回帰を行う機械学習の手法の一つです。情報利得の最大化を実現するように決定する。データのスケールを事前に揃えておく必要がない、分析結果の説明が容易などの利点がある。不純度として主に用いる時にジニ係数やエントロピーがある。

ランダムフォレスト(random forests)
機械学習のアルゴリズムのひとつで、決定木による複数の弱学習器を統合させて汎化能力を向上させる、アンサンブル学習(バキング、ブースティングなど)アルゴリズムである[1]。おもに分類(判別)・回帰(予測)の用途で使用。

バキング

ブースティング

ロジスティック回帰
誤差:最終的な出力値と正解の差分 学習:誤差が少なくなるように調整すること
シグモイド関数(ロジスティック関数):数学的に微分可能な連続関数。
対数オッズと呼ばれる値を、重回帰分析により予測する。
対数オッズにロジット変換を施すことで、クラスiに属する確率piの予測値を求める。
尤度(ゆうど)関数が目的関数となる。
KNN(k 近傍法)
分類を行う際に、近傍にあるデータk個を観測し、その中で多数決を行い、分類されるクラスを求める手法。
線形分類、非線形分類

単純パーセプトロン
n
u=Σwixi  wは重み、xは入力
i
uに関する関数がf(x)= {1,u>0 ←ステップ関数(活性化関数)
0,u≦0 となるモデルを単純パーセプトロン
活性化関数:f(u)
活性化:f(u)=1⇔非活性化:f(u)=0
ヒンジ(ドアの蝶番)損失関数というある部分までは0でそこから一定の割合で増加する関数を使う。
代表的な活性化関数:ReLu(勾配消失問題の回避が期待)、ステップ関数、シグモイド関数、ソフトマックス関数、tanh関数


多層パーセプトロン(順伝播型ニューラルネットワークともいう)

CNN、FFNNは順伝播型ニューラルネットワーク。
深層ネットワーク(DNN)
流行の理由
・GPGPU(汎用計算もできるGPU)2007年NVIDIAから統合開発環境CUDAと提供
・勾配消失問題の解決:2011 Xavier Glorot ReLU(Rectified Linear Unit)

・画像認識コンペティションでの圧倒的成果
 2010から開始された画像認識コンペティションの世界大会(ILSVRC)Imagenetというデータセットを使った一般物体認識の性能を競う。
 2012 カナダ トロント大学Geoffery Hinston(ジェフリー・ヒントン) Super Vision AlexNetというDNNのモデル
・深層学習ライブラリのオープンソース化
 Google 「TensorFlow」ラッパーとして大変使用し易いAPI群提供 「keras」
国内 「Chainer」Define-by-Run方式 Preferred Networks社
 Facebook 「PyTorch」研究用 「Caffe」製品開発用
 Microsoft 「Cognitive Toolkit」
 ONNX:FB、MS、Amazon中心に異なるAIフレームワーク間で深層学習モデルの移行を行いやすくするオープンフォーマット

勾配降下法
ニューラルネットワークの重みを最適化するのに最も一般的な方法
重みの更新幅を調整する学習率はハイパーパラメータ。
 重みの更新タイミング(エポック:訓練データを何回学習に用いたか、イテレーション:重みを何度更新したか)によって3種類ある。
 
① 逐次学習(オンライン学習):訓練データに対して重みを一回更新
② 確率的勾配法(SGD Stochastic Gradient Discent):訓練データからランダムにサンプリングした小さなデータの集まりをミニバッチといい、ミニバッチに含まれるデータ全てについての誤差の総和を計算し、その総和を小さくするように重みを一回更新
③ バッチ学習(BGD Batch Gradient Discent):訓練データ全ての誤差を計算し、重みを一回更新
アルゴリズムについて
「勾配の2乗」の指数関数的減衰平均または移動平均⇒「RMSprop」「Adam」
「慣性項」⇒「Momentum」 モメンタム
「稀なパラメータには大きな更新を」⇒「Adagrad」「Adadelta」

畳み込みニューラルネットワーク(CNN)
 画像認識を行うために発明。特徴:畳み込み層(特徴表現を抽出する層)、プーリング層(情報集約を行う)。
CNN 移動不変性が備わっている。
faster R-CNN YOLO SSDは物体検出の手法。画像の分類と領域の切り出しを同時に高速に行う手法。
まず、入力が畳み込み層に伝わり、フィルタと画像との積和演算であるプーリング演算を行なう。これが繰り返され、最後は全結合層で出力が計算される。
 特徴マップ計算式
  特徴マップの幅=((入力画像の幅+パディングの大きさ×2-フィルタの幅)÷ストライドの幅)+1
特徴マップの高さ=((入力画像の高さ+パディングの大きさ×2-フィルタの高さ)÷ストライドの高さ)+1

再帰的ニューラルネットワーク(RNN)
過去の中間層(隠れ層)の情報を、現在の中間層に反映させる(ループ構造)ことによって時系列データを扱うことができる。内部に閉路構造を持つ。誤差逆伝搬法(出力データから入力データまでの逆方向の情報伝搬のこと)を用いて重みを学習
自然言語処理、音声認識、言語モデリング、機械翻訳、評判分析、ニューラル画像脚注付けなどを解決
LSTM(Long Short-Term Memory)は長期依存症を学習できるRNNの亜種。RNNの遠い過去の入力を現在の出力に反映することが難しいという欠点を解消したモデル。

GRU LSTMを更にシンプルにし計算コストを抑えたもの
自己符号化器(オートエンコーダ)
入力と出力が等しくなるように隠れ層の重みを学習していく構造。次元圧縮が可能。
敵対生成ネットワーク(GAN)
2014 Ian Goodfellow(イアン・グッドフェロー)により発案された生成ネットワークと識別ネットワークからなる教師なし学習手法。画像生成に応用。
ヤン ルカン (Yann LeCun) 氏は、GAN を「機械学習において、この 10 年間でもっともおもしろいアイデア」と形容
変分オートエンコーダ(VAE)
オートエンコーダを応用した生成モデルで、画像を生成することができる。
Deep Q Network(DQN)行動価値関数
Google傘下のDeepMind社が開発した深層強化学習アルゴリズムを利用したモデルでAtari2600というゲームでも利用。ディープラーングとQ学習の組みあわせ。CNNの一種。
行動価値関数とはある状態である行動を選択すると、その先どのくらいの報酬が手に入ると期待されるかを表す関数。一般には未来の状態や報酬は分からないためこの関数の計算方法は分からない。そのため、実際には近似関数から行動を選択するが、この近似関数に深層ニューラルネットワークを用いたのがDQNである。

自然言語処理における応用
Word2Vec:2013 GoogleグーグルのTomas Mikolovトマス・ミコロフによってモデルが研究。単語をベクトルとして表現し、意味の近さや、計算のアナロジーを行えるようにするための仕組み。Skip Gram Modelの手法。
fastText:Word2Vecを速度・精度の両面において改善したライブラリ
GloVe:カウントベース
ELMo:アレンインスティチュートのMatthew E.Petterが研究開発した。双方向LSTMを多層つなぎ合わせることで文脈によって異なる意味を持つ単語の分散表現を取得することに成功した画期的な仕組み
BERT:2018/10 Google双方向Transformerで言語モデルを事前学習することで汎用性を獲得し、転移学習させると8つのベンチマークタスクでSOTA(最も優れている手法)を達成
XLNet:Transformer-XLを単語の順序を入れ替えた(元の順序情報は保持)もので学習させることで、自己回帰モデルで双方向の意味依存関係を取得できるようにしたと主張。20を超えるタスクでBERT超え。
Attentionベースのネットワークが活躍。Queryとkeyとmemoryを用いた機構
【自然言語処理の解析技術】
解析技術 説明
形態素解析 テキストデータから文法・単語に基づき、言語で意味を持つ最小単位である形態素に分解し、その形態素の品詞を判定すること。
構文解析 形態素解析を基にして、その構文的(主語、述語など)の関係を明らかにする手法。フリーツールとしては、KNP/CaboCha/GiNZAが有名。
合意関係解析 2つの文の間に含意関係が成立するか判別すること
意味解析 構文解析を基に、意味を持つまとまりを判定すること
文脈解析 文単位で構造や意味を考えること
照応解析 照応詞の指示対象・省略された名詞を推定・補完すること
談話解析 文章中の文と文の関係や、話題の推移を明らかにすること
LDA (Latent Dirichlet Allocation:潜在的なディリクレ配分法)。文中の単語から、何のトピックかを推定する教師なし機械学習手法。ディレクトリ分布が用いられる。各単語が「隠れたトピック」から生成されているものとし、そのトピックを推定する。
LSI (Latent Semantic Indexing)文章ベクトルにおいて、複数の文書に現れる単語を解析することによって、低次元の潜在意味空間を構成する方法特異値分解が用いられる。
【フロー】
①形態素解析を用いて、文章を単語などの最小単位(形態素)に切り分ける
②データのクレンジングにより、不要な文字列を取り除く
③Bow(Bag-of-Word)などを用いて、形態素解析を行ったデータをベクトルの形式に変換
④TF-IDF((Term Frequency-Inverse Document Frequency):自然言語処理においてよく使われる概念。TFで文章中の出現頻度を表し、IDFで全文章に共通して出現する単語(英文でのTHE など)はその文章の特徴を表していない。)などを用いて各単語の重要度を評価
セマンティックウェブ:コンピュータにより高度な意味処理を実現することを目指す
意味ネットワーク:単語同士の意味関係をネットワークによって表現する
音声認識
HMM(隠れマルコフモデル):マルコフモデルを拡張したもの。未来の挙動が現在の値のみによって決定され、過去の挙動と無関係であるという確率過程。マルコフモデルの中でも観測されない状態があるモデルのことを隠れマルコフモデルと呼ぶ。

ディープラーニング
ディープニューラルネットワークを用いて予測や学習を行う機械学習手法。
層数を増やしただけ複雑な関数の近似が可能。
ディープラーニングにおけるパラメータ:モデルの重み
ディープラーニングにおけるハイパーパラメータ:ニューロン数や学習率
事前学習を用いたディープラーニングの手法:
積層オートエンコーダ(オートエンコーダを用いる)、深層信念ネットワーク(制限付きボルツマンマシンを用いる)
勾配消失問題とは、逆伝播の過程で誤差の勾配値が消失してしまい入力層付近で学習が進まなくなるディープニューラルネットワーク特有の現象。ReLuのように正規化機能を中間層で用いることにより回避することが期待される。

WORD
FCN:すべてが畳み込み層で構成される畳み込みニューラルネットワーク。画素単位で被写体を把握する手法をセマンティックセグメンテーションイメージと呼ぶ
FCN 完全畳み込みネットワークはセマンティックセグメンテーション
セマンティックセグメンテーション 集合写真のように人が重なっている場合は、複数の人を一つの固まりと検出。
インスタンスセグメンテーション 物体同士が重なって写っていない部分も考慮し、複数の人を別々の物体として検出。
トイプロブレム:迷路やパズルのように探索木を使って解くことができる問題
モラベックのパラドクス:睡眠や呼吸など、動物が普段何気なく簡単に行っている事ほど、人工知能やロボットに実現させるのは難しいという矛盾のこと
ジンボルグラウンディング問題:別名、記号接地問題。記号が如何にしてその問題と紐づくかという人工知能の難問。氷水など
GMM(混合ガウスモデル):ガウス分布(正規分布)を複数重ね合わせたモデルのことで、各々のデータがどのガウス分布に属しているかを推定することによりクラスタリングを行うことができるソフトクラスタリングの手法の一つ。
ICCCとRFC439:初期のELIZAとPARRYの会話が記録されている。
基礎集計:データ解析の前に以下の目的で実施。データの全体傾向をみる。異常値発見やデータの分布確認、欠損値の有無、変数作成。データの概要を見る。
記述統計:データの母集団の全データから母集団の性質を推測する。
推量統計:データの母集団の中からサンプルデータを取り出し母集団の性質を推測する。
過学習 オーバーフィッティング:学習データに適合しすぎること。
ホールドアウト法:入力データを学習データとテストデータに一度のみ分割し、学習データのみ利用して学習し、テストデータに対して評価すること。
交差確認 クロスバリデーション:データを複数の学習データとテストデータに分割し、その平均を用いて検証。教師データ数が少なくても安定して精度を測れる。
バギング:決定木の性能を高めるため並行で作り多数決をとる
ブースティング:直列で学習させる
ソフトマックス関数:多クラスの分類問題を解く際に出力層付近でよく用いられる活性化関数
鞍点:ある次元から見ると最小値であるが別の次元から見ると最大値となる点のこと。
ハイパーパラメータのグリッドサーチ:たくさんのモデルを作る必要があり、計算が多くなるという欠点があるが、Pythonでは自動的にグリットサーチを行う機構が整備されている。

混合マトリクス:
真の結果
予測 正 負
結果 正
Positive True Positive
False Positive
偽陽性

Negative False Negative
偽陰性 True Negative
適合値:機械学習の2値分類問題における性能指標について、陽性と予測したもののうち実際に陽性だった割合のこと。
F値:機械学習の2値分類問題における性能指標について、適合率と再現率がトレードオフ関係にあるために導入された調和平均。

一気通貫学習:視覚・聴覚・触覚などのセンサ情報をロボットが統合的に扱おうとする試み。
強いAI、弱いAI:哲学者ジョン・サールにより作られた用語。
メモリネットワーク Memory Networks:自然言語学習にて利用。PassageとQuestionとAnswerのペアを学習させると未知なるPassageとQuestionのペアを渡すと、そこからAnswerを返すことが可能。
クラスター分析:異なるものが混在している集団の中から互いに関連しているものを集めて集落(クラスター)を作り、対象を分類する方法の総称。

SAE J3016:自動運転のレベル定義
レベル0 ドライバーがすべてを操作
レベル1 システムがステアリング操作、加減速のどちらかをサポート
レベル2 システムがステアリング操作、加減速のどちらもサポート
レベル3 特定の場所でシステムが全てを操作、緊急時はドライバーが操作
レベル4 特定の場所でシステムが全てを操作
レベル5 場所の限定なくシステムが全てを操作
正則化:過学習を防ぐため。Lassoはスパース(まばら)正則化という。Ridgeはパラメータのノルム(ベクトル空間における長さを表す)を小さく抑える。Elastic NetはLassoとRidgeのいいとこどり。
レコメンデーションシステム
協調ベースフィルタリング:アマゾンのレコメンドの仕組み。ユーザの購買履歴から推薦
内容ベースフィルタリング:アイテムの特徴から推薦。
特徴量:AIが予測や分類を行うときに注目すべき特徴を量的に表したもの。
特徴表現学習:機械的に特徴量を見つけ出そうというアプローチ。
NumPy 線形代数の計算に強いライブライブ
scikit-learn 機械学習全般に強いライブラリ
SciPy 確率統計に強いライブラリ
seaborn グラフを描くためのライブラリ
Kaggle:データ解析のコンペティションやデータサイエンティストによるディスカッションが行われるプラットフォーム
Google Scholar:学術論文の検索エンジン
Coursera:世界中の大学の講義を受講できるオンライン講座
arXiv:研究論文の公開・閲覧ができるWebサイト
OpenAI Gym:自分で製作した強化学習用アルゴリズムを試験できるAIシミュレーション停留点:局所最適解でもなく大局的最適解でもないが勾配が0になる。
音声合成:与えられた文やデータから人が話す音声

歴史
1940年代 ENIAC
1956 ダートマス会議にてジョン・マッカーシーが人工知能という言葉を始めて使った
1966 ELIZA:MITのジョセフ・ワイゼンバウムが開発した心療法セラピストチャットボット
1968-1970 SHRDLU 仮想空間において、積み木を積んだり下ろしたりを英語で指示できるテリー・ウィノグラードを中心に開発
1969 マービン・ミンスキーがパーセプトロンの限界として「線形分離可能な問題」のみしか解けないと示す⇒ニューラルネットワークに関する研究が下火に
1969フレーム問題:ジョン・マッカーシーとパトリック・ヘイズの論文で初めて言及。有限の処理能力しか持たないロボットは、現実に起こりうるすべての問題に対処するのは困難で、解決すべき問題と関連のある問題に絞り込むという人間が何気なく行っている事が実は難しい。
1971 STRIPS Richard Fikes、Nils Nilssonが開発した自動計画に関する人工知能
1972 PARRY:ケネス・コルビーが作った偏執病的統合失調症患者向けのチャットボット。
1996 IBMが作成したDeep Blue ディープブルー(力任せの探索)がチェスの世界王者勝利
2005 シンギュラリティ(技術的特異点):2045年ころに起こると、レイモンド・カーツワイルが発表。オレン・エツィオーニはシンギュラリティは馬鹿げている。
2006 トロント大学のジェフリー・ヒントンがAutoEncoder(自己符号化器)というニューラルネットワークを提唱
2006 トロント大学のジェフリー・ヒントンが制限付きボルツマンマシンを用いた手法を提案
2010 画像認識コンペティションの世界大会(ILSVRC)開始

2011 IBM社Watosonがクイズ番組Jeopardy!!でクイズ王を破る
2012 GoogleがYoutubeの動画の中に映った猫を認識
2012 ILSVRCでAlexNet優勝。6000万パラメータ。
2013 Word2Vecがグーグルのトマス・ミコロフによってモデルが研究
2014 GAN(敵対生成ネットワーク)発案
2015 ILSVRC 優勝 ResNet(152層) マイクロソフトが開発
2015 グーグル傘下のDeepMindがAlpha Go(CNN)が囲碁の棋士に勝利
2017 Alpha Zero発表
2018 BERTをグーグルが発表。双方向Transformerで言語モデル(確率を精密に設定することにより人間が用いる言語は理論上モデル化することが可能。ニューラル言語モデルもある)を事前学習することで汎用性を獲得し、転移学習させると8つのベンチマークタスクでSOTA(最も優れている手法)を達成
2019 XLNet:Transformer-XLを単語の順序を入れ替えた(元の順序情報は保持)もので学習させることで、自己回帰モデルで双方向の意味依存関係を取得できるようにしたと主張。20を超えるタスクでBERT超え。

この記事が気に入ったらサポートをしてみませんか?