登録は簡単!. 無料です
または 登録 あなたのEメールアドレスで登録
AI により Mind Map: AI

1. AIの基礎知識

1.1. AIという言葉

1.1.1. ダートマス会議@1956年アメリカ

1.1.2. ジョン・マッカーシー

1.2. AIの定義

1.2.1. 決まっていない。 人間の知能や知的活動を再現したもの

1.2.1.1. アラン・チューリング

1.2.1.1.1. アウトプットこそが知能

1.2.2. 計算機による知的な情報処理システムの設計や実現

1.3. 人工知能とロボット

1.3.1. 実体はない

1.3.2. AI効果

1.3.2.1. AIだと思っていたものの仕組みがわかると AIだと認識されなくなる心理現象

1.3.2.1.1. 音声認識、文字認識、ゲーム、検索エンジン

1.4. レベル分け

1.4.1. 【レベル1】 エアコンとかの単純な制御プログラム

1.4.2. 【レベル2】 古典的な人工知能 将棋のプログラムやQ&Aができるもの

1.4.3. 【レベル3】 機械学習を取り入れた人工知能

1.4.3.1. 機械学習

1.4.3.1.1. データから統計的に法則を見つけ出す手法 天気予報とか

1.4.4. 【レベル4】 ディープラーニングを取り入れた人工知能

1.5. AIの課題

1.5.1. フレーム問題 ジョン・マッカーシーが議題にあげて ダニエル・デレットが例題を提案

1.5.1.1. 人間が無意識に行っている情報の 取捨選択が人工知能には難しい

1.5.1.1.1. 取捨選択できれば強いAI 出来ない場合は弱いAI

1.5.2. シンボルグラウンディング問題 スティーブン・ハルナッド

1.5.2.1. シンボル(記号や言葉)と意味が結び付けられない コップを理解するなら触って温度を感じる身体がないととらえきれない

1.5.2.1.1. 実世界における抽象概念を理解し,知識処理を行う上では, 身体性 を通じた高レベルの身体知を獲得し,次に身体知を通じて 言語の意味理解を促し,抽象概念・知識処理へと至るのではないか

1.5.3. シンギュラリティ

1.5.3.1. 技術的特異点 人工知能が自分より賢いAIを作る時点

1.5.3.1.1. レイ・カーツワイル

1.5.3.1.2. ヒューゴ・デ・ガリス

1.5.3.1.3. イーロン・マスク

1.5.3.1.4. オレン・エツィオーニ

1.5.3.1.5. ヴァーナー・ヴィンジ

1.5.3.1.6. スティーブン・ホーキング

1.6. 研究の変遷

1.6.1. パターン→記号→知識

2. AIブーム

2.1. 第一次

2.1.1. 探索と推論の時代

2.1.1.1. 探索木

2.1.1.1.1. 深さ優先探索木

2.1.1.1.2. 幅優先探索木

2.1.1.2. トイ・プロブレムなら解ける(迷路、チェス)

2.2. 第二次

2.2.1. エキスパートシステム 人間が持っている専門的な知識をプログラミング

2.2.1.1. 実用例

2.2.1.1.1. MYCIN(マイシン) 血液疾患の患者を診断可能。 一般医師よりは優れ、専門医師(80%)よりは低い(69%)

2.2.1.1.2. ELIZA テキストコミュニケーション 基本はオウム返しに+α。 PCだってわかっているのに人間のように感じる錯覚を「イライザ効果」

2.2.1.1.3. DENDRAL 勇気果房物の特定ができる

2.2.1.2. 方法

2.2.1.2.1. 知識表現の研究 情報の整理が必要。

2.2.1.3. 課題

2.2.1.3.1. 形式知はプログラミングできるが、暗黙知はできない。

2.2.1.4. 構成

2.2.1.4.1. 知識ベース

2.2.1.4.2. 推論エンジン

2.3. 第三次

2.3.1. 機械学習の時代

2.3.1.1. 【機械学習定義】 明示的にプログラムしなくても学習する能力を コンピュータに与える研究分野(人間が自然に 行っている学習と同様の機能をコンピュータで実現) 暗黙知のプログラミングが可能

2.3.1.1.1. 【統計的自然言語処理】 文脈関係なく訳される確率の高いものを当てはめる手法

2.3.1.1.2. 【ニューラルネットワーク】 人間の脳神経回路の仕組)みを再現 入力層、隠れ層(中間層、出力層から校正

2.3.1.1.3. アーサー・サミュエル

3. 機械学習

3.1. 学習方法

3.1.1. 教師あり学習 正解が必要。予測値を正解ラベルに近づけることを目標に学習する

3.1.1.1. 回帰問題 連続値であるYをXから予測

3.1.1.1.1. 予測対象Y:目的変数、従属変数

3.1.1.1.2. もとになる変数X: 説明変数、独立変数

3.1.1.1.3. 説明変数が1→短回帰 説明変数が複数→重回帰

3.1.1.1.4. 線形回帰と非線形回帰

3.1.1.2. 分類問題 離散値Yを予測

3.1.1.2.1. 【モデル】 目的変数Yを予測するためのルール 回帰でいう算出式か?

3.1.1.2.2. 【学習】 既存のデータからモデルを調整する過程 学習が進んだモデルを学習済みモデル

3.1.1.2.3. 2値分類と多クラス分類

3.1.1.2.4. 線形分類と非線形分類

3.1.1.3. アルゴリズム

3.1.1.3.1. 線形回帰

3.1.1.3.2. ロジスティック回帰

3.1.1.3.3. 決定木

3.1.1.3.4. ランダムフォレスト

3.1.1.3.5. サポートベクターマシン(SVM)

3.1.1.3.6. ニューラルネットワーク

3.1.1.3.7. kNN法( k Nearest Neighbor, k近傍法)

3.1.2. 教師なし学習 正解はない、分析や項目の抽出 データの本質的な構造を浮かび上がらせる

3.1.2.1. クラスタリング:近似する特徴ごとにクラスター分け 次元削減:不要なものを削減

3.1.2.2. アルゴリズム

3.1.2.2.1. k-means法 (k平均法)

3.1.2.2.2. 主成分分析 Principal Component Analysis)

3.1.3. 半教師あり学習

3.1.3.1. 教師ありより精度が低くなったり、 正解ラベル付きに偏りがあると 正しく学習できない可能性がある

3.1.4. 強化学習

3.1.4.1. エージェントが行動の結果として 得られる報酬が最大化するように 行動方針(方策)を学習する手法

3.2. データの使い方

3.2.1. 汎化性能

3.2.1.1. 未知のデータに対する予測能力

3.2.2. 過学習 オーバーフィッティング

3.2.2.1. 訓練データに最適化され過ぎること

3.2.3. 交差検証法

3.2.3.1. データの一部を訓練に使い、残りを評価用テストデータに割り当てる

3.2.3.1.1. k-分割交差検証 分割を複数回行い、テストデータを入れ替えながら検証

3.2.3.1.2. ホールドアウト検証 単純に訓練とテストに分ける

3.3. 評価手法

3.3.1. 混同行列(Confusion Matrix)を用いた 目的別評価指標

3.3.1.1. 正解率 Accuracy

3.3.1.1.1. TP+TN / 全データ

3.3.1.2. 適合率 Precision

3.3.1.2.1. 真と予測した中で正解した割合 予測のご判定を避けたい場合に使用

3.3.1.3. 再現率 Recall

3.3.1.3.1. 結果が真のデータの中で正解した割合 予測の見落としを避けたい売位に利用

3.3.1.4. F値 F measure

3.3.1.4.1. 適合率と再現率の調和平均 トレードオフの関係なので、両方見ている F値を使うことも多い

3.4. 前処理

3.4.1. 目的

3.4.1.1. データをモデルに正しく入力できるように

3.4.1.2. データの大きさをある程度均一にする

3.4.2. 手法

3.4.2.1. 欠損値の処理・補間

3.4.2.2. 名寄せ(アンケート結果などで表記統一)

3.4.2.3. 正規化

3.4.2.3.1. データを0から1に収まるようにスケーリングする

3.4.2.4. 標準化

3.4.2.4.1. データの平均を0, 標準偏差を1に変換

3.4.2.5. 時系列データの時間粒度の変更

3.4.2.6. 画像データのサイズ統一、グレースケール化

3.4.2.7. 基礎集計(前処理よりも前に実施)

3.4.2.7.1. 平均、分散、標準偏差計算

3.4.2.7.2. 散布図プロットして傾向を調べる

3.4.2.7.3. 相関行列で傾向を調べる

3.5. 特徴量エンジニアリング

3.5.1. モデルが認識しやすい特徴をデータから作ること

3.5.2. カテゴリカル変数(何かの種類を表す変数)にエンコードすること等

3.5.2.1. 1つの成分だけが1, 残りは0の特徴量(ベクトル)に変換

3.5.2.1.1. one-hot-encoding

3.5.3. 日付データの変換

3.5.3.1. 文字列を扱いやすい形式に変換

3.5.4. 多項式特徴量を生成

3.5.4.1. 特徴量を組み合わせてより良い特徴量を作る

3.5.5. 多重共線性の検出

3.5.5.1. 重回帰分析で重要

4. ディープラーニングの研究分野

4.1. 画像認識分野

4.1.1. ILSVRC

4.1.1.1. 2012年にディープラーニングを使ったAlexNetが圧勝

4.1.1.1.1. ジェフリー・ヒントン

4.1.1.1.2. CNNの一種

4.1.1.2. 画像分類の精度を測るものではなく、一般物体認識の精度を測っている 

4.1.2. 一般物体認識

4.1.2.1. 物体検出タスク

4.1.2.1.1. 画像の中のある領域が背景なのか物体なのか

4.1.2.1.2. バウンディングボックス

4.1.2.1.3. セマンティックセグメーション

4.1.2.2. 物体セグメンテーション

4.1.2.2.1. 対象としている画像そのものが何かを推定するタスク

4.1.2.2.2. 対象とする物体とその周囲の背景を境界まで切り分けるようなタスク

4.1.2.3. 物体認識タスク

4.1.2.3.1. 物体ならなんの物体なのか

4.1.2.4. R-CNN

4.1.2.4.1. Regional CNN

4.1.2.4.2. 関心領域(ROI: Region of Interest)を切り出す

4.1.2.4.3. 処理に時間がかかる

4.2. 自然言語処理

4.2.1. 一般的な解析の順番

4.2.1.1. 1) 形態素解析

4.2.1.1.1. これ以上分解できない単語にして、品詞を判定する

4.2.1.2. 2)構文解析

4.2.1.2.1. 単語の関係性を解析

4.2.1.3. 3)意味解析

4.2.1.3.1. 辞書を元に単語間の関連性を調べて構文木を選択

4.2.1.4. 4)文脈解析

4.2.1.4.1. 複数の文の構造や意味を考える

4.2.1.5. 機械学習で大量のデータを用いて文章の意味の概念を習得させた。

4.2.2. 機械学習による自然言語処理

4.2.2.1. 1)形態素解析

4.2.2.2. 2)データクレンジングでノイズ除去

4.2.2.2.1. 半角と全角統一したり。

4.2.2.3. 3)Bag-of-Words

4.2.2.3.1. 単語群をベクトル形式に変換

4.2.2.3.2. 単語の順番は考慮せず出現した数でベクトル化

4.2.2.4. 4)TF-IDF等の手法で出現頻度から単語の重要度を評価

4.2.2.4.1. Term Frequency - Inverse Document Frequency

4.2.3. Word2vec

4.2.3.1. 文章中の単語群をベクトル形式に変換するモデル

4.2.3.1.1. BOWとの違いは単語間の関係性を捉えていること

4.2.3.1.2. 王様から男性を引いて女性を足すと女王ベクトル

4.2.3.2. 手法

4.2.3.2.1. Skip-gram

4.2.3.2.2. CBOW: Continuous Bag-of-Words

4.2.3.3. 後継モデル

4.2.3.3.1. FastText

4.2.3.3.2. ELMo

4.2.4. 画像キャプション生成

4.2.4.1. CNN+RNN

4.2.4.1.1. ニューラル画像脚注付け(NIC)

4.2.4.1.2. CNNの最後の畳み込み層をRNNで構成される文章生成ネットワークの入力にする

4.2.5. Seq2seq (Sequence to Sequence)

4.2.5.1. 自動翻訳に用いられるRNN

4.2.5.1.1. データを特徴に変換するエンコーダと特徴を新しいデータに変換するデコーダーを組み合わせている 

4.2.5.1.2. Attention

4.2.6. BERT(Bidirectional Encoder Representations from Transformers)

4.2.6.1. Googleが発表@2018

4.2.6.2. マスクされた言語モデル(MLM)

4.2.6.2.1. ランダムに15%単語をマスクする

4.2.6.3. 次文予測(NSP)

4.2.6.3.1. 2つの文に相互関係があるかを判定する

4.2.6.4. ALBERT(高速化バージョン)

4.3. 音声認識

4.3.1. WaveNet

4.3.1.1. RNNを応用して音声生成と音声認識できるモデル

4.3.1.2. 音声波形を細分化して、トーンや抑揚、間を理解できる

4.3.1.3. いくつかの入力をスキップして効率的に処理している

4.3.1.4. 英語、中国語ともに既存手法より精度が高い。人間の発話に迫っている 

4.3.2. ディープラーニング登場前

4.3.2.1. 1)波形から周波数、時間変換の特徴を抽出

4.3.2.1.1. モデル化したものを音響モデル

4.3.2.2. 2)波形から音素を特定

4.3.2.3. 3)なんの単語かパターンマッチング

4.3.2.4. 4)単語のつながりを解析して文を作成

4.3.2.5. 隠れマルコフモデル(音自体を判別する音響モデル)&Nグラム法(語と語のつながりを判別する言語モデル)

4.3.2.5.1. +混合正規分布(GMM)

4.3.3. ディープラーニング登場後

4.3.3.1. 音声波形を入力して単語が出力される。

4.3.3.1.1. End-to-End (エンドツーエンド)

4.3.4. 前処理

4.3.4.1. 雑音・残響抑圧

4.3.4.1.1. 音声を認識したい対象とそれ以外の雑音に分離

4.3.4.2. 音素状態認識

4.3.4.2.1. 音声の周波数スペクトル,すなわち音響特徴量をインプットとして,音素状態のカテゴリに分類する.

4.3.5. 音声合成:与えられた分野データから人が話す音声を合成する技術

4.4. ロボティクス

4.4.1. エンドツーエンド学習

4.4.1.1. ロボットの一連の動作を一つのディープニューラルネットワークで表現する

4.4.2. マルチモーダル学習

4.4.2.1. 複数の異なるデータから学習して統合的に処理する

4.4.3. 運動系が量的、質的に貧素

4.4.3.1. 認知発達ロボティクス

4.4.3.1.1. 環境との相互作用で自ら学習する

4.4.3.1.2. 乳幼児の認知発達メカニズムと合わせて研究したり。

4.4.4. マルチエージェント応用

4.4.4.1. 2 体のロボット同士で学習を開始させようとすると,お互いに初期状態であるタスクについての何も知識がない状態だと, 学習過程の不安定化

4.4.4.1.1. DQN使用。

4.5. 業界動向

4.5.1. Google, Facebook

4.5.1.1. 言語データによるRNN, 映像データから概念、知識理解を目指す

4.5.2. UC Berkeley

4.5.2.1. 実世界を対象に研究を進め、知識理解を目指す

4.5.3. Deep Mind

4.5.3.1. オンライン空間上でできることをターゲットにして知識理解を目指す

5. AI導入

5.1. Proof of Concept

5.1.1. 概念実証

5.1.1.1. 本当に実現可能かどうか、効果や効用について技術的な観点から検証する工程

5.2. 共有データセット

5.2.1. MNIST

5.2.1.1. 手書き数字データセット

5.2.2. CIFAR-10

5.2.2.1. 一般物体認識のベンチマーク画像セット

5.2.2.1.1. 10個のクラスがラベリング

5.2.3. CIFAR-100

5.2.3.1. 100個のクラスがラベリング

5.2.4. MegaFace

5.2.4.1. ノイズデータを混ぜた顔認識データセット

5.2.5. Boston-Housing

5.2.5.1. ボストンの住宅価格データセット

5.2.6. ImageNet

5.2.6.1. スタンフォード大学がネット上から画像を集めて分類したデータセット

5.2.7. CIFAR-10

5.2.7.1. 物体カラー写真で画像+ラベル。6万枚

5.2.8. Youtube-8M

5.2.8.1. 動画データセット

5.2.9. NIST

5.2.9.1. 顔のデータセット

5.2.10. Kinetics

5.2.10.1. DeepMind公開。65万のびでおくりっぷから700の人間の動きを切り出した+ラベル

5.3. データの利用条件

5.3.1. 知的財産権

5.3.1.1. 著作権

5.3.1.1.1. 旧47条の7

5.3.1.1.2. 新30条の4 (2019)

5.3.1.2. 特許権

5.3.1.3. 営業秘密

5.3.1.3.1. 保護対象要件

5.3.1.4. 個人情報

5.3.1.4.1. 種類

5.3.1.4.2. 観点

5.3.1.4.3. プロセス

5.3.1.4.4. 安全管理措置

5.3.1.4.5. 仮名加工情報

5.3.1.4.6. 開示請求

5.4. AIサービスの活用

5.4.1. Googleのクラウドプラットフォーム

5.4.1.1. GCP

5.4.2. IBMのコグにティブサービス

5.4.2.1. Watson

5.5. ライブラリ、ツールを使った開発

5.5.1. 自社ビジネスに特化したAIを開発可能

5.5.2. 開発手法

5.5.2.1. ウォーターフォール

5.5.2.1.1. ○:コスト、スケジュール管理がしやすく、責任が明確

5.5.2.1.2. ×:要件不足や認識違いで手戻り発生、成果物が異なることがある

5.5.2.2. アジャイル

5.5.2.2.1. ○:仕様変更に柔軟に対応、成果物に対するフィードバックが得やすい

5.5.2.2.2. ×:管理しにくく、責任の明確化は難しい

5.5.2.3. AI・データ利用に関する契約ガイドライン

5.5.2.3.1. 経済産業省@2018

5.5.2.3.2. 探索的段階型

5.5.2.3.3. データ契約

5.5.3. 運用・保守

5.5.3.1. 透明性レポート

5.5.3.1.1. プライバシーやセキュリティへの対策についてのレポート

5.5.3.2. 求められる要素

5.5.3.2.1. 透明性 Transparency

5.5.3.2.2. 説明責任の Accountability

5.5.3.2.3. 公平性 Fairness

5.5.3.2.4. 倫理 Ethics

5.5.3.3. Partnership on AI (PAI)

5.5.3.3.1. 2016年

5.5.3.3.2. 非営利組織

5.5.3.3.3. IT企業を中心に、公平性、透明生活等への取り組みを提示

5.5.3.4. 説明可能なAI

5.5.3.4.1. Explainable AI, XAI

5.5.3.5. 発生した問題

5.5.3.5.1. Google

5.5.3.5.2. Microsoft

5.5.3.5.3. COMPAS

6. 各国の取り組み

6.1. 日本

6.1.1. society 5.0

6.1.1.1. 第四次産業革命

6.1.1.1.1. 2018年

6.1.1.1.2. IoT、ビッグデータ、AI、ロボットの社会実装

6.1.2. AI人材不足は4.8万人

6.1.3. 新産業構造ビジョン

6.1.4. 人工知能学会 倫理方針

6.1.4.1. 1 人類への貢献

6.1.4.2. 2. 法規制の遵守

6.1.4.3. 3. 他社のプライバシーの尊重

6.1.4.4. 4. 公正性

6.1.4.5. 5. 安全性

6.1.4.6. 6. 誠実な振る舞い

6.1.4.6.1. 説明責任

6.1.4.7. 7. 社会に対する責任

6.1.4.8. 8. 社会との対話と自己研鑽

6.1.4.9. 9. 人工知能への倫理遵守の要請

6.2. 米国

6.2.1. 社会実装に向けた報告書3件(2016)

6.2.1.1. PREPARING FOR THE FUTURE OF ARTIFICIAL INTELLIGENCE

6.2.1.1.1. AI 実務家や学生に対して倫理観が必要であることを主張している

6.2.1.2. THE NATIONAL ARTIFICIAL INTELLIGENCE RESEARCH and DEVELOPMENT STRATEGIC PLAN

6.2.1.2.1. 判断結果の理由をユーザーに説明できる AI プログラムを開発することが必要であることを主張

6.2.1.3. ARTIFICIAL INTELLIGENCE AUTOMATION, AND THE ECONOMY

6.2.1.3.1. AI の普及が最大で 300 万件越えの雇用に影響を与える可能性があることを説いている

6.2.2. 米国産業のためのAIサミット

6.2.2.1. 2018年5月

6.3. EU

6.3.1. HORIZON Europe

6.3.1.1. 2021−2027の研究を助成対象

6.3.2. EUの新デジタル戦略(2020.2)

6.3.2.1. データガバナンスに係る法的枠組みの提案(2020Q4)

6.3.2.2. データ法の提案(2021)

6.4. ドイツ

6.4.1. AI戦略の骨子となる文書

6.4.1.1. 取り組むべき13の事項

6.4.2. デジタル戦略2025

6.5. フランス

6.5.1. AI戦略を発表

6.5.1.1. 2018年3月

6.6. 中国

6.6.1. 新世代人工知能発展計画

6.6.1.1. 2017年7月

6.6.2. インターネットプラスAI3年行動実施法案

6.6.3. 中国製造2025 (10の重点分野と23の品目で製造業の高度化)

6.7. 英国

6.7.1. RAS2020戦略

7. 自動運転技術

7.1. 非営利団体SAE

7.1.1. J3016

7.1.1.1. レベル分け

7.1.1.1.1. レベル0

7.1.1.1.2. レベル1

7.1.1.1.3. レベル2

7.1.1.1.4. レベル3

7.1.1.1.5. レベル4

7.1.1.1.6. レベル5

7.2. アプローチ方法

7.2.1. レベル1から順番に

7.2.1.1. 自動車メーカ

7.2.2. 直に自動運転アプローチ

7.2.2.1. googleとか。傘下のWaymo

7.3. 実用

7.3.1. 米国

7.3.1.1. ネバダ州では自動運転の走行や運転免許が許可制で認められた

7.3.2. 日本

7.3.2.1. まだ販売されていない

8. ドローン

8.1. 航空法

8.1.1. 飛行禁止空域(許可が必要)

8.1.1.1. 空港周辺

8.1.1.2. 人口集中地区(DID地区)

8.1.1.2.1. 国勢調査をもとに設定される統計上の地区

8.1.1.3. 高度150m以上

8.1.1.3.1. 機体直下までの高度が150m

8.1.2. 承認が必要な方法

8.1.2.1. 夜間飛行

8.1.2.2. 目視外飛行

8.1.2.2.1. ★AI

8.1.2.3. 人・ものから30m未満の飛行

8.1.2.4. イベント上空飛行

8.1.2.5. 危険物輸送

8.1.2.6. 物件投下

8.1.3. 遵守事項

8.1.3.1. 飲酒時の飛行禁止

8.1.3.2. 飛行前確認(損傷)

8.1.3.3. 衝突予防

8.1.3.4. 危険な非行の禁止

8.1.4. 200g以上→無人航空機 200g未満→模型航空機

8.2. 小型無人機等飛行禁止法

8.2.1. 重量関係なく絶対ダメ

8.2.2. 国会議事堂、官邸、国の施設、原子力事業所周辺(おおむね300mの地域)

8.3. AI

8.3.1. 目視買い飛行はリアルタイムな演算処理が必要

8.3.2. サイズ、消費電力が高負荷にならないようなAIアルゴリズムが必要

8.4. ロードマップ

8.4.1. 経産省(2016年)

8.4.1.1. 空の産業革命に向けたロードマップ

8.4.1.1.1. レベル

8.4.2. 実用分野

8.4.2.1. 物流

8.4.2.1.1. 再配達問題の解消

8.4.2.1.2. 過疎地への物流

8.4.2.2. 災害対応

8.4.2.2.1. Hec-Eye(位置情報付き知あるタイム情報配信システム)とドローンの連携実証実験(2019)

8.4.2.3. 農林水産業

8.4.2.3.1. あい作(営農支援プラットフォーム)@福島

8.4.2.4. インフラ維持管理

8.4.2.5. 警備業

8.4.2.5.1. AIスマートドローン

8.5. 世界の動向

8.5.1. Neurala社(米)

8.5.1.1. ドローン用画像認識SW

8.5.1.1.1. クラウドファンディングで話題

8.5.2. Airlitix(米)

8.5.2.1. 農作物の総合管理AI

8.5.2.1.1. 国有林の管理への応用が期待される

8.5.3. Clobotics

8.5.3.1. インフラ維持管理(中国&米)

9. コミュニティ・サービス

9.1. Kaggle

9.1.1. ビッグデータ分析に携わる人のコミュニティ、コンペティション

9.2. SIGNATE

9.2.1. Kaggleの日本版

9.3. Coursera

9.3.1. スタンフォード大学によるオンライン教育サービス

9.4. Google Scholar

9.4.1. 論文検索サービス

9.5. arXiv

9.5.1. 研究論文の公開、閲覧ができるサイト

10. 用語

10.1. アルゴリズム

10.1.1. 機械学習における計算方法

10.2. アンサンブル学習

10.2.1. 複数のモデルで学習させること

10.2.2. バギング:並列学習

10.2.3. ブースティング:順列学習

10.2.3.1. AdaBoost

10.2.3.2. 勾配ブースティング

10.3. セマンティックWeb

10.3.1. 情報リソースに意味(セマンティック)を付与すること

10.3.1.1. 人を介さずにコンピュータが自律的に処理できるようにする技術

10.4. ベイジアンネットワーク

10.4.1. 確率論に表されるモデル

10.5. 機械学習に関するカンファレンス

10.5.1. AAAI

10.5.1.1. Association or the Advancement of Artificial Intelligence

10.5.2. NeurIPS

10.5.2.1. Neural Information Processing Systems

10.5.3. WSDM

10.5.3.1. Web Search and Data Mining

10.6. ステップ関数

10.6.1. 0以下ならクラス0、0を超えるならクラス1と判断する関数

10.6.1.1. 活性化関数

10.6.2. 0で微分できないからニューラルネットワークで使えない。単純パーセプトロンだけ。

10.7. ノーフリーランチ定理

10.7.1. あらゆる問題に対して、万能なアルゴリズムは存在しない

10.8. みにくいアヒルの子定理

10.8.1. 機械学習における定式化で「普通のアヒル」と「みにくいアヒル」の区別はできない

10.9. モベラックのパラドックス

10.9.1. 機械によっては、高度な推論よりも1歳児レベルの知恵や運動スキルを身につけるようがはるかに難しいというパラドックス

10.10. LDA

10.10.1. Latent Dirichlet Allocation

10.10.1.1. 文中の単語から何がトピックス化を推定する教師なし学習手法

10.11. CTC

10.11.1. Connectionist Temporal Classification

10.11.1.1. 入出力間で系列長が違う場合のニューラルネットワークを用いた分類法

10.12. Hadoop

10.12.1. ソフトウェア基盤

10.12.1.1. 分散技術を用いる

10.12.2. 並列処理を行うためのプログラミングモデル

10.12.2.1. MapReduce

10.12.3. 2012年にDistBelief

10.12.3.1. データの分散並列技術

10.12.3.1.1. 専用のSWが必要

10.12.3.2. より汎用性のあるTensor Flowに発展

10.13. 共変量シフト

10.13.1. 学習システムへの入力分布の変化

10.13.2. 内部共変量シフト

10.13.2.1. ニューラルネットワークは前層の出力分布が固定という過程で重みが更新されるけど、実際は前の層も更新されて出力分布が変化する現象

10.13.2.1.1. バッチ正規化で対応

10.14. 次元の呪い

10.14.1. データの次元が増加すると問題の算法が指数関数的におおきくなること

10.15. 確定的モデルと確率的モデル

10.15.1. 確定的

10.15.1.1. CNN, RNN, 積層オートエンコーダ

10.15.2. 確率的

10.15.2.1. 深層ボルツマンマシン

10.16. Mecab

10.16.1. 形態素解析エンジン

10.16.1.1. googleエンジニアで日本人が開発

10.17. Julius

10.17.1. 機械学習炭の音響モデルを搭載した汎用大語彙連続音声認識エンジン

10.18. Open NLP

10.18.1. 資源前後処理のツールキット

10.19. 表現学習

10.19.1. 画像、音声、言語から特徴表現を自動的に抽出する学習(=ディープラーニング)

10.19.2. 内部表現

10.19.2.1. ディープラーニングで自動的に獲得された特徴量

10.19.3. 良い表現の一般的な事前知識

10.19.3.1. 滑らかさ

10.19.3.2. 複数の説明変数

10.19.3.3. 説明要因の階層的構造

10.19.3.4. 半教師有学習

10.19.3.5. タスク間の共通要因

10.19.3.6. 多様体

10.19.3.7. 自然なクラスタ化

10.19.3.8. 時間的空間的一貫性

10.19.3.9. スパース性(データ分布のまばらさ)

10.19.3.10. 要因の依存の単純性

10.19.4. ディープラーニングのアプローチ

10.19.4.1. 説明要因の階層的構造

10.19.4.2. タスク間の共通要因

10.19.4.3. 要因の依存の単純性

10.20. 最尤推定法

10.20.1. ある係数パラメータが与えられたときにモデルが実データを予測する確率(尤度)が最大化する係数パラメータを求める方法(統計学)

10.21. 計算問題

10.21.1. dx/dy

10.21.1.1. ライプニッツの記法

10.21.2. 線形代数

10.21.2.1. ベクトル、行列のこと

10.21.3. NumPy

10.21.3.1. 線形代数の計算に強いライブラリ

10.21.4. Scikit-learn

10.21.4.1. 機械学習全般に強いライブラリ

10.21.5. SciPy

10.21.5.1. 確立統計に強いライブラリ

10.21.6. seaborn

10.21.6.1. グラフを描くためのライブラリ

10.21.7. 記述統計

10.21.7.1. 手元のデータの分析を行う

10.21.8. 推計統計

10.21.8.1. 手元のデータの背後にある母集団の性質を予測する

10.21.9. Open CV

10.21.9.1. 画像処理に特化したライブラリ

10.22. Partnership on AI

10.22.1. 非営利団体。グーグル、マイクロソフト

10.23. FAT

10.23.1. AIの公平性、説明可能性、透明性

10.23.1.1. Fairness Accountability, Transparency

10.23.1.1.1. 品質基準の1つとなりえる

10.23.1.1.2. Trusted Quality AI

10.24. スタッキング

10.24.1. 複数の機械学習モデルを積み重ねて精度を上げる手法

11. ディープラーニング

11.1. ニューラルネットワーク

11.1.1. ニューロン

11.1.1.1. 神経回路を模擬

11.1.1.1.1. 1を出力するとき 「ニューロンが発火」

11.1.1.2. 重みづけとバイアスがある。 →パラメータと呼ぶ。

11.1.2. 種類

11.1.2.1. 単純パーセプトロン

11.1.2.1.1. 入力層と出力層のみ

11.1.2.2. 多層パーセプトロン

11.1.2.2.1. 隠れ層がある

11.1.3. 課題

11.1.3.1. 勾配消失問題

11.1.3.1.1. 隠れ層を深くし過ぎて、誤差が小さくなりすぎる。

11.1.3.2. 学習に時間がかかる

11.1.3.2.1. パラメータは乱数で初期化されてうまくいかない場合も

11.1.3.3. 解消法

11.1.3.3.1. 事前学習(古い)

11.1.3.3.2. 事前学習無し(近年)

11.1.4. LeNet

11.1.4.1. ヤン・ルカンが提唱したニューラルネットワークの名称

11.1.5. 設計手法

11.1.5.1. Define and Run

11.1.5.1.1. ニューラルネットワークを固定して、そのネットワークにデータを流して演算

11.1.5.1.2. 静的なニューラルネットワーク

11.1.5.1.3. 途中経過が確認しにくい

11.1.5.1.4. Tensor Flow

11.1.5.1.5. Caffe

11.1.5.1.6. MXNet

11.1.5.2. Define by Run

11.1.5.2.1. 動的なニューラルネットワーク

11.1.5.2.2. データを流しながら固定と演算を行う。

11.1.5.2.3. 途中が確認できてデバックが楽&結果に応じて処理内容を変えられる

11.1.5.2.4. 言語処理、RNNで有効

11.1.5.2.5. Chainer

11.1.5.2.6. PyTorch

11.1.5.2.7. TensorFlow(一部)

11.1.5.3. 記述方法

11.1.5.3.1. 設定ファイル

11.1.5.3.2. プログラム

11.2. ハード類

11.2.1. ムーアの法則

11.2.1.1. 半導体の集積率は18ヶ月ごとに2倍

11.2.1.1.1. ゴードン・ムーア@インテル

11.2.2. CPU

11.2.2.1. 順列処理が得意

11.2.2.2. コア数 2~8個

11.2.3. GPU

11.2.3.1. 画像処理演算

11.2.3.1.1. 並列演算処理が得意

11.2.3.2. コア数 数千個

11.2.4. GPGPU

11.2.4.1. General-Purpose computing on GPU

11.2.4.1.1. 画像処理以外の目的に応用する技術

11.2.4.2. CUDA by NVIDIA

11.2.4.2.1. C言語を拡張

11.2.4.3. TPU by Google

11.2.4.3.1. テンソル計算処理に最適化

11.2.5. 作成したモデルからの推論

11.2.5.1. 計算性能は低くても良い

11.2.6. 学習時:入出力、格納、転送

11.2.6.1. 高い計算能力が必要

11.3. データ量

11.3.1. バーニーおじさんのルール

11.3.1.1. モデルのパラメータ数の10倍

11.3.1.1.1. 経験則

11.3.2. データの傾向を事前に把握するための処理

11.3.2.1. 基礎集計

11.3.3. 特徴量の設計

11.3.3.1. 特徴量エンジニアリング

11.3.3.1.1. モデルが認識しやすい特徴をデータから作ること

11.3.3.1.2. カテゴリカル変数

11.3.3.1.3. 日付データの変換

11.3.3.1.4. 多項式特徴量を生成

11.3.4. 欠損の扱い

11.3.4.1. リストワイズ法

11.3.4.1.1. 欠損のあるサンプルは削除、

11.4. 仕組み

11.4.1. 活性化関数

11.4.1.1. シグモイド関数

11.4.1.1.1. 隠れ層にも出力層にも適用可

11.4.1.1.2. 逆伝番時の勾配消失問題

11.4.1.2. ソフトマックス関数

11.4.1.2.1. 出力層のみ

11.4.1.3. tanh関数

11.4.1.3.1. ハイパボリックタンジェント関数 (双曲線正接関数)

11.4.1.4. ReLU関数 (正規化線形関数)

11.4.1.4.1. Rectified Linear Unit (ランプ)関数

11.4.1.5. Leaky ReLU関数

11.4.1.5.1. 入力0以下の時にわずかに傾きがある

11.4.1.6. Parametric ReLU

11.4.1.6.1. Leakyの入力0以下の場合の傾きを学習によって最適化

11.4.1.7. Randomized ReLU

11.4.1.7.1. Leakyの傾きを乱数によって決定する

11.4.1.8. MaxOut

11.4.1.8.1. 複数の線形関数の中での最大値を利用

11.4.1.9. どれが一概に良いかは言えない。

11.5. 最適化手法

11.5.1. 誤差の最小化

11.5.1.1. 誤差(残差)

11.5.1.1.1. 誤差関数(損失関数)を通すと得られる

11.5.1.2. 分布を直セル学習する場合

11.5.1.2.1. KLダイバージェンス

11.5.1.3. 損失関数にパラメータの二乗ノルムを加えるとL2正則化

11.5.1.4. 損失関数

11.5.1.4.1. 回帰

11.5.1.4.2. 分類

11.5.2. 学習率

11.5.2.1. 重みの更新量を調整するパラメータ

11.5.2.1.1. 調整後の重み=重み-学習率×誤差関数を重みについて偏微分

11.5.2.2. 大きい

11.5.2.2.1. 収束は速い

11.5.2.2.2. コスト損失の値は大きくなる

11.5.2.3. 小さい

11.5.2.3.1. コスト損失の高い局所最適解から抜け出せない。

11.5.2.3.2. 収束に時間がかかる

11.5.2.3.3. コスト損失の最終的な値は小さくなりやすい

11.5.3. パラメータの場合

11.5.3.1. 勾配のマイナス方向にパラメータを動かす

11.5.3.2. 手法

11.5.3.2.1. 確率的勾配降下法(SGD)

11.5.3.2.2. 最急降下法

11.5.3.3. 勾配降下法の課題

11.5.3.3.1. 局所最適解/停留点にはまって大域最適解にたどり着けない

11.5.3.3.2. モーメンタム

11.5.3.3.3. AdaGrad

11.5.3.4. データの渡し方

11.5.3.4.1. 一括でパラメータを更新する方法

11.5.3.4.2. 一件ずつ都度更新

11.5.3.4.3. 一定ごとに分割して渡す

11.5.3.5. 人が調整するパラメータ

11.5.3.5.1. ハイパーパラメータ

11.6. 重みの初期値

11.6.1. Xavierの初期値

11.6.1.1. シグモイド関数、tanh関数を使用する場合

11.6.2. Heの初期値

11.6.2.1. ReLU関数を用いる場合

11.7. 過学習防止

11.7.1. ドロップアウト

11.7.1.1. 一定の確率でユニットをランダムに無効にする

11.7.1.1.1. 毎回違った構成で学習

11.7.2. Early stopping

11.7.2.1. 汎化性能が増加し始める直前で学習を終了

11.7.2.1.1. 実際誤差の現象が指定した回数見られなければ終了

11.7.3. 正則化

11.7.3.1. 必要ない重みにペナルティを与える

11.7.3.1.1. L1正則化

11.7.3.1.2. L2正則化

11.7.3.1.3. Elastic Net

11.7.3.1.4. 調整はハイパーパラメータ扱い

11.7.3.2. 損失関数の値とともにモデルのパラメータの二乗和を最小になるおうに学習

11.7.3.2.1. パラメータが小さくなり、過学習対策

11.7.4. バッチ正規化

11.7.4.1. 学習を安定、速度向上効果もあり

11.7.4.2. ミニバッチ単位、隠れ層ごと

11.7.4.2.1. 伝播する値を正規化

11.7.4.3. 重みの初期値への依存性やドロップアウトの必要性低減に寄与

11.7.4.4. 内部共変量シフトの対策になる

11.7.4.4.1. 各層で出力を正規化

11.8. CNN

11.8.1. Convolution also Neural Network

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

11.8.2. 画像認識において位置関係に基づく特徴を表現可能

11.8.3. 畳み込み層とプーリング層が一塊で複数層で構成

11.8.3.1. 畳み込み層

11.8.3.1.1. ピクセルの2次元の位置関係を考慮して特徴抽出

11.8.3.1.2. フィルタ(カーネル)を用いて抽出

11.8.3.1.3. 全結合層と比較してパラメータ少ない

11.8.3.2. プーリング層

11.8.3.2.1. 物体の位置ずれを吸収&特徴を強調

11.8.3.2.2. Max プーリング

11.8.3.2.3. Averageプーリング

11.8.3.2.4. Lpプーリング

11.8.4. 位置ずれに強いこと

11.8.4.1. 移動不変性

11.8.5. 代表的なモデル

11.8.5.1. VGG

11.8.5.1.1. ILSVRC2014で2位

11.8.5.1.2. VGG-16

11.8.5.1.3. VGG-19

11.8.5.2. GoogLe Net

11.8.5.2.1. ILSVRC2014優勝

11.8.5.2.2. Inceptionモジュール

11.8.5.2.3. Auxiliary Loss

11.8.5.2.4. 全結合層の代わりGlobal Average Pooling(GAP)を導入

11.8.5.2.5. 改良版

11.8.5.3. ResNet

11.8.5.3.1. ILSVRC2015優勝

11.8.5.3.2. Shortcut connectionを用いた残差ブロックを導入

11.8.5.4. AlexNet

11.8.5.4.1. 2012優勝

11.8.5.4.2. パラメータ数6千万、データサンプル6億

11.8.6. 画像前処理

11.8.6.1. 局所コントラスト正規化

11.8.6.1.1. 減算正規化と除算正規化の処理

11.8.6.2. グレースケール化

11.8.6.2.1. 白黒画像に変換して計算量を削減

11.8.6.3. 平滑化

11.8.6.3.1. 細かいノイズの除去

11.8.6.4. ヒストグラム化

11.8.6.4.1. 画素ごとの明るさをスケーリング

11.8.7. 特徴量から画像を生成

11.8.7.1. 畳み込み層の逆動作

11.8.7.1.1. 逆畳み込み層

11.8.7.2. プーリング層の逆操作

11.8.7.2.1. アンプーリング層

11.8.7.3. タスク例:画像セグメンテーション

11.9. RNN

11.9.1. Recurrent Neural Network

11.9.1.1. 回帰結合型(再帰型)ニューラルネットワーク

11.9.1.1.1. 時系列データの扱いに適している

11.9.2. 時間ごとにデータを入力

11.9.2.1. 隠れ層の出力を次の時間の隠れ層に渡す

11.9.2.1.1. 前後関係を考慮した出力が可能

11.9.3. 時間の逆方向への誤差も伝える必要がある

11.9.3.1. Backpropagation Through Time(BPTT)

11.9.4. 課題

11.9.4.1. 勾配消失

11.9.4.2. 勾配爆発

11.9.4.3. 重み衝突

11.9.4.3.1. 未来に必要な情報の重みは大きく&現在に無関係な情報の重みは小さく

11.9.5. 改良版

11.9.5.1. LSTM

11.9.5.1.1. Long short-term memory

11.9.5.2. GRU

11.9.5.2.1. Gated recurrent Unit

11.9.6. BiRNN

11.9.6.1. Bidirectional RNN

11.9.6.1.1. 双方向RNN

11.9.6.2. 未来方向と過去方向のRNNを組み合わせ

11.9.6.2.1. 翻訳みたいに文章全体がわかっている場合等

11.9.6.2.2. 直接は繋がない。

11.10. 学習済みモデルの利用

11.10.1. 転移学習

11.10.1.1. 他のタスクにモデルを適用する手法

11.10.1.2. 出力層の代わりに新たな層(特定業務用)を追加する

11.10.1.2.1. 重みは更新しない

11.10.1.3. 共通処理に有効

11.10.2. 蒸留

11.10.2.1. 分類問題、教師ありのモデルを使用

11.10.2.2. 学習済みモデルの予測結果を正解ラベルにして別のモデルに学習させる

11.10.2.2.1. 学習済みモデル

11.10.2.2.2. 新しいモデル

11.10.2.2.3. 普通は1か0だが、これだとクラス間の類似度も学習可能

11.10.2.2.4. 過学習の緩和が可能

11.11. 利点欠点

11.11.1. 利点

11.11.1.1. 層を深くするほど複雑な関数の精度の高い近似が可能

11.11.2. 欠点

11.11.2.1. 過学習を起こしやすい

11.11.2.2. 調整するパラメータが多い

11.11.2.3. 勾配消失問題が起こる

11.12. adversarial example

11.12.1. 学習済ディープニューラルネットワークモデルを欺くように人工的に作られたサンプル

11.12.1.1. サンプルに対し微小な摂動を鞍和、作為的にモデルのご認識を引き起こすことが可能

12. 強化学習

12.1. AIが選択した行動に対して結果の状態と報酬を与える

12.1.1. 報酬が最大になるように選択の組み合わせを学習率

12.2. 行動を選択するもの

12.2.1. エージェント

12.3. 状態や報酬を計算

12.3.1. 環境

12.4. Q値

12.4.1. 最終的な報酬の期待値

12.4.1.1. 状態行動価値

12.4.1.1.1. これが最大になるように学習

12.4.2. Q関数

12.4.2.1. 状態行動価値関数

12.4.2.1.1. Q(状態、行動)=報酬+γMax(Q:次の状態、次にとれる全ての行動)

12.4.3. 課題

12.4.3.1. ゴールまで全部計算しないといけない

12.4.3.1.1. 実際は行動させて得られたQ値を元に更新

12.5. 深層強化学習

12.5.1. ディープラーニングを組み合わせたもの

12.5.2. Q値+ディープラーニング

12.5.2.1. DQN

12.5.2.1.1. Deep Q Network

12.5.2.1.2. Q値と出力された値の誤差が小さくなるよう学習

12.5.2.1.3. DDQN、Dueling Network

12.6. セルフプレイ

12.6.1. AIが自分自身と対局して学習する

12.6.1.1. AlphaGoZero

12.6.1.1.1. AlphaGoより強い

13. 生成モデル

13.1. データを生成するモデル

13.1.1. ラフなスケッチから写真のような画像を生成したり

13.1.1.1. GauGAN by NVIDIA

13.2. 深層生成モデル

13.2.1. ディープラーニングを取り入れた

13.2.2. VAE

13.2.2.1. Variational Auto Encoder

13.2.2.2. 平均や分散を求める生成モデル

13.2.3. GAN

13.2.3.1. Generated Adversarial Network

13.2.3.1.1. 敵対的生成ネットワーク

13.2.3.1.2. adversarial example

13.2.3.2. DCGAN

13.2.3.2.1. Deep Convolutional GAN

13.2.3.2.2. CNNをとりこみ。

13.2.3.3. イアン・グッドフェロー考案

13.2.3.4. この10年で最もおもしろいアイディア by ヤン・ルカン

13.2.3.5. 教師なし学習

13.3. deep Dream

13.3.1. google@2015

14. 対策

14.1. 主成分分析とオートエンコーダの共通点は、どちらも次元圧縮、教師なし学習ができることである

14.2. FCNは入力画像の各画素がどのカテゴリーに属するのかを出力できるセマンティックセグメーションというアプローチに属する。

14.3. クラスタリングの手法:K-means法、x-means、Ward法

14.4. 単純パーセプトロンの誤差関数はヒンジ損失関数

14.5. GANは教師なし学習

14.6. 自然言語処理:Memory Networksというネットワークは、 PassageとQuestionとAnswerのペアを学習させると、 未知なるPassageとQuestionのペアを渡すと、 そこからAnswerを返すということが可能である。 国語の読解問題を解くことなどに応用でき、 LSTM以上の長期記憶を実現している。

14.7. アクセンチュアが年次調査レポートで発表したDARQとは、 ブロックチェーン、人工知能、拡張・強化現実、量子コンピュータの 4つのテクノロジーからとったものだ。

14.8. 情報処理に用いられる何らかのコンピューティングリソースを、 インターネットを通じたサービスとして提供することや、 そうしたサービスの総称をXaasと呼ぶ。

14.9. 単語をベクトルで表現することを分散表現

14.10. 機械翻訳で利用されるTransofomerや BERTなど、自然言語処理で今活躍しているものは Attentionベースのネットワークが用いられている。 Attentionの基本的な仕組みは、queryとkeyとmemoryである。 queryはkeyにより、取得するmemoryを決定し、 対応するvalueを取得する。

14.11. 順伝播型ニューラルネットワーク:FFNN, CNN

14.12. 再帰型ニューラルネットワーク: GRU, RNN, LSTM

14.13. 2019/10以降、自動運転付き新車は65秒以上手を放すと手動運転に切り替える仕組みを義務付けた

14.14. 世界初の汎用電子計算機は、ENIACである。

14.15. NOLS

14.15.1. Non Line of sight

14.15.1.1. 直接見えない物体を別の物体からの反射光を利用して認識

14.16. GQN

14.16.1. 2次元画像から3次元モデル生成

14.17. DeepFace

14.17.1. Facebook

14.17.1.1. 9層ネットワーク 1億2000万のおもみけいすう

14.17.1.1.1. 97.35%

14.17.2. Face++, MageFace, FaceNet

14.18. CACE

14.18.1. Changing Anything, Changing Everything

14.18.1.1. 品質保証

14.18.1.1.1. QA4AI

14.19. 2012にgoogleがyoutubeの猫認識

14.20. レコメンデーションシステム

14.20.1. 協調ベースフィルタリング

14.20.1.1. 購買履歴をもとにおすすめ

14.20.2. 内容ベースフィルタリング (コンテンツベース)

14.20.2.1. アイテムの特徴をもとにおすすめ

14.21. 言語モデル

14.21.1. 人間の言語は非常に精密に確立によって数学的に定義づけられている

14.21.2. ニューラルネットワークで近似

14.21.2.1. ニューラル言語モデル

14.22. 勾配降下法と誤差逆伝播法

14.22.1. 勾配降下法

14.22.1.1. 出力予測をして誤差を計算、誤差の勾配を計算して逆方向に重みを更新

14.22.2. 誤差逆伝播法

14.22.2.1. 要素ごとに微分する。x1, x2, x3とかいっぱいあるときに便利