LoginSignup
30
42

More than 1 year has passed since last update.

G検定まとめ

Last updated at Posted at 2022-06-28

2022年7月2日 G検定受験用チートシート
ctrl+Fで検索。
取っ散らかった情報で混乱した頭の整理に、とりあえず引用・羅列。

1.人物

名前 内容
アーサー・サミュエル 機械学習を「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」と定義。
アラン・チューリング 人工知能を判定するためのチューリングテストを作った。
ヴァーナー・ヴィンジ シンギュラリティを「機械が人間の役に立つふりをしなくなること」と定義。
イアン・グッドフェロー GANを考案。
イーロン・マスク シンギュラリティ到来に危機を持ち、非営利のAI研究組織openAIを設立。
オレン・エツィオーニ 「例えば100万年後、特異点を迎える可能性はあります。けれど賢いコンピュータが世界制覇するという終末論的構想は『馬鹿げている』としか言いようがありません」と述べた。
ゴードン・ムーア ムーアの法則を提唱。
ジェフェリー・ヒントン ILSVRC2012で優勝したAlexNetを作った。
オートエンコーダ(自己符号化器)を提唱。
ジョン・サール 「強いAIと弱いAI」という言葉を発表。彼自身は「中国語の部屋」を提案して強いAIは実現不可能だと主張。
スティーブン・ハルナッド シンボルグランディング問題を提唱。
スティーブン・ホーキング 「AIの完成は人類の終焉を意味するかもしれない」と述べた。
ダグラス・レナート 全ての一般常識をコンピュータに取り込ませるCycプロジェクトを1984年から今までやっている人。
テリー・ウィノグラード 「積み木の世界」でプランニングを実現するSHRDLUを開発。
ヒューゴ・デ・ガリス シンギュラリティは21世紀後半に到来すると予測。
その時の人工知能は人間の知能の1兆の1兆倍(10の24乗)になると主張。
ヤン・ルカン CNNの1つであるLeNetを提唱。
GANを「機械学習において、この10年間で最もおもしろいアイデア」であると形容。
レイ・カーツワイル シンギュラリティは2045年に到来する。」 と述べた。

2.ソフトウェア

名前 内容
ELIZA 1964-1966年にかけてジョセフ・ワイゼンバウムによって開発された、ルールベースの人工無脳の元祖。
チューリングテストで30%の人間を騙した。
PARRYと初めて会話した記録がRFC439として残っている(有名なのはICCC1972)。
PARRY ELIZAと会話した。
AlexNet ジェフェリー・ヒントンらが作ったILSVRC2012の優勝モデル。
MYCIN(マイシン) 抗生物質を処方するエキスパートシステムのAI。
DENDRAL(デンドラル) 有機化合物の特定を行うエキスパートシステムのAI。
SHRDLU テリー・ウィノグラードが開発した「積み木の世界」でプランニングを実現するシステム。
AlphaGo DeepMind社が開発した囲碁プログラム。
世界トップレベルの韓国のプロ棋士に勝利。
ディープ・ブルー IBM社が開発したチェスAI。
力任せの探索であったが、1996年にチェスの世界チャンピオンを破った。
Ponanza(ポナンザ) 将棋AI。
電王戦で次々とプロ棋士を破った。
Tay(テイ) Microsoft社が開発したおしゃべりボット。
twitter上のユーザから不適切な誘導を受けた学習をした結果、不適切な言動を繰り返すようになり、サービス停止した。
イルダ 韓国が2020年末に公開したチャットボットAI。
悪意的な会話を学習し、差別的行動を取るようになったため、わずか3週間でサービス停止した。
WaveNet 2016年にGoogle DeepMind社が開発した音声合成システム。
音声をDNNを用いて処理することで、近似や調整などの作業が不要になった。

3.歴史

名前 内容
第一次AIブーム 「推論・探索の時代」
トイプロブレムは解けても複雑な現実の問題は解けないことで衰退。
特に冷戦下の米国で自然言語処理による機械翻訳が注目された。
第二次AIブーム 「知識の時代」
エキスパートシステム(知識ベース×推論エンジン)の台頭。
ex) MYCIN、DENDRAL
エキスパートシステム実現のためのナレッジエンジニアという専門職業が生まれた。
知識の蓄積・管理の大変さから衰退。
第三次AIブーム 「機械学習と特徴表現学習の時代」
機械学習と深層学習の台頭。
ex) IBM社のWatsonがクイズ王を打ち破る(2011)、ILSVRCでAlexNet(ディープラーニング)圧勝(2012)、Googleによる猫認識成功(2012)

名前 内容
ILSVRC2012 ジェフリー・ヒントンらのAlexNet(8層、約6千万のパラメータ)が優勝。
前年度までの優勝モデルであるSVMの性能を凌駕。
ILSVRC2014 GoogleNet(22層)が(分類部門と検出部門で)優勝。
分類部門の2位がVGG。
ILSVRC2015 Microsoft社が開発したResNet(152層)が優勝。
人の識別精度を超えた。

ニューラルネットワーク手法の発展

名前 内容
ニューラルネットワーク(NN) ニューロンをたくさん層状につなげてできる。
ディープニューラルネットワーク(DNN) NNのうち特に層が深いもの。
畳み込みニューラルネットワーク(CNN) 画像認識に適したもの。
再帰型ニューラルネットワーク(RNN) 時系列データに適したもの。
自己符号化器(オートエンコーダ) 次元削減を行うためのもの
敵対的生成ネットワーク(GAN) 生成ネットワーク×識別ネットワークからなる教師無し学習法。

4.課題・定理

名前 内容
トイ・プロブレム(おもちゃの問題) AIは、限定された状況の問題は解けるが、現実の複雑な問題は解けない。
フレーム問題 AIは、人間と違って無限にある可能性からの探索ができない。
この問題を打破したAIを汎化AI(強いAI)、打破できていないAIを特化型AI(弱いAI)と呼ぶ。
チューリングテスト アラン・チューリングが提唱した、人工知能ができたかどうか判定する方法。
チューリングテストに合格する会話ソフトウェアを目指すローブナーコンテストが毎年開催されるも、未だ合格者はなし。
強いAIと弱いAI ジョン・サールが提唱した言葉。彼自身は強いAIは実現不可能として中国語の部屋を提唱。
強いAI:心を持った人工知能は再現できる。
弱いAI:便利な道具であればいい。
シンボルグランディング問題(記号設置問題) スティーブン・ハルナッドにより提唱された、記号システムのシンボルを、実世界でそれが意味するものと以下に結び付けるかという問題。
言葉同士の意味関係がわかったとしても、現実の概念と結び付けられるとは限らない。
AIはこれが難しい。
身体性 知能が成立するには身体が不可欠だとする考え。
知識獲得のボトルネック 専門家の知識を定式化し、コンピュータに移植することは困難であること。
次元の呪い 次元の上昇に応じて計算量などが指数関数的に増加すること。
シンギュラリティ(技術的特異点) 人間の想像力が及ばない超越的な知性が誕生するという仮説。
レイ・カーツワイルは、2029年に人工知能が人間より賢くなり、2045年にシンギュラリティ―に到達すると予測している。
オッカムの剃刀 「ある事柄を説明するためには、必要以上に多くを仮定するべきではない」という指針。
赤池情報量基準 解きたいタスクに対してモデルをどのくらい複雑にすればよいかの指針の1つ。
モデルの複雑さと予測精度のバランスを考えたもの。
多重共線性 ある説明変数同士が互いに強く相関しすぎている状態のこと。
重回帰分析(1つの目的変数を複数の説明変数で予測)を行う際に重要。
ムーアの法則 ゴードン・ムーアが提唱した「半導体の性能と集積は、18ヶ月ごとに2倍になる」という経験則。
バーニーおじさんのルール データ量の目安となる経験則。
「モデルのパラメータ数の10倍のデータ数が必要」。
ノーフリーランチ定理 「あらゆる問題での性能の良い汎用最適化戦略は理論上不可能」であることを示す定理。
みにくいアヒルの子定理 機械学習における定式化によって「普通のアヒル」と「みにくいアヒル」の区別はできないという定理。
モラベックのパラドックス 機械にとっては、高度な推論よりも1才児レベルの知恵や運動スキルを身につける方がはるかに難しいというパラドックス。

5.手法

5.1.探索・推論

名前 内容
幅優先探索 出発点に近いノード順に探索。
最短距離探索だが、メモリが大量に必要。
深さ優先探索 行けるとこまで行って、行き止まりになったら手前のノードに戻って探索。
メモリは少量だが、探索時間は最悪膨大になる。
ハノイの塔 探索木を使って解けるパズル。
プランニング ロボットの行動計画などに使われる探索手法。
STRIPS(前提条件、行動、結果で記述)が有名。
Mini-Max法 自分のときにスコアが最大になるように手を打ち(自分が有利)、相手の時はスコアが最小になるように手を打つ(相手が有利=自分が不利)。
αβ法:αカット(探索不要の枝を切る)、βカット(スコア最小選択時に既存よりも大きいスコアが出たらそれ以降の枝を切る)
モンテカルロ法 シミュレーションや数値計算を乱数を用いて行う手法の総称。
ex) 数多く打って最良のものを選ぶ。ブルートフォース(力任せ)の方法。
ある局面までゲームが進んだら、ランダムにゲームをシミュレーションしとにかく終局させる(プレイアウト)。
ベイズ最適化 形状がわからない関数の最大値や最小値を求めるための手法。
機械学習のハイパーパラメータ探索にも使える。

5.2.知識表現

名前 内容
人工無脳 理解のない機械的な処理をするコンピュータプログラム。
ELIZAが元祖。
エキスパートシステム 知識ベース(専門家の知識)×推論エンジン
意味ネットワーク 概念をラベルの付いたノードで表し、概念間の関係をラベルの付いたリンクで結んだネットワークとして表現。
is-a:継承関係、part-of:一部分、function:機能、instance-of:概念のうちの特定の1つの実態
Cycプロジェクト ダグラス・レナートによる、1984年から現在まで進行中の、全ての一般常識をコンピュータに取り込もうとするプロジェクト。
2001年からOpenCycとして一部が公開されている。
オントロジー 語彙やその意味、それらの関係性を共有できるように、仕様として定義したもの。
ヘビーウェイト(重量)オントロジー Cycプロジェクトはこの一種。
ライトウェイト(軽量)オントロジー ウェブマイニングやデータマイニングで利用。
ex) ワトソン、東ロボくん

5.3.機械学習・深層学習

名前 内容
機械学習 人工知能>機械学習>深層学習 の関係。
ニューラルネットワーク 人間の神経回路を真似。
ニューロンをたくさん繋げてできる。
入力層、中間層(隠れ層)、出力層で構成。
この基本形が多層パーセプロトン。
深層学習(ディープラーニング) 表現学習の一種。
ディープニューラルネットワークを用いて学習・予測を行うモデル。
教師あり学習 機械学習の1つ。
教師データを使って予測値を正解ラベルに近づけることを目標に学習を行う手法。
回帰(出力値の予測)と分類(予め設定したクラスにデータを割り振る)がある。
教師なし学習 機械学習の1つ。
教師データを使わずに、データの本質的な構造を浮かび上がらせる手法。
強化学習 機械学習の1つ。
収益を最大化する方策を獲得することを目的とした手法
半教師あり学習 機械学習の1つ。
データの一部分にのみ正解データを付与。教師あり学習のラベル付けのコストを低減するために用いられる手法。

6.機械学習の手法・用語

名前 内容
ハイパーパラメータ 人間が事前に調節する必要のあるパラメータのこと。
スパース(疎)なデータ 殆どが0、まれに0以外が並ぶデータのこと。
ex) ワンホットベクトル(one-hot vector)

6.1.教師あり学習

※回帰と分類の2種類がある。

名前 種類 内容
線形回帰 回帰 説明変数の1次関数で目的変数を予測する手法データに最も当てはまる直線を考える。
単回帰分析(説明変数が1つ)と重回帰分析(説明変数が複数)がある。
ex) 新たに身長のデータが来たら、線形回帰でその体重を予測する。
ロジスティック回帰 多クラス分類 対数オッズにロジスティック関数(シグモイド関数)を施して0-1に正規化(ロジット変換)し、クラスごとの確率を見て分類先を判断。
最小化を行う目的関数には、尤度関数を使用。
複数分類には、ソフトマックス関数を使用。
ランダムフォレスト 回帰・多クラス分類 バギング+決定木
過学習しやすいという決定木の欠点をある程度解消した。
決定木 - 不純度が最も減少(情報利得が最も増加)するように、条件分岐を作りデータを振り分けることを繰り返す手法。
データのスケールを事前にそろえる必要がなく、分析結果の説明が容易であるという利点を持つ。
一方で、過学習しやすいという欠点がある。
不純度=クラスの混じり具合であり、ジニ係数エントロピーといった指標がある。
アンサンブル学習 - 複数のモデルを作り、分類は多数決、会期は一般に平均を結果として採用する手法。
安定した精度の実現、過学習の抑制によく用いられる。
バギング - アンサンブル学習の1つ。
全体から一部のデータを取り、各モモデルを並列に学習する手法。
ブースティング - アンサンブル学習の1つ。
一部のデータを繰り返し抽出し、各モデルを逐次的に学習させる手法。
ブーストラップ - 学習データからランダムにサンプリングする手法や、サンプリングした部分集合を指す。
SVM(サポートベクターマシン) (回帰・)2クラス分類 マージン最大化(異なるクラスの各データ点との距離が最大となる境界線を求めることでパターン分類する)を行う。
スラック変数で誤分類をどの程度許容するか調整できる。
カーネル関数で高次元の空間にデータを写像することで非線形の分類も可能にしている。その際、カーネルトリックで計算量の低減を図る。
ニューラルネットワーク 多クラス分類 シグモイド関数などを活性化関数として用いて分類する。
多層パーセプトロンで非線形分類を実現。
誤差逆伝播法を使用。
自己回帰モデル(ARモデル) 回帰 時系列分析をする。
時系列データが複数の場合はベクトル自己回帰モデル(VARモデル)と呼ぶ。
KNN法(k Nearest Neighbor法) 多クラス分類 データから近いK個のデータを見て、それらの多数決によって所属クラスを決定する方法。
各クラスのデータの偏りが少なく、各クラスがよく分かれているときにのみ精度が上がる。

6.2.教師なし学習

名前 種類 内容
k-means法(階層なしクラスタリング) クラスタリング クラスタの中心を重心の位置にずらすことでクラスタ分析を行う。
クラスタ数をk個として設定する。
ウォード法(階層ありクラスタリング) クラスタリング k-means法+クラスタの階層構造を求める。
主成分分析(PCA) 次元削減 データの相関を分析してデータの構造を掴む手法。
多数の特徴量から少数の特徴量(主成分)に次元削減することが主目的。
寄与率で各成分の重要度が、主成分で各成分の意味を推測できる。
他に特異値分解(SVD)、多次元尺度構成法(MDS)、t-SNE(可視化によく用いられる)がある。
協調フィルタリング レコメンデーション(推薦システム) 対象ユーザーは買っていないが、似ているユーザーは買っている商品を推薦する。
コールドスタート問題(ユーザーの事前データがないと推薦できない)解決のために、コンテンツベースフィルタリング(商品自体に特徴量を付与し、特徴が似ている商品を推薦する)が考案。
潜在的ディクレ配分法(LDA) クラスタリング 複数のクラスタにデータを分けるトピックモデルの代表的手法。

6.3.強化学習

状態・行動・報酬のやりとりで考える。

名前 内容
割引率 昔よりも今のデータの方が価値があることを表現。
バンディットアルゴリズム 活用(既知の環境から最大報酬の行動を選択する)と探索(未知の環境を得るために行動する)のバランスを取る。
ex) ε-greedy方策(基本的には活用し、ε確率で探索をする)、UCB方策
マルコフ決定過程(モデル) マルコフ性(現在の状態から将来の状態に遷移する確率は、現在の状態の身に依存し、それより過去の状態には一切依存しないという性質)を仮定したモデルのこと。
価値関数(Q値) 将来的に得られる収益の期待値を表す関数。基本的に行動価値関数のことを表す。
Q値を最適化する手法にQ学習SARSAなどがある。
方策勾配法 方策をあるパラメタで表現される関数とし、そのパラメタを学習することで直接方策を学習するアプローチ。
特に行動の選択肢が大量にある課題に用いられる。
ex) REINFORCE(AlphaGoに使用)、Actor-Critic(価値関数ベース×方策勾配ベース)、A3C(Actor-Criticの応用手法)
DQN(Deep Q-Network) 価値関数の計算を近似計算するディープニューラルネットワーク。
これを用いる強化学習を深層強化学習と呼ぶ。

7.深層学習の手法・用語

名前 内容
内部表現(潜在表現) ディープラーニングにより自動的に獲得された特徴量のこと。
蒸留 教師役の出力と同じように生徒用のAIパラメータを調整し、あたかも教師モデルをコピーしたかのような生徒用AIが作れる手法。
法律では禁止されていない。

名前 内容
イテレーション 重みの更新を行った回数。
エポック 訓練データを何度学習に用いたかを示す。
逐次学習(オンライン学習) 重みの更新タイミングの1つ。
訓練データにある1つのサンプルごとに逐一重みを更新する(データ1つごとにイテレーションが増える)。
この手法を用いた勾配降下法を確率的勾配降下法(SGD)と呼ぶ。
ミニバッチ学習 重みの更新タイミングの1つ。現実的な時間で学習を完了することができる。
訓練データの一部分に対して重みを更新する。
この手法を用いた勾配降下法をミニバッチ勾配降下法と呼ぶ。
バッチ学習 重みの更新タイミングの1つ。
訓練データ全てに対して重みを更新する(イテレーションとエポックが同じ)。
この手法を用いた勾配降下法を勾配降下法、バッチ勾配降下法と呼ぶ。

名前 内容
CPU コンピュータ全般の作業を処理。
GPU 画像処理に関する演算を処理。
GPGPU 画像以外の目的での使用に最適化されたGPU。
NAVIDIA社が開発をリード。
TPU Google社が開発したテンソル計算処理に最適化された演算処理装置。

名前 内容
Tensorflow(テンソルフロー) Google社が開発した、機械学習に関する計算を行うフレームワーク。
Keras(ケラス) ディープラーニングに特化したTensorflowのラッパー(関数やクラス、ライブラリなどをまとめたもの)。
Chainer(チェイナー) Preferred Networksが開発したフレームワーク。
Define-by-Run(ニューラルネットワークの計算を表現した計算グラフを、学習データなどを入力した際に動的に構築する手法。計算グラフの構築と同時にデータを流して処理を並行して実行する方式。データ構造によってモデルを変えやすい)という形式を採用している。
PyTorch(パイトーチ) Chainerから派生したフレームワーク。
scikit-learn(サイキットラーン) 機械学習全般に対応するフレームワーク。
Numpy(ナムパイ) 線形代数の計算を行うフレームワーク。

名前 内容
過学習 訓練誤差は小さいが、汎化誤差が小さくならない状態のこと。
この解決に正則化(LASSO)などが用いられている。
ドロップアウト 過学習を防ぐために、ランダムにニューロンをドロップアウトさせる手法。
実質アンサンブル学習を行っている。
早期終了(early stopping) 過学習を防ぐために、学習を早めに打ち切る手法。
二重降下現象 一度テストデータに関する誤差が増えた後、再度誤差が減っていく現象。

名前 内容
勾配降下法 ディープニューラルネットワークの学習に用いられる、勾配に沿って降りていくことで解を探索する手法。
誤差の勾配を計算し、その逆方向に重みを動かす。
イテレーション(何回計算を行うか)、学習率(勾配に沿って一度にどれだけ降りていくか)のパラメタを持つ。
局所最適解大域最適解(本当の最適解)ではない見せかけの最適解)になりやすい。
勾配消失問題 隠れ層を遡るごとに、誤差逆伝播法で伝播していく誤差が小さくなっていくこと。
活性化関数のシグモイド関数の特性(微分の最大値が0.25)が1つの原因。
ReLUを用いて解消されることが多い。
モーメンタム 最適化の進行方向に学習を加速させることで、勾配降下法の学習の停滞(プラトー)を防ぐ手法。
SDG(古くからある)、Adagrad、Adadelta、RMSprop、Adam、AdaBound、AMSBoundなどがある。
プラトー 勾配降下法で、鞍点(ある次元から見れば極小だが、別の次元から見ると極大となる停留点の1つ)や停留点(局所最適解でも大域的最適解でもないが勾配が0になる点)付近に陥り、抜けだせなくなる停留状態のこと。

名前 内容
敵対的攻撃 微弱なノイズをデータに混入させ、人工知能の判断を誤らせる攻撃のこと。
活性化関数にk-WTAを用いると敵対的攻撃に強いモデルが得られるという結果が発表されている。
敵対的学習 学習データに敵対的事例(敵対的攻撃に用いられるデータ)を入れておくこと。
ADN 入力が敵対的事例かを判別するニューラルネットワークのこと。

名前 内容
説明可能なAI(XAI) 予測結果に至るまでの過程を人間によって説明・解釈可能なAIのこと。
モデルの説明可能性とモデルの性能はトレードオフの関係にある。
LAWS(自律型致死性兵器) 人工知能などにより、完全に自律し、かつ強力な殺傷能力を持つ兵器のこと。
現段階では存在しない。
アシロマAI原則 2017年に発表され、「AIによる軍拡競争は避けるべきである」と明示された。

7.1.基本

名前 内容
オートエンコーダ(自己符号化器) ジェフリー・ヒントンが提唱。
教師なし学習の1つ。
可視層と隠れ層の2層からなるネットワーク。
入力層=出力層で、隠れ層は入出力層より少ない
隠れ層には入力の情報が圧縮されたものが反映しているため、非線形な次元削減ができる。
エンコード(入力層→隠れ層)、デコード(隠れ層→出力層)のフェーズがある。
積層オートエンコーダ(ディープオートエンコーダ) 事前学習(順番に学習)+ファインチューニング(最後の仕上げとしてディープニューラルネットワーク全体で学習)
オートエンコーダだけではラベルの出力ができないため、最後にロジスティック回帰層(シグモイド関数やソフトマックス関数などによる出力層)を追加。この重みの調整のためにファインチューニングを行う。
深層信念ネットワーク(Deep Belief Network) ジェフリー・ヒントンが2006年に提唱。
教師なし学習(オートエンコーダに相当する層)に制限付きボルツマンマシンという手法を用いている。
ボルツマンマシン(確率的回帰結合型ニューラルネットワーク) 各変数間の依存関係をグラフとして表現したモデル。
ホップフィールド・ネットワークの一種。
学習の際に、最尤推定を行ってデータに当てはまる確率分布を推定する。

7.1.画像系

畳み込みニューラルネットワーク

名前 提唱者 内容
CNN(畳み込みニューラルネットワーク) - - 画像データに適した順伝播型のニューラルネットワーク。
CNNの特性上、入力層に近い中間層は全体的な特徴を捉え(タスクごとに比較的大きな差が生まれない汎用的な特徴が学習される)、出力層に近い中間層は個別の特徴を捉える。そのためファインチューニングしやすい。
ネオコグニトロン 1979 福島邦彦ら S細胞層とC細胞層を交互に組み合わせた多層構造のニューラルネットワーク。
勾配計算を用いないadd-if silentという学習方法を使用。
LeNet 1998 ヤン・ルカン 複数の畳み込み層とプーリング層(サブサンプリング層)+全結合層(+ソフトマックス)を組み合わせた構造。
誤差逆伝播法を学習に使用。
AlexNet 2012 ジェフリー・ヒントンら 畳み込み層とプーリング層を繰り返し積層して深くするアプローチを取っている。
ILSVRC2012で優勝したモデル。
VGG 2014 オックスフォード大学 畳み込み層→プーリング層→畳み込み層の塊を16層まで積層。
一旦少ない層数で学習した後、途中で畳み込み層を追加して深くする学習方法を採用。
GoogLeNet 2014 - 同時に異なるフィルタサイズの畳み込み処理を行うInceptionモジュールを導入。
ResNet 2015 - Microsoft社が開発。
層を飛び越えた結合(Skip connection)を加えて、誤差を逆伝播させやすくし、より深いネットワークを実現。
人の識別精度を超えた結果をだし、ILSVRC2015で優勝した。
MobileNet 2017 - メモリ量を考慮して畳み込み層のパラメータ数を削減。
Depthwise Separable ConvolutionDepthwise Convolution(空間方向)、Pointwise Convolution(チャネル方向))を用いたことで、計算量を1/8程度に削減成功。
Neural Architecture Search(NAS) 2019 - RNN+深層強化学習を用いて最適なCNNなどのネットワーク構造を探索。
EfficientNet 2019 Google Brain パラメタが非常に少ない(従来の1/8)にも関わらず、当時最高精度を誇ったニューラルネットワーク。
互いに関連する3つのハイパーパラメータを調整する複合スケーリングを用いる。
転移学習も高精度で可能。
モデルがシンプル。

CNNの流れ

  1. 畳み込み演算+活性化関数(畳み込み層)
  2. プーリング(プーリング層)
  3. 最後に出力値が得られる(全結合層)
特徴マップの幅=\frac{入力画像の幅+パディング×2-フィルタの幅}{スライドの幅}+1
特徴マップの高さ=\frac{入力画像の高さ+パディング×2-フィルタの高さ}{スライドの高さ}+1
名前 内容
畳み込み層 フィルタ(カーネル)を用いて積和演算+活性化関数の作用で画像から特徴を抽出し、特徴マップに変換する。
画像とフィルタの値をそれぞれ掛け合わせて総和を取る処理。
移動不変性の獲得に貢献し、位置のズレに強いモデルを作成できる。
プーリング層 画像サイズを決められたルールに従って小さくするため、ダウンサンプリング、サブサンプリングとも呼ばれる。
最大値プーリング平均値プーリングがある。
画像のズレに対する頑健性を持つことができるようになる。
決められた演算を行うだけなので学習はしない。
全結合層 特徴マップを1列(フラット)に並べる処理。
最近のCNNでは、代わりに、平均値を1つのユニット(ニューロン)の値にするGlobal Average Pooling処理が多くなってる。

深層生成モデル

名前 内容
変分オートエンコーダ(VAE) 2014 オートエンコーダの隠れ層に、入力データの圧縮表現ではなく、統計分布のある1つの点となる潜在変数に変換する。
敵対的生成ネットワーク(GAN) 2014 イアン・グッドフェローらが考案。
ジェネレータとディスクリミネータを互いに競わせることで、本物と見分けがつかないような偽物をジェネレータが作成できるようにする。
DCGAN 2015 GANに畳み込みニューラルネットワークを使用した。
Pix2Pix 2017 画像のペアが本物か偽物かを予測。
学習用にペア画像が必要。
Cycle GAN 2017 Pix2Pixと異なり、画像のペアが不要。
元の画像と再度変換した画像が一致するように学習。

画像認識タスク

名前 提唱者 内容
AlexNet 2012 ジェフリー・ヒントンら
VGG 2014 オックスフォード大学
GoogLeNet 2014 -
ResNet 2015 - 派生モデルとして、Wide ResNet(カーネル数増大)やDenseNet(Skip connectionを工夫)がある。
Squeeze-and-Excitation Networks(SeNet) 2017 - Attention機能(畳み込み層が出力した特徴マップに重み付け)を導入。

物体検出タスク

2段階モデル:大まかな物体の位置を特定→物体クラスを識別
1段階モデル:位置の特定とクラスの識別を同時に行う

名前 モデル 内容
R-CNN 2013 2段階 物体候補領域をSelective Searchというセグメンテーション手法で抽出→CNNに入力→SVMによりクラス識別
物体候補領域ごとに処理をするため、時間がかかる。
Fast R-CNN 2015 2段階 画像全体を入力して特徴マップを獲得することで高速化。
Faster R-CNN 2015 2段階 Selective SearchをRegion Proposal NetworkというCNNモデルに置き換えてさらに高速化。
様々なサイズの特徴マップを固定サイズに変換するROIプーリングを用いている。
FPN 2017 2段階 物体検出向けの、CNNの拡張機能。
YOLO 2015 1段階 入力画像の各位置における物体領域らしさと矩形領域を直接出力する。
SSD 2016 1段階 CNNの途中の特徴マップから領域単位で物体らしさと矩形領域を出力することで、小さな物体の検出精度を向上。
デフォルトボックスにより、縦長や横長の物体を検出しやすくしている。

セグメンテーションタスク

セマンティックセグメンテーション:同一クラスの物体は一纏めになる。
インスタンスセグメンテーション:物体検出した領域に対してセグメンテーションするため、同一クラスでも1つ1つを分類可能。
パノプティックセグメンテーション:個々の物体を分離しつつ、道路や建物などは一纏めにする。

名前 内容
FCN(Fully Convolutional Network) 2015 全結合を用いず、畳み込み層だけで構成。
解像度が粗いセグメンテーション結果になってしまう。
SegNet 2016 エンコーダ(特徴マップを徐々に小さくしていく部分)とデコーダ(特徴マップを徐々に大きくしていく部分)を導入することで、セグメンテーション結果の解像度を向上。
U-Net 2015 デコーダの際、エンコーダの特徴マップを同じサイズになるよう切り出して利用するモデル。
医療画像診断に用いられる。
PSPNet 2017 Pyramid Pooling Module(複数の解像度で特徴を捉えるモジュール)を追加したモデル。
DeepLab 2016 Atrous convolutionを導入したモデル。
ASPP(複数解像度の特徴を捉える機構)を採用したモデルはDeepLab V3+と呼ばれている。

姿勢推定タスク

名前 内容
Open Pose 複数の人の骨格を同時に推定できるようにした手法。
Parts Affinity Fields(骨格の位置関係うぃ考慮した処理)を導入している。

その他

名前 内容
Vision Transformer(ViT) CNNを使わず、トランスフォーマーが用いられている新たな事前学習モデル。
BiT(Big Transfer) Google Brainが2019年に発表した、10億個のパラメータを持つ画像認識モデル。
ディープフェイク ディープラーニングにより生成されたフェイク画像やフェイク動画のこと。
Snapchatに搭載されているFace Swap機能などのビジネス応用がある一方、悪意のある利用者による脅威が懸念されている。

7.2.音声・言語系

※自然言語処理の「状態」=品詞

名前 内容
形態素解析 テキストデータから文法・単語に基づき、言語で意味を持つ最小単位である形態素に分割し、その形態素の品詞を判断する技術。
構文解析 形態素解析を基にして、その形態素間の構文的関係を解析すること。
含有関係解析 2つの文の間に含有関係が成立するかを判定すること。
意味解析 構文解析を基に、意味の持つまとまりを判定すること。
文脈解析 文単位で構造や意味を考えること。
照応解析 あれ、これ、それなど(照応詞)の指示対象や省略された名詞を推定・補完すること。
談話解析 文章中の文と文の関係や、話題の推移を明らかにすること。
LDA(潜在ディクレ配分法) トピックモデルを使用。
文中の単語から何のトピックかを推定する教師なし学習手法。
トピックごとの単語の分布、文章ごとのトピックの分布をディクレ分布に従うと仮定する手法。
LSI(Latent Semantic Indexing) トピックモデルを使用。
複数文章に共通で現れる単語を解析することで、単語同士の関連性(低次元の潜在意味空間)を構成する方法。
単語ベクトルの圧縮を特異値分解を用いて行う手法。
トピックモデル 文書を潜在的な「トピック(単語の出現頻度の分布)」から確率的に表れるものと仮定し、文章の分析を行う手法。
各トピックの確率分布から文章の傾向の分析、現れやすい単語の特定、次に予測される文章の形などが予測できると期待される。

名前 内容
セマンティックウェブ 人間にしか理解できなかったものを、情報リソースに意味を付与することで、コンピュータで高度な意味処理を実現する。
主にwebページに使用。
意味ネットワーク 単語同士の意味関係をネットワークによって表現する。
統計的自然言語処理 言語処理に確率論的あるいは統計学的手法を用いる技術。

名前 内容
メル尺度 人間の耳に聞こえる音の高さ(ピッチ)を表すように改良した尺度。
通常の音の周波数と相互に変換可能。
通常の周波数と比べて緩やかに増加する。
メル周波数ケプストラム係数(MFCC) 音色の違いは、スペクトル包絡(スペクトル上の緩やかな変動)の違いと等しく、これを求めるために用いられる係数。
これを用いると、音の高さの影響をあまり受けずに音の類似度を測れる。
音声信号のフーリエ変換の絶対値の対数をとり、逆フーリエ変換を行ったものをケプストラムと言う。
フォルマント周波数 フォルマント(いくつかの周波数にあるスペクトル包絡のピーク)がある周波数のこと。
音韻 言語に依らず人間が発生する区別可能な音。
これがおなじならフォルマント周波数は同じ。

名前 内容
言語モデル 人間が用いている言語を確率によって数学的に定義づけたモデル。
ニューラルネットワークで近似されたニューラル言語モデルが広く用いられている。
隠れマルコフモデル(HMM) この言語モデルを用いて、文章としての単語のつながりを確率的に表現し、文章の形を推測する。
ex) 動詞の次には名詞が置かれやすい。
現在はディープラーニングに置き換えられ、音声認識精度が向上している。
n-gram 任意の文字数で文章を分割する手法。
n=1はユニグラム、n=2はバイグラム、n=3はトライグラムという。
Bag-of-Words(BoW) 文書中に出現する単語を数え、その数を特徴(数値表現やベクトルなど)とする手法。
単語の出現順序の情報は失われる。
TF-IDF TF(1文書内の単語の出現頻度)とIDF(ある単語が出現する文書の割合の逆数の対数)の
1文書内の出現頻度が多く、出現する文書が少ない単語程大きな値となるため、単語の重要度を表す。
文章による単語数の違いによる影響が大きいため、改良型のOkapi BM25ではDL値(文章中の総単語数)を用いている。

名前 内容
分散表現(単語埋め込み) 単語を局所表現から次元数の低いベクトルに変換した表現。
Word2Vec 単語の分散表現(単語埋め込み、ベクトル)を得る手法。
スキップグラム(ある単語→周辺の単語を予測)とCBOW(周辺の単語→ある単語を予測)の手法がある。
2013年にGoogle社に
fastText 単語埋め込みを学習する際に、単語を構成する部分文字列の情報を含める。
ELMo 文脈を考慮した分散表現を得ることで、多義語に対処。

名前 内容
sequence-to-sequence(Seq2Seq) 入力と出力がどちらも時系列であるモデル。
RNN エンコーダ-ディコーダ手法を用いて実現される。
Attention 時間の重みをネットワークに組み込んだもの。入力と出力を「時間の重みで」対応付ける。
精度向上に多大に貢献した。
Source-Target Attention 入力文と出力文の単語間の関連度を計算。
Self-Attention(自己注意機構) 入力文内の単語または出力文内の単語間の関連度を計算。
並列計算により高速に処理が可能。
General Language Understanding Evaluation(GLUE)ベンチマーク 言語理解タスクをまとめたデータセット。

単語入力→単語出力

名前 内容
RNN 時系列データを分析するモデル。
内部に閉路を持つ。
過去の隠れ層から現在の隠れ層に対しても重みがあることで、過去の情報を保持し、時間依存性を学習できる。
時間軸に沿って誤差を反映するBackPropagation Through-Time(BPTT)を用いて、RNNを順伝播型ネットワークに書き換えて誤差逆伝播法を適用している。
Connectionist Temporal Classification(CTC)によって入出力の系列長の不一致を解決。
LSTM RNNの勾配消失問題(遠い過去の入力を現在の出力に反映するのが困難)をLTSMブロック(誤差を内部にとどまらせるためのセル+必要な情報を必要なタイミングで保持・消却させるための忘却ゲート)で解決。
GRU LSTMを簡略化したもの。
Bidirectional RNN(BiRNN) 過去から未来だけでなく未来から過去方向も含めて学習可能にしたモデル。

トランスフォーマー

名前 内容
トランスフォーマー Source-Target Attention、Encorder-Decorder Attention(入力文と出力文の橋渡しに使われるAttention機能)+ RNNの代わりにSelf-Attention
位置コーディングによりSelf-Attentionで失われた語順の情報を考慮。
機械翻訳の精度向上に貢献。

事前学習モデル

名前 提唱者 内容
GPT(Generative Pre-Training) OpenAI 事前学習:大規模なコーパスを用いた言語モデルの学習
ネットワーク:トランスフォーマーのデコータと似た構造
後継にさらにパラメタ数を増やしたGPT-2GPT-3がある。
BERT Google社 事前学習:Masked Language Model(MLM)とNext Sentence Prediction(NSP)
ネットワーク:トランスフォーマーのエンコーダ
パラメタ数削減の工夫にALBERTDistilBERTが提案。
Megatron-LM NAVIDIA 83億のパラメータを持つモデル。

その他

名前 内容
LDA(Latent Dirichlet Allocation) 文中の単語から何がトピックかを推定する教師なし機械学習手法。

7.3.深層強化学習

膨大な計算が必要な行動価値関数をディープニューラルネットワークで近似計算するアイデア。

名前 提唱者 内容
DQN(Deep Q-Network) - DeepMind社 行動価値を最大にする方策を効率的に計算することを目指したニューラルネットワーク(CNNの一種)。
経験再生(経験データをランダムに学習に利用し、学習を安定化)やターゲットネットワーク(過去のネットワークに教師役をさせることで、価値推定を安定化)の学習手法が導入。
AlphaGo 2016 DeepMind社 モンテカルロ木探索+深層強化学習
発展系にAlphaGo ZeroAlpha Zeroがある。

マルチエージェント強化学習

名前 提唱者 内容
OpenAI FIve 2018 OpenAI ゲームAIとして開発。トップレベルのプレイヤーに勝利を収めた。
AlphaStar 2019 DeepMind社 ゲームAIとして開発。

ロボティクス

名前 内容
ロボティクス ロボットに関連する一連の研究分野。
ロボットの動作制御に、モンテカルロ法やQ学習などの強化学習手法を用いる応用が進んでいる。
マルチモーダル情報処理 五感や体性感覚(平衡感覚など)といった複数の感覚の情報を組み合わせて処理すること。
複数のセンサ情報を収集できるマルチモーダルシステムに対し、収集した情報をディープニューラルネットワークで処理する研究が行われている。
一気通貫学習 ロボットの一連の動作を1つのディープニューラルネットワークで実現しようとするもの。
現在盛んに研究中。

8.検証法・評価指標

名前 種類 内容
交差検証 検証法 データを分割して評価する。
ホールドアウト法 検証法 交差検証の1つ。
訓練データ、テストデータに分割して評価する
k-分割交差検証 検証法 交差検証の1つ。
特にデータ数が少ない場合、訓練データ・テストデータの分割を複数回行い、それぞれで学習・評価を行うアプローチ。
ハイパーパラメータのグリッドリサーチに用いられ、ある程度プロセスが自動化できる一方、計算量が多くなるという欠点がある。
混同行列 評価指標 真陽性(TP):実際は陽性×結果は陽性
偽陽性(FP):陰性×陽性
真陰性(TN):陰性×陰性
偽陰性(FN):陽性×陰性
正解率(accuracy) 評価指標 全データ中、どれだけ予測が当たったかの割合。
適合率(precision) 評価指標 予測が正の中、実際に正だったものの割合。
再現率(recall) 評価指標 実際に正の中、正だと予測できたものの割合。
F値(F measure) 評価指標 適合率と再現率の調和。
ROC曲線 評価指標 縦軸にTPR、横軸にFPRを取り、閾値を0から1に変化させた際の両者の値をプロットしていったもの。
AUC(ROCより下部の面積)が1に近い程モデル性能が高い。
正解率(accuracy) :\frac{真陽性+真陰性}{全データ数}
適合率(precision):\frac{真陽性}{真陽性+偽陽性}
再現率(recall):\frac{真陽性}{真陽性+偽陰性}
F値(F measure):\frac{2×適合率×再現率}{適合率+再現率}
TPR(=再現率):\frac{真陽性}{真陽性+偽陰性}
FPR:\frac{偽陽性}{偽陽性+真陰性}

9.前処理

名前 内容
正規化 データをスケーリングする。
ex) 0-1スケーリング
標準化 平均を0、分散を1に変換する。
正則化 過学習などを防ぐために情報を追加する。
ex) LASSO(自動的に特徴量の選択が行われる性質を持つ)、Ridge正則化(特徴量選択は行わないが、パラメータのノルムを小さく抑える)
グレースケール化 カラー画像を濃淡画像に変換して計算量を削減する。
平滑化 細かいノイズの影響を除去する。
ヒストグラム平坦化 画像のコントラストを平坦にする。
白色化 無相関化した上で、標準化する。
基礎集計 データの傾向を事前に把握するために行われる。
前処理よりも前に行われる。
特徴量エンジニアリング モデルが認識しやすい特徴をデータから作成する。
ex) カテゴリアル変数(性別などの何かの種類を表す変数のこと)をone-hot-encodingに変換。
重みの初期値を工夫 Xavierの初期値(シグモイド関数)、Heの初期値(ReLU関数)
バッチ正規化 各層において活性化関数をかける前に伝播してきたデータを正規化する。
初期値への依存が少なく、学習の進行が速くなるため、過学習や勾配消失が防げる。

10.活性化関数

名前 使用箇所 内容
ステップ関数 - 0以上で1、0未満で0となる関数。
0で微分できないため、ニューロンネットワークの学習では用いられない。
ニューロンの活性化関数をこれにすると、単純パーセプトロンと同じものになる。
シグモイド関数 出力層・隠れ層 [0 1]の範囲を取る。
出力を0-1の範囲に正規化していることに等しい。
微分の最大値が0.25と小さく、勾配消失問題を引き起こす原因の1つとなっている。
ソフトマックス関数 出力層・隠れ層 出力の総和を1に正規化し、確率として解釈する際に用いられる。
分類問題の際、出力層付近でよく用いられる。
複数分類をするときに使われる。
tanh(ハイパボリックタンジェント)関数 隠れ層 [-1 1]の範囲を取る。
微分の最大値が1のため、シグモイド関数より勾配が消失しにくい。
ReLU関数 隠れ層 $y=max(0, x)$の範囲を取る。
現在主流の活性化関数
誤差逆伝播の際の勾配消失を解決しやすい。
$x≦0$で微分値が0になるので、学習が上手くいかない場合もある。
応用として、Leaky ReLU関数(ReLU関数+$x≦0$でわずかな傾きを持っている)がある。

11.開発・法律系

・従来のソフトウェア開発:ウォーターフォール(演繹的)
 AIソフトウェア開発:アジャイル(帰納的開発)

著作権https://elaws.e-gov.go.jp/document?lawid=345AC0000000048
 - 現在、自然人ではないAIに著作権は認められていない

特許法https://elaws.e-gov.go.jp/document?lawid=334AC0000000121
 - 発明の定義:自然法則を利用した技術的思想の創作のうち高度なもの(特許法2条1項)
 - 特許の定義:発明のうち、産業利用可能性新規性進歩性などの要件を満たすと認められるもの(特許法29条1項)

個人情報の定義は以下である。
 - 生存する個人に関する情報であること
 - 当該情報に含まれる氏名、生年月日その他の記述などによって特定の個人を識別できるもの
 - 個人識別符号(指紋情報や顔写真など)が含まれるもの
※第三者に提供する場合には、本人に承諾を得ることが必要になるが、匿名加工情報にすれば、一定のルール下で本人の同意を得ることなくデータの提供を行える(個人情報保護法36条1項)。

・以下の3要件を満たすデータを限定提供データという。
 - 限定提供性:業として特定の者に提供する情報であること。
 - 相当蓄積性:電磁的方法により相当量蓄積されていること。
 - 電磁的管理性:ID、パスワードなどの電磁的方法により管理されていること。

・以下の3要件を満たす秘密情報を営業秘密という。
 - 秘密管理性:車内でその情報が秘密であることがわかるように管理されていること。
 - 有用性:事業活動のために有用な情報であること。
 - 非公知性:一般に知られている情報でないこと。

・AIソフトウェアの開発工程は以下である。
 1. アセスメント:AI技術の導入可能性について検証を行う工程。
 2. PoC:実際にクライアントが求めるモデルが実現できそうかを試す工程。
 3. 開発
 4. 追加学習

参考文献

  1. 一般社団法人 日本ディープラーニング協会 猪狩宇司 他, ディープラーニングG検定(ジェネラリスト)公式テキスト 第2版, 株式会社 翔泳社, 2021年.
  2. スキルアップAI株式会社 明松真司/田原眞一, 徹底攻略ディープラーニングG検定ジェネラリスト問題集 第二版, 株式会社 インプレス, 2021年.
30
42
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
42