G検定対策

このページはG検定試験対応のため、私が個人的に使用するためにまとめたものです。
内容を保証するものではありませんので、あくまで参考程度にご覧ください。

◀目次◀

先頭

◀先頭▶

リンク

AI人物事典
ウィキペディア
ウィキペディア:AI
ディープラーニングG検定の知識まとめ!
G検定チートシート

定義

人工知能の定義は明確にはなっていない。

人工知能の大まかな分類

レベル1;シンプルな制御プロブラム あらかじめ決められた振る舞いに従い動く
レベル2;古典的な人工知能     状況に応じて、探索・推論・知識データを利用し、複雑な振る舞いをする。
レベル3;機械学習を取り入れた人工知能 多くのサンプルデータをもとに入力と出力の関係を学習
レベル4;ディープラーニングを取り入れた人工知能  特徴量を自動的に学習

↑目次↑
↑↑↑↑↑

コンピュータ・AIの歴史

コンピュータAIの歴史

世界初の汎用コンピュータ

エニアック(ENIAC) 1946年

ダートマス会議

1956年アメリカで開催。人工知能という言葉が初めて使われた。ジョン・マッカーシー

人工知能の歴史

1次ブーム : 1950年代後半から1960年代。推論・探索の時代⇒トイ・プロブレムしか解けなかった
2次ブーム : 1980年代;知識の時代⇒エキスパートシステム、知識蓄積・管理が大変で衰退
3次ブーム : 2010年以降;機械学習と特徴表現学習の時代⇒ビッグデータ・機械学習・特徴量の自動学習

↑目次↑
↑↑↑↑↑

探索・推論ロジック

探索木

幅優先探索

分岐の一つ一つをしらみつぶしに探索。最短ルートを
必ず見つけられるが、メモリ不足になる可能性もある。

深さ優先探索

縦方向にいったん探索を行い、ゴールを探す。
メモリは喰わないが、必ず最短ルートをみつけるとか限らない。

ロボットの行動計画

プランニング

探索を使って作成するロボットの行動計画

STRIPS

前提条件・行動・結果この組み合わせで記述するプランニングの研究。
STRIPSStanford Research Institute Problem Solver)とは、1971年、Richard Fikes と Nils Nilsson が開発した自動計画に関する人工知能の一種。後にそのシステムの入力に使う形式言語も同じ名前で呼ばれるようになった。

SHRDLU

スタンフォード大学のテリー・ウィノグラードにより開発。積み木・言葉による指示。

探索コスト

Mini-Max法

ゲーム戦略においてスコアを定義し、自分の打ち手のスコアを最大、
相手を最小とするように戦略を立てる

αβ法

Mini-Max法におて探索をできるだけ減らす手法。
αカットを切り捨て。すでに出現したスコアよりも大きいノードが現れた時点で
.    その先に繋がるノードの探索をやめる。ノードは複数。
βカット葉っぱを切り捨て。スコアが小さいノードが現れた時点でカットする。ノードはひとつ。

モンテカルロ法

囲碁のゲーム。ある局面まで進んだ後、ランダムに石を置き、それを評価。
PCの処理速度向上により実現できた。
しかしミニゲーム(9×9)までしか対応できなかった

↑目次↑
↑↑↑↑↑

知識表現

対話ロボット

イライザ

1966年ジョセフ・ワイゼンバウム⇒イライザ効果(人と話していると思い込む)

パーリー

イライザ同様の対話システム

エキスパートシステム

マイシン(MYCIN)

1970年代、スタンフォード大学。感染した細菌を特定する診断支援システム。

DENDRAL

1960年代、スタンフォード大学。未知の有機化合物を特定

エキスパートシステムの限界

暗黙知のヒアリングが難しい(インタビューシステムの開発)。
データが膨大になると矛盾が生じる。

意味ネットワーク (semantic network)

概念間の関係。part-of(部品)/is-a(属性)

評価指標

混同行列 実際
感染 未感染
予測 感染 真陽性 疑陽性
未感染 偽陰性 真陰性

 

Cyc Project(サイクプロジェクト)

全ての一般常識をコンピュータにとり込もうとするプロジェクト。現在も継続中。

オントロジー

知識を体系化する方法論
ヘビーウェイトオントロジー:対象世界の知識をどのように記述すべきかを哲学的にすっかり考えて行うもの(Cyc Projectなど)。入力に多大な負荷がかかる。
ライトウェイトオントロジー:効率を重視し、とにかくコンピュータにデータを読み込ませてできる限り自動的に行うもの。
.              ライトの方はウェブマイニング、データマイニングで活用される。オントロジーの構築

当時の人口知能

ワトソン:クイズ
東ロボくん:東大入試を目指した

↑目次↑
↑↑↑↑↑

機械学習・深層学習

機械学習

インターネット、ビッグデータ、学習素材 ⇒ リコメンド、スパムフィルタに利用

深層学習(ディープラーニング)

2012年、画像認識精度の大会ILSVRCでトロント大学のジェフリー・ヒントン、SuperVisionが優勝
ニューラルネットワークを多層にしたもの。KW単純パーセプトロン

誤差逆伝搬法(バックプロパゲージョン

予測値と実際の値との誤差をネットワークにフィードバックするアルゴリズム
出力結果を元にニューラルネットワーク全体の修正をその都度を行っていく。

自己符号化器(オートエンコーダ

可視層(入力層と出力層がセット)と隠れ層の2層からなるネットワーク
入力と出力は同じデータとなる。隠れ層で次元を小さくすることで、重要な情報を反映
エンコードとデコード

人工知能分野の問題

トイ・プロブレム

フレーム問題

「今しようとしていることに関係のある事柄だけを選び出すことが、実は非常に難しい」

チューリングテスト(アラン・チューリング)

コンピュータと会話し、コンピュータだと見抜けなければコンピュータに知能があるとする。
KW中国語の部屋

強いAI : 汎用AI
弱いAI : 特化型AI

シンボルグラウンディング問題

シマのある馬が理解できない。

特徴量設計 : 機械学習の入力に使う変数のことで、その値が対象の特徴を定量的に表す。 この特徴量に何を選ぶかで、予測精度が大きく変化する。
.        ディープラーニングは、これを自動でやる。

シンギュラリティ : 詳細議論はジャンプ先ページ中程

2045年(レイ・カールワイツ)
ただし、人間の知能を超えるのは2029年(レイ・カールワイツ)

↑目次↑
↑↑↑↑↑

データの処理

前処理

前処理

正規化:データを0から1に収まるようにスケーリング
.    ※正則化は過学習の抑制手法
●標準化:平均を0、分散を1に変換

基礎集計

●平均、分散、標準偏差などの代表値の算出
●散布図のプロット
●相関行列を表示し、傾向を確認

特徴量設計

扱っているデータを代表する特徴を数値で表現すること
.   例)人を身長、体重、年齢、性別で表現
●one-hot-encoding:たった一つの成分のみを1、他を0というベクトルに変換する
.   KW:カテゴリカル変数

↑目次↑
↑↑↑↑↑

代表的な手法

学習の種類

教師あり学習(入力と出力の間にどのような関係性があるか学習する手法)

回帰
. ●線形回帰
. ●重回帰
分類
. ●ロジスティック回帰:事象の発生確率を0から1までの数値で示す。
.   ①対数オッズを重回帰分析で予測
.   ②対数オッズをロジスティクス関数(シグモイド関数)で変換することで
.    クラスiに属する確率のpiの予測値を求める
.      ⇒複数功に分類する時はソフトマックス関数を使う
.   ③各クラスに属する確率を計算し、最大確率を実現するクラスが、
.    データが属するクラスと予測する。
. ●決定木
.   不純度が最も減少するように条件分岐を作りデータを振り分ける。
.     KW)ジニ係数、エントロピー
. ●ランダムフォレスト:ランダムに特徴量を選び出し、複数の決定木をつくる。
.    決定木にバギングを組み合わせたもの
.    ●バギング:データ全てを使わず、その一部のデータを用いて学習。それを繰り返す(アンサンブル学習)方法 ⇒ 並列処理できる。
.    ●アンサンブル学習:複数のモデルで学習させ、平均を取る手法
. ●ブースティング:バギング同様一部のデータを用いて複数のモデルを学習するが、前回の結果を利用するところが違う ⇒ 並列処理できない。
.
.    AdaBoost : ある学習器から新しい学習器を繰り返し作っていき、それら全ての学習器から多数決で判定するアルゴリズム
.    勾配ブースティング : 各ステップのパラメタ最適化の際に,勾配降下法を用いるブースティング
.    XgBoost :勾配ブースティング木を使ったアルゴリズムを、広く普及する効率的なオープンソース使って実装するソフトウェア

. ●サポートベクターマシン
.   ●マージンの最大化。サポートベクター
.   ●カーネル関数、カーネルトリック
. ●ニューラルネットワーク
.   ●ILSVRC(画像認識コンペ)、AlexNet、ジェフリー・ヒントン
. ●kNN法(k近傍法):近隣のデータk個の属するクラスにそのデータも分類する

モデルの性能検証

. ●ホールドアウト法:教師データとテストデータに分ける
. ●交差検証(クロスバリデーション):テストデータをブロック分けし、テスト。
.                  その検証結果の制度を平均する手法
. ●Leave One Out : データ全体のうち1つだけをテストデータとする方法

教師なし学習(データそのものの持つ構造・特徴を学習する手法)

. ●クラスタリング:例)ECサイトの購買行動により顧客を分類
.    KW)クラスタリング(クラスター分析) → 教師なし学習
.                          いくつかのかたまりにグループ分けする問題、絶対的な正解はない
.                         (例:顧客のグルーピング)
.           クラス分類 → 教師あり学習、事前に正解が決まっている属性を適切に付与する問題(例:手書き文字認識)
.   ●k-means(k平均法)
.      ①ランダムにk個の点を定義。
.      ②各データを最も近い①の点に関連付け。
.      ③関連付けられた点の重心を求める。
.      ④関連付けを解消し、再び②の処理以降を繰り返す。
. ●次元削減⇔カーネル法( KW)カーネル関数、カーネルトリック)
.   ●主成分分析
. ●GAN : 敵対的生成ネットワーク 実在しない人の顔を描く
.    生成ネットワーク(訓練データ生成)と識別ネットワーク(データが訓練データ由来か生成ネットワークかを識別する)
.      GANの学習では、Generatorは「Discriminatorを騙せるような精巧な“偽物”を作ることができる」ように、
.      Discriminatorは「用意された“本物”とGeneratorが作り出した“偽物”を区別できる」ように、
.      敵対的に学習していきます。
.    AIに創造性を吹き込む「GAN」とはどんなテクノロジーか?

強化学習

. ●DQN : Deep Q-Network
.    ●Q値を推定するためにDeep Learningを使って近似する手法で、学習が終息するように工夫されたCNNの一種。
.    ●Q値とは、ある状態Sにおいて、ある行動Aを行ったときの価値のことで、短期的な価値ではなく将来的にもらえる報酬を鑑みた値。
.    ●AlphaGoでも使われている。
.    ⇒ディープマインド社が開発。
.     価値関数の計算を近似計算するディープニューラルネットワーク

↑目次↑
↑↑↑↑↑

ディープラーニング

■体系図

ニューラルネットワーク

ディープニューラルネットワーク

畳み込みニューラルネットワーク(CNN):画像認識
.  ●順伝播型
.  ●全結合型ではない
.    ①畳み込み層:フィルタによる積和演算+活性化⇒特徴マップ変換(小型化)
.    ②プーリング層:平均プーリング・最大プーリングによりさらに小型化
.    ③出力:二次元データ→一次元データ。ここは全結合層
再帰型ニューラルネットワーク(RNN):時系列データ、自然語処理(言葉の並びを解析する)
.  ●閉路を持つ(処理経路上に自分に戻ってくるフローがあり、過去の処理を反映できる)
.  ●LSTM:遠い過去の出力を反映できる手法
自己符号化器(オートエンコーダ):次元削減を行うためのもの
.  ●エンコーダとデコーダ
.  ●入力層、出力層のノード数が同じ
.  ●主成分分析よりも複雑な・非線形な次元削減が可能
敵対的生成ネットワーク(GAN):画像生成
.  ●生成ネットワーク(訓練データ生成)と識別ネットワーク(データが訓練データ由来か生成ネットワークかを識別する)

↑目次↑
↑↑↑↑↑

ニューラルネットワーク

. ●u=w1x1+w2x2+w3x3+……+b
.    入力に重みをかけ総和をだす。バイアスはそのまま加算。⇒総入力
. ●活性化係数:総入力を活性化係数により処理
.   ●ステップ係数:閾値超えると1になる
.   ●シグモイド係数:s字カーブ
.   ●ReLU(レル):閾値超えると一次関数的に増加
. ●勾配降下法の誤差関連用語:停留点、局所最適解、大域的最適解
.               鞍点:ある方向から見ると極小点だが別の方向から見ると極大点となる点
. ●学習における重みの更新
.   ●エポック:訓練データを何度学習に用いたか
.   ●イテレーション:重みを何度更新したか
. ●更新タイミング
.   ●逐次学習:訓練データ1つに対して重みを1回更新する
.   ●ミニバッチ学習:訓練データからランダムにサンプルを抜き出した
.            小さなデータ(ミニバッチ)の全データの誤差の
.            総和を小さくするように1回重みを更新する。
.   ●バッチ学習:訓練データ全ての誤差を用いて1回重みを更新
.          これを勾配降下法、バッチ勾配降下法という
. ●勾配消失問題:入力層付近で発生。層が深いほど起こりやすい。
.           シグモイド係数を微分すると、最大値が0.25となる。
.           層が深くなるということは、この「0.25」をべき乗するということ。
.           だから、層が深くなると、勾配が消失していく。
.         ReLUなどである程度回避可能。
. ●過学習:訓練誤差は小さいが、汎化誤差は小さくならない状態
.      LASSOなどの正則化、ドロップアウトなどの手法で対応
. ●正則化:モデルの過学習を抑えるために正則化項の損失関数(誤差関数)を導入すること
.        L1正則化を施した線形回帰 ⇒ Lasso回帰
.        L2正則化を施した線形回帰 ⇒ Ridge回帰
. ●蒸留:大きいネットワークの入出力を小さいネットワークに再学習させる

キーワード

●微分
.   導関数を求めることを微分
.   偏導関数を求めることを偏微分
.   yについて偏微分するとは、y以外を定数と考えて微分すること
●統計
.   記述統計:手元のデータを分析し、代表値や傾向を分析
.   推計統計:手元のデータの背後にある母集団の性質を予測
●スカラー⇒ベクトル⇒行列、ベクトルと行列を扱う分野を線形代数という

↑目次↑
↑↑↑↑↑