ディープラーニング備忘録

# 目的
## 対象状況画像の前処理 ～ 分類 ～ 予測まで
ラズパイを用いて対象状況を　1time/1min　保存し
その画像を前処理おこない、特徴量から0,1分類する

## 懸念点
対象状況が一定ではないので、特徴量を上手に設定する必要があるだろう。
また予測はどのようにするか、これから勉強

## 事前準備（完了済）
ラズパイ4 4GB x 3台
ラズパイzero2 x 1台（テスト運用）

# 画像処理の平滑化処理

## フィルタ一覧
| フィルタ種類 | 特徴 | 主な使用場面 | 備考 |
|--------------|------|--------------|-------|
| 平均フィルタ | 単純なぼかし | ・軽いノイズ除去<br>・画像全体をぼかす | 最も基本的なフィルタ |
| ガウシアンフィルタ | 自然なぼかし | ・ノイズ除去<br>・エッジの自然な処理 | バランスの取れた処理が可能 |
| メディアンフィルタ | エッジ保持 | ・塩胡椒ノイズ除去<br>・エッジを保持したいとき | ノイズ除去に特化 |
| バイラテラルフィルタ | 高品質なエッジ保持 | ・エッジ保持しつつノイズ除去 | ・計算負荷が高め<br>・高品質な処理が可能 |
| Boxフィルタ | 周囲ピクセルの処理 | エッジ処理に変化を持たせたいとき | エッジ処理の差異を付けられる |

<details><summary>平均フィルタ (Mean Filter)</summary>
    
特徴: 画像の各ピクセルを周囲のピクセルの平均値で置き換えることで、画像のノイズを減らします。均一なぼかし効果があり、ノイズ除去に適していますが、エッジがぼやけることがあります。
    
        import cv2
        import numpy as np
        
        # 画像を読み込む
        image = cv2.imread('input.jpg')
        
        # 平均フィルタ（カーネルサイズを指定）
        blurred_image = cv2.blur(image, (5, 5))
        
        # 結果を保存
        cv2.imwrite('mean_blur.jpg', blurred_image)
</details>

<details><summary>ガウシアンフィルタ (Gaussian Filter)</summary>

特徴: ガウス分布に基づいてピクセルの重みを設定し、ぼかし効果を自然にするフィルタです。中心に近いピクセルほど重みが高く、周辺のピクセルは重みが低くなります。エッジをある程度保ちながらノイズを除去するのに適しています。

    # ガウシアンフィルタ（カーネルサイズと標準偏差を指定）
    gaussian_blurred_image = cv2.GaussianBlur(image, (5, 5), 0)
    
    # 結果を保存
    cv2.imwrite('gaussian_blur.jpg', gaussian_blurred_image)
</details>
    
<details><summary>メディアンフィルタ (Median Filter)</summary>
 
特徴: 各ピクセルを周囲のピクセルの中央値で置き換えることで、特に「塩胡椒ノイズ」などに効果的なフィルタです。エッジを保ちながらノイズを除去しやすいという特徴があります。

    # メディアンフィルタ（カーネルサイズを指定）
    median_blurred_image = cv2.medianBlur(image, 5)
    
    # 結果を保存
    cv2.imwrite('median_blur.jpg', median_blurred_image)
</details>

<details><summary>バイラテラルフィルタ (Bilateral Filter)</summary>
 
特徴: 空間フィルタと色フィルタの両方を適用することで、エッジを保持しつつノイズを除去するフィルタです。ガウシアンフィルタと比べると、処理速度が遅いですが、エッジ保持性能が優れています。

    # バイラテラルフィルタ（空間の標準偏差、色の標準偏差、カーネルサイズを指定）
    bilateral_blurred_image = cv2.bilateralFilter(image, 9, 75, 75)
    
    # 結果を保存
    cv2.imwrite('bilateral_blur.jpg', bilateral_blurred_image)
</details>

<details><summary>Boxフィルタ</summary>

特徴: 平均フィルタと似た効果を持つが、画像の周辺部分を含むことができるため、境界条件でのエッジ処理に少し違いが出ます。

    # Boxフィルタ（カーネルサイズを指定）
    box_blurred_image = cv2.boxFilter(image, -1, (5, 5))
    
    # 結果を保存
    cv2.imwrite('box_blur.jpg', box_blurred_image)
</details>






# その他：用語

## 学習（教師あり、なし、強化学習）

| キーワード | 学習手法 | 目的 | 課題 | 解決策 |
|------------|----------|------|------|--------|
| 線形回帰 | 教師あり学習 | 入力変数と出力変数の線形関係を見つける | - 非線形の関係を捉えることができない<br>- 外れ値の影響を受けやすい | - 変数変換により非線形関係を線形に近似する<br>- ロバスト回帰手法の利用 |
| ロジスティック回帰 | 教師あり学習 | 二値分類問題において、入力変数から確率を予測する | - 非線形の決定境界を捉えることができない<br>- 変数間の相関が高い場合に不安定になる | - 交互作用項の導入による非線形性の考慮<br>- 正則化手法の適用による変数選択 |
| ランダムフォレスト | 教師あり学習 | 複数の決定木を組み合わせて分類や回帰を行う | - ハイパーパラメータの調整が必要<br>- 解釈が難しい場合がある | - グリッドサーチによるハイパーパラメータの調整<br>- 特徴重要度の算出による解釈性の向上 |
| ブースティング | 教師あり学習 | 弱学習器を組み合わせて強学習器を作成する | - 過学習のリスクがある<br>- ノイズに敏感な場合がある | - 正則化手法の適用によるオーバーフィッティングの防止<br>- ロバストなロス関数の利用 |
| サポートベクターマシン（SVM） | 教師あり学習 | データを分離する最適な超平面を見つける | - カーネル関数の選択が重要<br>- 大規模データでは計算コストが高い | - グリッドサーチによるカーネル関数の選択<br>- 効率的な最適化手法の利用 |
| ニューラルネットワーク | 教師あり学習 | 複雑な非線形関係を学習できる柔軟なモデルを構築する | - 過学習のリスクがある<br>- ハイパーパラメータの調整が難しい | - 正則化手法の適用によるオーバーフィッティングの防止<br>- ハイパーパラメータの自動最適化手法の利用 |
| 自己回帰モデル（AR） | 教師あり学習 | 時系列データの過去の値から将来の値を予測する | - 長期的な依存関係を捉えることが難しい<br>- 非定常なデータには適さない場合がある | - ラグの選択の工夫<br>- 差分化による非定常性の除去 |
| 分類問題 | 教師あり学習 | カテゴリカルな目的変数を予測する | - クラス不均衡の問題が生じる場合がある<br>- 評価指標の選択が重要 | - 不均衡データに対する適切なサンプリング手法の適用<br>- 適切な評価指標（F1スコア、AUCなど）の選択 |
| 回帰問題 | 教師あり学習 | 連続的な目的変数を予測する | - 外れ値の影響を受けやすい<br>- 変数間の多重共線性が問題となる場合がある | - ロバスト回帰手法の利用<br>- 正則化手法による変数選択 |
| 半教師あり学習 | 教師あり学習 | ラベル付きデータとラベルなしデータを組み合わせて学習する | - ラベルなしデータの品質が重要<br>- ラベルノイズの影響を受けやすい | - ラベルなしデータのクリーニング<br>- ノイズに頑健な手法の適用 |
| ラッソ回帰 | 教師あり学習 | L1正則化により変数選択を行いながら回帰係数を推定する | - ハイパーパラメータの選択が重要<br>- グループ化された変数の選択が難しい | - 交差検証によるハイパーパラメータの選択<br>- グループラッソなどの拡張手法の利用 |
| リッジ回帰 | 教師あり学習 | L2正則化により回帰係数の大きさを制限しながら推定する | - ハイパーパラメータの選択が重要<br>- 非スパースな解が得られる | - 交差検証によるハイパーパラメータの選択<br>- スパースな解が必要な場合はラッソ回帰の利用 |
| 決定木 | 教師あり学習 | データを分割するルールを学習し、ツリー構造で表現する | - 過学習のリスクがある<br>- 連続値の扱いが難しい | - 剪定による過学習の防止<br>- 連続値の離散化または閾値の最適化 |
| アンサンブル学習 | 教師あり学習 | 複数の学習器を組み合わせて予測性能を向上させる | - 個々の学習器の性能が重要<br>- 計算コストが高くなる場合がある | - 多様性のある学習器の組み合わせ<br>- 並列化による計算の高速化 |
| バギング | 教師あり学習 | ブートストラップサンプリングにより複数の学習器を構築し、予測を平均化する | - ランダムサンプリングによる予測のばらつき<br>- アンサンブルサイズの決定が難しい | - アンサンブルサイズの増加による安定性の向上<br>- アウトオブバッグサンプルを用いた評価 |
| 勾配ブースティング | 教師あり学習 | 勾配降下法を用いてブースティングを行う | - ハイパーパラメータの調整が重要<br>- 過学習のリスクがある | - グリッドサーチやベイズ最適化によるハイパーパラメータの調整<br>- 正則化手法の適用によるオーバーフィッティングの防止 |
| マージン最大化 | 教師あり学習 | クラス間の余白を最大化するように学習する | - 非線形のデータには適さない場合がある<br>- サポートベクターの選択が重要 | - カーネルトリックの利用による非線形分離<br>- 適切なカーネル関数の選択 |
| カーネル法 | 教師あり学習 | データを高次元空間に写像し、非線形の関係を捉える | - カーネル関数の選択が重要<br>- 計算コストが高くなる場合がある | - 適切なカーネル関数の選択<br>- カーネルトリックによる計算の効率化 |
| 単純パーセプトロン | 教師あり学習 | シグモイド関数を用いた2クラス分類器 | - 線形分離不可能なデータには適さない<br>- 収束が遅い場合がある | - 特徴量の変換による非線形分離の実現<br>- 学習率の適切な設定 |
| 多層パーセプトロン | 教師あり学習 | 複数の層を持つニューラルネットワークによる分類や回帰 | - 過学習のリスクがある<br>- ハイパーパラメータの調整が難しい | - 正則化手法の適用によるオーバーフィッティングの防止<br>- ハイパーパラメータの自動最適化手法の利用 |
| 誤差逆伝播法 | 教師あり学習 | ニューラルネットワークの重みを勾配降下法で更新する | - 局所最適解に陥る可能性がある<br>- 勾配消失問題が生じる場合がある | - 適切な重みの初期化<br>- ReLUなどの活性化関数の利用 |
| ベクトル自己回帰モデル（VARモデル） | 教師あり学習 | 複数の時系列変数間の関係を捉える | - 変数間の因果関係の解釈が難しい<br>- 次数の選択が重要 | - グレンジャー因果性の検定<br>- 情報量基準による次数の選択 |
| 疑似ラベリング | 半教師あり学習 | ラベルなしデータに対して予測を行い、疑似的なラベルを付与する | - ノイズの蓄積が問題となる場合がある<br>- 初期モデルの性能が重要 | - 確信度の高い予測結果のみを採用<br>- 反復的な学習による性能の向上 |
| 協調フィルタリング | 教師なし学習 | ユーザーやアイテムの類似性に基づいて推薦を行う | - コールドスタート問題への対処が必要<br>- スパースなデータでは精度が低下する | - コンテンツベースのフィルタリングとの組み合わせ<br>- 次元削減手法の適用によるスパース性の緩和 |
| k-means法 | 教師なし学習 | データをk個のクラスタに分割する | - クラスタ数の選択が難しい<br>- 初期値に依存する | - エルボー法などによるクラスタ数の選択<br>- 複数回の実行と結果の比較 |
| 主成分分析（PCA） | 教師なし学習 | データの次元を削減し、主要な特徴を抽出する | - 解釈が難しい場合がある<br>- 非線形のデータに対して有効でない場合がある | - 結果の可視化と解釈<br>- カーネルPCAなどの非線形次元削減手法の利用 |
| 潜在的ディリクレ配分法（LDA） | 教師なし学習 | 文書の潜在的なトピックを発見する | - トピック数の選択が難しい<br>- 推定の収束が遅い場合がある | - 評価指標の活用によるトピック数の選択<br>- 変分推論などの近似手法の利用 |
| t-SNE | 教師なし学習 | 高次元データを低次元空間に埋め込み、可視化する | - パープレキシティの選択が重要<br>- 大規模データでは計算コストが高い | - パープレキシティの適切な設定<br>- Barnes-Hutアルゴリズムなどの近似手法の利用 |
| Q学習 | 強化学習 | 最適な行動価値関数を学習する | - 収束が遅い場合がある<br>- 連続な状態空間では適用が難しい | - 学習率の適切な設定<br>- 関数近似の利用による連続状態空間への対応 |
| 方策勾配法 | 強化学習 | 方策のパラメータを直接更新し、期待報酬を最大化する | - 方策の表現力が重要<br>- 局所最適解に収束する可能性がある | - ニューラルネットワークによる方策の表現<br>- エントロピー正則化項の導入による探索の促進 |
| A3C | 強化学習 | 複数のエージェントが並列に環境と相互作用し、方策を学習する | - エージェント間の協調が必要<br>- 報酬設計が重要 | - エージェント間の通信の実装<br>- 適切な報酬関数の設計 |


## 主要な深層学習モデルの歴史

| 年 | モデル | 開発者 | 開発元 | 特徴 | ベースとなる技術 | 問題 | 解決策 |
|----|--------|--------|--------|------|------------------|------|--------|
| 1943 | ニューラルネットワーク | ウォーレン・マカロック & ウォルター・ピッツ | - | 生物の神経細胞を模した数学モデル。機械学習の基礎概念 | - | 計算能力の限界 | トランジスタと集積回路の発明 |
| 1958 | パーセプトロン | フランク・ローゼンブラット | コーネル航空研究所 | 2層のシンプルなニューラルネットワーク。線形の判別問題を解ける | ニューラルネットワーク | XOR問題の解決不能 | 多層パーセプトロンとバックプロパゲーションの導入 |
| 1986 | バックプロパゲーション | デビッド・E・ルメルハート, ジェフリー・ヒントン, ロナルド・J・ウィリアムズ | 複数の研究機関 | 誤差逆伝搬法によるディープニューラルネットワークの効率的な学習手法 | 多層ニューラルネットワーク | 勾配消失問題 | ReLU活性化関数の導入 |
| 1986 | RNN | ジョン・ホップフィールド, デビッド・E・ルメルハート | 複数の研究機関 | 循環する構造を持つニューラルネットワーク。系列データ処理に適している | ニューラルネットワーク | 長期依存性の問題 | LSTMの開発 |
| 1989 | CNN | ヤン・ルカン | トロント大学 | 畳み込み演算を利用した画像認識に適した階層型ニューラルネットワーク | ニューラルネットワーク、畳み込み演算 | 過学習 | ドロップアウトとデータ拡張 |
| 1989 | DNN | ジェフリー・ヒントン 他 | 複数の研究機関 | 多層の階層構造を持つニューラルネットワーク | ニューラルネットワーク | 計算資源の制限 | GPUの利用と並列計算 |
| 1997 | LSTM | セップ・ホッホライター, ユルゲン・シュミットフーバー | ミュンヘン工科大学 | 長短期記憶を有するリカレントニューラルネットワーク。時系列データ処理に適している | リカレントニューラルネットワーク | 勾配爆発問題 | 勾配クリッピングと正則化 |
| 2006 | ディープビリーフネット | ジェフリー・ヒントン 他 | トロント大学 | 多層ニューラルネットワークの効率的な事前学習手法 | ニューラルネットワーク、事前学習 | 学習の遅さ | 事前学習と微調整 |
| 2011 | Siri | Appleのチーム | Apple | 自然言語処理を活用した仮想アシスタントアプリ | 言語モデル、音声認識、対話システム | 自然言語の理解の限界 | ディープラーニングによるNLPの進化 |
| 2012 | AlexNet | アレックス・クリゼフスキー, イリヤ・スツケヴァー, ジェフリー・ヒントン | トロント大学 | 画像認識の大会で圧倒的な成績を収めたCNNモデル。DNNブームの火付け役 | CNN | ハードウェアの制約 | 高性能GPUと分散コンピューティング |
| 2014 | GAN | イアン・グッドフェロー 他 | モントリオール大学 | 生成モデルと識別モデルの対決によりデータ分布を学習する生成型ネットワーク | ニューラルネットワーク、ゲーム理論 | モード崩壊 | WGANとスペクトル正規化 |
| 2014 | **GoogLeNet** | クリスチャン・シュレギーヴェ 他 | グーグル | 22層の深層畳み込みニューラルネットワーク | 畳み込みニューラルネットワーク、Inceptionモジュール | 深層ネットワークの学習の難しさ | Inceptionモジュールの導入、中間層の追加 |
| 2014 | **VGG** | オックスフォード大学 | オックスフォード大学 | 16-19層の深層畳み込みニューラルネットワーク | 畳み込みニューラルネットワーク、プーリング | 深層ネットワークの学習の難しさ | 小さなフィルタサイズ(3x3)の使用、ネットワークの深層化 |
| 2016 | WaveNet | DeepMindチーム | Google DeepMind | 生の音声波形を直接モデル化し、自然な音声を生成する | ディープニューラルネットワーク、畳み込み | 自然な音声合成の難しさ | 拡張因果畳み込みとゲート付き活性化関数 |
| 2017 | **Mask R-CNN** | カイミング・ヘー 他 | Facebook AI Research | 物体検出とインスタンスセグメンテーションを同時に行う深層学習モデル | RPN、FPN、Mask Branch | 高精度な物体検出とセグメンテーションの両立 | 精度の向上、処理速度の高速化 |
| 2017 | **Inception** | グーグルAI | グーグル | 畳み込みニューラルネットワークの効率化 | 畳み込みニューラルネットワーク | 計算量の多さ | 畳み込み層の分割、Inceptionモジュールの導入 |
| 2017 | **MobileNet** | グーグルAI | グーグル | モバイルデバイスでの効率的な物体認識を目的とした軽量なCNN | 深層分離可能畳み込み | モバイルデバイスでの計算リソースの制約 | 深層分離可能畳み込みの導入、ネットワークの軽量化 |
| 2018 | **ResNet** | ヘカイ・ザン 他 | 複数の研究機関 | 深層学習における残差接続の有効性を示したモデル | 畳み込みニューラルネットワーク、残差接続 | 深層モデルにおける勾配消失問題 | 残差接続(skip connection)の導入、モデルの深層化 |
| 2018 | **Transformer** | アシシュ・ヴァスワニ 他 | Google Brain | 自己注目(Self-Attention)を利用した革新的な自然言語処理モデル | 注目機構、Seq2Seqモデル | 並列処理の困難さ | 自己注意メカニズムの導入 |
| 2018 | GPT | OpenAIのチーム | OpenAI | Transformerベースの大規模言語モデル | Transformer | 一般化の問題 | トランスファー学習と微調整 |
| 2018 | **DQN** | ヴォーランテス・ベレマン 他 | ディープマインド | 深層学習を用いた強化学習モデル | Q学習、ニューラルネットワーク | 試行錯誤の必要性 | 経験リプレイによる学習効率の向上 |
| 2018 | **Neural Architecture Search (NAS)** | バロッシュ・ゾルナ 他 | グーグル | ニューラルネットワークのアーキテクチャを自動探索する手法 | 強化学習、進化的アルゴリズム | ニューラルアーキテクチャの設計の難しさ | 強化学習や進化計算によるアーキテクチャ探索の自動化 |
| 2018 | **NASNet** | グーグルのチーム | グーグル | Neural Architecture Searchによって発見されたCNNアーキテクチャ | NAS、畳み込みニューラルネットワーク | ニューラルアーキテクチャの設計の難しさ | NASによる自動アーキテクチャ探索、転移学習 |
| 2019 | BERT | ジェイコブ・デヴリン 他 | Google AI | 双方向Transformerによる大規模言語モデル | Transformer | 文脈理解の限界 | 双方向エンコーダ表現 |
| 2019 | ErnieBot | 百度のチーム | Baidu | マルチモーダル対話システム | 多様なモーダリティの統合 | マルチモーダルデータの統合の難しさ | マルチモーダル学習アルゴリズムの開発 |
| 2019 | **MnasNet** | グーグルのチーム | グーグル | Neural Architecture Searchによって発見されたモバイル向けCNNアーキテクチャ | NAS、モバイルデバイス | モバイルデバイスでの計算リソースの制約 | リソース制約を考慮したNASの適用 |
| 2019 | **EfficientNet** | グーグルのチーム | グーグル | 深さ、幅、解像度のバランスを取ったCNNアーキテクチャ | 複合スケーリング、転移学習 | ネットワークのスケーリングの難しさ | 深さ、幅、解像度のバランスの取れたスケーリング手法 |
| 2020 | **Vision Transformers** | グーグルAI | グーグル | Transformerを画像認識に応用したモデル | 注目機構、Transformer | 画像認識におけるTransformerの活用 | ViTの改良、ViTの派生モデルの開発 |
| 2021 | Diffusion Models | 複数の研究者 | 複数の研究機関 | 拡散と逆拡散のプロセスを利用した高品質な生成モデル | 確率的グラディエント等 | 高品質な生成コンテンツの作成の難しさ | 拡散モデルの導入による生成品質の向上 |
| 2021 | **Attention is All You Need** | オアシス・タナカン他 | グーグルAI | Transformerアーキテクチャを簡素化したモデル | 注目機構、Transformer | Transformerモデルの軽量化 | ネットワークパラメータの削減、モデル構造の簡素化 |
| 2022 | **CLIP** | OpenAI | OpenAI | テキストと画像を関連付けるモデル | Transformer、ViT | テキストと画像の相互理解の難しさ | マルチモーダル学習、プロンプトエンジニアリング |
| 2022 | **GPT-3** | OpenAIのチーム | OpenAI | 1750億パラメータを有する大規模言語モデル | Transformer | 自然言語理解の限界 | トランスフォーマーと大規模データセットによる学習 |
| 2022 | AlphaCode | DeepMindのチーム | DeepMind | コードの生成と理解を行うAIシステム | Transformer、コード処理 | プログラミング言語の自動生成の難しさ | ディープラーニングとプログラム合成技術の組み合わせ |
| 2022 | Flamingo | DeepMindのチーム | DeepMind | マルチモーダル知覚と生成を行う統一されたAIモデル | Transformer、マルチモーダル | 複数のタスクを一つのモデルで処理する難しさ | マルチタスク学習とトランスフォーマーの応用 |
| 2022 | Gato | DeepMindのチーム | DeepMind | 600以上のタスクを単一のモデルで実行するジェネラリストAI | Transformer、マルチタスク | ジェネラリストAIの開発の難しさ | マルチタスク学習とデータ多様性の活用 |
| 2023 | Claude | Anthropicのチーム | Anthropic | 構成的な理解と説明能力を備えた対話AIシステム | 言語モデル、論理推論 | AIによる論理的な説明の生成の難しさ | 構成的AIアプローチと論理推論の統合 |
| 2023 | PaLM | Googleのチーム | Google | 540億パラメータの大規模マルチモーダル言語モデル | Transformer、マルチモーダル | 大規模マルチモーダルモデルの学習の難しさ | マルチモーダルトランスフォーマーと大規模データセット |
| 2023 | Kosmos-1 | Anthropicのチーム | Anthropic | 取り組み中の大規模な構成的知能モデル | 符号化ネットワーク | 構成的知能の実現の難しさ | 高度な符号化技術とネットワークアーキテクチャ |
| 2023 | Bard | Googleのチーム | Google | 対話型の汎用AIアシスタント | 大規模言語モデル、知識ベース | 汎用AIアシスタントの開発の難しさ | 知識ベースと言語モデルの統合 |
| 2023 | GPT-4 | OpenAIのチーム | OpenAI | マルチモーダル入出力対応の強化学習言語モデル | 強化学習、マルチモーダル | マルチモーダル入出力の統合の難しさ | 強化学習とマルチモーダルアプローチの組み合わせ |
| 2023 | 医療診断 | Microsoftのチーム | InnerEye | Microsoft | AIを活用した医療診断 | 医療診断における精度の問題 | 機械学習とコンピュータビジョンの進歩 |
| 2023 | 医療診断 | IBMのチーム | Watson for Oncology | IBM | AIを活用した医療診断 | 医療データの解釈の難しさ | 自然言語処理と情報検索技術の進化 |
| 2023 | 医療画像診断 | Googleのチーム | BunkerHill Health | Google | AIを活用した医療画像診断 | 医療画像の解析の難しさ | コンピュータビジョンとディープラーニングの進化 |
| 2023 | 総合診断 | 人工知能スタートアップのチーム | Human Diagnosis Project | 人工知能スタートアップ | AIを活用した総合診断 | 医療データの総合的な解析の難しさ | 深層学習と自然言語処理の組み合わせ |
| 2023 | 証券取引 | Renaissance Technologiesのチーム | Renaissance Technologies | ヘッジファンド | AIを活用した証券取引 | 証券市場の予測の難しさ | 機械学習とディープラーニングの進化 |
| 2024 | サイバーセキュリティ | DARPAのチーム | ProjectX | DARPA | AIを活用したサイバーセキュリティ | サイバーセキュリティの脅威の予測の難しさ | 強化学習とニューラルネットワークの進化 |
| 2024 | 気象予報 | NOAAのチーム | ForecastX | NOAA | AIを活用した気象予報 | 正確な気象予報の生成の難しさ | 数値モデルと機械学習の組み合わせ |

## ILSVRC優勝

| 年 | モデル | 開発者 | 開発元 | 特徴 | ベースとなる技術 | 問題 | 解決策 |
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| 2012 | AlexNet | アレックス・クリゼフスキー, イリヤ・スツケヴァー, ジェフリー・ヒントン | トロント大学 | CNNを用いた画像認識モデルで、ILSVRCでの優勝によりDNNブームを牽引 | CNN | ハードウェアの制約 | 高性能GPUと分散コンピューティング |
| 2013 | ZFNet | マシュー・D・ジーラー, ロブ・ファーガス | ニューヨーク大学 | AlexNetの問題点を改善したCNNモデルで、ILSVRCで優勝 | CNN | 過学習 | データ拡張と正則化 |
| 2014 | GoogLeNet | クリスチャン・シェガディー他 | Google | Inceptionモジュールを導入した深層CNNで、ILSVRCで優勝 | CNN | 計算資源の制限 | 層数と層間の結合数の増加 |
| 2014 | VGGNet | カレン・シモニャン, アンドリュー・ジスマン | オックスフォード大学 | 層数を増やした深層CNNで、ILSVRCで準優勝 | CNN | 過学習 | ドロップアウトとデータ拡張 |
| 2015 | ResNet | ケーミング・ヒー他 | Microsoft Research | 残差学習を導入した深層CNNで、ILSVRCで優勝 | CNN | 勾配消失問題 | スキップ接続とバッチ正規化 |
| 2017 | SENet | ジエ・フー他 | モメンタム | Squeeze-and-Excitationブロックを導入したCNNで、ILSVRCで優勝 | CNN | モデルの複雑さ | チャネル間の関係性の強化 |
| 2018 | NASNet | バーレット・ジョープ他 | Google Brain | Neural Architecture Searchを用いたCNNで、ILSVRCで高精度を達成 | CNN | 最適なアーキテクチャの探索 | 強化学習によるアーキテクチャ探索 |
| 2019 | EfficientNet | ミンシン・タン, クエンティン・V・レ | Google Research | 幅、深さ、解像度のスケーリングを組み合わせたCNNで、ILSVRCで高精度かつ高効率を達成 | CNN | モデルのスケーラビリティ | Compound Scaling |
| 2020 | Vision Transformer (ViT) | アレクセイ・ドソビツキー他 | Google Research | Transformerアーキテクチャを画像分類に適用し、CNNに匹敵する性能を達成 | Transformer | 画像への適用 | 画像をパッチに分割し、シーケンスとして処理 |
| 2021 | CoAtNet | ジン・ダイ他 | Google Research | CNNとTransformerを組み合わせたアーキテクチャで、ImageNetで高精度を達成 | CNN, Transformer | 両者の長所の組み合わせ | 相対的位置符号化とグローバル対応 |


## ゲーム（それによる、VS人）

| 年 | 分野 | AIの名前 | 開発元 | 勝者 | 使用技術 |
|----|----|----|----|----|----|
| 1997 | チェス | Deep Blue | IBM | AI | ミニマックス探索、アルファベータ枝刈り、専門家の知識を組み込んだ評価関数 |
| 2011 | クイズ | Watson | IBM | AI | 自然言語処理、情報検索、知識表現、機械学習 |
| 2012 | 将棋 | Bonanza | 保木邦仁(個人開発) | AI | ミニマックス探索、アルファベータ枝刈り、深層学習を用いた評価関数 |
| 2015 | 囲碁 | AlphaGo | DeepMind(Google) | AI | ディープニューラルネットワーク、モンテカルロ木探索、強化学習 |
| 2017 | ポーカー | Libratus | カーネギーメロン大学 | AI | インプットによる戦略計算、ゲーム理論 |
| 2018 | リアルタイムストラテジー | AlphaStar | DeepMind | AI | 強化学習、ディープニューラルネットワーク、探索アルゴリズム |
| 2020 | 自然言語処理 | GPT-3 | OpenAI | AI | 大規模言語モデル、ディープラーニング |
| 2022 | チェス | Chessとか | DeepMind | AI | 強化学習、モンテカルロ木探索、ニューラルネットワーク |

## 人

| 年 | 名前 | 貢献 |
|----|------|------|
| 1950 | アラン・チューリング | 人工知能の判定テストであるチューリングテストを考案 |
| 1956 | ジョン・マッカーシー | 人工知能という言葉を初めて使用し、フレーム問題を提唱 |
| 1959 | アーサー・サミュエル | 機械学習を「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」と定義 |
| 1956 | アレン・ニューウェル、ハーバード・サイモン | 世界初の人工知能プログラムであるロジック・セオリストを開発 |
| 1966 | ジョゼフ・ワイゼンバウム | 世界初のチャットボット、ELIZAを制作 |
| 1980 | ジョン・サール | 強いAI・弱いAIという言葉を作った |
| 1987 | スティーブン・ハルナッド | シンボルグラウンディング問題を提唱 |
| 1997 | ダニエル・デネット | フレーム問題を考えすぎるロボットの例で説明 |
| 2012 | ジェフリー・ヒントン | ILSVRC2012でディープラーニングを使って優勝 |
| 2012 | アンドリュー・ン | Courseraの設立に携わる |
| 2014 | イアン・グッドフェロー | GANを考案 |
| 2015 | ヤン・ルカン | GANを「機械学習において、この10年間で最も面白いアイデア」と形容 |
| 2015 | ヨシュア・ベンジオ | ディープラーニングの父と呼ばれる |
| 2015 | イーロン・マスク | OpenAIを設立 |
| 2029 | レイ・カーツワイル | 人工知能が人間より賢くなると予想 |
| 2045 | レイ・カーツワイル | シンギュラリティが起きると予想 |


## ディープラーニングの基本的な流れ
データ収集: ディープラーニングモデルを訓練するためには、大量のデータが必要です。このデータは、モデルが学習するための「経験」となります。
データ前処理: 収集したデータをモデルが処理しやすい形式に変換します。例えば、画像データのサイズを統一したり、テキストデータから不要な情報を削除したりします。
モデルの設計: ニューラルネットワークの構造を設計します。これには、入力層、隠れ層（中間層）、出力層が含まれます。
モデルの訓練: 訓練データを使用してモデルを訓練します。この過程で、モデルはデータからパターンを学習します。
評価: テストデータセットを使用してモデルの性能を評価します。これにより、モデルが未知のデータに対してどの程度正確に予測できるかを測定します。
チューニング: モデルの性能を向上させるために、パラメータの調整や構造の変更を行います。
デプロイメント: モデルが満足のいく性能に達したら、実際のアプリケーションやサービスに組み込みます。
主要な用語:
ニューラルネットワーク: 人間の脳の神経回路を模倣した数学的モデルです。層状のネットワークで構成されています。
入力層: モデルにデータを供給する層です。
隠れ層: 入力層と出力層の間にある層で、データの複雑な特徴を抽出します。
出力層: モデルの最終的な予測や分類結果を出力する層です。
活性化関数: ニューラルネットワークの各ノード（ニューロン）の出力を決定する関数です。
損失関数: モデルの予測が正解からどれだけ離れているかを測定する関数です。
オプティマイザ: モデルの重みを調整し、損失関数の値を最小化するためのアルゴリズムです。
過学習: モデルが訓練データに過剰に適合し、新しいデータに対してうまく一般化できない状態です。
バッチサイズ: モデルの訓練時に一度に処理するデータの数です。
エポック: 訓練データセット全体を一通りモデルに学習させることです。
ディープラーニングは、画像認識、自然言語処理、音声認識など、多くの分野で応用されています。モデルの設計や訓練方法には多様な手法があり、それぞれのタスクに最適なアプローチを選択する必要があります。


## ディープラーニング技術

### 正規化
バッチ正規化(Batch Normalization)
学習途中でデータの分布が偏ってしまう内部共変量シフトの問題を改善するために行う正規化。2015年に考案された。

局所コントラスト正規化
減算正規化、除算正規化を使ってCNNの画像に対して局所的にコントラストをスケーリングすること。その名の通り。


### 正則化手法
LASSO
Least Absolute Shrinkage and Selection Operator。L1ノルムという制約条件を与える正則化手法。パラメータのスパース推定を行う。

Ridge正則化
L2正則化項を使って説明変数の影響が大きくなり過ぎないようにする正則化。

:::note info

正規化は入力データや特徴量の前処理手法であり、データの尺度や分布を変換してモデルの学習を効率化する。
正則化はモデル自体の学習アルゴリズムに対する手法であり、モデルの複雑さを制御して過学習を防ぐ。

:::

### データの前処理
欠損値の扱い
リストワイズ法
欠損値があるサンプルをそのまま削除してしまう方法。

回帰補完
欠損しているある特徴量と相関が強い他の特徴量が存在している場合に、回帰を利用して欠損値を埋める方法。
リストワイズ法だとデータが減ってしまうので、データが少ない時に有効。

### 学習方法

転移学習
別のタスクで学習しておき、学習済みの特徴やパラメータを利用すること。少ないデータ、短時間で学習することができる。学習済モデルの最終出力層のみを付け替えて、新しいデータで学習するが、事前に学習していたパラメータは重み更新しない。

:::note info

友達のノートを借りて自分で勉強するイメージ。

:::

ファインチューニング
転移学習では出力層以外を再学習させないのに対し、ファインチューニングは他の層もチューニングの意味で学習させる。1から学習させるよりかは効率的。

蒸留
別のモデルでトレーニングした知識を、別の軽量なモデルに継承させて使うこと。元のモデルを教師モデル、継承先のモデルを生徒モデルと呼ぶ。

:::note info

蒸留（Distillation）は、大きなモデルの知識を小さなモデルに移す技術です。教師モデルの予測結果を使って、小さな生徒モデルを訓練します。
ファインチューニングは、あるタスクで学習したモデルを別のタスクに適用する技術です。モデルの一部を新しいデータで再学習させます。

:::

End to End Learning
入力から出力まで一括で学習すること。コンピュータの性能が乏しい時は分割して学習させるしかなかった。

DQN
ディープラーニングを使った強化学習(Deep Q-Network)。ルールを教わることなく、ランダムな操作からハイスコアを狙っていくことができる。


### 最適化手法や関連用語

勾配降下法
勾配情報を利用して重みを増加させるか減少させるかを決める。学習率がハイパーパラメータ。逐次学習（オンライン学習）の場合は確率的勾配降下法(SGD)、ミニバッチ学習の場合はミニバッチ勾配降下法と呼ぶ。

Momentum
勾配降下法に慣性項を追加し、急激に学習進捗が遅くなることを防いだ手法。

AdaGrad
学習率をパラメータに適応させる方法。重みベクトルの勾配毎に学習率を変える。学習率が大きいと収束は速いが最適な解を得ることが難しい。逆に学習率が小さいと計算時間が長いという問題を解決しようと考えられた。

RMSprop
AdaGradの発展。Adagradでは一度勾配が緩くなると学習率は小さくなるため、その先に急な勾配がある場合に対応できない。RMSpropは十分過去の勾配情報の影響を小さくすることで勾配の変化に対応しようと考えられた。

AdaDelta
RMSpropの次元数の不一致による問題を解決しようと考えられた。ニュートン法の応用となっている。

Adam
RMSpropの発展。パラメータ毎に適切なスケールで重みが更新される。AdaGradとMomentumの特徴を持つ。
勾配の平均と分散をオンラインで推定し利用する。

Adabound
2019年に発表。Adamに学習率の上限と下限(クリッピング)を設定したもの。最初はAdamのように動作し、学習後半からSGDのように動くように設計されている。

プラトー
最適化計算中に鞍点や停留点にとまってしまい、学習が停滞していること。


## 自然言語処理

### 音声処理と言語　の時系列データをNNモデル

| キーワード | 説明 | 関連ワード |
|------------|------|------------|
| RNN | 時系列データを扱うためのニューラルネットワークモデル | LSTM、GRU、BPTT、時系列予測 |
| Transformer | 自然言語処理タスクで広く使用されるニューラルネットワークアーキテクチャ | Self-Attention、Encoder-Decoder、BERT、GPT |
| Pre-trained Models | 大規模なデータセットで事前学習されたモデル | BERT、GPT、ELMo、Transfer Learning |
| LSTM | 勾配消失問題を解決するために設計されたRNNの一種 | 長期依存性、ゲート機構、時系列予測 |
| GRU | LSTMと同様の機能を持つが、よりシンプルな構造のRNN | 長期依存性、ゲート機構、時系列予測 |
| 双方向RNN | 順方向と逆方向の両方向から系列データを処理するRNN | 文脈考慮、系列ラベリング、Bi-LSTM |
| RNN Encoder-Decoder | 系列データを別の系列データに変換するためのモデル | Seq2Seq、機械翻訳、要約、対話システム |
| BPTT | RNNの学習アルゴリズム | 勾配消失問題、勾配爆発問題、Truncated BPTT |
| Attention | Encoder-Decoderモデルで、Decoderが注目すべきEncoder出力を動的に選択するメカニズム | Alignment、Source-Target Attention、Self-Attention |
| A-D変換 | アナログ信号をデジタル信号に変換するプロセス | サンプリング、量子化、符号化、PCM（パルス符号変調）|
| PCM | アナログ信号をデジタル信号に変換する装置 | 量子化、符号化、ボイスコーデック |
| FFT | 信号を時間領域から周波数領域に変換するアルゴリズム | 周波数分析、スペクトログラム、短時間フーリエ変換 |
| スペクトル包絡 | 音声信号の周波数特性を表す包絡線 | フォルマント、MFCC、音声分析 |
| MFCC | 音声認識で広く使用される音響特徴量 | 音声分析、特徴抽出、音響モデル |
| フォルマント | 音声の共鳴周波数 | 母音、音声分析、音声合成 |
| 音韻 | 言語の音の体系 | 音素、音声学、言語学 |
| 音素 | 言語の最小の音の単位 | 音韻、音声認識、音響モデル |
| 音声認識エンジン | 音声信号をテキストに変換するシステム | 音響モデル、言語モデル、デコーディング |
| 隠れマルコフモデル | 音声認識で使用される確率的モデル | 音響モデル、Viterbiアルゴリズム、Baum-Welchアルゴリズム |
| WaveNet | 音声合成に使用されるディープラーニングモデル | 音声合成、オートリグレッシブモデル、畳み込みニューラルネットワーク |
| メル尺度 | 人間の聴覚特性を考慮した周波数スケール | 音声分析、MFCC、聴覚心理学 |
| N-gram | 連続するN個の単語の組み合わせ | 言語モデル、Smoothing、Perplexity |
| BoW | 文書を単語の出現頻度のベクトルで表現する手法 | 文書分類、情報検索、TF-IDF |
| ワンホットベクトル | 単語を表現するベクトル | 単語埋め込み、分散表現、word2vec |
| TF-IDF | 単語の重要度を表す指標 | 文書分類、情報検索、BoW |
| 単語埋め込み | 単語をベクトル空間上の点として表現する手法 | 分散表現、word2vec、fastText、ELMo |
| 局所表現 | 単語をそれ自体で表現する手法 | BoW、ワンホットベクトル、TF-IDF |
| 分散表現 | 単語を周囲の単語との関係性で表現する手法 | 単語埋め込み、word2vec、fastText、ELMo |
| word2vec | 単語の分散表現を学習するためのアルゴリズム | 単語埋め込み、スキップグラム、CBOW |
| スキップグラム | word2vecの学習方式の一種 | 単語埋め込み、分散表現、word2vec |
| CBOW | word2vecの学習方式の一種 | 単語埋め込み、分散表現、word2vec |
| fastText | 単語を部分文字列に分解して処理するword2vecの拡張モデル | 単語埋め込み、Sub-word情報、未知語対応 |
| ELMo | 文脈を考慮した単語埋め込みを生成するモデル | 文脈考慮、単語埋め込み、言語モデル |
| 言語モデル | 単語の出現確率を予測するモデル | N-gram、Perplexity、Smoothing |
| CTC | 系列データのアラインメントを必要としない学習アルゴリズム | 音声認識、手書き文字認識、系列ラベリング |
| Seq2Seq | 系列データを別の系列データに変換するモデル | RNN Encoder-Decoder、Attention、機械翻訳 |
| Source-Target Attention | Encoder-Decoderモデルで、EncoderとDecoderの間でAttentionを行う | Seq2Seq、Alignment、機械翻訳 |
| Encoder-Decoder Attention | Encoder-Decoderモデルで、Decoderの各ステップでAttentionを行う | Seq2Seq、Alignment、機械翻訳 |
| Self-Attention | 系列データ内の要素間の関係性を捉えるAttentionメカニズム | Transformer、BERT、GPT |
| 位置エンコーディング | 系列データ内の位置情報を埋め込む手法 | Transformer、Self-Attention、位置情報 |
| GPT | 大規模な言語モデル | Pre-trained Models、言語生成、Zero-shot Learning |
| BERT | 双方向のTransformerを用いた言語モデル | Pre-trained Models、自然言語理解、Fine-tuning |
| GLUE | 自然言語理解タスクのベンチマークデータセット | 自然言語理解、ベンチマーク、評価指標 |
| Vision Transformer | 画像処理にTransformerアーキテクチャを適用したモデル | 画像分類、物体検出、セマンティックセグメンテーション |
| 構文解析 | 文の文法構造を解析するタスク | 自然言語処理、依存構造解析、構文木 |
| 形態要素解析 | 文を単語や形態素に分割するタスク | 自然言語処理、単語分割、品詞タグ付け |


### 流れと用語

①形態素解析で文章を最小単位(単語等)に分ける。
②データクレンジングで不要な文字列を除去する。
③Bag-of-Words等でベクトル化する。
④TF-IDF等で単語の重要度評価をする。

Bag of Words(BoW)
文章に単語が含まれているかどうかを考えてテキストデータを数値化すること。
形態素解析を行ったデータをベクトルの形式に変換する。

TF-IDF
文章に含まれる単語の重要度を特徴量とする。

Word2Vec
単語をベクトルとして表現するGoogleによって2013年に開発された手法。単語同士の意味の近さをベクトルの足し算引き算で計算することができる。
例）王様-男+女=女王


## LLM（Large Language Model）生成AI使用

| 要素技術 | 説明 | 関連手法・アルゴリズム |
|:--|:--|:--|
| Transformer | 自己注意機構を用いたニューラルネットワークアーキテクチャ | Multi-Head Attention, Positional Encoding |
| Self-Attention | 系列データの各要素間の関係性を学習する機構 | Scaled Dot-Product Attention, Multi-Head Attention |
| Positional Encoding | 系列データの位置情報を埋め込む手法 | Sinusoidal Positional Encoding, Learned Positional Encoding |
| Byte Pair Encoding (BPE) | サブワード単位でテキストを分割するトークナイゼーション手法 | Wordpiece, SentencePiece |
| Layer Normalization | 層ごとに活性化関数の入力を正規化する手法 | - |
| Residual Connection | 層の入力を出力に直接接続することで、勾配の流れを改善する手法 | - |
| Masked Language Modeling (MLM) | 入力テキストの一部をマスクし、そのマスクされた単語を予測するタスクによる事前学習 | BERT, RoBERTa, ALBERT |
| Next Sentence Prediction (NSP) | 2つの文が連続する文であるかを予測するタスクによる事前学習 | BERT |
| Permutation Language Modeling (PLM) | 文中の単語をランダムに並び替え、元の順序を予測するタスクによる事前学習 | XLNet |
| Generative Pre-Training (GPT) | 言語モデルによる単方向の事前学習 | GPT, GPT-2, GPT-3 |
| Contrastive Learning | 類似した表現を近づけ、異なる表現を遠ざけるように学習する手法 | SimCLR, CLIP |
| Knowledge Distillation | 大規模モデルの知識を小規模モデルに蒸留する手法 | DistilBERT, TinyBERT |
| Quantization | モデルの重みやアクティベーションを低ビット化することで、モデルを圧縮・高速化する手法 | INT8 Quantization, Quantization-Aware Training |
| Pruning | モデルの重要度の低い重みを削除することで、モデルを圧縮・高速化する手法 | Magnitude Pruning, Lottery Ticket Hypothesis |




## 画像認識モデル





## 音声認識モデル（ディープラーニング）

| モデル名 | 概要 | 特徴 |
|----------|------|------|
| DeepSpeech | Mozillaが開発したオープンソースの音声認識システム | CTCを用いたRNNベースのモデル |
| Wav2Letter | Facebookが開発した音声認識システム | CNNとCTCを組み合わせたモデル |
| Listen, Attend and Spell (LAS) | GoogleのAttention-based音声認識モデル | Encoder-Decoderアーキテクチャを採用 |
| Jasper | NVIDIAが開発したEnd-to-Endの音声認識モデル | 1Dの深いCNNを使用 |
| Conformer | Googleが提案したTransformerベースのモデル | CNNとTransformerを組み合わせたアーキテクチャ |
| Quartznet | NVIDIAが開発したCTCベースの音声認識モデル | 1D Time-Channel Separable Convolutionを使用 |
| Transformer Transducer  |RNN-Transducerの拡張モデル | Transformerエンコーダとprediction networkを組み合わせたモデル |
| ContextNet | Googleが提案したコンパクトな音声認識モデル | Depth-wise Separable Convolutionを使用 |
| Citrinet | Googleが開発した軽量な音声認識モデル | Squeeze-and-Excitationを取り入れたアーキテクチャ |

これらのモデルは、音声認識タスクにおいて高い性能を示しており、多くの研究や実際のアプリケーションで使用されています。モデルの選択は、タスクの要件、利用可能なリソース、および推論速度とメモリ使用量のトレードオフによって決まります。


## 表現学習の用語と説明、使用例の一覧表

| 用語 | 説明 | 使用例 |
|:--|:--|:--|
| 表現学習 (Representation Learning) | 生のデータから、タスクに適した特徴表現を自動的に学習する機械学習の手法。ディープラーニングは表現学習の一種。 | 画像認識、音声認識、自然言語処理など |
| 自己教師あり学習 (Self-Supervised Learning) | ラベル付けされていないデータから、モデル自身が教師信号を生成し、特徴表現を学習する手法。 | 画像の色空間変換、音声のマスキングなど |
| オートエンコーダ (Autoencoder) | 入力データを潜在表現に圧縮し、再構成するニューラルネットワーク。データの低次元表現を学習できる。 | 画像の特徴抽出、異常検知など |
| 変分オートエンコーダ (Variational Autoencoder, VAE) | 確率的な潜在変数を用いたオートエンコーダ。生成モデルとしても使用可能。 | 画像生成、音声合成など |
| 敵対的生成ネットワーク (Generative Adversarial Network, GAN) | 生成器と識別器が競合的に学習を行い、生成器が真のデータ分布を学習する。 | 高解像度画像生成、音声変換など |
| 潜在意味解析 (Latent Semantic Analysis, LSA) | 単語-文書行列に特異値分解を適用し、単語の潜在的な意味表現を学習する手法。 | 文書分類、情報検索など |
| 単語埋め込み (Word Embedding) | 単語をベクトル空間上の点として表現する手法。単語の意味的な関係を捉えることができる。 | 自然言語処理、感情分析など |
| Word2Vec | 単語の文脈情報からニューラルネットワークを用いて単語埋め込みを学習する手法。 | 単語の類似度計算、文章の分散表現など |
| GloVe (Global Vectors for Word Representation) | 単語の共起情報に基づいて単語埋め込みを学習する手法。 | 単語の類似度計算、文章の分散表現など |
| BERT (Bidirectional Encoder Representations from Transformers) | Transformerを用いた両方向の言語モデル。文脈を考慮した単語の表現を学習できる。 | 文章分類、質問応答、要約など |



### マルチアームバンディット問題（意思決定問題）において使用される最適化手法

| アルゴリズム                   | 概要                                                                                      |
|--------------------------------|-------------------------------------------------------------------------------------------|
| ε-greedy                      | εの確率でランダムな選択（探索）、1-εの確率で最も報酬の高い選択（活用）を行う。             |
| UCB (Upper Confidence Bound)  | 各アームの信頼区間を計算し、信頼区間の上限が最大のアームを活用し、それ以外の場合は探索を行う。 |
| Thompson Sampling             | ベイズ的なアプローチを用いて、各アームの報酬分布を事後確率分布としてモデリングし、サンプリングを行って次のアームを選択する。 |
| Softmax Action Selection     | アームの選択確率を報酬の期待値に比例させる確率分布を使ってアームを選択する。高い報酬を持つアームがより高い確率で選択されるが、低い報酬を持つアームも一定の確率で選択される。 |
| EXP3 (Exponential-weight algorithm for Exploration and Exploitation) | 指数関数的に報酬の期待値に応じてアームを選択し、選択されたアームの報酬に基づいて重みを更新する。リグレット（Regret）を最小化するように設計されている。 |
| ε-first                       | 最初のε回の試行で探索し、その後は最も報酬の高いアームを活用する。                      |
| ε-decreasing                  | εを徐々に減少させ、探索から活用への移行を促す。                                         |

:::note info

マルチアームバンディット問題は、複数の選択肢（アーム）から一つを選び、最大の報酬を得ることを目的とした意思決定問題です。この問題は、探索（exploration）と活用（exploitation）のバランスを取ることが重要で、以下のような応用例があります：
オンライン広告：どの広告がユーザーにとって最も関心が高いかを判断する。
ウェブサイトのA/Bテスト：異なるデザインや機能がユーザーのエンゲージメントにどのように影響するかを評価する。
臨床試験：複数の治療法の中から最も効果的なものを見つける。
レコメンデーションシステム：ユーザーが気に入る可能性のあるアイテムを推薦する。
ポートフォリオ管理：投資のリターンを最大化するための資産配分を決定する。

:::

## 深層強化学習
| キーワード | 説明 | 関連ワード |
|------------|------|------------|
| 深層強化学習 | 強化学習にディープラーニングを組み込んだ手法 | 強化学習、ディープラーニング、意思決定 |
| DQN | Deep Q-Networkの略称。Q学習にディープニューラルネットワークを組み合わせた手法/強化学習における基本的な手法 | Q学習、ニューラルネットワーク、経験再生 |
| ダブルDQN | DQNの過大評価問題を抑制するための手法 | DQN、過大評価問題、ターゲットネットワーク |
| デュエリングネットワーク | 状態価値関数と行動価値関数を分離して学習する手法 | DQN、状態価値関数、行動価値関数 |
| ノイジーネットワーク | ニューラルネットワークの重みにノイズを加えることで探索を促進する手法 | 探索と利用のトレードオフ、ノイズ、パラメータ空間での探索 |
| Rainbow | DQNの拡張手法を組み合わせたアルゴリズム（7つ） | DQN、ダブルDQN、デュエリングネットワーク、ノイジーネットワーク |
| モンテカルロ木探索 | ゲーム木探索の一種で、シミュレーションを用いて最適な手を選択する手法 | ゲーム木探索、シミュレーション、探索と利用のトレードオフ |
| アルファ碁 (AlphaGo) | 深層強化学習とモンテカルロ木探索を組み合わせた囲碁AI | 深層強化学習、モンテカルロ木探索、囲碁 |
| アルファ碁ゼロ (AlphaGo Zero) | 人間の知識を使わずに自己対局のみで学習する囲碁AI | 深層強化学習、モンテカルロ木探索、自己対局 |
| アルファゼロ (Alpha Zero) | アルファ碁ゼロの一般化版。様々なゲームに適用可能 | 深層強化学習、モンテカルロ木探索、ゲーム |
| マルチエージェント強化学習 | 複数のエージェントが協調・競争しながら学習する枠組み | 強化学習、ゲーム理論、協調と競争 |
| OpenAI Five | Dota 2というゲームにおいて人間のプロチームに勝利したAI | 深層強化学習、マルチエージェント強化学習、Dota 2 |
| アルファスター (AlphaStar) | StarCraftというゲームにおいて人間のトッププレイヤーに勝利したAI | 深層強化学習、マルチエージェント強化学習、StarCraft |
| 状態表現学習 | 強化学習における状態の表現を学習する手法 | 特徴抽出、オートエンコーダ、半教師あり学習 |
| 連続値制御 | 連続的な行動空間を持つタスクにおける強化学習 | 行動空間、方策勾配法、確率的方策 |
| 報酬成形 | タスクの達成につながる中間的な行動に報酬を与える手法 | 報酬設計、スパース報酬問題、探索の促進 |
| オフライン強化学習 | 事前に収集されたデータを用いて方策を学習する手法 | データ効率性、方策の安全性、バッチ強化学習 |
| sim2real | シミュレーション環境で学習した方策を実環境に転移する手法 | シミュレーション、ドメイン適応、転移学習 |
| ドメインランダマイゼーション | シミュレーション環境のパラメータをランダムに変化させることで汎化性能を向上させる手法 | sim2real、データ拡張、ドメイン適応 |
| 残差強化学習 | 既存の方策に対する残差を学習することで方策を改善する手法 | 方策の微調整、ファインチューニング、転移学習 |


## エッジAI

| 技術 | 目的 | 課題 | 解決策 | 関連技術・キーワード |
| --- | --- | --- | --- | --- |
| プルーニング | モデルのサイズ削減と推論速度向上 | 重要でないニューロンや接続の特定 | 不要なパラメータを削除してネットワークを簡素化 | スパース性、重みの枝刈り、ネットワークの簡素化 |
| 量子化 | 計算効率とモデルサイズの改善 | 高ビット数の重みと活性化関数 | 低ビット表現への変換によるメモリと計算の削減 | ビット幅削減、量子化アウェアトレーニング(QAT) |
| 蒸留 | 小型モデルへの知識伝達 | 大きなモデルからの重要情報の抽出 | 教師モデルから生徒モデルへの知識の転移 | 知識蒸留、ソフトターゲット、教師-生徒アーキテクチャ |



## AI実装
### データ収集

| キーワード | 説明 | 目的と課題 | 解決策 | 関連技術 |
| --- | --- | --- | --- | --- |
| オープンデータセット | 公開されているデータセット | データアクセスの容易さと品質の保証 | ライセンスの確認、データの検証 | データクレンジング、データ加工 |
| 個人情報保護法 | 個人情報の取扱いを規制する法律 | 個人情報の保護と適切な利用 | コンプライアンスの遵守、匿名化処理 | 暗号化、アクセス制御 |
| 不正競争防止法 | 競争上の不正行為を防止する法律 | 知的財産の保護と公正な競争 | 法令遵守、知的財産管理 | 特許分析、商標管理 |
| 著作権法 | 著作物の権利を保護する法律 | 著作権の尊重と合法的な利用 | ライセンス契約、著作権表示 | DRM、コンテンツ管理 |
| 特許法 | 発明の権利を保護する法律 | 発明の促進と保護 | 特許出願、特許権の行使 | 特許データベース、特許戦略 |
| データの網羅性 | 収集データの包括性 | バイアスのないデータセットの構築 | 多様なデータソースの活用 | データマイニング、統計分析 |
| 転移学習 | ある領域で学習した知識を別の領域に適用 | 学習効率の向上と汎用性の確保 | 事前学習モデルの利用 | ニューラルネットワーク、NLP |
| サンプリング・バイアス | データサンプリングにおける偏り | 正確な分析結果の確保 | 偏りのないサンプリング手法 | 層化抽出、ランダムサンプリング |
| 産学連携 | 企業と学術機関の協力 | 新技術の開発と実用化 | 共同研究プロジェクト | R&D、イノベーションマネジメント |
| オープン・イノベーション | 外部のアイデアや技術を活用(企業連携）| 革新的な製品やサービスの開発 | パートナーシップの構築 | クラウドソーシング、アクセラレータ |
| AI・データの利用に関する契約ガイドライン | AIとデータ利用のための契約の枠組み | 法的リスクの管理と透明性の確保 | ガイドラインに基づく契約作成 | 法務、契約管理 |


## データ収集手法
#### 標本化（Sampling）：

概要：

標本化は、連続時間信号から離散時間信号を取得するプロセスです。一定の時間間隔でアナログ信号の瞬時値を測定し、離散時間信号を生成します。

目的と必要性：

デジタル処理を可能にする：連続時間信号をそのままデジタル処理することは困難です。標本化により、離散時間信号を得ることで、デジタル処理が可能になります。
情報の保存：標本化定理（ナイキスト定理）に基づき、適切な標本化周波数を選択することで、アナログ信号の情報を失うことなく保存できます。


注意点：

エイリアシング：標本化周波数が不十分な場合、高周波成分が低周波成分として現れる現象が発生します。これを防ぐため、アナログ信号の最高周波数の2倍以上の標本化周波数が必要です。

#### 量子化（Quantization）：

概要：

量子化は、標本化された信号の振幅値を離散的な値に変換するプロセスです。各サンプルの振幅値を、あらかじめ定義された量子化レベルに割り当てます。

目的と必要性：

デジタル表現の実現：量子化により、連続的な振幅値を離散的な値に変換することで、デジタル表現が可能になります。
データ量の削減：量子化レベルを適切に選択することで、データ量を削減できます。ただし、量子化誤差が発生するため、音質とデータ量のトレードオフを考慮する必要があります。

注意点：

量子化誤差：量子化プロセスでは、元の信号と量子化された信号の間に誤差が生じます。この誤差を最小限に抑えるため、適切な量子化ビット数を選択する必要があります。




#### 符号化（Encoding）：

概要：

符号化は、量子化された信号をビット列に変換するプロセスです。量子化レベルに対応するビット列を割り当てることで、デジタルデータを生成します。

目的と必要性：

データの保存と伝送：符号化されたビット列は、デジタル記憶媒体に保存したり、通信チャネルを介して伝送したりすることができます。
データ圧縮の実現：符号化の過程で、データ圧縮技術を適用することで、データ量をさらに削減できます。

注意点：

符号化方式の選択：用途や要件に応じて、適切な符号化方式を選択する必要があります。代表的な符号化方式として、PCM、ADPCM、MP3、AACなどがあります。



### データ加工・分析・学習

| キーワード | 目的 | 課題 | 解決策 | 関連技術/キーワード |
| --- | --- | --- | --- | --- |
| データの加工 | 生データを分析可能な形式に変換 | データの品質、整合性の確保 | データクレンジングツールの使用 | ETL、データクレンジング |
| プライバシーの配慮 | 個人情報の保護 | データ漏洩のリスク | 匿名化、暗号化技術の適用 | GDPR、匿名加工情報 |
| 開発・学習環境の準備 | 効率的な機械学習モデルの開発 | 環境構築の複雑さ | コンテナ技術の利用 | Docker、Jupyter Notebook |
| アルゴリズムの設計・調整 | 最適なモデルの選定と調整 | モデルの過学習や不十分な学習 | ハイパーパラメータチューニング | 機械学習、ニューラルネットワーク |
| アセスメント | モデルの性能評価 | 正確な評価指標の選定 | 性能評価指標の適用 | 精度、再現率、F1スコア |
| アノテーション | データにラベル付け | 一貫性のあるラベル付け | クラウドソーシング | データラベリング |
| カメラ画像利活用ガイドブック | 画像データの有効活用 | プライバシーとセキュリティの確保 | ガイドラインの遵守 | 画像認識、コンピュータビジョン |
| ELSI | 倫理的、法的、社会的課題への対応 | AIの倫理的な使用 | 倫理ガイドラインの策定 | 倫理的AI、XAI |
| Python | プログラミングとデータ分析 | 学習曲線 | 教育資源の提供 | データサイエンス、AI |
| Docker | 開発環境の標準化 | 環境依存性の排除 | コンテナ技術の採用 | コンテナオーケストレーション |
| Jupyter Notebook | 対話型開発環境の提供 | コードの共有と再現性 | ノートブック形式の採用 | データ可視化、対話型プログラミング |
| 説明可能AI (XAI) | AIの判断根拠の透明化 | AIのブラックボックス問題 | XAI技術の開発 | AIの倫理、AIガバナンス |
| フィルターバブル | 情報のパーソナライズ | 情報の偏り | 情報源の多様化 | エコーチェンバー、情報リテラシー |
| FAT | 公平性、透明性、説明可能性の確保 | AIのバイアス | 公平性評価ツールの使用 | AI倫理、アルゴリズム監査 |
| PoC | 概念実証 | 実用化への橋渡し | プロトタイプの開発 | MVP、プロトタイピング |










## 日本の内閣府策定：人間中心のAI社会原則

人間中心の原則: AIは人間の尊厳と自由を尊重し、人間の利益のために利用されるべきです。
教育・リテラシーの原則: すべての人がAIを理解し、利用できるように教育とリテラシーを向上させる必要があります。
プライバシー確保の原則: 個人のプライバシーを守り、個人情報の慎重な管理が求められます。
セキュリティ確保の原則: AIシステムの安全性を確保し、セキュリティ対策を講じる必要があります。
公正競争確保の原則: 公正な競争を促進し、独占や不公平な利用を防ぐための措置が必要です。
公平性、説明責任及び透明性の原則: AIの決定過程は公平であり、その理由は説明可能で透明であるべきです。
イノベーションの原則: AIの発展はイノベーションを促進し、社会全体の利益に寄与するよう努めるべきです。



## Google規則

Googleの人工知能に関する規則
Googleは、人工知能（AI）の開発と使用において、以下の原則を遵守するよう定めています。

<details>
<summary>1. 社会的に有益であること</summary>
AIは、社会にとって有益で、人々の生活を豊かにするために使用されるべきです。差別や偏見を助長したり、人権を侵害したりするような使用は避けなければなりません。
</details>
<details>
<summary>2. 人々に責任を負うこと</summary>
AIシステムは、透明性と説明責任を備え、開発者とユーザーに対して責任を負うべきです。どのようなデータに基づいてどのように判断しているのかを説明できるよう、AIシステムは設計されるべきです。
</details>
<details>
<summary>3. プライバシーを保護すること</summary>
AIシステムは、ユーザーのプライバシーを尊重し、個人データを保護するよう設計されるべきです。データ収集と使用に関する透明性を確保し、ユーザーにデータへのアクセスと制御を提供する必要があります。
</details>
<details>
<summary>4. 高い科学基準を維持すること</summary>
AIシステムは、高い科学基準に基づいて開発され、検証されるべきです。安全性と信頼性を確保するため、適切なテストと評価が行われる必要があります。
</details>
<details>
<summary>5. 人とAIの協働を促進すること</summary>
AIは、人間に取って代わるのではなく、人間と協働して能力を補完するために使用されるべきです。人間とAIが効果的に協働できるよう、人材育成と教育が重要になります。
</details>
<details>
<summary>6. 安全性を確保すること</summary>
AIシステムは、安全で信頼できるものであるように設計され、運用されるべきです。悪意のある利用や予期せぬ結果を防ぐための保護手段を講じる必要があります。
</details>
<details>
<summary>7. 説明責任を果たすこと</summary>
AIシステムの開発と使用において、説明責任を果たすことが重要です。倫理的な問題や懸念事項に対処するための仕組みを構築し、ステークホルダーとの積極的な関与を図る必要があります。
</details>
<details>
<summary>8. 包摂性を確保すること</summary>
AIシステムは、多様な人々のニーズと価値観を反映するように設計されるべきです。差別や偏見を助長するようなシステムは避けなければなりません。
</details>
<details>
<summary>9. 継続的に改善すること</summary>
AI技術は急速に進化しているため、AIシステムは継続的に改善され、更新されるべきです。新しい知見や技術を取り入れ、倫理的な問題に対処し続けることが重要です。
</details>
<details>
<summary>10. 公共の議論を促進すること</summary>
AIの開発と使用に関する公共の議論を促進することが重要です。様々なステークホルダーが参加できる場を設け、AIの未来について建設的な議論を行う必要があります。
</details>

これらの原則は、GoogleのAI倫理チームによって策定され、定期的に見直されています。詳細は、以下の資料をご覧ください。

その他の情報
上記以外にも、GoogleはAIに関する様々な規則を設けています。例えば、以下のようなものがあります。

AI原則の適用：Googleは、AI原則をすべてのGoogle製品とサービスに適用することを約束しています。
AI倫理チーム：Googleは、AI倫理チームを設置し、AI原則の遵守を監督しています。
外部レビュー：Googleは、AIシステムを外部の専門家によるレビューに受けることを約束しています。
ユーザーコントロール：Googleは、ユーザーが自分のデータとAIシステムとのやり取りを制御できるようにするツールを提供しています。
これらの規則は、GoogleがAIを責任ある倫理的な方法で開発と使用することを約束するものです。

注意事項
上記の情報は、2024年5月8日時点のものであり、今後変更される可能性があります。最新の情報については、Googleの公式ウェブサイトをご確認ください。


## Microsoft規則
Microsoftの人工知能ガイドライン
Microsoftは、AIシステムがどのように振る舞うべきかについてのベストプラクティスを提供しています。これらは、「人間とAIのインタラクションのガイドライン」として知られており、以下のような内容を含んでいます：

初期の対話: AIはユーザーとの最初の対話でポジティブな印象を与えるべきです。
定期的な対話: AIは一貫性のある対話を維持し、ユーザーの期待に応えるべきです。
間違いが発生した場合: AIは間違いを認め、正しい情報を提供することで信頼を築くべきです。
時間とともに: AIは進化し、ユーザーのニーズに適応するべきです。
これらのガイドラインは、Aether、Microsoft Research、Officeとの協力のもと開発されました。

責任あるAIの実践
Microsoftは、AIシステムの開発において以下の原則を重視しています：

公正性: AIは偏見なく公平な決定を下すべきです。
信頼性と安全性: AIは信頼でき、安全に使用できるべきです。
プライバシーとセキュリティ: AIはユーザーのプライバシーを尊重し、セキュリティを確保するべきです。
包摂性: AIは多様なユーザーとそのニーズを考慮するべきです。
透明性: AIはその動作が理解しやすいものであるべきです。
説明責任: AIはその決定に対して説明責任を持つべきです。
これらの原則は、「責任あるAIの標準」としてまとめられており、AI技術が人々の利益を最大化し、リスクを最小限に抑えるように設計されています。

Microsoftは、これらの原則をAIシステムの設計、開発、デプロイメントの各段階で考慮し、実践しています。責任あるAIの実践は、技術の進歩とともに進化し続ける分野であり、Microsoftはこの分野におけるリーダーシップを維持し、AIの安全で信頼できる使用を促進するために努力しています。

: 人間とAIのインタラクションのガイドラインに関する詳細は、Microsoftの公式文書で確認できます。 : 責任あるAIの実践に関する詳細は、Microsoftの公式声明で確認できます。 : 責任あるAIの標準に関する詳細は、Microsoftの公式リソースで確認できます。
















## 法律系
### 法改正一覧
| 国/地域 | 年 | 改正内容 |
| --- | --- | --- |
| 日本 | 2022 | 個人情報保護法の改正: オプトアウト規定の厳格化<br>法令違反ペナルティの強化<br>情報類型に個人関連情報、仮名加工情報が追加<br>著作権法の改正: AIが生成したコンテンツの著作物性に関する議論が進行。 |
| EU | 2023 | AI法規制: AIを包括的に規制する「Artificial Intelligence Act」に暫定的に合意。 |
| ドイツ | 2024 | 欧州AI法: 欧州議会が最終案を可決し、施行予定。 |
| イギリス | 2023 | 第1回AI安全サミット開催。独自のAI規制を進める。 |
| アメリカ | 2022 | 「AI権利章典のための草案」公表: AIの開発に当たり考慮すべき原則をまとめたもの。 |
| 中国 | 2022 | 「AI（人工知能）倫理ガバナンスの強化に関する中国の立場文書」提出。 |


### GDPR　頻出問題

https://ja.wikipedia.org/wiki/EU%E4%B8%80%E8%88%AC%E3%83%87%E3%83%BC%E3%82%BF%E4%BF%9D%E8%AD%B7%E8%A6%8F%E5%89%87


###（日本）AIと著作権に関する考え方

https://www.bunka.go.jp/seisaku/bunkashingikai/chosakuken/bunkakai/69/pdf/94022801_01.pdf




##### 不正競争防止法
下記3つの要件をすべて満たすものを営業秘密として認める

1. 秘密管理性: 秘密として管理されている
2. 有用性: 生産方法、販売方法その他の事業活動に有用な技術または営業上の情報
3. 非公知性: 公然と知られていないもの

##### 個人情報保護法
個人情報の有用性に配慮しつつ、個人の権利・利益を保護することを目的とした個人情報の取り扱いに関する法律

:::note warn

個人情報保護法改正
2022年4月の改正
- オプトアウト規定の厳格化
- 法令違反ペナルティ強化
- 情報類型に個人関連情報、仮名加工情報が追加

:::

扱う情報は以下の4つに分類される

1. 個人情報: 情報に含まれる記述により、特定の個人を識別できるもの(ほかの情報と容易に照合可能)や、個人識別符号が含まれるもの  
※ （匿名加工し、個人特定できないようにする） 
   例: 氏名、生年月日、連絡先、防犯カメラの識別可能映像、マイナンバー、DNA情報など

   :::note warn
    例外もある

    刑事訴訟法
    生命、身体、財産の保護に必要であり、本人の同意が必要なとき
:::


2. 仮名加工情報: ほかの情報と称しない限り特定の個人を識別できないように個人情報を加工したもの
   加工例: 加工前の個人情報「佐藤 一, 男性, 25歳, 視力:0.2」 
            加工後の仮名加工情報「(匿名ID), 男性, 25歳, 視力:0.2」(匿名IDと別資料により氏名を参照可能)

3. 匿名加工情報: 特定の個人を識別できないように、個人情報を復元不可能に加工した個人に関する情報  
   加工例: 加工前の個人情報「佐藤 一, 男性, 25歳, 視力:0.2」
           加工後の匿名加工情報「(氏名削除), 男性, 25歳, 視力:0.2」
:::note alert

個人情報の匿名加工
1. 定義

個人情報を特定の個人を識別できないように加工すること
元の個人情報を復元できないようにすること

2. 匿名加工情報の作成方法

個人識別符号の削除
特定の個人を識別できる記述の削除または他の記述への置換
個人情報と他の情報の照合による識別リスクへの対応
匿名加工情報の安全管理措置

3. 匿名加工情報の利用

作成者は、匿名加工情報を第三者に提供できる
提供先は、匿名加工情報を元の個人情報に復元してはならない
提供先は、匿名加工情報の安全管理措置を講じなければならない

4. 匿名加工情報の公表義務

作成者は、匿名加工情報を作成したときは、以下の事項をインターネットなどで公表しなければならない

匿名加工情報の項目
作成の方法
第三者提供の有無
第三者に提供される匿名加工情報の項目
第三者への提供の方法



5. 匿名加工情報の注意点

完全な匿名化は困難であり、リスクが残る可能性がある
匿名加工情報の作成には高度な技術と専門知識が必要
匿名加工情報の取り扱いには十分な注意と管理が求められる

:::

4. 個人関連情報: 生存する個人に関する情報かつ上記3つのどれにも該当しない情報  
   例: Cookie、IPアドレス、位置情報、閲覧履歴、購買履歴など




##### 自動運転関連
###### レベル別の分類
| レベル | 大別 | 詳細 |
|--------|------|------|
| レベル0 | 自動運転なし | 運転者がすべて操作する |
| レベル1 | 運転支援など | アクセル、ブレーキ、ハンドル操作のいずれかを特定の条件下で部分的にシステムが実行 |
| レベル2 | 部分自動運転化 | アクセル、ブレーキ、ハンドル操作のすべてを特定の条件下で部分的にシステムが実行 |
| レベル3 | 条件付き自動運転化 | 一定の条件下で運転操作のすべてをシステムが実行、継続不可の場合に運転者が対応する必要がある(2021/3に販売開始) |
| レベル4 | 高度運転自動化 | 運転操作のすべてをシステムが実行、継続不可の場合の対応も一定の条件下でシステムが対応 |
| レベル5 | 完全運転自動化 | 運転操作のすべてをシステムが実行、継続不可の場合の対応も無条件でシステムが対応 |

## 道路交通法(日本)の現状
- 2020年4月にレベル3の自動運転での行動の走行が解禁



## ドローン関連

### 航空法
#### 国土交通大臣の許可が必要となる空域
- 空港などの周辺上空の空域
- 緊急用務空域  
- 150m以上の高さの空域
- 人口集中地区の上空

#### 禁止・遵守が求められる規制
- 飲酒時の操縦禁止
- 飛行前点検の遵守
- 衝突予防の遵守
- 危険な飛行の禁止

#### その他国土交通大臣の許可が必要となる場合
- 夜間の飛行
- 目視外の飛行
- 人または物との距離が30m未満の飛行
- 催し場所での飛行
- 危険物輸送
- 物件投下

### レベル別の分類
| レベル | 分類 | 例など |
|--------|------|--------|
| レベル1 | 無人・有人地帯の目視内での操縦飛行 | 農薬散布や空撮、送電線などのインフラ点検が該当 |
| レベル2 | 無人・有人地帯の目視内での自立飛行可能 | 空中写真測量、ソーラーパネルの設備点検などが該当 |
| レベル3 | 無人地帯の目視外での操縦による飛行と自立飛行 | 離島や山間部への荷物配送、行方不明者の捜索、河川測量などが該当 |
| レベル4 | 無人地帯の目視外での操縦による飛行と自立飛行 | 市街地などを含めた都市の物流や警備、インフラ点検、避難誘導、消火活動などが該当 |


## 定理・経験則・他

### ノーフリーランチ定理
- あらゆる問題を効率よく溶ける万能なアルゴリズムはないこと
- 人物: ジェフリー・ヒントン

### みにくいアヒルの子定理
- 仮定がないと分類することは不可能であること

### オッカムの剃刀
- 現象を説明する際に必要以上に多くのことを仮定すべきではないという意味
- 機械学習においてその考え方が採用

### バーニーおじさんのルール
- ニューラルネットワークの重みパラメータの数に対して、その10倍以上の訓練データ量が最低限必要とする経験則 




## その他


### 各種計算　モデル評価　正解率　

※計算は正答率（TP+TN/ ALL) + otherで考える
　すぐ計算できる＋他の選択肢で取捨選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448426/e9504767-042c-601f-4a32-1a65f6e94c6c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448426/71adbc16-52be-a67c-c48e-dcaf9c1a9bf7.png)




https://qiita.com/MariMurotani/items/1a216b6e48fc35d8ac47



### 2段階検出とFast RNNについて説明します。

2段階検出（Two-stage detection）:
2段階検出は、物体検出（Object Detection）におけるアプローチの一つです。このアプローチでは、物体検出を2つのステージに分割します。


第1段階: Region Proposal（領域提案）
画像から、物体が存在する可能性の高い領域（Region of Interest, ROI）を抽出します。代表的な手法としては、Selective Search、EdgeBoxes、Region Proposal Network（RPN）などがあります。
第2段階: Classification and Bounding Box Refinement（分類と境界ボックスの調整）
第1段階で得られたROIに対して、CNNなどを用いて特徴抽出を行い、物体のクラス分類と境界ボックスの位置調整を行います。

代表的な2段階検出手法としては、R-CNN、Fast R-CNN、Faster R-CNNなどがあります。

Fast RNN:
Fast RNNは、リカレントニューラルネットワーク（RNN）の高速化手法の一つです。RNNは、時系列データや文章などの系列データを扱うことができるニューラルネットワークですが、長い系列を処理する際に勾配消失（Vanishing Gradient）や勾配爆発（Exploding Gradient）といった問題が生じることがあります。

Fast RNNは、これらの問題に対処するために提案された手法で、以下の特徴があります。

Gated Recurrent Unit（GRU）やLong Short-Term Memory（LSTM）などのゲート付きRNNアーキテクチャを使用し、勾配の流れを制御します。
RNNの重みを分解し、行列の積を効率的に計算することで、計算速度を向上させます。
バッチ正規化（Batch Normalization）を適用し、内部共変量シフト（Internal Covariate Shift）を軽減します。



### SMOTE
不均衡データ分類において、任意の点を人工的なデータとして生成する手法は、データ拡張（Data Augmentation）の一種であり、オーバーサンプリング（Oversampling）と呼ばれています。
オーバーサンプリングは、少数クラスのサンプル数を増やすことで、クラス間の不均衡を緩和する手法です。代表的なオーバーサンプリング手法の一つが、SMOTE（Synthetic Minority Over-sampling Technique）です。

###制限つきボルツマンマシン （RBM）
深層ネットワークにおける、　RBMで事前学習できる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448426/b2a5f5ca-6634-175f-3200-e08262a18f31.png)

### XAI

| 説明の種類 | 説明の内容 | 代表的な手法 |
|----------|-----------|-------------|
| グローバル説明 | モデル全体の動作や意思決定プロセスを説明 | - 特徴重要度（Feature Importance）<br>- 部分依存性プロット（Partial Dependence Plot）<br>- 累積局所効果（Accumulated Local Effects） |
| ローカル説明 | 個々の予測結果に対する説明を提供 | - LIME（Local Interpretable Model-agnostic Explanations）<br>- SHAP（SHapley Additive exPlanations）<br>- Anchor |
| 反事実的説明 | 「もしこの特徴量の値が異なっていたら、モデルの出力はどうなっていたか」という観点から説明 | - Contrastive Explanation<br>- Counterfactual Feature Importance |

### Deeplab
| 特徴 | 説明 |
|------|------|
| 畳み込みニューラルネットワーク（CNN）ベース | ResNetやXceptionなどの深層CNNをバックボーンネットワークとして使用し、画像の特徴抽出を行う |
| Atrous Convolution（拡張畳み込み） | フィルタの適用間隔を拡張することで、より広い受容野を持つことができ、画像のコンテキスト情報を効果的に捉えることができる |
| Atrous Spatial Pyramid Pooling（ASPP） | 複数のAtrous Convolutionを並列に適用し、それらの出力を結合することで、マルチスケールでの特徴抽出を可能にする |
| Conditional Random Fields（CRF）の統合 | 初期のDeepLabでは、CNNの出力に対してCRFを適用することで、セグメンテーション結果の空間的な整合性を向上させていた。最新のDeepLabでは、CRFの概念をニューラルネットワークに組み込むことで、エンドツーエンドの学習を可能にしている |
| エンコーダ-デコーダアーキテクチャ | DeepLabv3+で導入。エンコーダ部分でマルチスケールの特徴抽出を行い、デコーダ部分で特徴マップを元の画像サイズに復元することで、より高解像度のセグメンテーション結果を得ることができる |

### Mask R-CNN