機械学習
明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野
学習アルゴリズム
教師あり
知っていることを受け取り、知りたいことに変換する
学習データに偏りがあり、差別を生む場合がある
教師なし
データから構造を見つける
その構造が何であるかまでは分かりようがない
SNSの興味関心、レコメンドシステム、類似した検索結果など
パラメトリック
パラメータの個数が決まっている
ノンパラメトリック
パラメータの個数が事前決まっておらず、データによって決まる
分類問題
離散的な値を予測する
スパムメール、写真から動物を見分けるなど
距離計算
ユークリッド距離 Euclidean Distance
各次元の2点間の差の二乗和の平方根
マンハッタン距離 Manhattan Distance
各次元の2点間の差の絶対値の和
碁盤の目の都市を移動する時のような測り方
ハミング距離 Hamming Distance
各次元が同じかどうか
スペルチェックなどに使われる
決定木
ジニ不純度
回帰問題
連続的な値を予測する
住宅価格、株価など
ロジスティック回帰
ハイパーパラメータ
学習率、バッチサイズ、エポック数、モデルサイズ(隠れの層/ニューロンの数、パラメータの数)、正則化(ドロップアウト)
手動で調整する
自動で調整する
Grid Search
Random Search
特徴エンジニアリング
Deep Learning with Python by Francois Chollet
時計から時刻を読む
生データ: ピクセルを読む
より良い方法: 短針と長針の先の座標
さらに良い方法: 針の角度
問題を高次で理解できていれば、より良い特徴をアルゴリズムに入れられる
ディープラーニングが大抵の特徴エンジニアリングの必要性を取り去った
ディープラーニングは生データから使える特徴を自動で抜き取る
しかし特徴エンジニアリングを気にしなくて良い訳ではない
モデル
上記のようなアルゴリズム、データ、パラメータで学習したオブジェクト
入力データに対して出力データを導き出す仕組み
識別モデルと生成モデル
識別モデル
p(y|x) xがyに属する確率
生成モデル
p(x) xが存在する確率
p(x|y) yに属するようなxを作れる
存在しない人間の顔など
決定的ではなく確率的
毎回同じ出力では生成的とは言えない
Style Transfer
ゴッホの画風で画像を加工するとかのやつ
通常のディープラーニングの発想と同じで、損失関数を最小化する
コンテンツとスタイルを数学的に定義できれば、適切な損失関数はこのようになる
loss = distance(style(reference_image) - style(generated_image)) + distance(content(original_image) - content(generated_image))
distanceはL2 norm
VAE
GAN
Generative Modeling
Generative Modeling Framework
データセット
よくわからない分布のPdataがある
生成モデルPmodelがPdataを真似しようとする。これができたらPmodelからサンプリングしてPdataから描画されたように見える結果を生成できる。
Pmodelが下記の時に私達は感動する
ルール1: Pdataから描画されたように見える
ルール2: データセットとは適切に異なっている
ファインチューニング
訓練済みのモデルを別のデータセットで再トレーニングして新しいタスク向けに微調整する