今回はG検定用のカンニングシートを作成しましたので共有したいと思います。
G検定を受験する際に使用するカンペは紙ベースよりもウェブ上のものを使用した方が圧倒的に効率がいいです。
一応G検定のシラバスとディープラーニングG検定問題集をある程度網羅した形にしました。
また、検索しやすいように無駄な”・”や英語読みなどは排除して、キーワードを赤文字にして見つけやすくしておきました。
検索はControl+F(command+F)でできるので是非使用してください。
人工知能とは
人工知能の定義
・人工知能とは何か
「知的なコンピュータプログラムを作る科学と技術」
・人工知能の大まかな分類
レベル1:シンプルな制御プログラム
エアコンの温度調整、電気シェイバーの深剃り調整など、あらかじめすべての振る舞いがあらかじめ決められている。
レベル2:古典的な人工知能
掃除ロボットや診断プログラムなど、探索・推論、知識データを利用することで、状況に応じて極めて複雑な振る舞いができる。
レベル3:機械学習を取り入れた人工知能
検索エンジンや交通渋滞予測など、非常に多くのサンプルデータをもとに、入力と出力の関係を学習できる。
レベル4:ディープラーニングを取り入れた人工知能
画像認識、音声認識など使われている。特徴量を自動的に学習できる。
・AI効果
人工知能により実現され、その原理がわかってしまうと「それは単純な自動化であって知能とは関係ない」と結論づける人間の心理的効果。
・人工知能とロボットの違い
ロボット研究は、ロボットの脳+ロボットの体が対象。人工知能研究は知的な処理全般(=ロボットの脳)が対象。
・エージェント
ソフトウェアやチャットbotなど事前に定義された目標を達成するためのコードまたはメカニズム。
人工知能研究の歴史
・世界初の汎用コンピュータ
エニアック(ENIAC)はペンシルバニア大学が1946年に完成させた世界初の汎用電子式コンピューター。
・ダートマス会議
1956年にダートマス大学にてジョン・マッカーシーが主催者となって行われた会議。初めて人工知能という用語が使われる。
・人工知能研究のブームと冬の時代
第1次AIブーム(探索と推論:1950年)
トイプロブレム:コンピュータによる「推論」や「探索」 の研究が進み、迷路やチェスのような簡単な問題は解けるようになったが、現実の問題は解けず衰退。
■ 第2次AIブーム(エキスパートシステム:1980年代)
エキスパートシステムはデータベースに大量の専門知識を溜め込んだ実用的なシステム。しかし、曖昧な決断など複雑な決定が難しいこと明らかになり衰退。
第五世代コンピュータ:日本では、政府によってと名付けられた大型プロジェクトが推進。
ディープブルー:IBMが開発したチェス用コンピュータ。1秒間に2億手を先読みするブルートフォース(力任せ)作戦だったので人工知能なのかと疑念の声が上がった。
■ 第3次AIブーム(機械学習・特徴表現学習:2010年~)
ディープラーニング(深層学習):ビッグデータを用いることで、人工知能が自ら知識を獲得する機械学習が実用化。また、特徴量を人工知能が自ら習得するディープラーニング(深層学習)が登場。
・ロジックセオリスト
1955 年から 1956 年にかけてアレン・ニューウェル、ハーバート・サイモン、J・C・ショーが開発した人間の問題解決能力を真似するよう意図的に設計された。世界初の人工知能といわれている。
・ビックデータ
巨大なデータの集合。AIの心臓部でありデータ量の増加がAIの発展に比例している。
人工知能をめぐる傾向
探索・推論
・探索木
迷路のような場合分けをツリー構造で表現したもの。ゴールに辿り着く条件として二つの方針がある。
■ 幅優先探索
出発点に近いノード(探索木の各要素)順に検索。最短距離でゴールにたどり着く解を見つけることができる。しかし探索の途中で立ち寄ったノードをすべて記憶しておく必要がありメモリ不足になる。
■ 深さ優先探索
あるノードから行き止まりになるまで進み、その後1つ手前のノードに戻って探索を行うということを繰り返す。1つ手前のノードに戻って探索するためメモリはあまり要らない。
・ハノイの塔
3 本のポールと大きさの異なる 3 つの円盤を使ったパズル。
・ロボットの行動計画(探索)
プランニング:ロボットの行動計画を作成する技術。あらゆる前提条件について、行動と結果を記述しておけば、目標とする状態に至る行動計画を立てることができる。プランニングの研究では、前提条件、行動、結果のう3つの組み合わせで記述するSTRIPS(Stanford Research InstituteProblem Solver)手法がある。
SHRDLU:1968年から1970年にかけてテリー・ウィノグラードによって開発されたプランニングシステム。英語による指示を受け付け、コンピュータ画面に描かれる「積み木の世界」に存在する様々な物体を動かすことができた。
・ボードゲーム(オセロ・チェス・将棋・囲碁)
Minimax法:ゲーム木において、最善の手を探す方法の1つで先手番が指すときにスコアが最大(自分が有利)になるように、後手番が指すときにスコアが最小(自分が不利)になるように手を選ぶ。αβ法(アルファベータ)はMinimax法の探索で不要な探索を行わないようにする手法。αカットはスコアが最小のものを選ぶ過程で、すでに出現したスコアよりも大きいノードが出た時にやめる。βカットはその逆。スコアの決定に関してはヒューリスティックな知識(熟練の知識)が必要。
アルファ碁(AlphaGo):DeepMind社が開発した人工知能の囲碁プログラムの名称。2016年プロ棋士に勝利。
・モンテカルロ法
ランダムに手を打ち合いながら終局まで到達し評価値を得るということを繰り返すことによって手の評価を行う方法。ランダムに手を打ち合って、終局まで進めることをプレイアウトという人間の思考方法とは違ってブルートフォース(力任せ)で押し切る方法である。
知識表現
・人工無能
チャットボットやおしゃべりbotのこと。特定のルール・手順に沿って会話を機械的に処理するだけで、実際は会話の内容を理解していない。1964年から1966年にかけてジョセフ・ワイゼンバウムによって開発されたイライザ(ELIZA)は相手の発言をあらかじめ用意されたパターンと比較し、パターンに合致した発言があると、そのパターンに応じた発言を返答する。またイライザと同じ時期のPARRYも同様の結果をRFC439に残している。
イライザ効果:発言を理解していない返答に対して、本物の人間と対話しているような錯覚すること。
・知識ベースの構築とエキスパートシステム
特定専門分野の知識を取込み、その分野のエキスパートのように振舞うプログラム。
マイシン(MYCIN):初期のエキスパートシステム。1970年代にスタンフォード大学で開発。血液中のバクテリアの診断支援をするルールベースのプログラム。
デンドラル(DENDRAL):スタンフォード大学でエドワード・ファイゲンバウムが1960年代に未知の有機化合物を特定するエキスパートシステム開発し「知識工学」を提唱。
・知識獲得のボトルネック(エキスパートシステムの限界)
エキスパートシステムでは最大の知識源である人間の専門家からの慣例などの知識獲得は困難。このため、インタビューシステムなどの専門家から上手に知識を聞き出すシステムが生まれる。また膨大な知識の管理・更新が難しい。
Cycプロジェクト:1984年から今も続いているすべての一般常識をコンピュータに取り込もうというプロジェクト。
・意味ネットワーク
意味ネットワーク(semantic network)は、もともと認知心理学における長期記憶の構造モデルとして考案された。人工知能においても重要な知識表現の方法の1つでそれぞれの概念ラベルが付いたノードをネットワークで繋ぐ。
・オントロジー
本来は哲学用語で存在論(存在に関する体系的理論)という意味。人工知能の用語としては、トム・グルーパーによる「概念化の明示的な仕様」という定義が広く受入れられている。
・概念間の関係(is-aとpart-ofの関係)
「is-a」の関係=「である」。「part-of」 の関係=「一部である」。「has-a」 の関係=「所有する」。「property」 の関係=「性質や特徴をもつ」。
推移律:is-aの関係の時に成り立つ。A=B、B=CであればA=Cになりうる。
・オントロジーの構築
ヘビーウェイトオントロジーは構成要素や意味的関係の正当性について哲学的な考察が必要になるため、どうしても人間が関わることになる傾向。
ライトウェイトオントロジーは完全に正しいものでなくても使えるものであればいいという考えから、その構成要素の分類関係の正当性については深い考察は行わない傾向。「概念間の関係をコンピュータに発見させる」という考え方と相性がよく、 ウェブマイニング、データマイニングのような技術分野で利用される
・ワトソン(Watson)
IBMが開発。2011年にアメリカのクイズ番組ジョパディーに出演し、人間チャンピオンと対戦して勝利した。Question-Answering(質問応答)という研究分野の成果で、ウィキペディアの情報をもとにライトウェイト・オントロジーを生成し解答。
・東ロボくん
2011年から2016年まで続けられた東大入試合格を目指す人工知能。2016年6月の進研模試では偏差値57.8をマーク、ほとんどの私立大学に合格できるレベルに達しました。質問の意味を理解しているわけではないので、読解力に問題があり、何らかの技術的なブレイクスルーがない限り、東大合格は不可能という理由から2016年に開発が凍結。
・セマンティックWeb
ウェブページの意味を扱うことを可能とするツール群の開発によって、ワールドワイドウェブの利便性を向上させるプロジェクト。オントロジー研究の一つ。
機械学習・深層学習
・データの増加と機械学習
機械学習の定義は人工知能のプログラム自身が学習する仕組みのこと。コンピュータは与えられたサンプルデータやビックデータを通してデータに潜むパターンを学習。ユーザーの好みを推測するレコメンデーションエンジンや迷惑メールを検出するスパムフィルターなども、膨大なサンプルデータを利用できるようになった機械学習によって実用化されたアプリケーションである。
・パターン認識
データの中から特徴や規則性を取り出すことを目指す技術分野。文字認識(OCR)や画像認識の分野で注目されている。
・機械学習と統計的自然言語処理
統計的自然言語処理は統計的な確率をもとに自然言語を学習・予測すること。翻訳では、従来のように文法構造や意味構造を分析して単語単位で訳を割り当てるのではなく、複数の単語をひとまとまりにした単位(句または文単位)で用意された膨大な量の対訳データをもとに、最も正解である確率が高い訳を選択する。例えばbankの近くにmoneyって言葉があれば土手より銀行の訳を選択する。自然言語処理向けに構築されたデータセットをコーパスという。
・ニューラルネットワーク
人間の神経回路を真似することで学習を実現する。ニューラルネットワークは米国の心理学者フランク・ローゼンブラットが1958年に提案した単純パーセプトロンが元になっている。単純パーセプトロンのもとは1943年ウォルターピッツが考案した形式ニューロンが元になる。
・ディープラーニング(深層学習)
ニューラルネットワークを多層にし誤差逆伝播法を用いて学習するものが深層学習。ただし、多層にしても学習精度が上がらないので入出力が同じものになるようにする学習する自己符号化器(オートエンコーダ)や、層の間でどのように情報を伝達するかを調整する活性化関数を研究することで精度の向上がはかれる。ディープラーニング は、2012 年ごろから画像認識の分野で注目を集めた。画像中に含まれている物体(被写体)をコンピュータが一般的な名称で認識するタスクは。一般物体認識と呼ばれる。
→ニューラルネットワークを多層にして、誤差逆伝播法(バックプロパゲーション)を用いて学習すれば克服
ILSVRC:画像に写っているものが何なのかをコンピュータが推測する課題が与えられ、正解率を競い合う。コンピュータは1000万枚の画像データを使って学習し、その学習成果をテストするために用意された15万枚の画像を使って正解率を測定する。
・次元の呪い
米国の数学者リチャード・ベルマンが提唱した数学において、空間の次元が増えると問題の算法が爆発的に大きくなることを指す。次元削減を行うことで対処できる。
人工知能分野の問題
・フレーム問題
1969年にジョン・マッカーシーとパトリック・ヘイズが提唱した人工知能における重要な問題で「実行したい事柄に関係のあるものごとだけを選び出すことは非常に難しい」ことを指す。
・チューリングテスト(人工知能ができたかどうかを判定する方法)
別の場所にいる人間がコンピュータと会話をし相手がコンピュータだと見抜けなければコンピュータには知能があるとするもの。イギリスの数学者アラン・チューリングが提唱した。チューリングテストに合格する会話ソフトウェアを目指すローブナーコンテストを毎年開催されている。
・強いAIと弱いAI
強いAI:自意識を示したり、人間並みの幅広い認知能力を示す AIで、汎用型 AI とも呼ばれる。
弱いAI:人間並みの幅広い認知能力をもたず、特定のタスクだけをこなす AI。
中国語の部屋:ジョン・サールは意識を持ち意味を理解するような「強いAI」は実現不可能だと主張。チューリングテストに合格しても、本当に知識があるかはわからないという考え。
・シンボルグラウンディング問題(記号接地問題)
1990年に認知科学者のスティーブン・ハルナッドが記号(シンボル)とその対象がいかにして結び付くかという問題。人間の場合は、「シマ」の意味も「ウマ」の意味もよく分かっているので、本物のシマウマを初めて見たとしても、「あれが話に聞いていたシマウマかもしれない」とすぐに認識可能。しかし、コンピュータは「記号」の意味が分かっていないので、記号が意味するものと結び付けることができない。シンボルグラウンディング問題を解くカギは、現実の肉体の存在、身体性にあると考える研究者もいる。
・知識獲得のボトルネック
機械翻訳が難しい理由は、コンピュータが「意味」を理解してないから。
ルールベース機械翻訳: 言語の文法を一つ一つルールとしてコンピュータ上で記述し、そのルールに基づいて翻訳を行う。1970 年代後半以降主流であった機械翻訳の仕組み。
統計的機械翻訳:文や句といった単位の対訳データ(コーパス)を学習させることで、翻訳する単語の訳語として正しそうなものを、その前後の単語などの情報から統計的に割り出す。
特徴表現学習:特徴量を機械学習自身に発見させるアプローチ。ディープラーニングは与えられたデータの特徴量を階層化し、それらを組み合わせることで問題を解く。特徴量エンジニアリングとはモデルが認識しやすい特徴をデータから作ることをいう。例えば国籍、性別などの種類を作成しておき、モデルが女は1、男は0などというように特徴量を変換するようになり、この変換をone hot encodingという。
・シンギュラリティ
AI が十分に賢くなり、自分自身よりも賢い AI を作るようになった瞬間、無限に知能の高い存在を作るようになる時点のこと。シンギュラリティに関していくつか名言がある。「シンギュラリティは 2045 年に到来する(レイ・カーツワイル)」。「完全な人工知能を開発できたら、それは人類の終焉を意味するかもしれない(スティーブン・ホーキング)」。「コンピュータが世界を制覇するという終末論的構想は『馬鹿げている』(オレン・エツィオーニ)」。「ネット上に巨大な AI が存在してすべてを動かしていたら、私たちには止めようがない(イーロン・マスク)」。
機械学習の具体的手法
教師あり学習
・線形回帰
シンプルなモデルの1つデータがあったときに、そのデータに最も当てはまる直線を考える。線形回帰に正則化項を加えた手法としてラッソ回帰(L1正則化)、リッジ回帰(L2正則化)がある。線形回帰のうち、説明変数が1つの場合を特に単回帰分析、線形回帰のうち、説明変数が2つ以上の場合を特に重回帰分析という。線形回帰問題以外にも分類問題(クラスタリング、多クラス分類など)がある。
・ロジスティック回帰
線形回帰+シグモイド関数で主に、2クラス分類で用いられる。任意の値を0から1の間に写像するシグモイド関数を用いることによって、与えられたデータが正例(+1)になるか、負例(0)になるかの確率が求まる。出力の値が0.5以上ならば正例、0.5未満ならば負例と設定し、データを2種類に分類できる。2種類以上の分類の場合は、シグモイド関数の代わりにソフトマックス関数を用いる。
・ランダムフォレスト
決定木は単純な条件分岐の組み合わせでモデルを構成する手法。条件分岐を増やしていくことで木を成長させていく。増やし過ぎてしまうと学習用データ寄りになり汎化性がなくなる過学習に陥る。条件分岐の良し悪しは不純度によって判断する。不純度を減らすために剪定(プルーニング)を行う。
アンサンブル学習:複数のモデルの予測結果を組み合わせる方法。例えば決定木+ロジスティック回帰+サポートベクターマシン。
バギング:学習に用いるデータも全データを使うのではなく、それぞれの決定木に対してランダムに一部のデータをブートストラップサンプリングでサンプリングをし複数のモデルで学習すること。
ランダムフォレスト:バギング+決定木を用いる方法。
・ブースティング
バギングと同様、一部のデータをサンプリングし複数のモデルを学習させる。ブースティングは、まず1つのモデルを作成し学習し次に作成するモデルは、最初に誤認識してしまったデータを優先的に正しく分類できるように学習することでモデルのブラッシュアップを行う。
勾配ブースティング:ブースティング+決定木の手法。逐次的に学習を進めていく分、一般的にはランダムフォレストよりもこれらのブースティングのモデルのほうがいい精度が得られる。一方、ブースティングは並列処理ができないため、計算時間は多くなる。
アダブースト:ブースティングの手法の1つ。誤った学習データの重みを大きくし、正しく識別された学習データの重みを小さくすることで後に学習するモデルほど、誤りの多い学習データに集中して学習するようになる。
・サポートベクターマシン
サポートベクターマシンはSVMとも呼ばれる。異なるクラスの各データ点との距離が最大となるような境界線を求めることで、パターン分類を行う。この距離を最大化することをマージン最大化という。またエラー評価する時に必要な指標をスラック変数という。
カーネルトリック:サポートベクターマシンにおいて、非線形な境界線となる際にカーネル関数を用いて転置し、転置モデルで効率よい境界線を引く。
・ニューラルネットワーク
ニューラルネットワーク:人間の神経細胞を数理的にモデル化した手法。入力層、中間層、出力層、活性化関数、などで構成される。活性化関数はシグモイド関数のように、層の間をどのように電気信号を伝播させるかを調整する関数である。ディープラーニングでは過学習によって勾配消失が起きやすく、そのため入力層付近で学習が進まなくなってしまう。そのため出力層付近ではソフトマックス関数を用いる。ソフトマックス関数は3種類以上の分類を行いたい場合に、シグモイド関数に代わって扱う活性化関数。各ユニットの総和を1に正規化することができる。
単純パーセプトロン:モデルは複数の特徴量(入力)を受け取り1つの値を出力。ニューロンの一種。単純パーセプトロンは、ロジスティック回帰と数式上の表現は全く同じになる。この手法は線形分類しかできない。活性化関数としてステップ関数を使用する。
多層パーセプトロン:入力層と出力層の間に追加された層を隠れ層と呼ぶ。隠れ層が追加されたことで非線形分類も行うことが可能。層が増えることによって調整すべき重みの数も増えるが、予測値と実際の値との誤差をネットワークにフィードバックする誤差逆伝播法がある。
・自己回帰モデル
自己回帰モデル(ARモデル):過去の気温から将来を予想のように、時系列データなどにおいて、自分自身のデータを用いて数値を予測すること。自己回帰 (AR) を多変量に拡張したものをベクトル自己回帰 (VAR) という。
・疑似相関
2つの事象に因果関係がないのに、あたかも因果関係があるかのように推測されること。
教師あり学習
・階層なしクラスタリング(k-means法)
k-means法:データがk 個のグループがあることを想定。グループのことを正確にはクラスタ(cluster)という。
・階層ありクラスタリング(ウォード法)
ウォード法:k-means法からさらにクラスタの階層構造を求める。最も距離が近い2つのデータ(クラスタ)を選び、それらを1つのクラスタにまとめる処理を繰り返していく。樹形図のことをデンドログラムという。
・主成分分析(PCA)
主成分分析(PCA):次元削減(特徴抽出ともいう)を行うための手法。複数次元のデータ傾向を削減して二次元にするなどができる。ここで得られる少数の特徴量が主成分。主成分分析以外には、特異値分解(SVD)、多次元尺度構成法(MDS)がよく用いられる。特異値分解はイメージは画質を荒くする感じ、多次元尺度構成法は主成分分析と変わらない。
多次元データの可視化を目的として用いられる次元削減の手法としてt-SNEがある。これはt分布にデータが分布していると仮定して行われているのが由来。
・協調フィルタリング
協調フィルタリングは、レコメンデーションに用いられる手法のひとつ(Amazonとか楽天とか)。協調フィルタリングは事前にある程度の参考できるデータがない限り、推薦を行うことができない。コールドスタート問題と呼ぶ。
これに対し、ユーザーではなく商品側に何かしらの特徴量を付与し、特徴が似ている商品を推薦するのがコンテンツベースフィルタリング。商品の特徴は最初からわかるため、コールドスタート問題を回避できるその一方で、他のユーザーの情報を参照できないという短所もある。
・トピックモデル
潜在的ディリクレ配分法:トピックモデルは複数のクラスタにデータを分類するのが特徴。例えばある文章を読み込んだとき、その文章がどんな話題(トピック)について書かれたものか、確率的に分類するなど。
強化学習
強化学習は基本的に七つの概念で構成されている。
「エージェント」:行動をおこなう主体
「行動」:環境に対して行う働きかけの種類
「環境」:エージェントが働きかけを行う対象
「方策」:行動を決める規則
「状態」:エージェントが行動すると次のに遷移する
「報酬」:ある状態の良さを評価する
「エピソード」:一連の行動のまとまり
・バンディットアルゴリズム
強化学習では、将来の報酬和が大きくなるように行動を選択していく。割引率は強化学習におけるハイパーパラメータであり、通常は0以上1未満の値にする。強化学習では探索と活用があり、探索はさまざまな行動を試し、行動・状態・報酬の関係を見出す情報収集作業のこと。活用は探索で得られた方策を運用しより多くの報酬が得られるように行動する。活用と探索はトレードオフなので活用と探索でバランシングが必要となる。いかにバランシングの具体例をしめす。また前もってデータの傾向を調べておく基礎集計も行う。
greedy法:最初にまとめて探索を行い、最大報酬和となる最適行動を決定する。以後は探索は行わず同じ行動を取る。
ε-greedy方策:基本的には活用をする、すなわち報酬が最大となる行動を選択するが、一定確率εで探索をする。
UCB方策:報酬和の期待値が高い行動を選ぶことを基本方針としつつ、より試行回数が少ない行動を優先的に選択する方策。
・マルコフ決定過程モデル
次の状態が現在の状態と採用した行動で確定すること。このように次の状態が直前の状態と行動のみに依存するという性質をマルコフ性という。
・価値関数
状態価値関数:ある状態の良さを評価するための関数
行動価値関数:ある状態の時に、ある行動をとることの良さを評価するための関数
Q学習:行動価値関数を設定し学習によって行動価値関数を最適化する。DQNという手法ではディープニューラルネットワークを用いて、行動価値観数を実現する。この時の行動価値関数の出力をQ値という。
・方策勾配
方策勾配法:勾配法の仕組みを用いて、方策を最適化していく強化学習手法。ロボット制御など、特に行動の選択肢が大量にあるような課題で用いられる。
REINFORCE:AlphaGo に活用に使用された。
Actor-Critic:価値関数ベースおよび方策勾配ベースの考え方を組み合わせ。行動決定のActor(行動)と方策評価のCritic(評価)からなっているのが由来とされる。A3CはActor-Criticの応用。
モデルの評価
・正解率・適合率・再現率・F値
混合行列で真陽性、真陰性、偽陽性、偽陰性の結果が出たとき以下のモデル評価をする。偽陽性は第一種の誤差、偽陰性は第二種の誤差とも呼ばれる。
正解率:(TP+TN)/(TP+TN+FP+FN)=全体のうち、正解したものの割合
適合率:TP/(TP+FP)=実際に陽性であるもののうち、陽性であると予測された割合
再現率:TP/(TP+FN)=陽性と予測したもののうち、本当に陽性であった割合
F値:適合率と再現率の調和平均。片方だけ見ると評価対象者の立場ごとに意見が分かれてしまうためF値を見ることが多い。
訓練誤差(誤差関数)は学習データに対する誤差で、汎化誤差は未知データに対する誤差のことをいう。基本的にモデルの性能評価は汎化性能で示す。訓練誤差は小さいが汎化誤差が大きいものを過学習といい、両方とも大きいものを未学習という。過学習にならないようにパラメータに制約をかけることを正則化という。
L1正則化:一部のパラメータの値をゼロにすることで、特徴選択を行うことができる。線形回帰に適応したものをラッソ回帰という。
L2正則化:パラメータの大きさに応じてゼロに近づけることで、汎化された滑らかなモデルを得ることができる。線形回帰に適応したものをリッジ回帰という。
また、L1とL2両者を組み合わせた手法をElastic Netという。
・ROC曲線とAUC
正解率などとはまた異なった観点でモデルの性能を評価するもの。
ROC曲線は横軸に真陽性率、縦軸に偽陽性率を取り、閾値を0から1に変化させていった際の両者の値をプロットしたもので視覚的にモデル性能を捉えることができる指標。2クラス分類で閾値を0から1に変化させていった場合に、予測の当たり外れがどのように変化していくのかを表す。AUCはROC曲線より下部の面積のことでAUCが1に近いほどモデル性能が高いことを表す。
・モデルの解釈
LIME:ある予測結果に対して、どの説明変数が大きく寄与したかを解析するための手法
SHAP:ある予測結果に対して、どの説明変数が大きく寄与したかを解析するための手法
・モデルの選択と情報量
オッカムの剃刀:ある事柄を説明するためには、必要以上に多くを仮定するべきでないという指針
赤池情報量規準:モデルの複雑さと予測精度のバランスを考えたもの。AIC = ー2logL+2k
・その他キーワード解説
交差検証:手元にある全データを訓練データとテストデータに分割して評価する。
ホールドアウト検証:訓練データとテストデータの2つの組に分けて検証すること。
k- 分割交差検証:訓練データをkの組に分類し、複数回に分けて学習。評価を行う手法ホールドアウト検証に比べ、少ないデータでも精度が出る。
平均二乗誤差(MSE)、平方根平均二乗誤差(RMSE)、平均絶対誤差(MAE)も覚えておく。
ディープラーニングの概要
ニューラルネットワークとディープラーニング
・勾配消失問題、信用割当問題
ディープラーニング:隠れ層を増やしたニューラルネットワーク。
勾配消失問題:逆伝播において、勾配の情報(誤差)が入力側まで伝わらずに、途中で消えてしまうこと。勾配の情報(誤差)が途中で消えてしまうと、パラメータを正しい方向に更新できない。
信用割当問題:ネットワーク内部のどのパラメータが、誤差を生じる原因となっているのか分からないこと。
ディープラーニングのアプローチ
・事前学習
各層のパラメータ(オートエンコーダ)を最適化するために考案された手法だが、全体の学習に必要な計算コストが非常に高い。現在は事前学習ではなく、勾配消失問題の原因であった活性化関数を工夫しニューラルネットワーク全体を一気に学習する手法が取られることが多い。
・オートエンコーダ
入力層、隠れ層、出力層からなり、入力と出力が同じになるようなネットワーク。自己符号化器ともいう。エンコードは入力層から隠れ層における処理で、デコードは隠れ層から出力層における処理をいう。
・積層オートエンコーダ
ヨシュア・ベンジオ考案でオートエンコーダを順番に学習させ、それを積み重ねていくというアプローチで、ディープニューラルネットワークのように一気にすべての層を学習するのではなく、入力層に近い層から順番に学習させる方法。
・ファインチューニング
事前学習を終えロジスティック回帰層を足しディープニューラルネットワーク全体で再学習すること。積層オートエンコーダは事前学習と再学習の工程で構成される。
・深層信念ネットワーク
ジェフリー・ヒントンが発案した教師なし学習に制限付きボルツマンマシンを1層用いる手法のこと。多層に制限付きボルツマンマシンを用いるのを深層ボルツマンマシンという。
ディープラーニングを実現するには
・CPUとGPU
CPU:コンピュータ全般の作業を処理する役割を担う。様々な種類のタスクを順番に処理していくことに長けている。
GPU: 画像処理に関する演算を担う。GPUはCPUのように様々なタスクをこなすことができないが単純な演算処理には長けている。
・GPGPU
画像以外の目的での使用に最適化されたGPUのこと。一方で、Google社が開発したテンソル計算処理に最適化された演算処理装置をTPUという。
・ディープラーニングのデータ量
畳み込みニューラルネットワーク手法の1つである AlexNetと呼ばれるモデルのパラメータ数は、約6000万個にもなる。バーニーおじさんのルールではモデルのパラメータ数の10倍のデータ数が必要と仮定している。
活性化関数
・tanh関数
シグモイド関数を線形変換したもので、シグモイド関数が0から1の範囲をとるのに対して、tanh関数は-1から1の範囲をとる。シグモイド関数の微分の最大値が0.25であったのに対しtanh関数の微分の最大値は1であるので勾配が消失しにくい。一般的なディープニューラルネットワークの隠れ層の活性化関数にシグモイド関数が使われていた場合すべてtanh関数に置換するほうがよいことになる。
・ReLU関数
ReLU関数を微分すると0より大きい限り、微分値は常に最大値である1が得られることになります。tanh関数のようにピーク値のみが1のときと比較すると、誤差逆伝播の際に勾配が小さくなりにくい。改定版として微分値が0より小さい場合においてもわずかな傾きをもっているものをLeakyReLU関数という。
学習の最適化
・勾配降下法
山の谷底を降りていくように勾配に沿って降りていくことで解を探索する。目的の解が得られるまで勾配に沿って降りていき解を探索するわけなのでこの式を繰り返し計算する。急激に降りていくことを最急降下法、無作為データ(ミニバッチ学習)を用いてパラメータを更新していく方法を確率的勾配降下法という。山を降りていく際、降りる歩幅を調整するパラメータを学習率=αという。イテレーションは何回繰り返し計算を行ったかを示すもの。
勾配降下法では誤差関数の最小値を求める。回帰における誤差は二乗誤差、分類問題における誤差は交差エントロピーを誤差関数として設定される。
パラメータを決める方法としては3つある。
バッチ学習:学習用データを一度に全て入力し、パラメータを更新する学習方法。
ミニバッチ学習:学習データを小さなバッチに分けバッチごとにパラメータを調整する学習法。一つのバッチに含まれるデータ数をバッチ数といい、全データを一巡しおえることをエポックという。データ数が150、バッチサイズが50、イテレーションが3の場合、エポックは1となる。この1エポックで出た誤差の結果を用いて重みを一回更新する。この方法をミニバッチ勾配降下法という。
オンライン学習:1つのバッチないのデータが1個の場合の学習。
・勾配降下法の問題と改善
勾配降下法は「見せかけの最適解」であるかどうかを見抜くことができないので山を降りる学習率を大きく設定して上げると良い。
局所最適解:見せかけの解=極小値
大域最適解:本当の最適解=最小値
鞍点:極大値なのか極小値なのかわからない箇所。馬の鞍のトップに由来。
プラトー:最適解ではないのに勾配がない線が続くこと。
鞍点問題への対処としてモーメンタムと呼ばれる手法。最適化の進行方向に学習を加速させることで、学習の停滞を防ぐものです。モーメンタムより効率的な手法として古いものからAdagrad、Adadelta、RMSprop、Adam、AdaBound、AMSBoundがある。
・その他キーワード解説
ハイパーパラメータ:学習前に分析者が決めておかなくてはならないパラメータをいう。ハイパーパラメータの決定方法として、グリットサーチとランダムサーチがある。グリットサーチでは候補点の全組み合わせを探索する方法であり、総当たりなので計算時間が長く、かつ候補点の間は探索されない。ランダムサーチはランダムに候補を決めて計算するので効率が良い時もある。
データリーケージ:予測時に利用できないデータが入ってしまうこと。例えばがん患者発見のモデルを作るのにがん治療薬の服用履歴がデータに組み込まれてしまう。
更なるテクニック
・ドロップアウト
過学習を防ぐ手法で学習時にランダムにニューロンを除去する。毎回形の異なるネットワークで学習できるのでアンサンブル学習を行っているといえる。
・早期終了
学習を早めに打ち切る。学習が進むにつれてテストデータに対する誤差関数の値は右肩上がりになりその上がり始めが過学習のし始めと考え止める。ただし、最近の研究では、一度テストデータに対する誤差が増えた後、再度誤差が減っていくという二重降下現象も確認されており、どのタイミングで学習を止めれば良いのかについては慎重に検討しなくてはならない。
ノーフリーランチ定理:あらゆる問題で性能の良い汎用最適化戦略は理論上不可能であること。
・データの正規化・重みの初期化
正規化:データの広がりなどを調整すること。データ範囲を0−1に収めるのを0−1正規化、データを平均0、標準偏差1にする処理のことを標準化という。
白色化:各特徴量を無相関化したうえで標準化するという手法。
正規化しても層を伝播していくにつれ分布が徐々に崩れていくので層の数が増えても、データの分布が偏らないような方法が重みの初期値を工夫するしかない。シグモイド関数に対してはXavierの初期値、ReLU関数に対してはHeの初期値がよいとされている。
・バッチ正規化
各層に伝わってきたデータを、その層でまた正規化すること。学習がうまくいきやすくなるだけでなく、過学習しにくくなる。
ディープラーニングの手法
畳み込みニューラルネットワーク(CNN)
・CNNの基本形
畳み込みニューラルネットワークは畳み込み層とプーリング層を用いたニューラルネットワークのこと。
ネオコグニトロン:視覚野の2つの神経細胞の働きを組みこんだ最初のモデル。単純型細胞という画像の濃淡パターン(特徴)を検出するものと複雑型細胞特徴の位置が変動しても同一の特徴であるとみなすものが組み合わさったもの。
LeNet:ヤン・ルカンが提案した畳み込み層とプーリング層(またはサブサンプリング層)の2種類の層を複数組み合わせた構造である。
・畳み込み層
畳み込み:フィルタ(またはカーネル)を用いて画像から特徴を抽出する操作。フィルタの各値が通常のニューラルネットワークで言うところの重みになる。畳み込み層によって「位置のズレ」に強いモデルができる。画像形式にフィルタを畳み込むで行列を削減する。ここでフィルタ幅はフィルタのサイズで、フィルタをずらす数をストライドという。
・プーリング層
プーリング:画像サイズを決められたルールに従って小さくします。ダウンサンプリングあるいはサブサンプリングとも呼ぶ。プーリングには、ある小領域ごとの最大値を抽出する最大値プーリングや平均値プーリング、チャンネル毎に平均値を計算するのグローバルアベレージプーリングがある。畳み込み層と異なり、プーリング層には学習すべきパラメータは存在しない。
・全結合層
CNN(LeNet)では、畳み込み層・プーリング層を繰り返した後に全結合層という通常ニューラルネットワークを繋げる。
・データ拡張
学習用データを加工複製することで主に回転、反転、伸縮、ノイズを加える、部分的に隠すなどの拡張方法がある。
Cutout:画像の一部分に対して画素値を0またはランダムにする
Random Erasing:画像の一部分に対して画素値を 0 またはランダムにする
Mixup:2枚の画像を合成する
CutMix:CutoutとMixupを組み合わせたもの
・転移学習とファインチューニング(再学習)
転移学習:ある問題設定で学んだことを別の問題設定の汎化性能向上に役立てること。異なる問題設定間において、共通の特徴量を仮定できるとき、転移学習は有効である。転移学習の極端な例として、ワンショット学習やゼロショット学習がある。転移学習を行う際に、付け足した層だけではなく、ネットワーク全体を学習する方法再学習を行うことがある。
深層生成モデル
・生成モデルの考え方
生成モデルとは観測されたデータはある確率分布から生成されたサンプルであるという仮定のもとモデリングしたものを指す。観測したデータ分布がわかると人工的なデータを生成することができるようになる。例えば顔写真や音楽や文章も生成できる。画像分野で成果出してるモデルとして変分オートエンコーダ、敵対的生成ネットワークなど。深層生成モデルはディープラーニングを取り入れた生成モデルである。
・変分オートエンコーダ(VAE)
VAEは、モデルの名前にも含まれている通り、オートエンコーダを活用。通常の自己符号化器と同じく、入力を再現するように学習を行う。通常の自己符号化器と異なるのは、中間層の圧縮された表現を確率分布で仮定するしデコーダに繋げる点である。
・敵対的生成ネットワーク(GAN)
GANは2種類のネットワークで構成されており、ランダムなベクトルを入力とし、画像を生成して出力するジェネレータと画像を入力とし、その画像が本物か偽物かを予測して出力するディスクリミネータという。イアングッドフェローによって考案された。ヤンルカンはGANについて「機械学習において、この10年間でもっとも面白いアイディア」と形容した。
ディスクリミネータによる予測結果はジェネレータにフィードバックされる。GANは2種類のネットワークを競い合わせることで、最終的には本物と見分けがつかないような偽物、すなわち新しい画像をつくりだすことができる。
DCGAN:畳み込みニューラルネットワークを採用したもの。高解像度な画像の生成を可能になった。
Pix2Pix:ベクトルの代わりにある画像データを入力し別の画像に変換する処理。あらかじめペアの画像を学習のために用意しておく必要。
Cycle GAN:画像のペアが必要ない方法。ある画像を変換し、その変換した画像をもとの画像に再度変換。そのとき、通常のGANのように変換した画像が本物かどうかを予測するだけでなく、元の画像と再度変換した画像が一致するように学習。冬場の写真と夏場を変えることができる。
画像認識分野
・物体識別タスク
ILSVRC:識別タスクとして開催されている大会。
2012年にジェフリーヒントンが率いるAlexNetが、従来手法の精度を圧倒し、ディープラーニングに基づくモデルとして初めて優勝。
2014年にInceptionモジュールというカーネルサイズの異なる複数の畳み込み層から構成される小さなネットワークを積層したGoogLeNetが優勝。しかし同年に2位になったVGGも実務でよく使われ畳み込み層→畳み込み層→プーリング層の塊を繰り返し、16層まで積層したものである。VGGでは、深くなっても学習できるようにいったん少ない層数で学習した後、途中に畳み込み層を追加して深くする学習方法を採用。
2015年には超多層でも学習がうまくいくように考えられたスキップ結合を導入したResNetがエラー率はおおよそ5%で優勝した。スキップ結合は多層になった時に識別精度が落ちるのを層をいくつかスキップする結合を作ることで伝播しやすくする手法である。Wide ResNetはResNetの深さを減らして幅を大きくしたもので1000層あるResNetを16層まで減らし伝播をしやすくした。DenseNetはResNetに似たスキップ結合を持つネットワークでスキップ結合を用いたことで勾配消失が起きにくく、パラメータ数を少なくできている。
2017年には畳み込み層が出力した特徴マップに重み付けするAttention機構を導入したSENetが優勝した。
MobileNet:モバイル端末などの使用できるメモリ量が限られている環境でも利用できるよう、畳み込み層のパラメータ数を削減するモデル。通常の畳み込み処理の代わりにDepthwise Separable Convolutionを用い通常の畳み込み処理と比べて計算量を1/8程度に削減した。空間方向とチャネル方向に対して独立に畳み込み処理を行う。空間方向はDepthwise Convolution、チャネル方向はPointwise Convolutionと呼ぶ。Depthwise Convolutionは、特徴マップのチャネル毎に畳み込み処理を行います。Pointwise Convolutionは、1×1の畳み込み処理する。
Neural Architecture Search(NAS):リカレントニューラルネットワークと深層強化学習を用いてネットワーク構造を探索。認識精度が高くなるよう深層強化学習によりネットワークを生成する部分を学習。生成する単位をResNetのResidual Blockような塊にする工夫を導入したNASNetや、認識精度だけでなくモバイル端末での計算量も考慮する工夫を導入したMnasNetなどもある。
EfficientNet:通常の CNN よりも軽量かつ高性能なネットワーク
・物体検出タスク
入力画像に写る物体クラスの識別とその物体の位置を特定するタスク。物体の位置は、矩形領域(バウンディボックス)とし、その左上の座標と右下の座標を出力します。
R-CNN:物体候補領域ごとにこのような識別処理を行うため、処理時間がかかる。
Fast R-CNN:R-CNNの構造を簡略化して、高速化されたモデル。画像全体を入力して特徴マップを獲得することで高速化。特徴マップ上で物体候補領域に相当する部分を切り出し、識別処理を行う。
Faster R-CNN:Selective SearchをRegion Proposal NetworkというCNNモデルに置き換えて更なる高速化されたモデル。Faster R-CNNにおいて、複数のスケールでRegion ProposalおよびHead Networkの実行を行うことで、高精度に小さな物体を検出することをFPNという。
YOLO(You Only Look Once):出力層を工夫して入力画像の各位置における物体領域らしさと矩形領域を直接出力する仕組み。バッチ正規化や入力画像サイズの高解像度化などの新たなテクニックを導入したモデルも登場し、より高い検出精度を達成。
SSD:CNNの途中の特徴マップからYOLOのように領域単位で物体らしさと矩形領域を出力。
・セグメンテーションタスク
入力画像に写る物体をピクセル単位で分類するタスクで画像において物体が占める領域はどこかまでを認識する。画像全体を対象とするセマンティックセグメンテーションでは、同一クラスの物体をひとまとめにするので、集団の歩行者などを一人一人分離することができない。物体検出した領域を対象とするインスタンスセグメンテーションでは物体検出した領域に対してセグメンテーションを行うため、一人一人を分離できるようになります。個々の物体をそれぞれ分離しつつ、道路や建物などはひとまとめにするパノプティックセグメンテーションもある。
FCN(Fully Convolutional Network):CNNをセマンティックセグメンテーションタスクに利用した方法
SegNet:畳み込み層とプーリング層を繰り返し積層することで小さくなった特徴マップを徐々に拡大する構造を採用した方法。
U-Net:デコーダ側で特徴マップを拡大して畳み込み処理する際、エンコーダ側の特徴マップを同じサイズになるよう切り出して利用するモデル。X線画像の医療画像診断に用いられている。
PSPNet:エンコーダとデコーダの間にピラミッドプーリングモジュールいう複数の解像度で特徴を捉えるモジュールを追加したもの。
DeepLab:Atrous convolutionを導入したモデル。Atrous convolutionは広げられた範囲をたたみ込む方法でDilation convolutionともいう。
・姿勢推定タスク
入力画像に写る人物の頭や足、手などの関節位置を推定するタスク。
Open Pose:複数の人の骨格を同時に推定できるようにした手法。Parts Affinity Fieldsと呼ばれる骨格間の位置関係を考慮した処理を導入。これにより、骨格の位置関係が分かるようになる。
・マルチタスク学習
複数のタスクを 1 つのモデルで対応すること。Faster R-CNNやYOLOなどの物体検出モデルは、物体クラスの識別と物体領域の位置検出を同時に行っているのでマルチタスクとなる。
Mask R-CNN:Faster R-CNNによる物体検出だけでなく、セグメンテーションも同時に行うマルチタスクのモデル。このセグメンテーションは、物体検出した領域ごとに行うので、インスタンスセグメンテーション。
音声認識と自然言語処理分野
・データの扱い方
A-D変換:アナログの音声データをデジタルデータに変換する処理のこと。音声データをコンピュータで扱うために、アナログデータを離散的なデジタルデータに 変換する必要がある。
パルス符号変調(PCM):音声データをデジタルデータに変換するための手法。連続的な音波を一定時間ごとに観測する標本化、観測された波の強さをあらかじめ決められた値に近似する量子化、量子化された値をビット列で表現する符号化の3つのステップを経てデジタルデータに変換。
高速フーリエ変換(FFT):周波数解析を高速に行う方法。FFTにより音声信号は周波数スペクトルに変換できる。
メル周波数ケプストラム係数(MFCC):入力された音のスペクトル包絡に相当する係数列が得られ、「音色」に関する特徴量となる。スペクトル包絡は周波数スペクトルの緩やかな変動のことで声の特徴によく現れる。メル尺度は人間が近くできる音高を考慮した尺度でめる周波数は人間が聞こえない周波数を取り除き対数化している。
フォルマント:スペクトル包絡における周波数のピークのこと。この周波数をフォルマント周波数という。フォルマント周波数に音素(特に母音)の特徴が現れる。音韻はある言語に区別可能な音の集合で母音と子音を合わせたもの。
隠れマルコフモデル:音素ごとに学習するモデルで潜在変数がマルコフ連鎖を構成すると仮定したモデル。音声認識タスクや音声合成タスクなどで利用される。
TF-IDF:単語の重要度のようなものを計算する手法の一つ。各文書の単語ごとに計算され、TFとIDFという2つの値を掛け合わせたものになる。値の大きさがある程度その単語の重要度を表していると考えることができる。助詞や句読点など、どの文書にも高頻度で現れる単語の TF-IDF は小さくなり、特定の文書にのみ現れる単語の TF-IDF は大きくなる。
WaveNet:Google DeepMind社が考案したオーディオ生成モデル。Google Homeに使われている。
形態要素解析:自然言語を携帯まで分解する技術。例えばすもももももももものうちは、すもも、も、もも、も、もも、の、うちというように文法通りに分けることができる。
N-gram:隣り合って出現したn個の単語のこと。1-gramは我輩、は、猫、で、あるだが、2-gramだと我輩は、は猫、猫で、であるとなる。
バッグオブワーズ(Bag of Words:BoW):文章における単語の出現頻度がベクトルで表現されたもの。いぬいぬさるきじ(2,1,1)みたいな表現。
局所表現:ワンホットベクトルは値が0か1しかなく離散的で、1をとる次元が1つしかないため情報が疎であり、次元数が単語の種類数と等しいため、非常に高次元であるという特徴。 300単語の文章であればすでに300次元になってしまう。なので分散表現をするのが一般的。分散表現とは単語の意味や類似性の分類ごとにベクトルの強さが変わるもの。例えば男と女、パソコンとコンピュータのベクトルは似ている。単語埋め込みベクトルを求めるのはword2vecが使われる。
word2vec:単語の意味は、その周辺の単語によって決まるという分布仮説と呼ばれる言語学の主張をニューラルネットワークとして実現したもの。以下の二つのアルゴリズムを抑えておく。
スキップグラム:ある単語から、前後の単語を予測するニューラルネットワーク
CBOW:前後の単語から対象の単語を予測するニューラルネットワーク
fastText:word2vecを提案したトマス・ミコロフらによって新たに開発され、word2vecの延長線上にあるライブラリ。word2vecと比較した場合のfastTextの変更点は、単語埋め込みを学習する際に単語を構成する部分文字列の情報も含めること。
ELMo:文脈を考慮した分散表現を得る手法。同じ文字列で違う意味を持つ表現に対応できる。
・RNN(リカレントニューラルネットワーク)
RNNは時間方向に状態を引き継ぐことができるニューラルネットワークで自然言語などのような順番が割り当てらているデータを自然に扱うことができるため、自然言語処理や音声認識に利用される。再帰型ニューラルネットワークのことで内部に閉路(戻ろうとするネットワーク)を持つ。RNNにおける誤差逆伝播法は時間方向に遡っていくためBPTTと呼ばれる。
言語モデル:過去に入力された単語列から次に来る単語を予測するもので、音声処理でも自然言語処理でも使わる。
CTC:出力候補として音素に加えて空文字を追加し、さらに連続して同じ音素を出力した場合には1度だけ出力したものと縮約する処理を行うことで出力長と正解長の違いに対処。
LSTM(Long Short-Term Memory):LSTMブロックを導入し、時系列情報をネットワーク内に保持できるようにしたモデル。誤差を内部にとどまらせる記憶セル(CEC)と、必要な情報を忘れるためのゲート(入力・出力・忘却ゲート)が導入されている。他のRNNの「短期的な情報しか保持できない点」を改良した手法。入力重み衝突は重みは大きくすべきであり、同時に小さくすべきであるという矛盾のこと。
GRU(Gated Recurrent Unit):LSTMを少し簡略化したもの
双方向RNN:RNNを2つ組み合わせることで、過去から未来だけでなく、未来から過去方向も含めて学習できるようにしたモデル 。
・RNNエンコーダ-ディコーダ:入力が時系列なら出力も時系列で予測するモデル。エンコーダが入力データを処理して符号化(エンコード)し、符号化された入力情報を使ってデコーダが復号化(デコード)する。Seq2Seqモデルともいう。
・Attentionレイヤ:時間の重みをネットワークに組み込んだもの。エンコーダとデコーダ
の間に位置付けられる。エンコーダとデコーダ、エンコーダとアテンションレイヤ、アテンションレイヤの3つのネットワークが生まれる。その際、全時刻の中間状態を等価に参照するのではなく、重要な中間状態をより重視(アテンション)するように参照する。このアテンションはソースターゲットアテンション、エンコーダデコーダアテンションと呼ばれる。系列が⻑くなると、最初に入力された情報がデコーダ側まで伝播しづらくなり、LSTM のような仕組みを使ってもうまく学習させるのは難しいのでこの方法が使われる。
GLUE:自然言語処理モデルの性能を計測するためのベンチマーク。
・トランスフォーマー(Transformer)
RNN を使わずにアテンションのみで機械翻訳問題を解くためのモデル。トランスフォーマーはエンコーダとデコーダからRNNを排除し、代わりにSelf-Attention(セルフアテンション)と呼ばれるネットワーク構造を採用している。ネットワーク全体がSelf-AttentionとSource-Target Attentionという2種類のAttention機構のみから構成されているため、並列計算がしやすく、RNNと比べて高速にモデルの学習が行える。またSelf-Attentionのおかげで遠い位置にある単語同士の関係もうまく捉えることができる。RNNではないので位置エンコーディングという機構によって単語の順序をつけている。
Vision Transformer:Transformer を画像認識に適用しようという研究。
・自然言語処理におけるPre-trained Models
近年の自然言語処理においては、事前学習+転移学習というアプローチをとる手法が主流になりつつある。
BERT:Transformer のエンコーダ部分を使用。感情分析・含意関係認識・質疑応答・意味等価性判別など、11 のタスクで SotA(当時最高性能)で汎用的な言語表現(分散表現)を獲得できるモデルと言われている。事前学習で単語マスク問題(Masked Language Modeling, MLM)と隣接文問題(Next Sentence Prediction, NSP)を同時に解くき教師なし学習を行う。再学習で-事前学習済みモデルの最終層を解きたいタスク用の層に入れ替え、全ての重みを更新し特定のタスクを解けるようにする。
GPT:2019年にOpenAIが開発した事前学習モデル。大規模なコーパスを用いた言語モデルの学習で、トランスフォーマーのデコーダと似た構造を持ったネットワークを用いている。デコーダの構造のみを用いている。GPT−2は性能がよすぎたためフェイクニュースの量産を危惧しモデル公表を見送った。2020年に発表されたGPT-3はパラメータ数が1750億個のモデルとなっている。
深層強化学習分野
Q学習:ある特定の状態に対して1つの行動価値(Q値)を割り当てて、その行動価値に対する学習を行う。ピクセル単位のわずかな違いであっても別の状態と認識されるため、パターンが膨大で1つ1つ行動価値を割り当てる手法は非現実的。
DQN(Deep Q-Network):DeepMind社が発表し、ゲームの画面自体を入力とする CNN を行動価値関数(Q関数)として利用している。Atari2600 のさまざまなゲームに対して、チューニングをせずに学習しても高い性能を示した。
‐DQNが導入した新しい学習手法:
経験再生(experience replay):経験再生は、環境を探索する過程で得た経験データをリプレイバッファと呼ばれる機構に保存し、あるタイミングで、これらの保存データをランダムに複数抜き出してディープニューラルネットワークの学習に使う手法。学習に使うデータの時間的偏りをなくし学習の安定化を図る。
ターゲットネットワーク(target network):現在学習しているネットワークと、学習の時間的差分がある過去のネットワークに教師のような役割をさせる手法。これにより価値推定を安定させる。
DQNの拡張手法:
ダブルDQN:DQNのTargetデータを改良した手法。行動価値関数Qに対して、「価値」と「行動」を選択するニューラルネットワークと、その行動を評価するニューラルネットワークの2つに役割を分けたモデル。
デュエリングネットワーク:ニューラルネットワークを2つに分割。1つはタイムステップごとに値の推定値を提供することを学習。もう1つは各行動の潜在的な利点を計算し、最後に2つを組み合わせて単一の行動アドバンテージQ関数にする。
ノイジーネットワーク:ネットワークそのものに学習可能なパラメータと共に外乱を与え、それも含めて学習させていくことでより長期的で広範囲に探索を進めるモデル。
Rainbow:DQNの七種のアルゴリズムを乗せたモデル
内発的報酬:通常の報酬に加えられる報酬のこと
・深層強化学習とゲームAI
ゼロ和性:一方が勝てば他方が負ける
2人完全情報確定ゼロ和ゲーム:チェスや将棋など勝ち負けが明確なゲームではゲーム木を全て展開することで必勝法を見つけられる。しかし、これを現実的な時間で行うのは不可能であるため、効率化する手法が必要。
モンテカルロ木探索:複数回のゲーム木の展開によるランダムシミュレーション(プレイアウト)をもとに従来のモンテカルロ法よりも効率的に探索を行えるモデル。盤面から勝率を計算するバリューネットワークや、ポリシーネットワークと呼ばれるディープニューラルネットワークが搭載されている。AlphaGoはモンテカルロ木探索に深層強化学習の手法を組み合わせている。AlphaGoは2016年、DeepMind社が開発したゲームAIで世界的なトップ囲碁棋士であるイ・セドル九段に囲碁で勝利している。AlphaGo Zeroは人間の棋譜データを用いた教師あり学習は一切行わず、最初から自己対戦を行なって得たデータのみで深層強化学習を行う。AlphaGoに100戦100消している。Alpha Zeroはその完成形。
マルチエージェント強化学習:複数存在する味方のエージェントや相手のエージェントとの、協調的な関係や 競争的な関係を考慮した強化学習のこと。
OpenAI Five:2018年。OpenAIは、多人数対戦ゲーム「Dota2」の対戦 AIで、ディープニューラルネットワークに、ネットワークには LSTM を使い、PPO と呼ばれる強化学習アルゴリズムを採用した。学習アルゴリズム自体は既存の単純なものだが、学習に使った計算資源と学習時間が膨大で5万個の CPU を使用して、10 ヶ月に及ぶ強化学習を行った。
AlphaStar:2019年。DeepMind社は、コンピュータゲーム「スタークラフト2」の対戦 AIを開発した。ResNet、LSTM、Pointer Network、Transformer など、画像処理や自然言語処理の手法も多く取り入れたネットワークを使って学習する。いわば人工知能技術の集大成的なアルゴリズムである。
・実システム制御への応用
状態表現学習:状態を含む情報(センサーデータやゲームの画面など)をニューラルネットワークに与え状態に関する特徴を取り出してもらう。
連続値制御:連続値の行動を直接出力するための工夫を行う。方策勾配法が代表的である。
報酬成形:報酬関数の設計によって、得られる方策の性能が大きく変わるため学習された方策の挙動確認を繰り返し、 適切な学習が行われるように報酬関数の作り込むこと。
オフライン強化学習:何らかの方法によって収集された固定のデータセットから学習する手法。
sim2real:シミュレータで学習した方策を現実世界に転移して利用する設定。しかし、リアリティギャップと呼ばれる、現実世界とシミュレータで再現された世界の間の差異が生まれるため、学習した方策を実世界に転移した際、性能を低下させる大きな原因になることがある。
ドメインランダマイゼーション:シミュレーションの各種パラメータをランダムに設定した複数のシミュレータを用いる手法でリアリティギャップへの対処方法の1 つとされている。
残差強化学習:従来のロボット制御で用いられてきたような基本的な制御モジュールの出力と、実際にロボットがタスクを行う環境における最適な方策との差分を強化学習によって学習することを目指す。
モデルの解釈性とその対応
・ディープラーニングモデルの解釈性問題
ディープラーニングのモデルは予測の判断根拠を説明するのが苦手な一方実社会への実装へはそれなりの根拠の説明が必要となる。
・Grad-CAM
CAMは中間表現の特徴量を可視化するのではなく、CNN の推論結果のクラスが どこを根拠にして推論されたかを可視化する手法である。画像認識系のタスクを対象として、モデルの予測判断根拠を示すために「画像のどこを見ているか」を可視化する。Grad-CAMは勾配情報を用いて可視化を行う。問題点としてGrad-CAMはその過程で画像が低解像度になることが挙げられたため、入力値の勾配情報も用いたGuided Grad-CAMという手法も提案された。
モデルの軽量化
・エッジAI
エッジデバイスによって、AI の学習や推論を行うこと、またはその技術のこと。エッジデバイスとはセンサーデータを取得する場所の近くに設置されたデバイスのことでクラウドと対義語になる。ネットワークに接続される場合は、IoT (Internet Of Things) と呼ばれることもある。
・モデル圧縮の手法
蒸留:大きなニューラルネットで得られた知識を軽量な小さなネットワークに移す方法。例えば飲み物を判別するネットワークがあってそこからコーラを探すモデルをつくるのは容易。
量子化:通常 32 bit の浮動小数点数(float 型)で表されるニューラルネットワークの計算をそれより低いbit数で実現すること。
ディープラーニングの社会実装に向けて
AIと社会
・AIのビジネス活用と法・倫理
IoT:Internet of Thingsの略。
RPA:事務作業を自動化するためのソフトウェア技術。
ブロックチェーン:ネットワーク上にある端末同士を直接接続して、暗号技術を用い取引記録を分散的に処理する技術。
AIプロジェクトの進め方
・AIプロジェクト進行の全体像
CRISP-DM:データマイニングのための産業横断型標準プロセスで同名のコンソーシアムによって提唱された。「ビジネスの理解」「データの理解」「データの準備」
「モデリング」「評価」「展開・共有」の6つのプロセスがある。
MLOps:機械学習システムに対するDevOpsのことで機械学習を取り入れたサービスを迅速かつ安定してユーザに届けることを目的とする。DevOpsは開発部門と運用部門が連携し、価値のあるシステムを開発していこうという考え方で近年のシステム開発現場で用いる。
・AIプロジェクトの進め方
AI システムを構築する環境として、クラウドで完結、エッジで完結、クラウドとエッジの組み合わせ、の3パターンが考えられる。
クラウドコンピューティング:サーバ、ネットワーク、ストレージなどのITリソースをインターネット経由でサービスとして利用する形態。AWSやGoogle Cloud Platform、Azureなど。
Web API:Webサービスを HTTP ベースで利用するための通信インターフェースのこと。あるサービスを利用するアプリケーションに対して、そのサービス内の情報にアクセスするための通信手段を規定する。利用者に対して、ソフトウェアを渡さなくて済む利点に加え、すぐ利用者にサービス提供ができる。
データサイエンティスト:データサイエンティストとエンジニアの境界は曖昧であり、両方のスキルを持った者もいて、機械学習エンジニア、AIエンジニアと言われている。
BPR:ビジネスプロセス・リエンジニアリングの略で業務・組織・戦略を根本的に再構築すること。
プライバシーバイデザイン:プライバシーに配慮した設計を行うことであらかじめプライバシーに配慮した設計やプロセスを目指せば、利用者や社会からの信頼を得やすい。
データの収集
・データの収集方法および利用条件の確認
オープンデータセット:企業や研究者が公開しているデータセット。商業用ではライセンス申請が必要。
AI技術に関する有名なプラットフォーム
Kaggle:データ解析のコンペティションやデータサイエンティストによるディスカッションが行われるプラットフォーム
Google Scholar:学術論文における検索エンジン
Coursera:世界中の大学の講義を受講できるオンライン講座
arXiv:研究論文の公開・閲覧ができるウェブサイト
OpenAI Gym:自分で制作した強化学習用アルゴリズムを試験できるAI趣味レーションプラットフォーム
・法令に基づくデータ利用条件
データセットに関わる法律として著作権法、不正競争防止法、個人情報保護法がある。著作権法は著作物に関わる著作者などの権利を保護する法律で申請が必要な特許法とは異なり申請なしで権利を主張できる。学習用データの作成については一定の要件のもと自由に行える(著作権法30条の4)ようになった。不正競争防止法は不正な競争によって消費者が商品を得ることができなくなるのを防ぐ法律。個人情報保護法は個人情報の適切な利用保護する法律。
・データセットの偏りに注意
サンプリング・バイアス:不適切な標本抽出により標本が母集団を表さないこと。日本人向けに開発されたデータが白人には利用できないなど。
・役割と責任を明確にした外部との連携
AI・データの利用に関する契約ガイドラインはAI 開発における契約や法律に関する課題を解決することである。2018に経済産業省は、AI・データ契約ガイドライン検討会を設置し、2018年に「AI・データの利用に関する契約ガイドライン」を策定、2019年に改訂版を公表。開発プロセスをアセスメント段階、PoC段階、開発段階、追加学習段階に分けて、それぞれの段階で必要な契約を結んで行くと、試行錯誤を繰り返しながら納得できるモデルを生成するアプローチがしやすくなるとしている。契約類型は「データ提供型」「データ創出型」「データ共用型」がある。
オープンイノベーション:組織外の知識や技術を積極的に取り込むこと
産学連携:研究機関と企業の連携
データの加工・分析・学習
・データの加工
アノテーション:データに教師(正解)をつけることをアノテーションという。日本語で言う注訳にあたる。
・プライバシーの配慮
匿名加工情報:特定の個人を識別することができないように個人情報を加工し、当該個人情報を復元できないようにした情報のこと。2017年の改正した個人情報保護法により導入された。IoT推進コンソーシアム店データ流通促進WGがまとめたカメラ画像利活用ガイドブックにも詳しいことが書いてある。顔の特徴量データや保存期間に関するルールについて詳しく書いてある。
ELSI:倫理的・法的・社会的影響を一体のものとして検討する試みのこと。プライバシーに配慮したデータ加工を行う際は、法だけでなく、倫理面にも注意が必要。
・開発・学習環境の準備
ライブラリとは機械学習を実装する際に用いるツールのことである。AI モデル開発で最もよく使われる言語はPythonで特徴としては機械学習、特にディープラーニングに関するライブラリがオープンソースとして多数公開されている。開発環境を作るためのツールとしてDockerやpyenv, virtualenv, pipenvなどがある。さまざまなツールを一つにまとめた開発を行うための統合環境を統合開発環境といい具体的にはJupyter Notebookが挙げられる。
主なPythonライブラリ
scikit-learn:さまざまな分類・回帰・クラスタリングアルゴリズムを備える
Scipy:科学技術計算に利用でき、最適化や統計処理、特殊関数などの機能がある
Pandas:データ解析の支援、特に表や時系列データを操作するデータ構造や演算を提供する
NumPy:ベクトルや行列操作など、数値計算を効果的に行うことができる
TensorFlow:深層学習のフレームワーク
PyTorch:深層学習のフレームワーク
・アルゴリズムの設計・調整
XAI:結果を出力するだけでなく、なぜその出力になったのかを説明できるAI のこと。2017年のDARPAによるXAIプロジェクト発表より注目が集まっている。
フィルターバブル:情報を遮断する機能のせいで、まるで泡の中に包まれたように自分が見たい情報しか見えなくなること。
FAT:公平性、説明責任及び透明性。「人間中心のAI社会原則」の基本原則に記載されている。フィルターバブルのような問題も扱われる。
・現場でのコンセプト検証
PoC(Proof of Concept):新たな理論やアイディアを実証すること。AIプロジェクトにおけるPoCは通常AIモデルを開発しその性能を確認するのが目的。
実装・運用・評価
・本番環境での実装・運用
PoCでの検証を終えて価値が生み出せるという見積もりが得られたら本番環境を構築する。
・成果物を知的財産として守る
特許権は権利の対象となる発明の実施を独占できること。著作権は著作物について認められる権利で、定義としては思想または感情を表現したものであって文芸、学術、美術または音楽の範囲に属するものとなっている。データベースも著作権法上のデータベースの定義を満たす、創造性がある条件を満たせば著作権が認められる。著作物は、「思想・感情」を「創作的」に「表現」したものです(著作権法2条1項1号)。そのため、交通量や血圧などの数値データは、思想・感情の表現でもなく、創作的ともいえず、著作物に該当しない。
営業秘密(不正競争防止法2条6項):非公知性、有用性、秘密管理性の要件を満たせば保護される。秘密管理性は営業秘密保護企業の秘密管理意思が秘密管理措置によって従業員等に対して明確に示され当該秘密管理医師に対する従業員の認識可能性が確保される必要がある。2018年の法改正により限定提供データが追加され営業秘密の共同データの問題に対処できるようになった。
運用データに関する運用除外:不正競争防止法で、以下のように定義されている。「その相当量蓄積されている情報が無償で公衆に利用可能となっている情報と同一の限定提供データを取得し、又はその取得した限定提供データを使用し、若しくは開示する行為」
・利用者・データ保持者の保護
個人情報の取扱いは利用目的をできる限り特定する(個人情報保護法15条1 項)必要がある。当初予定されていなかった個人情報の取扱いの変更は原則として事前の本人の同意が必要(同法16条1項)。
GDPR:EU 域内の個人データ保護を規定する法EU に拠点を置く企業だけでなく、EEA加盟国向けに サービスを提供しているEU外の企業も法的規制の対象になる。十分性認定とは個人情報保護体制がEU並みの水準にある」とEUよりの認定のこと。
・悪用へのセキュリティ対策
敵対的な攻撃:AIモデルの認識を混乱させる方法も存在。各システムの稼働を監視した上で、通信相手の認証、アクセス制限、データの暗号化、データ改変の検知などが必要。AIを悪用したのがフェイクニュースやディープフェイクである。
・予期しない振る舞いへの対処
アルゴリズムバイアス:アルゴリズムの技術的限界などによって生じてしまうバイアス(偏見)のこと。アフリカの女性をゴリラとラベル付してしまった。
・インセンティブの設計と多様な人の巻き込み
AIを用いたサービス設計を行う際に大事なことはステークホルダーのニーズを把握することである。ステークホルダーとは現場の利用者やそれにより恩恵を受ける人たちのことを指す。他にもサービスを使うためのインセンティブ設計やリスクアセスメントが重要になる。
クライシス・マネジメント
・体制の整備
AIに起因する炎上を防ぐには開発者自身がダイバーシティやインクルージョンについて理解を深める必要がある。開発者の多様性を確保しプロダクトの包括性を意識することが絶対条件といえる。
クライシス・マネジメント:起きてしまった危機に対し、その危機を最小限に抑えるための策を講じ平常化への道筋と再発防止策を検討すること。リスクマネジメントは想定されるリスクに対し予防策を講じることなので違う意味。
コーポレートガバナンス:公正な企業経営のために経営を管理監督すること。内部統制は事業活動が適正に行われていることを保証するために全従業員によって遂行されるプロセス。
シリアスゲーム:さまざまな社会問題をゲームを通じてシミュレーションすること。
・有事への対応
AIの軍事利用などにリスクがある。特に自立型兵器(AWS)など特に人間の介入なしに対象を選定して攻撃するシステムなどが挙げられる。また自立型致死兵器システム(LAWS)などは人間の生死に関与するものなので禁止する動きが広まっている。2015年には人工知能国際会議ではAWSの開発禁止を求める書簡が発表され、2017年には国連においてLAWSに関する開発を中止すべきだという議論が特定通常兵器使用禁止制限条約(CCW)で行われた。
・社会と対話・対応のアピール
透明性レポート:利用者から収集したデータの開示に関するレポート。
・指針の作成と議論の継続
Partnership on AI(PAI):2016年にAmazon、Google、Facebook、IBM、MicrosoftなどアメリカのIT企業を中心として組織。
アシロマAI原則:技術開発における安全性の検証や透明性の確保など23項目からなる原則。
数理・統計
ベイズ統計:確率のベイズ的解釈に基づく統計学の分野における理論
記述統計:手元のデータ分析を行う
推計統計:手元のデータの背後にある母集団の性質を予測する
推理統計:結果から原因を分析する
最後に
今回カンペを作成するにあたり以下のサイトを参考にさせていただきました。本当に助かりました、感謝いたします。
![](https://geeky-minimal-engineer.com/wp-content/uploads/cocoon-resources/blog-card-cache/f663d9b0eabc1f3ccc5cdb30788c8d57.png)