SSII day1
SSII day1メモ
チュートリアル GAN
GANの研究例
GANの説明
- 概要
- 登場人物
- pdata
- 手持ちのデータのランダムサンプリング
- pz
- 人工的な分布
- N次元のガウス分布
- G
- zを入力にして,データを作成
- 出力がG(z)
- D
- G(z)の出力もしくはp_data
- pdata
- 学習概念
- G
- 判別平面を本物のデータに近づける
- D
- 判別平面を遠ざける
- G
- 登場人物
最適化
- 問題設定
- D
- 本物のデータが入った時D(x)=1のとき最大
- 偽物のデータが入った時D(x)=0
- G
- Dを騙す
- D
- 最適解の時
- 本物のデータと作られたデータの分布が一致するから
- 問題設定
なぜその最適化
解く時
- Gを固定
- Dの最大化を見る
- p_data/(p_data+p_g)の時に最大になる
- Gを学習
- 式を書き換えると,-log(4)+JS(p_data||p_g)になる
- p_data=p_gの時に最小
- 実際に解くとき
- minmaxは交互に解く
- まとめ
- loss関数のminmaxゲームを解く
- 最適な値の時,p_dataとp_gが一致する
- ??????
- ほんとに一致するの???
- Gを固定
数値実験
- まとめ
- GANは2つの分布を一致させるもの
- 数式で書けない分布も近似できる
- ナイーブに解くと失敗する
- 不安定さ
- モード崩壊
- 作られるデータの確率分布が偏る
- unwanted sample
- p_dataになさそうなデータができる
安定性
- p_dataになさそうなデータができる
- 問題点
- 高解像度の画像生成をやりたい
- mnistmですら不安定なのになんでできる?
- 安定化の手法研究とその組み合わせ
- 高解像度の画像生成をやりたい
- 手法
- TTUR
- Dの学習率を大きくする
- Zero-centreted gradient penralty
- 正則化項
- 欲しい分布の近くにいてほしい
- Spectral Norm.
- TTUR
- Spectral Norm.
- なにしたい
- Dの勾配を小さくしたい
- なんで?
- GANの問題点
- 勾配消失
- Dが強すぎて勾配消失
- 偽物を偽物と完全に見破ると勾配が消える
- Gのlossを勾配が大きくなるように式変形する
- 式変形したら勾配が大きくなりすぎるので不安定になる
- deltaD/Dが大きい
- deltaDを小さくして勾配を小さくしたい
- Spectral Norm.が提案される
- 手法
- NNの各層の重みはある範囲で抑えられる
- NNで出てくる活性化関数は大抵1-リプシッツ連続であるという仮定
- まとめ
- delta Dを小さくするためにspectral norm.提案
- 勾配消失
- なにしたい
モード崩壊,Unwanted sample
実験的な結果が多くてまだまだ研究途上
- モード崩壊
- 何?
- 生成データが偏る
- 何?
Unwanted samle
- 何?
- p_dataに無いデータも作られる
- 何?
モード崩壊とUnwanted sample問題は一緒では??
- Gに入れるノイズがシングルガウス分布なのが問題???
- 例えば,犬と馬の画像がガウシアンは非連結
- この場合,NNで近似したGは連続関数なので近似できない
- つながった近似
- 片方だけ近似
- Gに入れるノイズがシングルガウス分布なのが問題???
- 解決方法
- Bourgain Embedding
- N点のデータの距離を保ったままO(log(n))次元に埋め込む
- 距離はHxWxC次元のユークリッド距離
- Bourgain Embedding
- まとめ
- サンプリングするノイズの分布はきちんとしましょう
- 最良のp_zの作成方法は謎
- p_zがシングルガウス分布じゃない時の話は謎
ドメイン適応
- 2つの分布を一致させる手法なので
- 教師なしドメイン適応ができる
ドメイン適応とは
- オープンデータセットでモデル学習
- 別の似たデータでは精度が出ない
- つまり
- ラベル付けしたデータと実運用で環境が違う時にどうしようか
- やりたいこと
- 以下のデータで良いモデルを作りたい
- 手元のデータ
- 運用環境のデータ
- 以下のデータで良いモデルを作りたい
- オープンデータセットでモデル学習
よくある手法
- ドメイン間の特徴量空間を一致させる
- 分布一致すると,ソース側の分類器が使いまわせる
- 具体例
- ADDA
- 最近の研究
自動走行
話す内容
- 自己位置推定, SLAM
- 自動走行の課題と最新動向
自己位置推定,SLAM
- 自己位置推定
- 地図とセンサ観測をマッチング
- 地図は更新しない
SLAM
- 同時に自己位置推定と地図作成を行う
- 地図を更新する
なぜ必要
- 自動走行における処理の簡略化
- 自動運転用の地図作成にSLAM必要
- 歴史
最近の研究
- 深層学習とSLAMの融合
- モデルベース,機械学習の両方抑える必要がある
自動走行の課題
- 性能保証
- demoは多い
- 性能保証や緊急対策がむずかしい
- 推定結果の正しさも明示的に予測すべき
- ロバスト性の向上
- 性能保証
- ロバスト性の向上
- モデルの向上
- 対応点探索を不要に
- 画素をそのまま使って最適化
- モデルと深層学習の融合
- Sem.Seg.で画像のらベル推定できる
- 自己位置推定に必要な静的な地物のみを見るようにする
- Sem.Seg.で画像のらベル推定できる
- 信頼性
- 対応点の正しさを推定する
- 深層学習で自己位置推定結果の正誤を予測
- 全部深層学習でやってしまおう
- 反復って点群位置合わせ
- PointNetで点群マッチングを反復計算
点群
3次元点群とは
- x,y,zの点の集合である
- 画像との違い
- 順番がバラバラ
- 点群深層学習
- PointNet以降増えた
- 最近
- CVPR2019
- ICRA2019
点群深層学習
- むずい
- 順不同
- 剛体変換にロバスト
- スパース点群に対する畳み込み演算
- 順不同
- 点の順番が変わっても同じ形状
- PointNetの解決方法
- シンメトリック関数
- 点ごとに対する特徴変換は順番に依存しない
- Grobal Poolingならば順番に依存しない
- 点群全体から集約した特徴量
- シンメトリック関数
- 剛体変換不変性
- 同じ物体であるが,並進・回転が発生するが同じクラスとして予測したい
- PointNetの解決方法
- Spatial Transfomer Network導入
- 幾何変換のパラメータ推定
- 入力と特徴量空間で変換
- Spatial Transfomer Network導入
- スパースな点群の畳み込み
- Pointwise CNNのPointwise Conv
- 剛体変換には対応できん
Tangent Conv.
- 接平面に
Dynamic Graph CNN
- エッジごとに特徴量計算
- ノードごとにエッジの特徴量を集約
- Pointwise CNNのPointwise Conv