nokoのブログ

こちらは暫定のメモ置き場ですので悪しからず

TSUKUBA-OCW_機械学習_9_ニューラルネットワーク1基礎とCNNを視聴したときのメモ

はじめに

視聴メモ

機械学習から深層学習へ

  • これまで機械学習は線形モデルwxをベースにしていた
  • 深層学習は、「どうすればよい特徴量が得られるか」を学習ベースで獲得するための試み
  • データ -> 特徴設計 -> モデル学習
    • 特徴設計 -> モデル学習をまとめて学習ベースで。

深層学習

  • 入力はベクトルxで、それに重みwがかかって、出力は1次元のベクトル、というのは変わらない
  • -> u = w1x1 + ... + b
  • -> z = f(u) 活性化関数をかませる
    • 例えば、ロジスティック回帰ではシグモイド。ReLuもあり。(+はそのまま。-は反応しない。)
    • ソフトマックス回帰が、NNの基本的な形
  • 多層ニューラルネットワーク
    • 非線形関数を、これまでは一回だけかましていたが、NNでは二回以上かます。解釈はしにくくなるが、表現力が上がり、精度に寄与。
    • 出力層の直前までは(大部分は)特徴量の生成。最後の方の層で、これまで通り分類や回帰。
  • 従来の特徴量と多層NNの違い
    • 従来: 特徴次元数を高次元化することで複雑さを表現。縦に。
    • DNN: 層を積み重ねることで複雑さを表現。横に。
    • 予測と目標の差(誤差、損失)を取って、最小化するwを出す、は変わらない。(性能と損失は違う。性能はrecallとか。)
  • モメンタム
    • モチベーション: 横に広い楕円系だと、横に行きたいのに、勾配を見ると縦にいきがち
    • -> パラメータ更新量に、前回の更新量の成分を少しブレンド
  • 正則化/重み減衰
    • 正則化の考え方はこれまでのモデルと同じ
    • だが、重み減衰(weight decay)と呼ぶ
    • 重みの大きな変化を抑制する効果があるから
  • AdaGrad
    • ステップサイズパラメータの調整
    • 出力層側のパラメータの方が、入力層側より更新されにくい問題
    • 過去の勾配の総和で大きさを調整。これまで更新が少なかったパラメータに大きな学習率を与える。層ごとに学習の進捗が異なるNNの最適化に向いている。
  • 逆誤差伝播法
    • 非線形が繰り返し積み重なっているのを効率的に微分できる
    • 連鎖率