G検定 学習内容まとめ



# 1.人工知能とは

### AI効果
人工知能が特定のタスクを達成できるようになると、「それは単純な自動化であり知能ではない」と結論づけ、AIの知能が過小評価される心理的効果。

### 人工知能の研究の歴史

##### 世界初の汎用コンピュータ
1946年、アメリカのペンシルバニア大学でエニアックという巨大な電算機が開発。

##### ダートマス会議
1956年、ダートマス会議にて人工知能という言葉が初めて使われる。当会議には、マーヴィン・ミンスキー、ジョン・マッカーシー、アレン・ニューウェル、ハーバート・サイモン、クロード・シャノンなどが参加。
このうちニューウェルとサイモンは、世界初の人工知能プログラムと言われるロジックセオリストをデモンストレーションし、コンピュータを用いて数学の定理を自動的に証明することが実現可能であることを示した。

##### 人工知能ブームと冬の時代

・第一次AIブーム(1950年代後半〜1960年代)
コンピュータによる「探索」や「推論」の研究が進み、特定の問題に対し解を提示できるようになった事がブームの要因。
一方、トイプロブレム(数学の定理の証明などの簡単な問題)は解けても、複雑な現実の問題は解けないことが明らかになり、1970年台に冬の時代を迎えた。

・第二次AIブーム(1980年代)
データベースに大量の専門知識を溜め込んだエキスパートシステムと呼ばれる実用的なシステムが多く作られた。日本においては政府によって「第五世代コンピュータ」と名付けられた大型プロジェクトが推進された。一方、知識を管理することの大変さ明らかになるにつれ、1995年ごろから冬の時代に突入。

・第三次AIブーム(2010年〜)
ビッグデータと呼ばれる大量のデータを用いることで、人工知能が自ら知識を獲得する機械学習が実用化。知識を定義する要素を人工知能が自ら習得するディープラーニングが登場したことがブームの背景。

##### フレーム問題
ある状況において何が重要で、何が重要でないかを効率的に判断することが難しいという問題。1969年にジョンマッカーシーとパトリック・ヘイズが提唱。

##### チューリングテスト
イギリスの数学者アラン・チューリングが提唱した、別の場所にいる人間がコンピュータと会話をし、相手がコンピュータだと見抜けなかった場合、コンピュータには知能があるとするもの。ソフトウェア開発の目標にもなっている。

##### ローブナーコンテスト
チューリングテストに合格するソフトウェアを目指すコンテスト。

##### 強いAIと弱いAI

・強いAI
人間と同等またはそれ以上の汎用的な知能を持つAI。特定のタスクに限定されず、どんな問題にも柔軟に対応できる知能を目指す。

・弱いAI
特定のタスクや限られた範囲で機能するAI。

##### シンボルクラウディング問題
AIが扱うシンボル(記号やデータ)が、実際の現実世界の物体や概念とどのように結びつき、意味を持つことをどう理解させるかという問題。
例：犬が四足歩行の動物であり、吠えることをどう学ぶか。


##### 身体性
知能が成立するためには身体が不可欠であるという考え方。

##### 知識獲得のボトルネック
AIが新しい知識を習得し、それを適切に活用可能にするプロセスにおいて、時間、コスト、リソース、専門家の関与などの制約によって生じる障害。

##### ニューラル機械翻訳
ディープラーニングを応用した機械翻訳。2010年ごろに登場。

# 2.人工知能をめぐる動向

### 探索と推論

##### 幅優先探索
出発点に近いノード順に検索する。最短距離でゴールに辿り着く解を必ず見つけることができるが、探索の途中で立ち寄ったノードを全て記憶する必要がある。

##### 深さ優先探索
あるノードから最深まで探索し、行き止まりになったら一つ前のノードに戻って探索を行う、という動作を繰り返す。

##### STRIPS
目標とする状態を実現するために前提条件、行動、結果の3つを組み合わせる行動計画システム。

##### SHRDLU
テリー・ウィノグラードによって開発された自然言語理解システム。英語による指示を受付、コンピュータ画面に描かれる積み木の世界に存在する様々な物体を動かすことに成功。

##### ヒューリスティックな知識
問題を素早く解くための賢いコツや推測の方法

##### Mini-Max法
自分の利益を最大化し、相手の利益を最小化する最適な手を選択するためのアルゴリズム。

##### aB法(アルファベータ法)
Mini-Max法のゲームツリー探索において不要な枝を切り捨てることで計算量を削減する方法。

##### モンテカルロ法
ランダムサンプリングを繰り返して問題の解を推定する計算手法

### 知識表現

##### エキスパートシステム
ある専門分野の知識を取り込み、その分野の専門家のように振る舞うプログラム

##### マイシン(MYCIN)
医療診断を支援する初期のエキスパートシステム。

##### DENDRAL
未知の有機化合物の構造を推測する初期の人工知能システム。

##### 意味ネットワーク
概念やオブジェクト間の関係をグラフ構造でモデル化する方法。

##### is-aの関係
動物は生物である、などの継承関係を表す。

##### part-ofの関係
目は頭部の一部である、などの属性を表す。

##### オントロジー
知識の共有と活用を目的として、知識を記述するときに用いる言葉や意味、関係性を他者とも共有できるように明確な約束事として定義しておく方法論。

##### Cycプロジェクト
全ての一般常識をコンピュータに取り込むことを目的としたプロジェクト。

##### ヘビーウェイトオントロジー
人間が持つ知識の概念を正しくAIに教えようとするアプローチ。

##### ライトウェイトオントロジー
AIが自分で情報間の関係性を見つけるというアプローチ。完全に正しいものでなくても使えればいいという考え方。

##### ウェブマイニング
Webデータを解析して知識を取り出す。

##### データマイニング
ビッグデータを解析して有用な知識を取り出す。

##### ワトソン
2011年にアメリカのクイズ番組に出演し歴代チャンピオンに勝利。ウィキペディアの情報をもとにライトウェイトオントロジーを生成してそれを解答に使う。

### 機械学習・深層学習

##### 統計的自然言語処理
複数の単語をひとまとまりにした単位で用意された膨大な量の対訳データをもとに、最も正解である確率が高い訳を選択する。

##### コーパス
AIが言葉を学ぶためのテキストの集合。

##### 特徴表現学習
データから有用な特徴を自動的に学習すること。

##### ニューラルネットワーク
生物の神経回路を真似することで学習を表現しようとする。

##### パーセプトロン
入力データを重みつきで処理し、活性化関数を通じて出力を生成するモデル。

##### ディープラーニング
深く多層化したニューラルネットワークを使って、データに潜む特徴を自動的に学習する手法。


# 3.機械学習の具体的手法

### 代表的な手法

##### 教師あり学習
与えられたデータを元に、そのデータがどんなパターンになるのかを識別・予測する。数字などの連続値を予測する問題を回帰問題、カテゴリなどの連続しない値を予測する問題を分類問題という。

##### 教師なし学習
与えられたデータそのものが持つ構造・特徴を学習する。

##### 強化学習
ある環境下で目的とする報酬を最大化するためにはどのような行動をとっていけばよいか学習する。

#### 教師あり学習の代表的手法

##### 線形回帰
データの分布があったときに、そのデータに最も当てはまる直線を考える。1種類の入力だけを用いて行う回帰分析を単回帰分析、複数種類の入力を用いる場合を重回帰分析という。

##### ロジスティック回帰
入力データに基づいて、ある事象が特定のクラスに属する確率を予測するモデル。予測したい出力が2種類のものを2クラス分類問題、それ以上のものを多クラス分類問題という。

##### シグモイド関数
ロジスティック回帰の出力に使用。任意の値を0から1の間に写像し、与えられたデータが正例(+1)になるか負例(0)になるかの確率が求められる。

##### ソフトマックス関数
分類問題において3種類以上の分類を行いたい場合にシグモイド関数の代わりに使用。各種類の出力値を0から1の値および出力値の合計が1になるような出力を行う。

##### ランダムフォレスト
多数の決定機をランダムに構築し、それらの予測を多数決などの形で最終的な結果を出すアルゴリズム。
ランダムフォレストなどのように複数のモデルで学習させることをアンサンブル学習という。

##### ブートストラップサンプリング
ランダムフォレストにおいて、それぞれの決定木に対してランダムに一部のデータを取り出して学習に用いること。

##### バギング
全体から一部のデータを用いた上で、複数のモデルを用いて学習する方法。

##### ブースティング
単純な決定木などを順番に学習させ、各決定木が前の決定木の誤りを補正するように重みを調整することで、全体として高精度なモデルを構築する手法。

##### AdaBoast
ブースティングで最も一般的な手法。直列に繋いだモデルを順番に学習していく際、直前のモデルが誤認識してしまったデータの重みを大きくし、正しく認識できたデータの重みを小さくする。この繰り返しにより、誤認識したデータを優先的に正しく分類できる。

##### 勾配ブースティング
データに重み付けをする代わりに、前のモデルの予測誤差を関数として捉え、それを最小化するように逐次的にモデルの学習を進める。

##### サポートベクターマシン
異なるクラスの各データ点との距離が最大となるような境界線を求めることで、パターン分類を行う。

##### 自己回帰モデル
主に時系列データの予測に用いられ、現在の値が過去の値に依存すると仮定してモデル化する手法。

#### 教師なし学習の代表的手法

##### 階層なしクラスタリング
データを類似性に基づいて複数のクラスタに分割する。

##### k-means法
データをk個のグループに分けることを目的とし、元のデータからグループ構造を見つけ出し、それぞれをまとめる。

##### 階層ありクラスタリング
データを類似性に基づき複数のクラスタに分割し、クラスタ間に階層構造を持つ手法。

##### ウォード法
各データの平方和が小さい順にクラスタを作っていくことで階層構造を作る。

##### 最短距離法
最も距離が近い二つのデータを選びそれらを一つのクラスタにまとめることで階層構造を作る。

##### デンドログラム
階層構造を表す樹形図。

##### 主成分分析
相関を持つ多数の特徴量から、相関のない少数の特徴量へと次元削減することを主たる目的とし、データの構造を簡素化しながら重要な情報を保持する手法。

##### 主成分分析以外の次元削減手法
特異値分解(SVD)、多次元尺度構成法(MDS)、t-SNEなど。

##### 協調フィルタリング
レコメンデーションに用いられ、ユーザやアイテムの関連性を協調的に活用し、個々のユーザーにパーソナライズされた推薦を行う手法。

##### コールドスタート問題
事前にある程度のデータがなければ推薦を行うことができないという問題。

##### コンテンツベースフィルタリング
ユーザではなく商品側に特徴量を付与し特徴が似ている商品を推薦する。

##### トピックモデル
テクスト文書集合において、各文書は複数の潜在的なトピックから確率的に生成されると仮定したモデル。

##### 潜在的ディリクレ配分法
トピックモデルの代表的な手法。

#### 強化学習の代表的手法

##### バンディットアルゴリズム
活用(現在知っている情報の中から報酬が最大となるような行動を選択すること)と探索(現在知っている情報以外の情報を獲得するために行動を選ぶこと)のトレードオフを扱う手法。UCB方策などが具体的な手法。

##### マルコフ決定過程モデル
現在の状態と行動だけで次の状態や報酬が決まるという「マルコフ性」を仮定しモデル化する。

##### 価値関数
特定のポリシーや状態、行動のもとで、将来得られる報酬の期待値を計算する。

##### 方策勾配
方策をあるパラメータで表される関数とし、そのパラメータを学習することで、直接方策を学習していくアプローチ。

##### REINFORCE
方策勾配法ベースの手法の一つ。AlphaGoにも使用。

##### Actor-Critic
価値関数ベース及び方策勾配法ベースの考え方を組み合わせた手法。

### モデルの選択・評価

##### 交差検証
学習用の訓練データと評価用のテストデータのようにデータを分割して評価すること。

##### ホールドアウト検証
事前に訓練データをテストデータに分割する方法。

##### k-分割交差検証
訓練データ・テストデータの分割を複数回行い、それぞれで学習・評価を行う手法。

##### 正解率・適合率・再現率・F値
・正解率・・全データ中、どれだけ予測が当たったかの割合。
・適合率・・予測が正の中で、どれだけ予測が当たったかの割合。
・再現率・・実際に正であるものの中で、正だと予測できた割合。
・F値・・適合率と再現率の調和平均。片方のみで判断すると予測が偏っている場合も値が高くなるため、F値を用いることがある。

##### ROC曲線
分類モデルの真陽性率と偽陽性率を異なる閾値でプロットした曲線。

##### オッカムの剃刀
機械学習において、ある事柄を説明するためには、必要以上に多くを仮定すべきではないという指針。

# 4.ディープラーニングの概要

### ニューラルネットワークとディープラーニング

##### 単純パーセプトロン
複数の特徴量を入力として受け取り、一つの値を出力するニューラルネットワーク。

##### 多層パーセプトロン
入力層、隠れ層、出力層という複数の層からなるニューラルネットワーク。単純パーセプトロンの拡張版として、非線形なデータ分類や回帰タスクを解くために使用される。

##### ムーアの法則
半導体の性能と集積は、18ヶ月ごとに2倍になるという経験則。

##### CPU
コンピュータ全般の作業を処理する役割。

##### GPU
画像処理に関する演算を行う役割。大規模な並列演算処理に特化した存在。

##### GPGPU
画像以外の目的の使用に最適化されたGPU。

##### バーニーおじさんのルール
モデルのパラメータ数の10倍のデータ数が必要という経験則。

### 誤差関数

##### 平均二乗誤差関数
モデルの予測値と実際の値の差の2乗をデータ点全体で平均し、回帰モデルの誤差を定量化する。

##### 交差エントロピー誤差関数
二つの確率分布がどれくらい異なるかを定式化した交差エントロピーを誤差関数として使用したもの。分類問題で最も用いられる誤差関数。

##### 距離学習
データ間の類似度を推定する。

##### 深層距離学習
距離学習をディープラーニングに応用した手法。入力で二つのデータを用いるSiamese Networkや三つのデータを用いるTriplet Networkが有名。


### 正則化

##### 正則化
機械学習において過学習を防ぐための手法。誤差関数にペナルティ項を課すという手法が広く用いられる。有名な正則化に以下の二つ。
・L1正則化・・一部のパラメータの値をゼロにすることで不要なパラメータを削減。線形回帰に対してL1正則化を適用した手法をラッソ回帰という。
・L2正規化・・パラメータの大きさに応じてゼロに近づけることで、汎化された滑らかなモデルを得ることが出来る。線形回帰に対してL2正則化を適用した手法をリッジ回帰という。

##### ドロップアウト
ニューラルネットワークの学習中にランダムにニューロンを無効化する正規化手法。学習のエポックごとにランダムに除外するニューロンを運ぶことで、学習全体ではパラメータの値が調整することになる。

### 最適化手法

##### 勾配降下法
損失関数の値が最小となるパラメータを探索する反復的な最適化手法。

##### バッチ勾配降下法
勾配降下法において、全データの予測誤差の総和を用いて更新式の計算をする手法。バッチ勾配降下法による学習のことをバッチ学習という。

##### 確率的勾配降下法
バッチ勾配降下法と異なり全データの誤差を計算してから更新式の計算をするのではなく、訓練データをシャッフルした上でデータを一つランダムに抽出し、そのデータの予測誤差だけを用いて更新式を計算する手法。この方法による学習をオンライン学習という。

##### ミニバッチ勾配降下法
バッチ勾配降下法と確率的勾配降下法の間をとった手法。全データをいくつかのデータセットに分割し、そのデータセットごとに更新計算を行う。

##### 鞍点
ある次元から見れば極小であるものの、別の次元から見ると極大となってしまっているもの。

##### 早期終了
過学習を防ぐために、データに対する誤差関数の値が右肩上がりになってきたところで過学習のし始めと考え、その時点で学習を止める手法。

##### ノーフリーランチ定理
あらゆる問題で性能の良い汎用最適化戦略は理論上不可能であることを示す定理。

##### 二重降下現象
一度テストデータに対する誤差が増えた後、再度誤差が減っていく現象。

##### ハイパーパラメータチューニング
ハイパーパラメータの値を調整していくこと。

##### グリッドサーチ
調整したいハイパーパラメータの値の候補を明示的にいくつか指定し、その候補の全ての組み合わせに対して学習・評価を行うことで一番良いハイパーパラメータを抽出する。

##### ランダムサーチ
値そのものではなく、値の取りうる範囲を指定し、その範囲の中で何らかの確率分布に基づいた乱数を発生させ、その乱数をハイパーパラメータとする。

##### 誤差逆伝播法
ニューラルネットワークで損失を逆方向に伝播させ、勾配を計算して重みを更新する手法。

##### 信用割当問題
モデルのどの部分がその予測結果をもたらしているのかわからないという問題。

##### tanh関数
入力値を-1から1の範囲に変換する非線形な活性化関数。ニューラルネットワークの隠れ層で主に使用。勾配消失問題を防ぐことを目的とする。

##### ReLu関数
tanh関数よりも勾配消失問題に適した関数。入力値が正であればxをそのまま出力し、負であれば0を返す活性化関数。

##### Leaky ReLu関数
x<0においてわずかな傾きを持ち、勾配消失問題を起こりにくくした活性化関数。

# 5.ディープラーニングの要素技術

### ネットワークの構成要素

##### 畳み込み層
入力データにフィルタを適用して局所的な特徴を抽出し、特徴マップを生成する層。画像認識や音声処理などで空間的または時間的な構造を効率的に学習する。

##### パディング処理
入力データの周囲に追加の値を付加することで畳み込み演算の際にデータの端が適切に処理されるようにする手法。

##### ストライド
畳み込み処理におけるフィルタを重ねる位置のずらし幅。

##### Atrous Convolution
フィルタの要素間に間隔を儲けた畳み込み処理。広範囲のピクセルをカバーし、大きな受容野を実現することで空間的なコンテキストを捉えつつ、パラメータ数や計算量を抑えることが出来る。

##### Depthwise Separable Convolution
通常の畳み込みを深さ方向とポイント単位の２段階に分離する手法。計算量とパラメータ数を削減しつつ、同等の表現力を維持する。

##### プーリング層
特徴マップをルールに従って小さくする。ダウンサンプリングあるいはサブサンプリングという。

##### 全結合層
層に入力された特徴に対して重みをかけて、総和した値をユニットの値とする。CNNでは、畳み込み層、プーリング層を繰り返した後、全結合層を積層する。

##### Global Average Pooling
全結合層を用いず、特徴マップの平均値を一つのユニットの値にする処理。

##### スキップ結合
ある層の出力をスキップして後続の層にそのまま加算する。深いネットワークで勾配消失問題を防ぎ、学習を効率化する。

##### 正規化層
特徴の分布のばらつきを抑えるために、各層の特徴の平均値が0、分散が1になるように正規化処理を行う。
・バッチ正規化・・各層で活性化関数をかける前の特徴を正規化。
・レイヤー正規化・・データごとに全チャネルをまとめて正規化。
・インスタンス正規化・・データごとに各チャネルを正規化。
・グループ正規化・・データごとに複数のチャネルをまとめて正規化。

### リカレントニューラルネットワーク

##### リカレントニューラルネットワーク
時系列データを扱う場合に用いるニューラルネットワーク。過去の情報を記憶しつつ逐次的にデータを処理する能力を持つ。

##### エルマンネットワーク
回帰結合層の情報を伝播して、次の時刻の入力とともに利用するモデル。

##### ジョルダンネットワーク
出力層の情報を伝播して、次の時刻の入力とともに利用するモデル。

##### LSTM
リカレントニューラルネットワークの改良版で、長期的な依存関係を捉えるための「ゲート機構」を備えたニューラルネットワーク。セルと呼ばれる長期記憶用のパスを持ち、忘却ゲート、入力ゲート、出力ゲートを通じて情報を選択的に保持・更新することで、勾配消失問題を軽減する。

##### Bidirectional RNN
リカレントニューラルネットワークを2つ組み合わせることで、未来から過去方向も含めて学習できるようにしたモデル。

##### 教師強制
リカレントニューラルネットワークやLSTMなどのシーケンス生成モデルを訓練する際に、モデルの出力ではなく正解データを次のステップの入力として使用する手法。

##### Attention
シーケンスや特徴の中で重要な部分に注意を払い、関連性の高い情報を優先的に処理する仕組み。入力の各要素に対して重みを計算し、重みに基づいて情報を集約する。

### トランスフォーマー

##### トランスフォーマー
エンコーダとデコーダからRNNを排除し、代わりにSelf-Attention(自己注意機構)と呼ばれるネットワーク構造を採用して高速学習を可能としている。

##### Self-Attention
通常のAttentionと異なり、同じシーケンス内で自己参照的に動作する。シーケンス内の各要素間の関連性を計算し、並列処理で計算効率を向上させる。

### オートエンコーダ
可視層と隠れ層の二層からなるネットワーク。入力データを圧縮して潜在空間に変換し、その潜在空間から元のデータを再構成するモデル。

##### 変分オートエンコーダ
入力データを圧縮表現するのではなく、統計分布に変換する。

# 6.ディープラーニングの応用例

### 画像認識

##### ネオコグニトロンとLeNet
畳み込みニューラルネットワークの根本の発想である「人間が持つ視覚野の神経細胞二つの働き(単純型細胞と複雑型細胞)を模す」を組み込んだモデル。

・ネオコグニトロン・・単純細胞層と複雑細胞層を交互に複数組み合わせた構造をとる。
・LeNet・・畳み込み層とプーリング層を複数組み合わせた構造をとる。

##### 物体認識タスク
入力画像に対してその画像に映る代表的な物体クラスの名称を出力するタスク。

##### AlexNet
画像認識の精度を競うコンペティション(ILSVRC)において、2012年に優勝。畳み込み層、プーリング層、畳み込み層、プーリング層、畳み込み層、畳み込み層、畳み込み層、プーリング層、全結合層(3層)という構造。

##### VGG
畳み込み層、畳み込み層、プーリング層の塊を繰り返し、16層まで積層。プーリングを行った次の畳み込み層からフィルタ数を2倍に増やす。

##### GoogleNet
層を深くするだけでなく、同時に異なるフィルタサイズの畳み込み処理を行うInceptionモジュールを導入。2014年に優勝。

##### ResNet
VGGやGoogleNetなどが持つ、超深層になると識別精度が落ちるという問題を解決するスキップ結合を導入したモデル。2015年に優勝。

##### SENet
畳み込み層が出力した特徴マップに重み付けするAttention機構を導入したモデル。2017年に優勝。



##### 物体検出タスク
入力画像に映る物体クラスの識別とその物体の位置を特定するタスク。おおまかな物体の位置を特定した後その物体クラスを識別する2段階モデルと、位置の特定とクラスの識別を同時に行う１段階モデルがある。2段階モデルにはR-CNNやFPN、1段階モデルにはYOLOやSSDがある。

##### セグメンテーションタスク
画像の画素ごとに識別を行うタスク。画像全体を対象とするセマンティックセグメンテーション、物体検出した領域を対象とするインスタンスセグメンテーション、個々の物体をそれぞれ分離しつつ、道路や建物などはひとまとめにするパノプティっクセグメンテーションがある。

##### FCN
CNNをセマンティックセグメンテーションに利用した方法。全結合層を用いず、畳み込み層だけで構成。

##### SegNet
畳み込み層とプーリング層を繰り返し積層することで小さくなった特徴マップを徐々に拡大する構造を採用した方法。

##### 姿勢推定タスク
人の頭や足、手などの関節位置を推定するタスク。入力画像に対して各関節の位置を信頼度マップとして出力するアプローチを行う。

##### Convolutional Pose Machines
CNNを多段に組み合わせて徐々に各骨格の信頼度マップを高精度化していく。多段に組み合わせることで着目する範囲を広げていき、人の体全体の構造を考慮して各骨格の位置を推定できる。

##### OpenPose
複数の人の骨格を同時に推定できるようにした手法。
Parts Affinity Fieldsと呼ばれる骨格感の位置関係を考慮した処理を導入することにより、骨格の位置関係がわかるようになる。

##### マルチタスク学習
複数のタスクを一つのモデルで対応すること。

##### Mask R-CNN
Faster R-CNNによる物体検出だけでなく、セグメンテーションも同時に行うマルチタスクのモデル。

###　音声学習

##### パルス符号変調(PCM)
連続的な音波を一定時間ごとに観測する標本化、観測された波の強さをあらかじめ決められた値に近似する量子化、量子化された値をビット列で表現する符号化の3ステップでデジタルデータに変換する。

##### 高速フーリエ変換(FFT)
時間領域の信号を周波数領域に変換するフーリエ変換を高速に計算するアルゴリズム。

##### メル周波数ケプストラム係数(MFCC)
スペクトル上の緩やかな変動を表すスペクトル包絡を求めるためのでファクトスタンダード。入力された音のスペクトル包絡に相当する係数列が得られ、「音色」に関する特徴量となる。

##### 音声認識
与えられた音声データをテキストに変換して出力する技術。

##### Connectionist Temporal Classification(CTC)
出力候補として音素に加えて空文字を追加し、さらに連続して同じ音素を出力した場合には一度だけ出力したものと縮約する処理を行うことで、入力の長さと正解の長さが違う場合でも処理できるよう対処。

##### 音声合成
与えられたテキストを音声に変換して出力する技術。

##### WaveNet
2016年に発表された、ディープラーニングを用いたパラメトリック方式の音声合成モデル。量子化された状態のままニューラルネットワークで処理することで音声合成の質を向上させることに成功。

### 自然言語処理

##### n-gram
文章やデータの連続したnこの要素を取り出したもの。単語や文字の並びを分析するための基本的な方法。

##### Bag-of-Words(BoW)
文章を単語の集まりとして扱い、どの単語がどれだけ登場するかを数える。文の構造や単語の順番は無視。

##### Bag-of-n-grams
n-gramとBowを組み合わせた手法。

##### ワンホットベクトル
カテゴリや単語などの離散的なデータを数値のベクトルで表現する方法。特定の要素だけを1として、それ以外を0で埋めたベクトルを作る。

##### TF-IDF
テキストデータ中の単語の重要性を定量化するための手法。TFは単語の出現頻度(単語の頻度を文章内の全単語数で割る)、IDFは単語の希少性(ある単語が出現する文章の数を全文章の数で割る)を指す。

##### word2vec
「単語の意味は、その周辺の単語によって決まる」という分布仮説と呼ばれる言語学の主張をニューラルネットワークとして実現したもの。スキップグラムとCBOWの二つの手法がある。
・スキップグラム・・ある単語を与えて周辺の単語を予測するモデル。
・CBOW・・周辺の単語を与えてある単語を予測するモデル。

##### fastText
単語埋め込みを学習する際に単語を構成する部分文字列の情報も含め、訓練データには存在しない単語であっても単語埋め込みを計算したり、活用する単語の語幹と語尾を分けて考慮したりすることを可能にした。

##### ELMo
単語の意味が文脈によって異なることを考慮し、単語ごとに異なるベクトルを生成した上で、その文において適切な意味を表した分散表現を得られる。

##### 事前学習と転移学習
・事前学習・・過去の単語列から次の単語を予測する言語モデルの学習。
・転移学習・・文章の極性(ポジティブかネガティブか)を判定。

##### BERT
MLMとNSPの二つのタスクにより事前学習を行う。
・MLM・・文内の単語のうちの一部をマスクして見えないようにした状態で入力し、マスクされた単語を予測させるタスク。
・NSP・・二つの分を繋げて入力し、二つの分が連続する文かどうかを判定するタスク。

##### RLHF
強化学習を利用して、人間のフィードバックに基づいてモデルを最適化する手法。

##### General Language Understanding Evaluation（GLUE）
自然言語処理のモデルが言語理解の能力をどれだけ持っているかを評価するためのベンチマーク。複数の言語理解タスクを組み合わせ、モデルの汎用的な言語理解力を測定する。

### 深層強化学習

##### 深層強化学習
ディープラーニングと強化学習を組み合わせた手法。

##### DQN
2013年にDeepMind社が発表。Atari社が開発した家庭用ゲーム機Atari2600の多種多様なゲームを人間以上のスコアで攻略できることが示された。以下の新しい学習手法が導入されている。
・経験再生・・環境を探索する過程で得た経験データをリプレイバッファと呼ばれる機構に保存し、あるタイミングでこれらの保存データをランダムに複数抜き出してディープニューラルネットワークの学習に使う手法。
・ターゲットネットワーク・・現在学習しているネットワークと、学習の時間的差分がある過去のネットワークに教師のような役割をさせる手法。

##### 内発的報酬
AIが内部的に生成する報酬。

##### AlphaGo
2016年にDeepMind社が開発。モンテカルロ木探索に深層強化学習の手法を組み合わせて圧倒的な強さに到達。

##### AlphaGo Zero
人間の棋譜データを用いた教師あり学習を一切行わず、最初から自己対戦を行って得たデータのみで深層強化学習を行う。

##### Alpha Zero
囲碁のみならず将棋やチェスなどの分野でも多くのゲームAIを圧倒する性能を持つ。

##### マルチエージェント強化学習
複数のエージェントが同一の環境内で相互に影響しながら、それぞれの目標を達成するために学習する強化学習。

##### OpenAI Five
2018年にOpenAIが発表した、多人数対戦型ゲームDota2において世界トップレベルのチームを打倒できるゲームAI。5万個以上のCPUと1000個以上のGPUを使用し10ヶ月に及ぶ強化学習を行う。

##### AlphaStar
2019年にDeepMind社が発表した、スタークラフト2においてトッププレイヤーを打倒できるゲームAI。ResNet、LSTM、ポインターネットワーク、トランスフォーマーなど、画像処理や自然言語処理の手法を多く取り入れたネットワークを使って学習、ゲームプレイを行う。

##### 報酬成形
報酬関数の設計と学習された方策の挙動の確認を繰り返し、適切に学習が行われるように報酬関数を作り込む。

##### 模倣学習
人間が期待する動作をロボットに対して教示することでロボットが方策を学習する問題設定。

##### sim2real
シミュレータで学習した方策を現実世界に転移して利用するプロセス。

##### ドメインランダマイゼーション
シミュレータの各種パラメータをランダムに設定した複数のシミュレータを用いて生成したデータから学習する手法。

##### 残差強化学習
従来のロボット制御で用いられてきたような基本的な制御モジュールの出力と、実際にロボットがタスクを行う環境における最適な方策との差分を強化学習によって学習すること。

##### モデルベース強化学習
AIが環境のモデルを明示的に学習し、そのモデルを利用してエージェントの行動計画やポリシーを最適化する手法。

### データ生成

##### 敵対的生成ネットワーク(GAN)
ジェネレータとディスクリミネータの二つで構成されている。
・ジェネレータ・・ランダムなベクトルを入力とし、画像を生成して出力する。
・ディスクリミネータ・・画像を入力とし、その画像が本物か偽物かを予測して出力する。

##### DCGAN
GANに畳み込みニューラルネットワークを採用し、高解像度な画像の生成を可能としている。

##### Pix2Pix
GANではベクトルを入力とするが、ベクトルの代わりに画像データを入力し、別の画像に変換するモデル。

##### Cycle GAN
ある画像を変換し、その変換した画像をもとの画像に再度変換するモデル。

##### Diffusion Model
データを生成する過程を時間的な拡散のプロセスとする。
拡散のプロセスは画像データにノイズを加えていきガウス分布にする拡散課程と、ノイズから徐々にノイズを除去して画像データを生成する逆拡散過程の二つに分かれている。

##### NeRF
複数の視点の画像を手がかりに3次元形状を復元し、3Dシーンを生成する技術。

### 転移学習・ファインチューニング

##### 転移学習
過去の重みを新しいタスクに再利用するプロセス。

##### ファインチューニング
再利用した重みを微調整するプロセス。

##### Few-shot学習
機械学習や深層学習において非常に少量のデータだけで新しいタスクやクラスを学習する手法。

##### MAML
学習の仕方を学ぶことで少量のデータでも新しいタスクに素早く対応できるモデルを訓練する手法。

##### 半教師あり学習
正解のついているデータを利用して学習を行い、正解のついていないデータを評価し、その結果をもとに擬似的な正解をつける。

##### 一致性正則化
モデルが入力データのわずかな変化に対して一貫した出力を生成するよう促す手法。

##### 自己教師あり学習
データに対する正解を利用せずに学習する。

##### 破壊的忘却
継続学習において、過去に学習したクラスを正しく認識できなくなること。

### マルチモーダル

##### CLIP
画像から抽出する特徴とテキストから抽出する特徴が同じになるように大量のデータで学習する。

##### DALL-E
CLIPとDiffusion Modelを用いる。テキストで指定した画像を高品質に生成できるようになった。

### モデルの解釈性

##### Permutation Importance
入力データの特徴をランダムに入れて、振る舞いの変化をもとに特徴の寄与度を測る。

##### CAM
画像認識タスクに用いる予測判断根拠を示すために画像のどこを見ているかを可視化。

##### Grad-CAM
勾配情報を用いて指定した層における判断根拠を可視化できる。

### モデルの軽量化

##### 蒸留
機械学習において、大きなモデルから小さなモデルに知識を転移する手法。あまり精度を損なわずにネットワークの圧縮を行うことができる。

##### hard target
モデルが予測するクラスや行動の「単一の正解」

##### soft target
クラスや行動の確率分布。

##### 枝刈り
ニューラルネットワークの接続の一部を切断し重みの値を0にする処理。重みの値が一定より小さければ0にする方法(マグニチュードベース)と勾配情報を利用する手法(勾配ベース)がある。

##### 宝くじ仮説
大きなAIモデルの中に、小さな優秀な部分が含まれているという考え方。

##### 量子化
重みなどのパラメータを少ないビット数で表現してモデルを圧縮する手法。ディープラーニングの学習では32ビット浮動小数点数を利用し、推論時には8ビット整数を使用する。


# 7.AIの社会実装に向けて

### AIプロジェクトの進め方

##### エッジ
データをその場で処理する技術。

##### CRISP-DM
データマイニングのための産業横断型標準プロセス。主にデータ分析することに主題をおいており、6つのステップに分割されている。

##### MLOps
AIを本番環境で開発しながら運用するまでの概念。実際の本番環境でAIを活用するための仕組みやシステムなどが概念に横断的に組み込まれている。

##### データリーク
モデルが学習時に本来知るべきではない情報にアクセスしてしまう現象。