6〜8章:学習メモ
サイズ:     
機械学習関連の学習に使えそうな本や動画を調べ、整理してみました。(なるべくFREEのものを優先しました)

* 尚、ノートの文章は一部を除きAIに書いてもらったもので、正確性はありません。
* ノートにchatGPT等AIに作ってもらった表を貼るには、「マークダウンのコードに変換して」と頼めば書き出してくれるので、ノートを「markdown」編集モードにして、コピペすれば簡単です。
sub  

Loading ...

    ノート表示(LV2)
6〜8章:学習メモ   LV2     Link:no title  
#### ch6. Deep Feedforward Networks

1. Deep Feedforward Networks(深層前駆け出しネットワーク)は、ニューラルネットワークの一種で、データを入力から出力へと一方向に流れるように処理する。
2. これらのネットワークは、多層パーセプトロン(MLP)とも呼ばれ、入力データを元に非線形変換を繰り返し行い、最終的に出力層で予測を生成する。
3. ネットワークの学習は、通常、教師あり学習を用いて行われ、損失関数を最小化するようにパラメータを更新する。
4. 損失関数は、ネットワークの出力と目標出力(正解ラベル)との差を計算するために使用される。代表的な損失関数には、平均二乗誤差(MSE)やクロスエントロピー損失がある。
5. 深層前駆け出しネットワークでは、活性化関数として非線形関数を使用する。代表的な活性化関数には、シグモイド関数、ハイパボリックタンジェント関数、ReLU(Rectified Linear Unit)などがある。
6. ネットワークの学習には、勾配降下法を使用する。また、誤差逆伝播アルゴリズムを用いて、効率的に勾配を計算することができる。
7. 深層前駆け出しネットワークは、複雑な関数を表現できるため、画像分類、音声認識、自然言語処理など、多くのアプリケーションで広く利用されている。

------

#### ch7. Regularization for Deep Learning

1. 深層学習モデルはパラメータ数が多く、過学習(overfitting)のリスクが高い。
2. 過学習を抑制し、汎化性能を向上させるために、正則化(regularization)手法が用いられる。
3. 正則化とは、モデルの複雑さを制約し、学習データへの適応を抑えることで、テストデータに対する性能を向上させる手法である。
4. L1正則化とL2正則化は、それぞれモデルのパラメータの絶対値の和(L1ノルム)や二乗和(L2ノルム)を損失関数に加えることで、モデルの複雑さを制約する。
5. L1正則化は、パラメータの値が0になることがあり、モデルのスパース性を増す効果がある。L2正則化は、パラメータの値が小さくなるが、0になることは少ない。
6. ドロップアウトは、訓練時にランダムにニューロンを無効化(ドロップ)し、モデルの過学習を抑制する。テスト時には、すべてのニューロンを使用し、出力を平均化する。
7. データ拡張は、学習データを人工的に増やすことで、モデルが新しいデータに対応できるようにする手法である。例えば、画像データの場合、回転や拡大縮小、平行移動などを行う。
8. 早期停止(early stopping)は、検証データに対する性能が最良の時点で訓練を停止し、過学習を防ぐ手法である。
9. ハイパーパラメータのチューニングや正則化の適用は、検証データを使って行うことが一般的である。

------

#### ch8. Optimization for Training Deep Models

1. 目的関数(またはコスト関数、損失関数)は、モデルの出力と目的地との違いを定量化するために使用されます。最適化手法は、この目的関数を最小化するパラメータを見つけることを目的としています。
2. 深層学習モデルの最適化は、通常、勾配降下法(Gradient Descent, GD)と呼ばれるアルゴリズムを使用して行われます。勾配降下法は、目的関数の勾配(すなわち、パラメータに関する偏微分)を計算し、勾配が示す方向にパラメータを更新して関数の値を減らします。
3. 勾配降下法には、バッチ勾配降下法、確率的勾配降下法(SGD)、ミニバッチ勾配降下法の3つの変種があります。バッチ勾配降下法は、すべての訓練データを使用して勾配を計算しますが、計算コストが高くなるため、大規模なデータセットでは非効率的です。SGDは、1つの訓練データを使用して勾配を計算し、計算コストは低いですが、勾配のノイズが大きくなります。ミニバッチ勾配降下法は、これらの両方のトレードオフをバランスするために、小さなランダムなサブセット(ミニバッチ)を使用して勾配を計算します。
4. 勾配降下法の性能は、学習率と呼ばれるハイパーパラメータに大きく依存します。学習率が高すぎると、最適解に収束せずに発散することがあります。学習率が低すぎると、収束が非常に遅くなります。学習率の適切な選択は、深層学習モデルの訓練において重要な課題です。
5. 勾配降下法の改善手法として、モーメンタム、Nesterov加速勾配、Adagrad、RMSprop、Adamなどのアルゴリズムが提案されています。これらの手法は、学習率の適応的な調整や、勾配の過去の履歴を利用してパラメータの更新を行うことで、収束速度を向上させたり、最適化の安定性を向上させたりします。
6. 深層学習モデルの最適化では、局所最適解や鞍点(saddle points)が問題となることがあります。局所最適解は、目的関数の値が周囲の点よりも小さいが、グローバル最適解でない点です。鞍点は、いくつかの方向では最小値、他の方向では最大値となる点です。これらの点では、勾配がゼロになるため、勾配降下法が停止してしまう可能性があります。
7. モデルの初期化は、最適化の成功に大きく影響します。適切な初期化手法を選択することで、勾配消失問題や勾配爆発問題を緩和し、最適化の収束速度を向上させることができます。
8. 二次最適化手法(ニュートン法や準ニュートン法など)は、勾配降下法よりも収束速度が速いことが一般的ですが、深層学習モデルでは、計算コストやメモリ消費量が大きいため、あまり使用されません。
9. 最適化アルゴリズムの選択やハイパーパラメータの調整は、深層学習プロジェクトにおいて重要な要素です。適切な手法やパラメータを選択することで、モデルの訓練速度や性能を向上させることができます。実験や交差検証を通じて、最適な設定を見つけることが推奨されます。

------

#### 勾配降下法の改善手法

| 手法 | 概要 |
|---------------------|--------------|
| モーメンタム | モーメンタムは、勾配降下法に慣性項を追加し、過去の勾配情報を考慮することで、更新の滑らかさと収束速度を向上させます。モーメンタムは、過去の勾配の指数移動平均を使ってパラメータ更新に影響を与えます。 |
| Nesterov加速勾配 | Nesterov加速勾配 (NAG) は、モーメンタム手法を改善したもので、パラメータ更新時に現在の勾配ではなく、予測される未来の勾配を使用します。これにより、パラメータの更新がより正確で効率的になり、収束速度が向上します。 |
| Adagrad | Adagradは、学習率を各パラメータに対して適応的に調整するアルゴリズムです。各パラメータの学習率は、そのパラメータの勾配の履歴に基づいて更新されます。これにより、勾配が緩やかな方向では学習率が大きく、勾配が急な方向では学習率が小さくなります。Adagradは、特に疎なデータセットで効果的ですが、学習率が徐々に減少し続けるため、訓練が進むと更新が遅くなることがあります。 |
| RMSprop | RMSpropは、Adagradの問題を解決するために提案されたアルゴリズムで、学習率の減少を制御するために、過去の勾配の移動平均を使用します。これにより、Adagradの学習率が無限に減少する問題が緩和され、より効果的な最適化が可能になります。 |
| Adam | Adamは、過去の勾配の一次モーメント(平均)と二次モーメント(分散)の両方を使用してパラメータ更新を行います。これにより、各パラメータに対して適応的な学習率と過去の勾配情報を同時に利用することができ、効果的な最適化が可能になります。Adamは、さまざまな深層学習タスクで広く使用されており、多くの場合、良い性能を示します。 |

  sub_notes (LV3)   全て開く   全て閉じる
none   LV3  
0
none

  コメント

  コメントを書く
ads