1. 自動運転技術
1.1. 非営利団体SAE
1.1.1. J3016
1.1.1.1. レベル分け
1.1.1.1.1. レベル0
1.1.1.1.2. レベル1
1.1.1.1.3. レベル2
1.1.1.1.4. レベル3
1.1.1.1.5. レベル4
1.1.1.1.6. レベル5
1.2. アプローチ方法
1.2.1. レベル1から順番に
1.2.1.1. 自動車メーカ
1.2.2. 直に自動運転アプローチ
1.2.2.1. googleとか。傘下のWaymo
1.3. 実用
1.3.1. 米国
1.3.1.1. ネバダ州では自動運転の走行や運転免許が許可制で認められた
1.3.2. 日本
1.3.2.1. まだ販売されていない
2. コミュニティ・サービス
2.1. Kaggle
2.1.1. ビッグデータ分析に携わる人のコミュニティ、コンペティション
2.2. SIGNATE
2.2.1. Kaggleの日本版
2.3. Coursera
2.3.1. スタンフォード大学によるオンライン教育サービス
2.4. Google Scholar
2.4.1. 論文検索サービス
2.5. arXiv
2.5.1. 研究論文の公開、閲覧ができるサイト
3. 用語
3.1. アルゴリズム
3.1.1. 機械学習における計算方法
3.2. アンサンブル学習
3.2.1. 複数のモデルで学習させること
3.2.2. バギング:並列学習
3.2.3. ブースティング:順列学習
3.2.3.1. AdaBoost
3.2.3.2. 勾配ブースティング
3.3. セマンティックWeb
3.3.1. 情報リソースに意味(セマンティック)を付与すること
3.3.1.1. 人を介さずにコンピュータが自律的に処理できるようにする技術
3.4. ベイジアンネットワーク
3.4.1. 確率論に表されるモデル
3.5. 機械学習に関するカンファレンス
3.5.1. AAAI
3.5.1.1. Association or the Advancement of Artificial Intelligence
3.5.2. NeurIPS
3.5.2.1. Neural Information Processing Systems
3.5.3. WSDM
3.5.3.1. Web Search and Data Mining
3.6. ステップ関数
3.6.1. 0以下ならクラス0、0を超えるならクラス1と判断する関数
3.6.1.1. 活性化関数
3.6.2. 0で微分できないからニューラルネットワークで使えない。単純パーセプトロンだけ。
3.7. ノーフリーランチ定理
3.7.1. あらゆる問題に対して、万能なアルゴリズムは存在しない
3.8. みにくいアヒルの子定理
3.8.1. 機械学習における定式化で「普通のアヒル」と「みにくいアヒル」の区別はできない
3.9. モベラックのパラドックス
3.9.1. 機械によっては、高度な推論よりも1歳児レベルの知恵や運動スキルを身につけるようがはるかに難しいというパラドックス
3.10. LDA
3.10.1. Latent Dirichlet Allocation
3.10.1.1. 文中の単語から何がトピックス化を推定する教師なし学習手法
3.11. CTC
3.11.1. Connectionist Temporal Classification
3.11.1.1. 入出力間で系列長が違う場合のニューラルネットワークを用いた分類法
3.12. Hadoop
3.12.1. ソフトウェア基盤
3.12.1.1. 分散技術を用いる
3.12.2. 並列処理を行うためのプログラミングモデル
3.12.2.1. MapReduce
3.12.3. 2012年にDistBelief
3.12.3.1. データの分散並列技術
3.12.3.1.1. 専用のSWが必要
3.12.3.2. より汎用性のあるTensor Flowに発展
3.13. 共変量シフト
3.13.1. 学習システムへの入力分布の変化
3.13.2. 内部共変量シフト
3.13.2.1. ニューラルネットワークは前層の出力分布が固定という過程で重みが更新されるけど、実際は前の層も更新されて出力分布が変化する現象
3.13.2.1.1. バッチ正規化で対応
3.14. 次元の呪い
3.14.1. データの次元が増加すると問題の算法が指数関数的におおきくなること
3.15. 確定的モデルと確率的モデル
3.15.1. 確定的
3.15.1.1. CNN, RNN, 積層オートエンコーダ
3.15.2. 確率的
3.15.2.1. 深層ボルツマンマシン
3.16. Mecab
3.16.1. 形態素解析エンジン
3.16.1.1. googleエンジニアで日本人が開発
3.17. Julius
3.17.1. 機械学習炭の音響モデルを搭載した汎用大語彙連続音声認識エンジン
3.18. Open NLP
3.18.1. 資源前後処理のツールキット
3.19. 表現学習
3.19.1. 画像、音声、言語から特徴表現を自動的に抽出する学習(=ディープラーニング)
3.19.2. 内部表現
3.19.2.1. ディープラーニングで自動的に獲得された特徴量
3.19.3. 良い表現の一般的な事前知識
3.19.3.1. 滑らかさ
3.19.3.2. 複数の説明変数
3.19.3.3. 説明要因の階層的構造
3.19.3.4. 半教師有学習
3.19.3.5. タスク間の共通要因
3.19.3.6. 多様体
3.19.3.7. 自然なクラスタ化
3.19.3.8. 時間的空間的一貫性
3.19.3.9. スパース性(データ分布のまばらさ)
3.19.3.10. 要因の依存の単純性
3.19.4. ディープラーニングのアプローチ
3.19.4.1. 説明要因の階層的構造
3.19.4.2. タスク間の共通要因
3.19.4.3. 要因の依存の単純性
3.20. 最尤推定法
3.20.1. ある係数パラメータが与えられたときにモデルが実データを予測する確率(尤度)が最大化する係数パラメータを求める方法(統計学)
3.21. 計算問題
3.21.1. dx/dy
3.21.1.1. ライプニッツの記法
3.21.2. 線形代数
3.21.2.1. ベクトル、行列のこと
3.21.3. NumPy
3.21.3.1. 線形代数の計算に強いライブラリ
3.21.4. Scikit-learn
3.21.4.1. 機械学習全般に強いライブラリ
3.21.5. SciPy
3.21.5.1. 確立統計に強いライブラリ
3.21.6. seaborn
3.21.6.1. グラフを描くためのライブラリ
3.21.7. 記述統計
3.21.7.1. 手元のデータの分析を行う
3.21.8. 推計統計
3.21.8.1. 手元のデータの背後にある母集団の性質を予測する
3.21.9. Open CV
3.21.9.1. 画像処理に特化したライブラリ
3.22. Partnership on AI
3.22.1. 非営利団体。グーグル、マイクロソフト
3.23. FAT
3.23.1. AIの公平性、説明可能性、透明性
3.23.1.1. Fairness Accountability, Transparency
3.23.1.1.1. 品質基準の1つとなりえる
3.23.1.1.2. Trusted Quality AI
3.24. スタッキング
3.24.1. 複数の機械学習モデルを積み重ねて精度を上げる手法
4. ディープラーニング
4.1. ニューラルネットワーク
4.1.1. ニューロン
4.1.1.1. 神経回路を模擬
4.1.1.1.1. 1を出力するとき 「ニューロンが発火」
4.1.1.2. 重みづけとバイアスがある。 →パラメータと呼ぶ。
4.1.2. 種類
4.1.2.1. 単純パーセプトロン
4.1.2.1.1. 入力層と出力層のみ
4.1.2.2. 多層パーセプトロン
4.1.2.2.1. 隠れ層がある
4.1.3. 課題
4.1.3.1. 勾配消失問題
4.1.3.1.1. 隠れ層を深くし過ぎて、誤差が小さくなりすぎる。
4.1.3.2. 学習に時間がかかる
4.1.3.2.1. パラメータは乱数で初期化されてうまくいかない場合も
4.1.3.3. 解消法
4.1.3.3.1. 事前学習(古い)
4.1.3.3.2. 事前学習無し(近年)
4.1.4. LeNet
4.1.4.1. ヤン・ルカンが提唱したニューラルネットワークの名称
4.1.5. 設計手法
4.1.5.1. Define and Run
4.1.5.1.1. ニューラルネットワークを固定して、そのネットワークにデータを流して演算
4.1.5.1.2. 静的なニューラルネットワーク
4.1.5.1.3. 途中経過が確認しにくい
4.1.5.1.4. Tensor Flow
4.1.5.1.5. Caffe
4.1.5.1.6. MXNet
4.1.5.2. Define by Run
4.1.5.2.1. 動的なニューラルネットワーク
4.1.5.2.2. データを流しながら固定と演算を行う。
4.1.5.2.3. 途中が確認できてデバックが楽&結果に応じて処理内容を変えられる
4.1.5.2.4. 言語処理、RNNで有効
4.1.5.2.5. Chainer
4.1.5.2.6. PyTorch
4.1.5.2.7. TensorFlow(一部)
4.1.5.3. 記述方法
4.1.5.3.1. 設定ファイル
4.1.5.3.2. プログラム
4.2. ハード類
4.2.1. ムーアの法則
4.2.1.1. 半導体の集積率は18ヶ月ごとに2倍
4.2.1.1.1. ゴードン・ムーア@インテル
4.2.2. CPU
4.2.2.1. 順列処理が得意
4.2.2.2. コア数 2~8個
4.2.3. GPU
4.2.3.1. 画像処理演算
4.2.3.1.1. 並列演算処理が得意
4.2.3.2. コア数 数千個
4.2.4. GPGPU
4.2.4.1. General-Purpose computing on GPU
4.2.4.1.1. 画像処理以外の目的に応用する技術
4.2.4.2. CUDA by NVIDIA
4.2.4.2.1. C言語を拡張
4.2.4.3. TPU by Google
4.2.4.3.1. テンソル計算処理に最適化
4.2.5. 作成したモデルからの推論
4.2.5.1. 計算性能は低くても良い
4.2.6. 学習時:入出力、格納、転送
4.2.6.1. 高い計算能力が必要
4.3. データ量
4.3.1. バーニーおじさんのルール
4.3.1.1. モデルのパラメータ数の10倍
4.3.1.1.1. 経験則
4.3.2. データの傾向を事前に把握するための処理
4.3.2.1. 基礎集計
4.3.3. 特徴量の設計
4.3.3.1. 特徴量エンジニアリング
4.3.3.1.1. モデルが認識しやすい特徴をデータから作ること
4.3.3.1.2. カテゴリカル変数
4.3.3.1.3. 日付データの変換
4.3.3.1.4. 多項式特徴量を生成
4.3.4. 欠損の扱い
4.3.4.1. リストワイズ法
4.3.4.1.1. 欠損のあるサンプルは削除、
4.4. 仕組み
4.4.1. 活性化関数
4.4.1.1. シグモイド関数
4.4.1.1.1. 隠れ層にも出力層にも適用可
4.4.1.1.2. 逆伝番時の勾配消失問題
4.4.1.2. ソフトマックス関数
4.4.1.2.1. 出力層のみ
4.4.1.3. tanh関数
4.4.1.3.1. ハイパボリックタンジェント関数 (双曲線正接関数)
4.4.1.4. ReLU関数 (正規化線形関数)
4.4.1.4.1. Rectified Linear Unit (ランプ)関数
4.4.1.5. Leaky ReLU関数
4.4.1.5.1. 入力0以下の時にわずかに傾きがある
4.4.1.6. Parametric ReLU
4.4.1.6.1. Leakyの入力0以下の場合の傾きを学習によって最適化
4.4.1.7. Randomized ReLU
4.4.1.7.1. Leakyの傾きを乱数によって決定する
4.4.1.8. MaxOut
4.4.1.8.1. 複数の線形関数の中での最大値を利用
4.4.1.9. どれが一概に良いかは言えない。
4.5. 最適化手法
4.5.1. 誤差の最小化
4.5.1.1. 誤差(残差)
4.5.1.1.1. 誤差関数(損失関数)を通すと得られる
4.5.1.2. 分布を直セル学習する場合
4.5.1.2.1. KLダイバージェンス
4.5.1.3. 損失関数にパラメータの二乗ノルムを加えるとL2正則化
4.5.1.4. 損失関数
4.5.1.4.1. 回帰
4.5.1.4.2. 分類
4.5.2. 学習率
4.5.2.1. 重みの更新量を調整するパラメータ
4.5.2.1.1. 調整後の重み=重み-学習率×誤差関数を重みについて偏微分
4.5.2.2. 大きい
4.5.2.2.1. 収束は速い
4.5.2.2.2. コスト損失の値は大きくなる
4.5.2.3. 小さい
4.5.2.3.1. コスト損失の高い局所最適解から抜け出せない。
4.5.2.3.2. 収束に時間がかかる
4.5.2.3.3. コスト損失の最終的な値は小さくなりやすい
4.5.3. パラメータの場合
4.5.3.1. 勾配のマイナス方向にパラメータを動かす
4.5.3.2. 手法
4.5.3.2.1. 確率的勾配降下法(SGD)
4.5.3.2.2. 最急降下法
4.5.3.3. 勾配降下法の課題
4.5.3.3.1. 局所最適解/停留点にはまって大域最適解にたどり着けない
4.5.3.3.2. モーメンタム
4.5.3.3.3. AdaGrad
4.5.3.4. データの渡し方
4.5.3.4.1. 一括でパラメータを更新する方法
4.5.3.4.2. 一件ずつ都度更新
4.5.3.4.3. 一定ごとに分割して渡す
4.5.3.5. 人が調整するパラメータ
4.5.3.5.1. ハイパーパラメータ
4.6. 重みの初期値
4.6.1. Xavierの初期値
4.6.1.1. シグモイド関数、tanh関数を使用する場合
4.6.2. Heの初期値
4.6.2.1. ReLU関数を用いる場合
4.7. 過学習防止
4.7.1. ドロップアウト
4.7.1.1. 一定の確率でユニットをランダムに無効にする
4.7.1.1.1. 毎回違った構成で学習
4.7.2. Early stopping
4.7.2.1. 汎化性能が増加し始める直前で学習を終了
4.7.2.1.1. 実際誤差の現象が指定した回数見られなければ終了
4.7.3. 正則化
4.7.3.1. 必要ない重みにペナルティを与える
4.7.3.1.1. L1正則化
4.7.3.1.2. L2正則化
4.7.3.1.3. Elastic Net
4.7.3.1.4. 調整はハイパーパラメータ扱い
4.7.3.2. 損失関数の値とともにモデルのパラメータの二乗和を最小になるおうに学習
4.7.3.2.1. パラメータが小さくなり、過学習対策
4.7.4. バッチ正規化
4.7.4.1. 学習を安定、速度向上効果もあり
4.7.4.2. ミニバッチ単位、隠れ層ごと
4.7.4.2.1. 伝播する値を正規化
4.7.4.3. 重みの初期値への依存性やドロップアウトの必要性低減に寄与
4.7.4.4. 内部共変量シフトの対策になる
4.7.4.4.1. 各層で出力を正規化
4.8. CNN
4.8.1. Convolution also Neural Network
4.8.1.1. 畳み込みニューラルネットワーク
4.8.2. 画像認識において位置関係に基づく特徴を表現可能
4.8.3. 畳み込み層とプーリング層が一塊で複数層で構成
4.8.3.1. 畳み込み層
4.8.3.1.1. ピクセルの2次元の位置関係を考慮して特徴抽出
4.8.3.1.2. フィルタ(カーネル)を用いて抽出
4.8.3.1.3. 全結合層と比較してパラメータ少ない
4.8.3.2. プーリング層
4.8.3.2.1. 物体の位置ずれを吸収&特徴を強調
4.8.3.2.2. Max プーリング
4.8.3.2.3. Averageプーリング
4.8.3.2.4. Lpプーリング
4.8.4. 位置ずれに強いこと
4.8.4.1. 移動不変性
4.8.5. 代表的なモデル
4.8.5.1. VGG
4.8.5.1.1. ILSVRC2014で2位
4.8.5.1.2. VGG-16
4.8.5.1.3. VGG-19
4.8.5.2. GoogLe Net
4.8.5.2.1. ILSVRC2014優勝
4.8.5.2.2. Inceptionモジュール
4.8.5.2.3. Auxiliary Loss
4.8.5.2.4. 全結合層の代わりGlobal Average Pooling(GAP)を導入
4.8.5.2.5. 改良版
4.8.5.3. ResNet
4.8.5.3.1. ILSVRC2015優勝
4.8.5.3.2. Shortcut connectionを用いた残差ブロックを導入
4.8.5.4. AlexNet
4.8.5.4.1. 2012優勝
4.8.5.4.2. パラメータ数6千万、データサンプル6億
4.8.6. 画像前処理
4.8.6.1. 局所コントラスト正規化
4.8.6.1.1. 減算正規化と除算正規化の処理
4.8.6.2. グレースケール化
4.8.6.2.1. 白黒画像に変換して計算量を削減
4.8.6.3. 平滑化
4.8.6.3.1. 細かいノイズの除去
4.8.6.4. ヒストグラム化
4.8.6.4.1. 画素ごとの明るさをスケーリング
4.8.7. 特徴量から画像を生成
4.8.7.1. 畳み込み層の逆動作
4.8.7.1.1. 逆畳み込み層
4.8.7.2. プーリング層の逆操作
4.8.7.2.1. アンプーリング層
4.8.7.3. タスク例:画像セグメンテーション
4.9. RNN
4.9.1. Recurrent Neural Network
4.9.1.1. 回帰結合型(再帰型)ニューラルネットワーク
4.9.1.1.1. 時系列データの扱いに適している
4.9.2. 時間ごとにデータを入力
4.9.2.1. 隠れ層の出力を次の時間の隠れ層に渡す
4.9.2.1.1. 前後関係を考慮した出力が可能
4.9.3. 時間の逆方向への誤差も伝える必要がある
4.9.3.1. Backpropagation Through Time(BPTT)
4.9.4. 課題
4.9.4.1. 勾配消失
4.9.4.2. 勾配爆発
4.9.4.3. 重み衝突
4.9.4.3.1. 未来に必要な情報の重みは大きく&現在に無関係な情報の重みは小さく
4.9.5. 改良版
4.9.5.1. LSTM
4.9.5.1.1. Long short-term memory
4.9.5.2. GRU
4.9.5.2.1. Gated recurrent Unit
4.9.6. BiRNN
4.9.6.1. Bidirectional RNN
4.9.6.1.1. 双方向RNN
4.9.6.2. 未来方向と過去方向のRNNを組み合わせ
4.9.6.2.1. 翻訳みたいに文章全体がわかっている場合等
4.9.6.2.2. 直接は繋がない。
4.10. 学習済みモデルの利用
4.10.1. 転移学習
4.10.1.1. 他のタスクにモデルを適用する手法
4.10.1.2. 出力層の代わりに新たな層(特定業務用)を追加する
4.10.1.2.1. 重みは更新しない
4.10.1.3. 共通処理に有効
4.10.2. 蒸留
4.10.2.1. 分類問題、教師ありのモデルを使用
4.10.2.2. 学習済みモデルの予測結果を正解ラベルにして別のモデルに学習させる
4.10.2.2.1. 学習済みモデル
4.10.2.2.2. 新しいモデル
4.10.2.2.3. 普通は1か0だが、これだとクラス間の類似度も学習可能
4.10.2.2.4. 過学習の緩和が可能
4.11. 利点欠点
4.11.1. 利点
4.11.1.1. 層を深くするほど複雑な関数の精度の高い近似が可能
4.11.2. 欠点
4.11.2.1. 過学習を起こしやすい
4.11.2.2. 調整するパラメータが多い
4.11.2.3. 勾配消失問題が起こる
4.12. adversarial example
4.12.1. 学習済ディープニューラルネットワークモデルを欺くように人工的に作られたサンプル
4.12.1.1. サンプルに対し微小な摂動を鞍和、作為的にモデルのご認識を引き起こすことが可能
5. 強化学習
5.1. AIが選択した行動に対して結果の状態と報酬を与える
5.1.1. 報酬が最大になるように選択の組み合わせを学習率
5.2. 行動を選択するもの
5.2.1. エージェント
5.3. 状態や報酬を計算
5.3.1. 環境
5.4. Q値
5.4.1. 最終的な報酬の期待値
5.4.1.1. 状態行動価値
5.4.1.1.1. これが最大になるように学習
5.4.2. Q関数
5.4.2.1. 状態行動価値関数
5.4.2.1.1. Q(状態、行動)=報酬+γMax(Q:次の状態、次にとれる全ての行動)
5.4.3. 課題
5.4.3.1. ゴールまで全部計算しないといけない
5.4.3.1.1. 実際は行動させて得られたQ値を元に更新
5.5. 深層強化学習
5.5.1. ディープラーニングを組み合わせたもの
5.5.2. Q値+ディープラーニング
5.5.2.1. DQN
5.5.2.1.1. Deep Q Network
5.5.2.1.2. Q値と出力された値の誤差が小さくなるよう学習
5.5.2.1.3. DDQN、Dueling Network
5.6. セルフプレイ
5.6.1. AIが自分自身と対局して学習する
5.6.1.1. AlphaGoZero
5.6.1.1.1. AlphaGoより強い
6. 生成モデル
6.1. データを生成するモデル
6.1.1. ラフなスケッチから写真のような画像を生成したり
6.1.1.1. GauGAN by NVIDIA
6.2. 深層生成モデル
6.2.1. ディープラーニングを取り入れた
6.2.2. VAE
6.2.2.1. Variational Auto Encoder
6.2.2.2. 平均や分散を求める生成モデル
6.2.3. GAN
6.2.3.1. Generated Adversarial Network
6.2.3.1.1. 敵対的生成ネットワーク
6.2.3.1.2. adversarial example
6.2.3.2. DCGAN
6.2.3.2.1. Deep Convolutional GAN
6.2.3.2.2. CNNをとりこみ。
6.2.3.3. イアン・グッドフェロー考案
6.2.3.4. この10年で最もおもしろいアイディア by ヤン・ルカン
6.2.3.5. 教師なし学習
6.3. deep Dream
6.3.1. google@2015
7. 対策
7.1. 主成分分析とオートエンコーダの共通点は、どちらも次元圧縮、教師なし学習ができることである
7.2. FCNは入力画像の各画素がどのカテゴリーに属するのかを出力できるセマンティックセグメーションというアプローチに属する。
7.3. クラスタリングの手法:K-means法、x-means、Ward法
7.4. 単純パーセプトロンの誤差関数はヒンジ損失関数
7.5. GANは教師なし学習
7.6. 自然言語処理:Memory Networksというネットワークは、 PassageとQuestionとAnswerのペアを学習させると、 未知なるPassageとQuestionのペアを渡すと、 そこからAnswerを返すということが可能である。 国語の読解問題を解くことなどに応用でき、 LSTM以上の長期記憶を実現している。
7.7. アクセンチュアが年次調査レポートで発表したDARQとは、 ブロックチェーン、人工知能、拡張・強化現実、量子コンピュータの 4つのテクノロジーからとったものだ。
7.8. 情報処理に用いられる何らかのコンピューティングリソースを、 インターネットを通じたサービスとして提供することや、 そうしたサービスの総称をXaasと呼ぶ。
7.9. 単語をベクトルで表現することを分散表現
7.10. 機械翻訳で利用されるTransofomerや BERTなど、自然言語処理で今活躍しているものは Attentionベースのネットワークが用いられている。 Attentionの基本的な仕組みは、queryとkeyとmemoryである。 queryはkeyにより、取得するmemoryを決定し、 対応するvalueを取得する。
7.11. 順伝播型ニューラルネットワーク:FFNN, CNN
7.12. 再帰型ニューラルネットワーク: GRU, RNN, LSTM
7.13. 2019/10以降、自動運転付き新車は65秒以上手を放すと手動運転に切り替える仕組みを義務付けた
7.14. 世界初の汎用電子計算機は、ENIACである。
7.15. NOLS
7.15.1. Non Line of sight
7.15.1.1. 直接見えない物体を別の物体からの反射光を利用して認識
7.16. GQN
7.16.1. 2次元画像から3次元モデル生成
7.17. DeepFace
7.17.1. Facebook
7.17.1.1. 9層ネットワーク 1億2000万のおもみけいすう
7.17.1.1.1. 97.35%
7.17.2. Face++, MageFace, FaceNet
7.18. CACE
7.18.1. Changing Anything, Changing Everything
7.18.1.1. 品質保証
7.18.1.1.1. QA4AI
7.19. 2012にgoogleがyoutubeの猫認識
7.20. レコメンデーションシステム
7.20.1. 協調ベースフィルタリング
7.20.1.1. 購買履歴をもとにおすすめ
7.20.2. 内容ベースフィルタリング (コンテンツベース)
7.20.2.1. アイテムの特徴をもとにおすすめ
7.21. 言語モデル
7.21.1. 人間の言語は非常に精密に確立によって数学的に定義づけられている
7.21.2. ニューラルネットワークで近似
7.21.2.1. ニューラル言語モデル
7.22. 勾配降下法と誤差逆伝播法
7.22.1. 勾配降下法
7.22.1.1. 出力予測をして誤差を計算、誤差の勾配を計算して逆方向に重みを更新
7.22.2. 誤差逆伝播法
7.22.2.1. 要素ごとに微分する。x1, x2, x3とかいっぱいあるときに便利
8. AIの基礎知識
8.1. AIという言葉
8.1.1. ダートマス会議@1956年アメリカ
8.1.2. ジョン・マッカーシー
8.2. AIの定義
8.2.1. 決まっていない。 人間の知能や知的活動を再現したもの
8.2.1.1. アラン・チューリング
8.2.1.1.1. アウトプットこそが知能
8.2.2. 計算機による知的な情報処理システムの設計や実現
8.3. 人工知能とロボット
8.3.1. 実体はない
8.3.2. AI効果
8.3.2.1. AIだと思っていたものの仕組みがわかると AIだと認識されなくなる心理現象
8.3.2.1.1. 音声認識、文字認識、ゲーム、検索エンジン
8.4. レベル分け
8.4.1. 【レベル1】 エアコンとかの単純な制御プログラム
8.4.2. 【レベル2】 古典的な人工知能 将棋のプログラムやQ&Aができるもの
8.4.3. 【レベル3】 機械学習を取り入れた人工知能
8.4.3.1. 機械学習
8.4.3.1.1. データから統計的に法則を見つけ出す手法 天気予報とか
8.4.4. 【レベル4】 ディープラーニングを取り入れた人工知能
8.5. AIの課題
8.5.1. フレーム問題 ジョン・マッカーシーが議題にあげて ダニエル・デレットが例題を提案
8.5.1.1. 人間が無意識に行っている情報の 取捨選択が人工知能には難しい
8.5.1.1.1. 取捨選択できれば強いAI 出来ない場合は弱いAI
8.5.2. シンボルグラウンディング問題 スティーブン・ハルナッド
8.5.2.1. シンボル(記号や言葉)と意味が結び付けられない コップを理解するなら触って温度を感じる身体がないととらえきれない
8.5.2.1.1. 実世界における抽象概念を理解し,知識処理を行う上では, 身体性 を通じた高レベルの身体知を獲得し,次に身体知を通じて 言語の意味理解を促し,抽象概念・知識処理へと至るのではないか
8.5.3. シンギュラリティ
8.5.3.1. 技術的特異点 人工知能が自分より賢いAIを作る時点
8.5.3.1.1. レイ・カーツワイル
8.5.3.1.2. ヒューゴ・デ・ガリス
8.5.3.1.3. イーロン・マスク
8.5.3.1.4. オレン・エツィオーニ
8.5.3.1.5. ヴァーナー・ヴィンジ
8.5.3.1.6. スティーブン・ホーキング
8.6. 研究の変遷
8.6.1. パターン→記号→知識
9. AIブーム
9.1. 第一次
9.1.1. 探索と推論の時代
9.1.1.1. 探索木
9.1.1.1.1. 深さ優先探索木
9.1.1.1.2. 幅優先探索木
9.1.1.2. トイ・プロブレムなら解ける(迷路、チェス)
9.2. 第二次
9.2.1. エキスパートシステム 人間が持っている専門的な知識をプログラミング
9.2.1.1. 実用例
9.2.1.1.1. MYCIN(マイシン) 血液疾患の患者を診断可能。 一般医師よりは優れ、専門医師(80%)よりは低い(69%)
9.2.1.1.2. ELIZA テキストコミュニケーション 基本はオウム返しに+α。 PCだってわかっているのに人間のように感じる錯覚を「イライザ効果」
9.2.1.1.3. DENDRAL 勇気果房物の特定ができる
9.2.1.2. 方法
9.2.1.2.1. 知識表現の研究 情報の整理が必要。
9.2.1.3. 課題
9.2.1.3.1. 形式知はプログラミングできるが、暗黙知はできない。
9.2.1.4. 構成
9.2.1.4.1. 知識ベース
9.2.1.4.2. 推論エンジン
9.3. 第三次
9.3.1. 機械学習の時代
9.3.1.1. 【機械学習定義】 明示的にプログラムしなくても学習する能力を コンピュータに与える研究分野(人間が自然に 行っている学習と同様の機能をコンピュータで実現) 暗黙知のプログラミングが可能
9.3.1.1.1. 【統計的自然言語処理】 文脈関係なく訳される確率の高いものを当てはめる手法
9.3.1.1.2. 【ニューラルネットワーク】 人間の脳神経回路の仕組)みを再現 入力層、隠れ層(中間層、出力層から校正
9.3.1.1.3. アーサー・サミュエル
10. 機械学習
10.1. 学習方法
10.1.1. 教師あり学習 正解が必要。予測値を正解ラベルに近づけることを目標に学習する
10.1.1.1. 回帰問題 連続値であるYをXから予測
10.1.1.1.1. 予測対象Y:目的変数、従属変数
10.1.1.1.2. もとになる変数X: 説明変数、独立変数
10.1.1.1.3. 説明変数が1→短回帰 説明変数が複数→重回帰
10.1.1.1.4. 線形回帰と非線形回帰
10.1.1.2. 分類問題 離散値Yを予測
10.1.1.2.1. 【モデル】 目的変数Yを予測するためのルール 回帰でいう算出式か?
10.1.1.2.2. 【学習】 既存のデータからモデルを調整する過程 学習が進んだモデルを学習済みモデル
10.1.1.2.3. 2値分類と多クラス分類
10.1.1.2.4. 線形分類と非線形分類
10.1.1.3. アルゴリズム
10.1.1.3.1. 線形回帰
10.1.1.3.2. ロジスティック回帰
10.1.1.3.3. 決定木
10.1.1.3.4. ランダムフォレスト
10.1.1.3.5. サポートベクターマシン(SVM)
10.1.1.3.6. ニューラルネットワーク
10.1.1.3.7. kNN法( k Nearest Neighbor, k近傍法)
10.1.2. 教師なし学習 正解はない、分析や項目の抽出 データの本質的な構造を浮かび上がらせる
10.1.2.1. クラスタリング:近似する特徴ごとにクラスター分け 次元削減:不要なものを削減
10.1.2.2. アルゴリズム
10.1.2.2.1. k-means法 (k平均法)
10.1.2.2.2. 主成分分析 Principal Component Analysis)
10.1.3. 半教師あり学習
10.1.3.1. 教師ありより精度が低くなったり、 正解ラベル付きに偏りがあると 正しく学習できない可能性がある
10.1.4. 強化学習
10.1.4.1. エージェントが行動の結果として 得られる報酬が最大化するように 行動方針(方策)を学習する手法
10.2. データの使い方
10.2.1. 汎化性能
10.2.1.1. 未知のデータに対する予測能力
10.2.2. 過学習 オーバーフィッティング
10.2.2.1. 訓練データに最適化され過ぎること
10.2.3. 交差検証法
10.2.3.1. データの一部を訓練に使い、残りを評価用テストデータに割り当てる
10.2.3.1.1. k-分割交差検証 分割を複数回行い、テストデータを入れ替えながら検証
10.2.3.1.2. ホールドアウト検証 単純に訓練とテストに分ける
10.3. 評価手法
10.3.1. 混同行列(Confusion Matrix)を用いた 目的別評価指標
10.3.1.1. 正解率 Accuracy
10.3.1.1.1. TP+TN / 全データ
10.3.1.2. 適合率 Precision
10.3.1.2.1. 真と予測した中で正解した割合 予測のご判定を避けたい場合に使用
10.3.1.3. 再現率 Recall
10.3.1.3.1. 結果が真のデータの中で正解した割合 予測の見落としを避けたい売位に利用
10.3.1.4. F値 F measure
10.3.1.4.1. 適合率と再現率の調和平均 トレードオフの関係なので、両方見ている F値を使うことも多い
10.4. 前処理
10.4.1. 目的
10.4.1.1. データをモデルに正しく入力できるように
10.4.1.2. データの大きさをある程度均一にする
10.4.2. 手法
10.4.2.1. 欠損値の処理・補間
10.4.2.2. 名寄せ(アンケート結果などで表記統一)
10.4.2.3. 正規化
10.4.2.3.1. データを0から1に収まるようにスケーリングする
10.4.2.4. 標準化
10.4.2.4.1. データの平均を0, 標準偏差を1に変換
10.4.2.5. 時系列データの時間粒度の変更
10.4.2.6. 画像データのサイズ統一、グレースケール化
10.4.2.7. 基礎集計(前処理よりも前に実施)
10.4.2.7.1. 平均、分散、標準偏差計算
10.4.2.7.2. 散布図プロットして傾向を調べる
10.4.2.7.3. 相関行列で傾向を調べる
10.5. 特徴量エンジニアリング
10.5.1. モデルが認識しやすい特徴をデータから作ること
10.5.2. カテゴリカル変数(何かの種類を表す変数)にエンコードすること等
10.5.2.1. 1つの成分だけが1, 残りは0の特徴量(ベクトル)に変換
10.5.2.1.1. one-hot-encoding
10.5.3. 日付データの変換
10.5.3.1. 文字列を扱いやすい形式に変換
10.5.4. 多項式特徴量を生成
10.5.4.1. 特徴量を組み合わせてより良い特徴量を作る
10.5.5. 多重共線性の検出
10.5.5.1. 重回帰分析で重要
11. ディープラーニングの研究分野
11.1. 画像認識分野
11.1.1. ILSVRC
11.1.1.1. 2012年にディープラーニングを使ったAlexNetが圧勝
11.1.1.1.1. ジェフリー・ヒントン
11.1.1.1.2. CNNの一種
11.1.1.2. 画像分類の精度を測るものではなく、一般物体認識の精度を測っている
11.1.2. 一般物体認識
11.1.2.1. 物体検出タスク
11.1.2.1.1. 画像の中のある領域が背景なのか物体なのか
11.1.2.1.2. バウンディングボックス
11.1.2.1.3. セマンティックセグメーション
11.1.2.2. 物体セグメンテーション
11.1.2.2.1. 対象としている画像そのものが何かを推定するタスク
11.1.2.2.2. 対象とする物体とその周囲の背景を境界まで切り分けるようなタスク
11.1.2.3. 物体認識タスク
11.1.2.3.1. 物体ならなんの物体なのか
11.1.2.4. R-CNN
11.1.2.4.1. Regional CNN
11.1.2.4.2. 関心領域(ROI: Region of Interest)を切り出す
11.1.2.4.3. 処理に時間がかかる
11.2. 自然言語処理
11.2.1. 一般的な解析の順番
11.2.1.1. 1) 形態素解析
11.2.1.1.1. これ以上分解できない単語にして、品詞を判定する
11.2.1.2. 2)構文解析
11.2.1.2.1. 単語の関係性を解析
11.2.1.3. 3)意味解析
11.2.1.3.1. 辞書を元に単語間の関連性を調べて構文木を選択
11.2.1.4. 4)文脈解析
11.2.1.4.1. 複数の文の構造や意味を考える
11.2.1.5. 機械学習で大量のデータを用いて文章の意味の概念を習得させた。
11.2.2. 機械学習による自然言語処理
11.2.2.1. 1)形態素解析
11.2.2.2. 2)データクレンジングでノイズ除去
11.2.2.2.1. 半角と全角統一したり。
11.2.2.3. 3)Bag-of-Words
11.2.2.3.1. 単語群をベクトル形式に変換
11.2.2.3.2. 単語の順番は考慮せず出現した数でベクトル化
11.2.2.4. 4)TF-IDF等の手法で出現頻度から単語の重要度を評価
11.2.2.4.1. Term Frequency - Inverse Document Frequency
11.2.3. Word2vec
11.2.3.1. 文章中の単語群をベクトル形式に変換するモデル
11.2.3.1.1. BOWとの違いは単語間の関係性を捉えていること
11.2.3.1.2. 王様から男性を引いて女性を足すと女王ベクトル
11.2.3.2. 手法
11.2.3.2.1. Skip-gram
11.2.3.2.2. CBOW: Continuous Bag-of-Words
11.2.3.3. 後継モデル
11.2.3.3.1. FastText
11.2.3.3.2. ELMo
11.2.4. 画像キャプション生成
11.2.4.1. CNN+RNN
11.2.4.1.1. ニューラル画像脚注付け(NIC)
11.2.4.1.2. CNNの最後の畳み込み層をRNNで構成される文章生成ネットワークの入力にする
11.2.5. Seq2seq (Sequence to Sequence)
11.2.5.1. 自動翻訳に用いられるRNN
11.2.5.1.1. データを特徴に変換するエンコーダと特徴を新しいデータに変換するデコーダーを組み合わせている
11.2.5.1.2. Attention
11.2.6. BERT(Bidirectional Encoder Representations from Transformers)
11.2.6.1. Googleが発表@2018
11.2.6.2. マスクされた言語モデル(MLM)
11.2.6.2.1. ランダムに15%単語をマスクする
11.2.6.3. 次文予測(NSP)
11.2.6.3.1. 2つの文に相互関係があるかを判定する
11.2.6.4. ALBERT(高速化バージョン)
11.3. 音声認識
11.3.1. WaveNet
11.3.1.1. RNNを応用して音声生成と音声認識できるモデル
11.3.1.2. 音声波形を細分化して、トーンや抑揚、間を理解できる
11.3.1.3. いくつかの入力をスキップして効率的に処理している
11.3.1.4. 英語、中国語ともに既存手法より精度が高い。人間の発話に迫っている
11.3.2. ディープラーニング登場前
11.3.2.1. 1)波形から周波数、時間変換の特徴を抽出
11.3.2.1.1. モデル化したものを音響モデル
11.3.2.2. 2)波形から音素を特定
11.3.2.3. 3)なんの単語かパターンマッチング
11.3.2.4. 4)単語のつながりを解析して文を作成
11.3.2.5. 隠れマルコフモデル(音自体を判別する音響モデル)&Nグラム法(語と語のつながりを判別する言語モデル)
11.3.2.5.1. +混合正規分布(GMM)
11.3.3. ディープラーニング登場後
11.3.3.1. 音声波形を入力して単語が出力される。
11.3.3.1.1. End-to-End (エンドツーエンド)
11.3.4. 前処理
11.3.4.1. 雑音・残響抑圧
11.3.4.1.1. 音声を認識したい対象とそれ以外の雑音に分離
11.3.4.2. 音素状態認識
11.3.4.2.1. 音声の周波数スペクトル,すなわち音響特徴量をインプットとして,音素状態のカテゴリに分類する.
11.3.5. 音声合成:与えられた分野データから人が話す音声を合成する技術
11.4. ロボティクス
11.4.1. エンドツーエンド学習
11.4.1.1. ロボットの一連の動作を一つのディープニューラルネットワークで表現する
11.4.2. マルチモーダル学習
11.4.2.1. 複数の異なるデータから学習して統合的に処理する
11.4.3. 運動系が量的、質的に貧素
11.4.3.1. 認知発達ロボティクス
11.4.3.1.1. 環境との相互作用で自ら学習する
11.4.3.1.2. 乳幼児の認知発達メカニズムと合わせて研究したり。
11.4.4. マルチエージェント応用
11.4.4.1. 2 体のロボット同士で学習を開始させようとすると,お互いに初期状態であるタスクについての何も知識がない状態だと, 学習過程の不安定化
11.4.4.1.1. DQN使用。
11.5. 業界動向
11.5.1. Google, Facebook
11.5.1.1. 言語データによるRNN, 映像データから概念、知識理解を目指す
11.5.2. UC Berkeley
11.5.2.1. 実世界を対象に研究を進め、知識理解を目指す
11.5.3. Deep Mind
11.5.3.1. オンライン空間上でできることをターゲットにして知識理解を目指す
12. AI導入
12.1. Proof of Concept
12.1.1. 概念実証
12.1.1.1. 本当に実現可能かどうか、効果や効用について技術的な観点から検証する工程
12.2. 共有データセット
12.2.1. MNIST
12.2.1.1. 手書き数字データセット
12.2.2. CIFAR-10
12.2.2.1. 一般物体認識のベンチマーク画像セット
12.2.2.1.1. 10個のクラスがラベリング
12.2.3. CIFAR-100
12.2.3.1. 100個のクラスがラベリング
12.2.4. MegaFace
12.2.4.1. ノイズデータを混ぜた顔認識データセット
12.2.5. Boston-Housing
12.2.5.1. ボストンの住宅価格データセット
12.2.6. ImageNet
12.2.6.1. スタンフォード大学がネット上から画像を集めて分類したデータセット
12.2.7. CIFAR-10
12.2.7.1. 物体カラー写真で画像+ラベル。6万枚
12.2.8. Youtube-8M
12.2.8.1. 動画データセット
12.2.9. NIST
12.2.9.1. 顔のデータセット
12.2.10. Kinetics
12.2.10.1. DeepMind公開。65万のびでおくりっぷから700の人間の動きを切り出した+ラベル
12.3. データの利用条件
12.3.1. 知的財産権
12.3.1.1. 著作権
12.3.1.1.1. 旧47条の7
12.3.1.1.2. 新30条の4 (2019)
12.3.1.2. 特許権
12.3.1.3. 営業秘密
12.3.1.3.1. 保護対象要件
12.3.1.4. 個人情報
12.3.1.4.1. 種類
12.3.1.4.2. 観点
12.3.1.4.3. プロセス
12.3.1.4.4. 安全管理措置
12.3.1.4.5. 仮名加工情報
12.3.1.4.6. 開示請求
12.4. AIサービスの活用
12.4.1. Googleのクラウドプラットフォーム
12.4.1.1. GCP
12.4.2. IBMのコグにティブサービス
12.4.2.1. Watson
12.5. ライブラリ、ツールを使った開発
12.5.1. 自社ビジネスに特化したAIを開発可能
12.5.2. 開発手法
12.5.2.1. ウォーターフォール
12.5.2.1.1. ○:コスト、スケジュール管理がしやすく、責任が明確
12.5.2.1.2. ×:要件不足や認識違いで手戻り発生、成果物が異なることがある
12.5.2.2. アジャイル
12.5.2.2.1. ○:仕様変更に柔軟に対応、成果物に対するフィードバックが得やすい
12.5.2.2.2. ×:管理しにくく、責任の明確化は難しい
12.5.2.3. AI・データ利用に関する契約ガイドライン
12.5.2.3.1. 経済産業省@2018
12.5.2.3.2. 探索的段階型
12.5.2.3.3. データ契約
12.5.3. 運用・保守
12.5.3.1. 透明性レポート
12.5.3.1.1. プライバシーやセキュリティへの対策についてのレポート
12.5.3.2. 求められる要素
12.5.3.2.1. 透明性 Transparency
12.5.3.2.2. 説明責任の Accountability
12.5.3.2.3. 公平性 Fairness
12.5.3.2.4. 倫理 Ethics
12.5.3.3. Partnership on AI (PAI)
12.5.3.3.1. 2016年
12.5.3.3.2. 非営利組織
12.5.3.3.3. IT企業を中心に、公平性、透明生活等への取り組みを提示
12.5.3.4. 説明可能なAI
12.5.3.4.1. Explainable AI, XAI
12.5.3.5. 発生した問題
12.5.3.5.1. Google
12.5.3.5.2. Microsoft
12.5.3.5.3. COMPAS
13. 各国の取り組み
13.1. 日本
13.1.1. society 5.0
13.1.1.1. 第四次産業革命
13.1.1.1.1. 2018年
13.1.1.1.2. IoT、ビッグデータ、AI、ロボットの社会実装
13.1.2. AI人材不足は4.8万人
13.1.3. 新産業構造ビジョン
13.1.4. 人工知能学会 倫理方針
13.1.4.1. 1 人類への貢献
13.1.4.2. 2. 法規制の遵守
13.1.4.3. 3. 他社のプライバシーの尊重
13.1.4.4. 4. 公正性
13.1.4.5. 5. 安全性
13.1.4.6. 6. 誠実な振る舞い
13.1.4.6.1. 説明責任
13.1.4.7. 7. 社会に対する責任
13.1.4.8. 8. 社会との対話と自己研鑽
13.1.4.9. 9. 人工知能への倫理遵守の要請
13.2. 米国
13.2.1. 社会実装に向けた報告書3件(2016)
13.2.1.1. PREPARING FOR THE FUTURE OF ARTIFICIAL INTELLIGENCE
13.2.1.1.1. AI 実務家や学生に対して倫理観が必要であることを主張している
13.2.1.2. THE NATIONAL ARTIFICIAL INTELLIGENCE RESEARCH and DEVELOPMENT STRATEGIC PLAN
13.2.1.2.1. 判断結果の理由をユーザーに説明できる AI プログラムを開発することが必要であることを主張
13.2.1.3. ARTIFICIAL INTELLIGENCE AUTOMATION, AND THE ECONOMY
13.2.1.3.1. AI の普及が最大で 300 万件越えの雇用に影響を与える可能性があることを説いている
13.2.2. 米国産業のためのAIサミット
13.2.2.1. 2018年5月
13.3. EU
13.3.1. HORIZON Europe
13.3.1.1. 2021−2027の研究を助成対象
13.3.2. EUの新デジタル戦略(2020.2)
13.3.2.1. データガバナンスに係る法的枠組みの提案(2020Q4)
13.3.2.2. データ法の提案(2021)
13.4. ドイツ
13.4.1. AI戦略の骨子となる文書
13.4.1.1. 取り組むべき13の事項
13.4.2. デジタル戦略2025
13.5. フランス
13.5.1. AI戦略を発表
13.5.1.1. 2018年3月
13.6. 中国
13.6.1. 新世代人工知能発展計画
13.6.1.1. 2017年7月
13.6.2. インターネットプラスAI3年行動実施法案
13.6.3. 中国製造2025 (10の重点分野と23の品目で製造業の高度化)
13.7. 英国
13.7.1. RAS2020戦略
14. ドローン
14.1. 航空法
14.1.1. 飛行禁止空域(許可が必要)
14.1.1.1. 空港周辺
14.1.1.2. 人口集中地区(DID地区)
14.1.1.2.1. 国勢調査をもとに設定される統計上の地区
14.1.1.3. 高度150m以上
14.1.1.3.1. 機体直下までの高度が150m
14.1.2. 承認が必要な方法
14.1.2.1. 夜間飛行
14.1.2.2. 目視外飛行
14.1.2.2.1. ★AI
14.1.2.3. 人・ものから30m未満の飛行
14.1.2.4. イベント上空飛行
14.1.2.5. 危険物輸送
14.1.2.6. 物件投下
14.1.3. 遵守事項
14.1.3.1. 飲酒時の飛行禁止
14.1.3.2. 飛行前確認(損傷)
14.1.3.3. 衝突予防
14.1.3.4. 危険な非行の禁止
14.1.4. 200g以上→無人航空機 200g未満→模型航空機
14.2. 小型無人機等飛行禁止法
14.2.1. 重量関係なく絶対ダメ
14.2.2. 国会議事堂、官邸、国の施設、原子力事業所周辺(おおむね300mの地域)
14.3. AI
14.3.1. 目視買い飛行はリアルタイムな演算処理が必要
14.3.2. サイズ、消費電力が高負荷にならないようなAIアルゴリズムが必要
14.4. ロードマップ
14.4.1. 経産省(2016年)
14.4.1.1. 空の産業革命に向けたロードマップ
14.4.1.1.1. レベル
14.4.2. 実用分野
14.4.2.1. 物流
14.4.2.1.1. 再配達問題の解消
14.4.2.1.2. 過疎地への物流
14.4.2.2. 災害対応
14.4.2.2.1. Hec-Eye(位置情報付き知あるタイム情報配信システム)とドローンの連携実証実験(2019)
14.4.2.3. 農林水産業
14.4.2.3.1. あい作(営農支援プラットフォーム)@福島
14.4.2.4. インフラ維持管理
14.4.2.5. 警備業
14.4.2.5.1. AIスマートドローン
14.5. 世界の動向
14.5.1. Neurala社(米)
14.5.1.1. ドローン用画像認識SW
14.5.1.1.1. クラウドファンディングで話題
14.5.2. Airlitix(米)
14.5.2.1. 農作物の総合管理AI
14.5.2.1.1. 国有林の管理への応用が期待される
14.5.3. Clobotics
14.5.3.1. インフラ維持管理(中国&米)