見出し画像

【G検定】2年前に敗北を喫した僕のリベンジ作戦とカンペ→合格しました

2020年11月7日の試験に向けて更新していきます!一緒に受験するみなさん頑張りましょう!→合格しました!

こんな人向けに書いてます。

・G検定受けるけどカンペづくりまで間に合ってない
→全網羅してないですが付け焼き刃程度に使ってもらえれば。

・G検定気になってる人
→こんなキーワードが出てくるんだ的なのに使ってもらえれば。

前回受験時の失敗

・こんなに検索させられると思ってなかった。
・テキストを読み返してる暇がない。
・基本がふわふわしてたので検索前提の問題の見分けがつかなかった。

今回の作戦

・G検定公式テキストの基本を押さえる(事例は除いてのイメージ)。
・ネットに転がってる模擬試験も当たって「聞いたことある!」を増やす。
・デュアルモニターで検索スピードあげる。
・テキストで勉強した内容はこのnoteの下にカンペ化して本番中Ctrl+F。

勉強したこと

・本:G検定公式テキスト(緑本)
・本:G検定問題集(黒本)
・本:人工知能は人間を超えるか
・ネット模擬試験:DIVE INTO EXAM G検定模擬試験(登録で無料)
https://exam.diveintocode.jp/exam
・ネット模擬試験:対策Web模試サイト 日々の練習問題(無料)
https://deeplearning.sakura.ne.jp/general/index.cgi/

カンペの注意事項

・試験中にCtrl+Fで検索する前提で書いています。
・全範囲を網羅しているわけではありません。僕がCtrl+Fで検索したい項目のみです。
・説明を正確に書いているわけではありません。僕が覚えやすいように書いています。

----------以下、カンペ----------

概論

人工知能の大まかな定義

推論、認識、判断など、人間と同じ知的な処理能力を持つ機械(情報処理システム)。中でも機械学習は予測と学習に注力。

人工知能の大まかな分類

・シンプルな制御:すべての振る舞いがあらかじめ決められている
・古典的な人工知能:探索、推論、知識データを利用
・機械学習:ビッグデータから入力と出力の関係を学習
・ディープラーニング:特徴量を自動的に学習

歴史

・1946年 エニアック 初の汎用コンピュータ 米ペンシルベニア大学。

第1次AIブーム 推論・探索の時代(1950年代後半~1960年代)
・流行:推論や探索で問題を解けるようになった。英語ーロシア語翻訳。
・衰退:トイ・プロブレム。複雑な問題が解けないと分かった。

第2次AIブーム 知識の時代(1980年代)
・流行:エキスパートシステム(知識ベースと推論エンジン)。第五世代コンピュータPJT(日本)。
・衰退:知識を蓄積・管理するのが大変。知識や常識が暗黙的。

第3次AIブーム 機械学習・特徴表現学習の時代(2010年~)
・流行:ビッグデータとディープラーニング。Super VisionやAlphaGO、シンギュラリティも追い風。

人物

・ジョン・マッカーシー
1956年のダートマス会議で「人工知能」って初めて言った人。

・マーヴィン・ミンスキー(マービン・ミンスキー)
単純パーセプトロンでは簡単な問題しか解けない、と言った人。

・アレン・ニューウェル、ハーバード・サイモン
1956年のダートマス会議で世界初の人工知能プログラムで、数学の定理を証明できるロジック・セオリストを披露。

・テリー・ウィノグラード
SHRDLU(シュルドゥル)の人。スタンフォード大学。ヒューマンコンピュータインターフェース(HCI)分野に移り、Google創業者のひとりラリー・ペイジを育てた。

・フランク・ローゼンブラット
1958年に単純パーセプトロンを提唱。

・スティーブン・ハルナッド
シンボルグラウンディング問題(記号接地問題)を提唱。認知科学者。

・レイ・カーツワイル
シンギュラリティを提唱。2029年に人間より優れた人工知能が登場。2045年に自分より優れた人工知能が生まれる。

・アーサー・サミュエル
機械学習の定義を「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」とした人。

・ヒューゴ・デ・ガリス
「シンギュラリティは21世紀後半に到来する」

・オレン・エツィオー二
「シンギュラリティは馬鹿げている」

・ヴァーナ―・ヴィンジ
シンギュラリティは機械が人間の役に立つふりをしなくなること。

・スティーブン・ホーキング
AIの完成は人類の終焉を意味するかもしれない。

・イーロン・マスク
シンギュラリティに危機感を持ち、非営利のAI研究組織OpenAIを設立。「結果的に悪魔を呼び起こしている」

・ビル・ゲイツ
人工知能慎重派。

・ヒューバート・ドレイパス
哲学者。人工知能は実現できないと主張。

有名な人工知能プログラムやマシン

・ELIZA(イライザ)
人工無能の元祖。人間と対話するように見せるシステム。精神科医セラピストを演じた。ジョセフ・ワイゼンバウムが1964年~1966年に開発。

・PARRY
偏執病的統合失調症患者をシミュレートする目的のチャットボット。1972年に開発。ELIZAと何度か会話しており、ICCC1972での会話はRFC439として残されている。

・MYCIN(マイシン)
初期のエキスパートシステム。血液中のバクテリアの診断支援。1970年代。スタンフォード大学。

・DENDRAL(デンドラル)
初期のエキスパートシステム。未知の有機化合物を特定する。1960年代。スタンフォード大学、エドワード・ファイゲンバウム。

・SHRDLU(シュルドゥル)
積み木の世界の物体を英語の指示で動かすシステム。スタンフォード大学のテリー・ウィノグラードが1970年に発表。

・ディープブルー
IBM開発。当時のチェスの世界チャンピオンに初勝利。力任せの探索。

・ボンクラーズ
第1回電王戦で永世棋聖に初勝利。

・ponanza
第2回電王戦で現役プロ棋士に初勝利。

・AlphaGo(アルファ碁)
ディープマインド社開発。2015年~2017年。次の手の選択にモンテカルロ木探索(Monte Calro Tree Search:MCTS)。2017年10月には、過去の棋譜から学習しないAlphaGo Zeroが誕生し、AlphaGoの強さを上回った。盤面の認識にCNN、
※AlphaGo Fan→AlphaGo Zero→AlphaZoro→AlphaStar

・ワトソン
IBM開発。2011年に米クイズ番組「ジョパディー」で優勝。ライトウェイトオントロジー。医療や料理にも進出。シェフ・ワトソン。

・東ロボくん
東大合格を目指すプロジェクト。2011年~2016年まで続き、私立大学への合格はできたが頓挫。2015年の進研模試で偏差値57.8を記録。

・SuperVision
画像認識(一般物体認識)の競技会ILSVRC(Imagenet Large Scale Visual Recognition Challenge)で2012年に大差で優勝。前年度まではSVMが優勢。ディープラーニングで特徴量決定。トロント大学。ジェフリー・ヒントン。ディープラーニングブームの火付け役。

・Googleが2012年にYouTube動画から猫認識に成功。

人工知能分野の問題

・フレーム問題
「今しようとしていることに関係のあることがらだけを選び取るのは難しい」問題。1969年にジョン・マッカーシーとパトリック・ヘイズが提唱。ダニエル・デネットの洞窟の例が有名。

・強いAI、弱いAI
人工知能が心を持てるか(意味を理解しているか)問題。フレーム問題に対応できるか問題。哲学者のジョン・サールが1980年に「Minds, Brains, and Programs」で発表。ジョン・サールは強いAI無理派で、中国語の部屋で説明。数学者のロジャー・ペンローズも強いAIを否定。意識には脳内の管に生じる量子効果が絡んでいるからAIでは無理とのこと。

・身体性
知覚する身体がなければ概念はとらえきれない。

・知識獲得のボトルネック
一般常識とか前提情報とかの知識を全部理解するのが難しい。人によって矛盾することもある。

・勾配消失問題
ディープラーニングの層が深くなるほど、誤差逆伝播法が上位の層に影響しなくなる(入力層側で誤差が小さくならない)問題。シグモイド関数の導関数の最大値が0.25にしかならないのが問題だった。まずは積層オートエンコーダとファインチューニングで克服され、そのあと活性化関数で克服された。

・内部共変量シフト
ある層の入力がそれより下層の学習が進むにつれて変化してしまい、学習が止まってしまう。対策として、各層で出力を正規化するバッチ正規化がある。

有名な理論・手法(機械学習関連全般)

・STRIPS
人工知能が自律的に行動計画を決めるプランニングの考え方の1つ。前提条件、行動、結果で考える。スタンフォードの研究。

・Mini-Max法(ミニマックス法)
ゲーム戦略で使われる。自分が指すときにスコアが最大に、相手が指すときにスコアが最小になるように戦略を立てる。

・αβ法
Mini-Max法の探索を減らす手法。既出のノードより悪いスコアのノードを切る。スコアの小さいノードを切るのがαカット。スコアの大きいノードを切るのがβカット。

・モンテカルロ法
ゲーム盤面のスコア評価法。終盤はプレイアウトで評価。ブルートフォース。

・意味ネットワーク(semantic network)
認知心理学の長期記憶の構造モデル。ノードと矢印。is-aの関係(継承関係)とpart-ofの関係(属性)。
※instance-of(実体。Carに対するMy Car)、function(Carに対するDrive)

・セマンティックウェブ
情報リソースに意味を付与することで、コンピュータで高度な意味処理を実現する。

・Cycプロジェクト(サイクプロジェクト)
すべての一般常識を詰め込んだエキスパートシステムをつくるプロジェクト。ダグラス・レナートが1984年に始めた。ヘビーウェイトオントロジー。データの一部はOpenCycとして公開されている。
※ルール維持や矛盾回避のためナレッジエンジニアの職が生まれた。

・オントロジー
知識を体系化する方法論。ヘビーウェイトオントロジー(定義をしっかり考える)とライトウェイトオントロジー(データマイニングなど、関係性は自動で出す)。

※推移律
「AならばB」かつ「BならばC」のとき「AならばC」になる。is-aの関係では必ず成り立つが、part-ofの関係では成り立たない場合もある。

教師あり学習

予測値を正解ラベルに近づける。回帰(線形回帰)と分類(ロジスティック回帰)。

・ロジスティック回帰(分類)
教師あり学習の分類で用いられる。対数オッズ(起こる確率 / 怒らない確率 の対数)を線形回帰で予測し、ロジット変換で正規化して確率として見る。確率の決定にはシグモイド関数が使われることが多い。3つ以上の分類ではソフトマックス関数が多い。目的関数は尤度関数(ゆうど)。
※目的関数:最適化問題で最大化or最小化させる関数。
※尤:もっともらしい

・ナイーブベイズ法
ベイズの定理を使った分類法。事象Aが起きうるという条件のもとで事象Bが起きる確率(条件付き確率)を求める式。
※ベイズ推定:観測事象から推定したい事柄を確率的に推論すること。

・決定木
不純度(クラスの混ざり具合)が最も減少する(=情報利得が最大になる)ように条件分岐を繰り返す。不純度はジニ係数やエントロピーで表される。強みは、データのスケール調整が不要なことと、分析結果の説明が容易であること。過学習を起こしやすい。

・ランダムフォレスト
分類の手法。データの一部からランダムに決定木を複数つくり多数決をとる手法。データの一部なので過学習が抑えられる。
※ブートストラップサンプリング:一部のデータを取り出す。
※アンサンブル学習:複数モデルを学習させること。voting(平均や多数決をとる)、boosting、stackingスタッキング(上層の出力結果を下段の入力結果とする)。
※バギング:一部のデータでアンサンブル学習させること。複数モデルを並列で作成する。ブースティングと比べて精度は劣るが、時間は早い。

・ブースティング
分類の手法。データの一部からランダムに1つの決定木をつくり、その結果で重みづけして次の決定木をつくり、モデル化していく。バギングより時間はかかるが、精度で勝る。AdaBoost、勾配ブースティング(gradient boosting)、XgBoostなどが有名。

・サポートベクターマシン(SVM)
分類の手法。各データ点との距離が最大となるような境界線を求めることでパターン分類を行う(マージン最大化)。サポートベクター回帰。元々は2クラス分類のアルゴリズムとして考案された。誤分類をある程度許容するスラック変数などのハイパーパラメータなども用いる。高次元データの距離を求めるための写像にカーネル関数が使われた。高次元でも計算量を抑えるテクニックをカーネルトリックという。

・活性化関数
層の間の電気信号をどれだけ伝播させるかを調整する関数。
┗ステップ関数:0or1。
┗シグモイド関数:微分すると最大値が0.25になる。誤差逆伝播しにくい。
┗tanh関数(双曲線正接関数):微分しても最大値1になる。
┗ReLU関数(Rectified Liner Unit、整流線型ユニット、正規化線形関数):主流。0<=x<=1でy=x、x<0でy=0。
※そのほか、LeakyReLU関数、Parametric ReLU、Randomized ReLUなどがあるが、どれが優れているとは一概には言えない。

・kNN法(k Nearest Neighbor、k近傍法)
近いデータk個をみて多数決でクラスを判断する。簡単だが、データに偏りがある場合、クラスがよく別れていない場合は失敗しやすく、データ数が多いと計算に時間がかかる。

教師なし学習

データの特徴をつかむ。クラスタリング。次元削減。頻出パターンマイニング。相関ルール抽出。

・k-means(クラスタ分析)
元のデータからグループ構造を見つけ出し、k個に分類する。適当にk個のグループに分ける→各グループの重心を求める→最も近い重心のグループに各点を分類する→再度重心を求める、の繰り返し。どういったクラスタなのかの判断は人間。

・主成分分析(PCA:Principal Component Analysis)
相関を持つ多数の特徴量から、相関のない少数の特徴量(データ内の分散が大きくなるように)へと次元削減していく。ここで得られる少数の特徴量を主成分(各成分の意味推測に有用)という。
┗寄与率:各成分の重要度。説明変数が目的変数をどれくらい説明できるか。決定係数とも。

評価手法と検証

予測と結果の呼び方(混同行列)
・真陽性(TP):正しく陽性と判断できた。
・偽陽性(FP):間違って陽性と判断しちゃった。
・偽陰性(FN):間違って陰性と判断しちゃった。
・真陰性(TN):正しく陰性と判断できた。

指標
・正解率(accuracy):全データ中、どれだけ当たったか。
(TP+TN)/ 全データ数

・適合率(precision):陽と予測したもののうち、どれだけ陽だったか。
TP /(TP+FP)

・再現率(recall):正解が陽のもののうち、どれだけ合ってたか。
TP /(TP+FN)

・F値:適合率と再現率の調和平均。適合率と再現率のどちらかに偏らないように。
(2 * 適合率 * 再現率)/(適合率+再現率)

検証
・交差検証(クロスバリデーション)
データ数が少ないときなどに、データの一部をテストデータ(および検証データ)とすること。1通りの分け方をするのがホールドアウト検証。複数の分け方をするのがk-分割交差検証。
※テストデータは開発時には手元にないこともある。

ハイパーパラメータの最適化
・グリッドサーチ
多数のハイパーパラメータの組み合わせをすべて試して精度比較する手法。計算量は多くなるがよく使われる。

・ランダムサーチ
パラメータの範囲を決め、ランダムにパラメータを組み合わせて学習させて、良いパラメータを探す。

・ベイズ最適化
過去の試行結果から次に行う範囲を確率分布を用いて計算する手法。

ディープラーニング全般

モデル

・単純パーセプトロン
線形分離可能(直線で分離することができる)な問題なら解ける。非線形だと解けない(非線形分離問題)活性化関数はステップ関数(0or1)。

・ニューラルネットワーク
単純パーセプトロンを模したニューロンに(複数の)隠れ層を入れたもの。ニューロンが最小単位。

・オートエンコーダ(自己符号化器)
入力層、隠れ層、出力層を準備して、入力層と出力層を同じものとする。隠れ層は次元を小さくし、重みが表現されるようにする(次元削減できるので教師なし学習とみなせる)。2006年にトロント大学のジェフリー・ヒントンが提唱。代表的な応用例として、ノイズ除去、事前学習、異常検知。
※入力層→隠れ層:エンコード
※隠れ層→出力層:デコード

・深層信念ネットワーク(deep belief network)
2006年にトロント大学のジェフリー・ヒントンが提唱。教師なし学習+制限付きボルツマンマシン。学習できないという問題を解消。確定的モデル。
※深層ボルツマンマシンは確率的モデル。

モデルへの工夫

・バックプロパゲーション(誤差逆伝播学習法)
予測値と実際の値との誤差をネットワークにフィードバックするアルゴリズム。多層化と併せて単純パーセプトロンの限界を克服した。

・事前学習
オートエンコーダを順番に学習していくこと(積層オートエンコーダ)。層ごとの貪欲法。計算コストがかかる。それまでは一気に通して学習させるのが主流だった。活性化関数の改善に伴って使われなくなった。

・正則化
オーバーフィッティング(過学習)防止。ノルム(ベクトルの大きさ)が大きくなりすぎないように、重みづけの式に項を追加して範囲を限定する。正則化しすぎるとアンダーフィッティングするので注意。
┗L1正則化:特徴量を自動で選択し、ほか一部のパラメータを0にし、スパースにする。ラッソ回帰。
┗L2正則化:特徴量選択は行わないが、一部のパラメータのノルムにペナルティを課して0に近づける。リッジ回帰。
┗Elastic Net:L1とL2の組み合わせ。

・ドロップアウト
オーバーフィッティング回避手法。ランダムにニューロンをドロップアウトさせたモデルでアンサンブル学習。

・early stopping
オーバーフィッティング回避手法。学習が進むほどオーバーフィッティングも進むので、早めに学習をやめることで汎化させる。ジェフリー・ヒントンがbeautiful Free Lunchと言った(要はめっちゃ汎用的ってこと)。

・ファインチューニング
教師あり学習の分類を可能にするために、積層オートエンコーダの最後にロジスティック回帰層(あるいは線形回帰層)を追加した。シグモイド関数やソフトマックス関数が使われる。
※ソフトマックス関数は出力の総和が1になるよう正規化するため確率として見やすく、出力層付近で使うのに適している。

・勾配降下法
予実の誤差を小さくすることを、誤差関数(訓練誤差、損失関数)の最小化問題(微分で解く)と考える。偏微分の勾配を下に降りていくことで最小値を求める。
→ x^(k+1) = x^(k) - αf'(x^(k))
α:学習率:一度にどれだけ降りていくか。
k:エポック。訓練データを何回学習に用いたか。何回繰り返し計算したか。 
※イテレーション:重みを何回更新したか。
※局所最適解ではなく大域最適解を出すためには、最初は学習率を大きくしておき、だんだん小さくするのが有効。
※局所最適解でも大域的最適解でもないが、傾きが0になる点(棚みたいな)を停留点という。
※高次元空間では鞍点が発生する可能性が高い(鞍点付近から抜けられない状態=プラトー)。対策として提唱されたのが以下。
┗モーメンタム:基本。以前に適用した勾配の方向を現在のパラメータ更新にも影響させる。
┗Adagrad:学習率をパラメータに適応させる。すでに大きく更新されたパラメータほど更新量(学習率)を小さくする
┗Adadelta
┗RMSprop:現在の主流。更新量が飽和した重みが更新されないというAdagradの欠点を指数移動平均を蓄積することで解決。
┗Adam:現在の主流。モーメンタムとRMSPropの組み合わせ。勾配の平均と分散をオンラインで推定。

重み更新による違い
┗逐次学習
個別の訓練データ1ごとにイテレーション1→確率的勾配降下法。
┗ミニバッチ学習
訓練データの一部の誤差の総和に対してイテレーション1→ミニバッチ勾配降下法。逐次学習よりも精度が高くなることが多く、最もよく使われる。
┗バッチ学習
訓練データ全体の誤差の総和に対してイテレーション1→バッチ勾配降下法。
※バッチサイズ:1回のイテレーションで使うデータのサンプル数。

・重みの初期値の工夫
下層になるほどデータが偏ることがあり、それを防ぐ手法。シグモイド関数にはXavier(1/√n が標準偏差)、ReLU関数にはHeが良いとされる。

※汎化誤差の3つの要素
┗バイアス:予測モデルが単純すぎて精度が低い。
┗バリアンス:予測モデルが複雑すぎて精度が低い。過学習。
┗ノイズ:どうやっても減らせない誤差。

学習データへの工夫

・基礎集計
データの傾向を事前に把握する。代表値を計算する、散布図にしてみるなど。

・データの正規化
学習しやすいようにデータを前処理する。各特徴量を0~1の範囲に変換するのが簡単。

・データの標準化
学習しやすいようにデータを前処理する。平均を0、分散を1で表す(標準正規分布にする)。

・データの白色化
学習しやすいようにデータを前処理する。各特徴量を無相関化したうえで標準化する。計算コストが高い。

・特徴量エンジニアリング
モデルが認識しやすい特徴をデータからつくること。

・one-hot-encoding
カテゴリカル変数を0か1にで表すこと。

・バッチ正規化
各層に来たデータ自体を正規化する。オーバーフィッティングにも効果あり。

※特徴量の頑健性を高める(絶対に正しいと思われる特徴量を見つける、たまたまな特徴量を見つけてこない)ために、データにノイズを加えたりする。

学習データ(画像)への工夫

・グレースケール化
計算量を削減する。

・平滑化
画像中のノイズを滑らかにする。

・局所コントラスト正規化
濃淡地の平均を0にする減算正規化と分散を正規化する除算正規化。

・ヒストグラム平均
明るさをスケーリングする。

その他

・バーニーおじさんのルール
ディープラーニングに必要なデータ量は、パラメータの数の10倍。

・みにくいアヒルの子定理
機械学習の定式化によって、普通のアヒルとみにくいアヒルを区別することはできない。

・転移学習
学習済みのモデルを使って新しいタスクに活用。

・蒸留
学習済みのモデル(教師モデル)を利用して、より小さくシンプルなモデル(生徒モデル)を学習させる方法。生徒モデルを単独で学習させるよりも過学習が起きにくい。パラメータを小さくするのにも使われる。

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

画像を2次元のまま入力にかけることができる。画像より小さいカーネル(フィルタ)を画像に重ねて特徴マップを抽出。次の層で画像を小さく解釈する(プーリング)。最後に全結合層で出力を1次元化する。順伝播型。
※パディング:元の画像の周囲に数ピクセル足すこと。足すピクセルの値がゼロの場合をゼロパディングという。
※maxプーリング:2*2ごとに画像の特徴の最大値を抽出してダウンサンプリング。
※avgプーリング:画像の特徴の平均値を抽出してダウンサンプリング。
※グローバルアベレージプーリング:各チャネルの特徴マップの平均値を抽出する。
※Lpプーリング:周りの値をp乗し、その標準偏差をとる。
※最近は全結合層を用いないのが主流。1つの特徴マップに1つのクラスを対応させて分類するGlobal Average Poolingが主流。

・ネオコグニトロン
人間の視細胞を模したCNNモデル。単純型細胞(S細胞、濃淡を検出)と複雑型細胞(C細胞、位置が変動しても同一物体とみなす)を交互に重ねる。福島邦彦が考案。誤差逆伝播法ではなくadd-if silentを用いる。

・LeNet
畳み込み層とプーリング層(サブサンプリング層)を交互に重ねたモデル。誤差逆伝播法を用いる。1998年にヤン・ルカンが考案。

・そのほか発展系モデル
AlexNet(SuperVisionで使用、8層、6千万パラメータ、2012年ILSVRC優勝)、VGG、GoogLeNet(Inceptionモジュールでサイズの異なる畳み込み、22層、2014年優勝)、ResNet(Skip connectionあるいはShortcut Connection、層を飛び越えた結合、152層、2015年優勝)

・データ拡張
手元の画像データを増やすために、画像の角度を変えたり、位置をずらしたりすることでデータを水増しする。アフィン変換などを用いる。

RNN(リカレントニューラルネットワーク)

時間情報を持つデータ(系列データ)に適。過去に遡って誤差逆伝播する(BackPropagation Through-Time:BPTT)。内部に閉路(行って戻ってくる経路、再帰構造とも)を持っている。隠れ層の入力に、入力データだけでなく、前の中間層の状態を使うことで、過去のデータを扱えるようにしている。時間軸に沿って深いネットワークを持つため勾配消失問題が起きやすい。

・LSTM
RNNの考え方。入力重み衝突(過去の事象が、今は関係ないけど、未来に影響ある、時などに勾配消失が起きる)を改善する。セル、入力ゲート、出力ゲート、忘却ゲートで構成される。
※セル(CEC:Constant Error Carousel):誤差を内部に留めて勾配消失を防ぐ。
※入力ゲート、出力ゲート:入力重み衝突、出力重み衝突を防ぐ。
※忘却ゲート:セルに誤差がたまりすぎるのを防ぐリセットの役割。

・GRU(Gated Reccurent Unit)
簡略版のLSTM。リセットゲートと更新ゲート。

・BiRNN(Bidirection RNN)
RNNの発展型。過去→未来と、未来→過去の両方向で学習できるようにしたLSTM。途中の時間情報が抜けている時対策。

・RNN Encoder-Decoder
RNNの発展型。入力だけでなく出力も時系列にする(sequence-to-sequence)。出力側にもLSTMを使う。時系列データなので出力を別の入力にも使う。

・教師強制
RNNの学習において、各タイムステップでの入力に教師データを用いる。学習が安定し収束が早いが、過学習を起こしやすい。

生成モデル

・WaveNet
音声生成でブレイクスルーを起こしたモデル。音声は時系列だがCNNが使われている。音声認識と音声合成。音声合成としても、サンプリングした音声をそのままDNNにかけることで劇的に自然な発音が実現された。

・変分オートエンコーダ(VAE:Variational AutoEncoder)
オートエンコーダで隠れ層に圧縮するとき統計分布(平均と分散)に変換する。

・敵対的生成ネットワーク(GAN:Generative Adversal Network)
ジェネレータとディスクリミネータ。ディスクリミネータが見分けのつかない偽物の画像をジェネレータで作らせる。画像生成モデル。イアン・グッドフェローらが考案。それぞれをCNNにしたのがDCGAN(Deep Convolutional GAN)。ヤン・ルカンが「機械学習において、ここ10年で最も面白いアイデア」と評した。亜種として、infoGAN、Conditional GAN、CycleGAN、AttnGANなど。

・BigGAN
歴史上最強のGANジェネレータと言われている。最大512×512ピクセルの高解像度画像を条件付きで生成できる。1000カテゴリの画像を生成できる。しかし、非GANのVQ-VAE-2(DeepMind)がそれを上回る。

強化学習(Reinforcement Learning:RL)

収益を最大化する方策を獲得する。報酬(スコア)をつけて行動を学習する。エージェントが環境に対して行動を加える。状態をいかに表現するか、状態をいかに行動に結びつけるかが課題。

・DQN(Deep Q Network)
2013年にDeepMind社が発表したブロック崩し動画で使われていた。Q学習という強化学習とディープラーニング(CNN)を組み合わせたもの。
※発展型:Double DQN、Dueling DQN、Categorical、Rainbow

・強化学習の改善手法
┗方策(ポリシー)ベース(value function base)→UNREAL
┗行動(状態)価値関数ベース(Q function base)→Q関数
┗モデルベース→A3C
→これらをすべてやるとRAINBOWモデル。

・価値反復法
最適な行動をとり続けたときの期待利得を計算する。行動価値関数を最大化する行動を探す。

・割引率
未来にいくほど報酬を差し引いて考える。

画像認識

・AlexNet
ILSVRCでディープラーニングを使って初めて優勝。アレックス・クリジェフスキーが筆頭開発者。

・R-CNN(Regional CNN)
関心領域を切り出してCNNにかける。切り出す矩形領域をバンディングボックスと呼ぶ。fast RCNN(切り出しと物体認識を同時に行える)、faster RCNN(ほぼ実時間、RPN:Region Proposal Network)、Mask R-CNN(ポーズ推定も可能)、YOLO(You Only Look Once)、SSD(Single Shot Detector)。

・完全畳み込みネットワーク(FCN:Fully Convolutional Network)
セマンティックセグメンテーションを可能にした。すべて畳み込み層のネットワーク。セマンティックセグメンテーションなので、入力画像の画素数だけ出力層が必要(画素数×カテゴリー数、のニューロンが必要)。

・アンサンプリング
FCNで出力画像の解像度を保つための手法。セグネット(Segnet)というモデルでも使われている。

・インスタンスセグメンテーション
セマンティックセグメンテーションの強い版。カテゴリごとではなく物体ごとに見分ける。

自然言語処理

・機械翻訳の変遷
ルールベース機械翻訳 → 統計的機械翻訳 → ニューラル機械翻訳

※以前は隠れマルコフモデル(HMM、Hidden Marcov Model、未来の状態は現在の状態のみに依存する)が使われていたが、ディープラーニングで精度が格段に上がった。

フロー
形態素解析→クレンジング→ベクトルに変換(BoW:Bag-of-wordsなど)→重要度評価(TF-IDFなど)

┗形態素解析:文章を最小単位に分解して品詞を判断する。
┗構文解析:品詞から主語述語など構文を判断する。
┗含意関係解析:2つの文章の間に含意関係が成り立つか判断する。
┗文脈解析:文単位で構造や意味を考える。
┗照応解析:指示対象や省略を推定する。
┗談話解析:話題の推移を明らかにする。
┗LDA:Latent Dirichlet Allocation。文中の単語からトピックを推定する教師なし学習。ディクリレ分布を使う。
┗LSI:Latent Semantic Indexing。複数の文書に現れる単語から低次元の潜在意味空間を構成する。特異値分解を使う。

・word2vec
ベクトル空間モデルや単語埋め込みモデルとも呼ばれる。「単語の意味はその周辺の単語によって決まる」。Googleが2013年に開発。
┗スキップグラム:ある単語を与えて周辺の単語を予測する
┗CBOW:周辺の単語を与えてその単語を予測する

・fastText
単語の表現に文字の情報も含めるモデル。OOV(Out Of Vocabulary)も分かる。トマス・ミコロフらが開発。

・ELMo(Embedding Language Modeling)
文章表現を得るモデル。2層の双方向リカレントネットワーク言語モデルの内部状態から計算。OOVも分かる。アレンインスティチュートが開発。

・マルチタスク言語モデル
前後文の予測、機械翻訳、構文解析、自然言語推論ができるモデル。マルチタスク学習。普遍埋め込みモデルとも呼ばれる。

・ニューラル画像脚注付け(Neural Image Captioning:NIC)
画像を認識するCNNと言語モデル(Language Model:LM)としてのRNNを組み合わせる。CNNで画像の関心領域を決める最上位の畳み込み層をRNNの入力にする。

・Seq2Seq
自動翻訳技術で使われる。RNNベースEncoder-Decorderモデル。フリーテキストを入力してフリーテキストを出力する。

・ニューラルチューリングマシン(NTM)
コントローラーにLSTMが使われている。

・Attention
RNNの発展型。学習の中で時系列データに重み付けを行う。文中のどの単語に注目すべきかをスコアで表すモデル。Query(Input)、Key(memory)、Value(memory)の3つのベクトルで計算される。QueryとKeyでAttentionスコアを計算し、Valueを加重和すると単語の潜在表現が手に入る。TransformerやBERTで使われる。

・Transformer
Seq2Seqに代わるモデル。Attentionを使用。RNNもCNNも使わない。これをベースに、BERT→XLNet→ALBERT。GPT-3(OpenAI、2020年)。

・コーパス
自然言語処理で使う対訳データ。

・コサイン類似度
2つのベクトル間の類似度の指標。-1~1の値をとる。

ロボティクス

・一気通貫学習(End-to-End Learning)
入出力に設計者の意図が介入しない。入力をモーションキャプチャで行うなど。ロボティクスでよく使われる。

・マルチモーダル学習
視覚+聴覚+触覚など複数の入力情報を統合して外界の表現を学習。

・多様体学習
入力信号に含まれる構造を獲得する学習。

・モラベックのパラドックス
機械にとって、高度な推論を学習するよりも、1歳児レベルの知恵や運動スキルを身につけることのほうが遥かに難しい。

実用化事例

不良部品検出
・課題:不良品が発生する頻度が少ない。
・工夫:良品データのみから特徴抽出し、差分で不良品を検出。分類ではなく異常検知。
・関係者:武蔵精密工業、ABEJA、ファナック、Preferred Network、キューピー、ブレインパッド

予防保全(工場ライン設備の交換時期判断)
・課題:熟練者じゃないと判断できない。ラインを止めないといけない。
・工夫:ライン上の波形を設備劣化度に換算して通知。
・関係者:ファナック、Preferred Network

バラ積みピッキング
・課題:ロボットに把持などの作業を教えるのが難しい。
・工夫:ディープラーニングを活用。距離センサを使わず画像のみ。
・関係者:ファナック、Preferred Network、安川電機、クロスコンパス

自動運転
・内閣では、2020年に無人移動サービスを、2022年に高速道路でトラックの隊列走行の商業化を目指している。
・関係者:内閣府、トヨタ、日産、ホンダ、DeNA、ZMP、アイサンテクノロジー、SBドライブ
※SAE J3016(Society of Automotive Engineers)
自動運転レベルの定義。レベル0~5の6段階。レベル3の自動車はすでに発売されており、海外では一般道走行可能な国もある。2025年にレベル4,5の完全自動運転が実現すると言われている。
※2019年5月の道路運送車両法の改正で、自動運行装置の項目が追加された。

診断支援
・課題:医師でも見逃すような病気
・工夫:CNNで画像認識
・関係者:有明病院、AIメディカルサービス、国立がん研究センター、日本電気、科学技術振興機構、日本医療研究開発機構、ツカザキ病院眼科、Rist

創薬生産性向上
・課題:開発コスト増大
・工夫:Graph Convolutional Network(GCN、つながりと関係性を学習)で創薬候補化合物のスクリーニング効率化。活性部分の可視化。
・関係者:エクサウィザーズ、京都大学、理化学研究所

生物情報学分野での因子推定と根拠づけ
・課題:関係性が部分的にしか分かっていない事象がある。説明責任が求められるため根拠がブラックボックスだと困る。
・工夫:推定因子と根拠を別々に学習。根拠はナレッジグラフで。
・関係者:富士通

がん患者個々人にあった医療提供
・課題:個人に適した医療提供には至っていない。データは膨大にある。
・工夫:患者データのほか、疫学データや文献情報を統合的に解析。
・関係者:国立がん研究センター、Preferrd Networks、産業技術総合研究所

ゲノム医科学用供用スパコン環境整備
・課題:データが増えすぎによる計算資源の確保
・工夫:スパコンの2/3の領域を外部からアクセス可能にした(シェアリング)
・関係者:日本医療研究開発機構、東北大学

介護コーチング
・課題:介護士の負担が増えるいっぽう
・工夫:介護の指導情報を教師データ化。介護学習者の様子を撮影してフィードバック。
・関係者:エクサウィザーズ

コンクリートひび割れ検出
・課題:型枠の痕などをひび割れとして誤検出
・工夫:CNNでひび割れ特有の特徴パターンを学習
・関係者:NEDO、首都高技術、産業技術総合研究所

舗装道路損傷判断
・課題:人員確保や高価な機器利用コスト
・工夫:一般的なビデオカメラやスマホで撮影してディープラーニング
・関係者:福田道路、日本電気、千葉市、東京大学、室蘭市、市原市、足立区

送電線点検
・課題:異常が少ないため学習用データが足りない
・工夫:GAN
・関係者:東芝デジタルソリューションズ

地質評価
・課題:すべての現場に適切なタイミングで技術者が集まって評価するのが無理
・工夫:マルチスペクトル画像を用いたCNN
・関係者:安藤ハザマ

タクシーの需要予測
・課題:タクシーの需要予測
・工夫:オートエンコーダを発展させたStacked denoising Autoencoder(SdA)
・関係者:NTTドコモ

画像商品検索
・課題:ユーザーがアップした商品画像のタグ付け
・工夫:機械学習と深層学習を利用したImage Searchというシステム
・関係者:Alibaba

レコメンド
・課題:協調フィルタリング(同じ曲を聴いている人は同じ趣味を持っている)ではレコメンドの幅が広がらない(フィルタ・バブル)
・工夫:曲の信号を解析して類似度を学習
・関係者:Spotify

音声認識
・課題:誤り率が高い
・工夫:DNN-HMM hybrid音響モデルを活用
・関係者:ヤフー

そのほか
異音検査、音響解析、加工制御最適化、工業デザイン生成補助、着衣介助、橋梁内部の損傷度合い推定、廃棄物選別、困っている方動き検知、商業施設のテナントデータ分析、無人コンビニ検証、マルチモーダルロボット、物流画像判別、倉庫運用最適化、収穫・仕分け支援、ピンポイント農薬散布、株価予測、不正取引検知、動画内の声や文字の検索対象化、採点支援、ユーザーコメント分析、出品監視、チャットボット

社会で実用化するために

・プライバシー・バイ・デザイン(PbD)
あらかじめプライバシーに配慮した設計を行う。そのほか、セキュリティー・バイ・デザイン(セキュリティに配慮)、バリュー・センシティブ・デザイン(価値全体に配慮)。

・データの利用条件
著作権法、不正競争防止法、個人情報保護法、個別の契約、その他に配慮が必要。ラボ内での利用でも配慮必要なケースがある。金融業界での機微情報(人種、犯罪歴、病歴など)などは取得自体が禁止されている。
※日本では、「情報解析を行うために著作物を複製すること」が営利・非営利を問わず適法とされている。世界でも先進的。
※限定提供データ:他社との共有を前提に一定の条件下で利用可能な情報。

・AIの創作物への著作権はまだ認められていない。

・製造物責任は有体物にしか発生しない法律になっているので、純粋なプログラムのみのAIには発生しない可能性が高い。

・蒸留モデル
既存のネットワークの入出力をそのまま学習した別モデルをつくること。著作権や複製のくだりでも出てくる話。

・AI・データの利用に関する契約ガイドライン
┗アセスメント:モデルの生成可能性を検証
┗PoC(概念実証):期待する精度のモデル生成可能性を検証
┗開発
┗追加学習

・データ契約3種類
データ提供型、データ創出型、データ共用型

・データの偏り
現実世界が偏っているため、データベースに登録されていないため、データセットが欧米主導で作られているため、などに配慮する必要がある。

・FAT(Fairness, Accountability, and Transparency)
AI利用などで発生するトレードオフに関する研究領域

・PAI(Partnership on AI)
2016年にAmazon、Google、Facebook、IBM、Microsoftなどを中心に組織。安全性、公平性、透明性、責任などへの取り組みを提示。

・LAWS(Lethal Autonomous Weapon Systems)
自律型致死性兵器。まだ実現されてはいない。

・アシロマAI原則
NPO法人FLI(Future of Life Institute、ホーキングやイーロン・マスクも賛同)が発表。技術開発における安全性、透明性の確保など23の項目がある。

・各国の産業改革プロジェクト
┗中国:中国製造2025(2015年発表。ドイツのインダストリー4.0の影響大)
┗ドイツ:インダストリー4.0
┗日本:Society5.0、仮想空間と現実空間を融合させる適な。2016年発表。

・DARPA
XAI(Explainable AI)への投資プログラムを発表したアメリカの当局。

その他

・ローブナーコンテスト
チューリングテストに合格する人工知能をつくるためのコンテスト。

・ムーアの法則
半導体の性能と集積は18ヵ月ごとに2倍になる。

・ガートナーのハイプ・サイクル
テクノロジーの広がりを期待度と時間の2軸で表したもの。AIは2019年後半から幻滅期に入ったと言われている。

・CPU:様々なタスクを順番に処理するのに適している。
・GPU:限られたタスクを一気に処理するのに適している。
・TPU:テンソル計算に特化。Googleが開発。

・NVIDIA社
GPGPU開発の覇権。ディープラーニングのあらゆるライブラリが対応している。

・ImageNet
画像認識のCNNモデルを公開してる。

・エルマンネットワーク
初期のRNNの一種。音声認識や言語処理で使われてきた。似ているものにジョーダンネットワークがある。

・magenta

・n-gram

・Deep Variant
ゲノム配列や遺伝子相違点を発見するツール。githubで公開されている。

・主要な会議、トップカンファレンス
┗人工知能全般:IJCAI、AAAI、JSAI(日本)
┗ディープラーニング:NeurIPS(旧NIPS)NeurIPS、ICML、IBIS
┗画像系:CVPR、ICCV

・次元の呪い
次元が上がると計算量が指数関数的に増えること。

・重回帰分析
複数の説明変数から1つの目的変数を予想する。

・多重共線性
重回帰分析において、相関係数の近い変数を選ぶとうまくいかない性質。multicollinearity(マルチコ)。相関係数は必ず-1以上1以下。

・正則化、標準化、正規化の違い
┗正則化:過学習防止策、一部のパラメータを0にするなど
┗標準化:平均0と分散1で表す
┗正規化:0~1の範囲に収まるようにスケーリングする

・レコメンデーションエンジン
┗協調ベースフィルタリング:ユーザーの購買履歴でレコメンド。
┗内容ベースフィルタリング:アイテムの特徴からレコメンド。

・機械学習ライブラリ(フレームワーク)
┗Tensorflow(テンソルフロー):機械学習の計算を行う。Google開発。
┗Keras(ケラス):ディープラーニングに特化したTensorflowの上位ラッパー。
┗Numpy(ナムパイ):線形代数の計算に強い
┗scikit-learn(サイキットラーン):機械学習全般に強い
┗SciPy(サイパイ):確率統計に強い
┗seaborn(シーボーン):グラフを描く
┗Chainer(チェイナ―):Preffered Networks開発。Define-by-Run方式(計算グラフの構築と順伝播処理の実行が同時にできる)。
┗PyTorch(パイトーチ):Chainerから派生。Define-by-Run方式。
※上位ラッパー:別の環境でも利用できるようにしたもの。
┗OpenCV:画像認識。Intelが開発。

・記述統計と推計統計
┗記述統計:手元にあるデータを分析
┗推計統計:手元にあるデータからその母集団の性質を予測

・AI技術に関する有名プラットフォーム
┗Kaggle:データ分析のコンペティションやディスカッション。
┗Google Scholar:学術論文の検索エンジン。
┗Coursera:世界中の大学講義を受けられるオンライン講座。
┗arXiv:研究論文の公開・閲覧ができるWebサイト。
┗OpenAI Gym:自作の強化学習アルゴリズムをシミュレーションできる。

・データセット
┗ロイター通信のデータセット:文書分類の研究でよく使われる。2万の新聞記事に135のカテゴリが付いている。
┗MNIST:エムニスト。手書き文字の画像認識でよく使われる。0~9までの手書き数字。
┗CIFAR-10:画像データセット。6万件(学習5万件、検証1万件)の画像に10個のクラスがラベリングされている。トロント大学が公開。
┗Fashion-MNIST:衣類品画像のデータセット。6万件のトレーニングセットと1万件のテストセット。10個のクラスがラベリング。
※LOD:Linked Open Data。コンピュータ処理に適したデータを公開・共有する方法。

・Python向け統合開発環境(IDE)
PyCharm(JetBrains社)、PyScripter、Atom、Microsoft Visual Studio
※Colaboratory:Googleが提供する、ブラウザでPythonを記述できる差0ビス。

・スパース(疎)なデータ
ほとんど0で時々0以外が出てくるデータ。計算量削減のために調整される。

・Tay
Microsoft社開発のTwitterの対話bot。ユーザーによる不適切な誘導で、おかしな発言をするようになりMSに即刻停止された。

・AlphaFold
タンパク質の構造を見出して新薬開発に活かす。DeepMind社。CASP13で優勝。

・MAML(Model Agnostic Meta-Learning)
メタ学習(学習方法を学習する)アルゴリズムのひとつ。勾配を用いてパラメータ更新するのではなく、初期値を工夫する。

・エリック・ストルターマン
DXを提唱した人。

・赤池情報量規準
AIC。統計モデルの良さを評価するための指標。

・P値
統計的優位性を判断する際に用いられる優位確率。

・t分布
母分散が未知の値で、少ないデータ数から母平均の値を推定したいときに使われる確率分布。

・KLダイバージェンス
2つの確率分布がどの程度似ているかを表す尺度。

・2016年のアメリカ大統領選挙でトランプの当選をAIは外している。選挙制度の複雑さとマスコミビッグデータの質が要因という説。

・エッジコンピューティング
ユーザー端末の近くにサーバを分散配置すること。

・SES契約(システムエンジニアリングサービス契約)
準委任契約のひとつ、システムエンジニアの能力を契約の対象とする。民間企業のAI開発によく用いられる。

・Adversarial Examples
人間では認識しづらいが、AIが認識を誤るような情報を加えたデータ。

・非ノイマン型コンピュータ
ニューロコンピュータや量子コンピュータなど。

・ELSI
Ethical, Legal and Social Implications。AIなどの技術発展にも伴う課題。

・XaaS
ザース。Everything as a Service。EaaSとも。クラウドによって提供されるサービスの総称。

・DARQ
アクセンチュアが発表した、企業が習得すべきテクノロジートレンド。D(Distributed Ledger Technology:分散型台帳)、A(Artificial Intelligence)、R(extended Reality:拡張現実)、Q(Quantum Computing:量子コンピューティング)。

・DistBelief
Googleが開発した深層分散学習のフレームワーク。

・Hadoop
複数のコンピュータで処理する分散技術を用いたオープンソースのアプリケーション。テキスト、画像、ログなどの構造化されていないデータを高速で処理できる。

・MapReduce
並列処理を行うためのプログラミングモデル。

・InfniBand
非常に高い信頼度のクラスタ用アーキテクチャ。

※試験中に参照したいサイト

人物系まとめ( @Hiroki1928 さん)
https://qiita.com/Hiroki1928/items/6d66bf66f44df55a2f4e

データセットまとめ
https://www.codexa.net/ml-dataset-list/

GANの亜種の説明
https://ai-scholar.tech/articles/treatise/gansurvey-ai-371

SI接頭語
https://www.dainippon-tosho.co.jp/unit/si_prefix.html

----------

受験を終えての追記

2020年11月の試験もやはりテキストや問題集で網羅されてない範囲がバンバン出ました。特に以下が多かった印象です。

・個人情報保護
・営業秘密
・U-net
・自然言語処理

震えながら結果を待ちます・・・

合否発表が届いた後の追記

合格しました!
合格者向けのイベントへの招待も届き、これからまた深めていこうと思います。




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