novelty日記

データサイエンスやプログラムなど

ざっくばらんメモ_4:kaggle, ACKTR, A2C, Semantic guide

kaggle zillow challenge

pytorchによるCNNベースのregressionモデルの構築を開始する。

モデルのベースはresnetを利用する。

torchvisionのライブラリ内にresnetのモデルがあるためそれを利用したい。

このモデルはそのまま利用するとclassificationの出力となってしまうため、

最後の出力部のみ線形出力を行えるように修正しておく。

ACKTR, A2C from OpenAI

最近のOpenAIのRLに関するベースライン手法を解説。

A2Cは従来手法であるAsynchronous Advantage Actor Critic (A3C)をsynchronousかつdeterministic にした手法。

synchronousかつdeterministicになったので、計算効率的が良くなり、アルゴリズム的にも扱いやすい と思われるが、この手法で従来のA3Cと同等の性能が出せるとの事。

ACKTRは従来手法のTRPOやA2Cよりもさらに効率的な手法で、A2Cにさらに少量の計算処理を増やすことで 実現可能な手法である。

ACKTRはKronecker-factored Trust Region (KTR)と呼ばれる空間を見つけそれ上の探索を行う事でより効率的な 強化学習における探索を可能にする。

KTRはNatural Gradientに関連する二次オーダーの最適化手法の一つで、Natural Gradientの効率的な近似計算を可能にする。 この手法は従来のTRPOと比較して高速である。

Superresolution with segmantic guide

最近良く見るようになってきた、semantic情報を援用した手法で、superresolutionに関するもの。

生成モデルにおける画像生成は、メモリや処理能力の問題から高解像度画像に対する適用が難しい。

StackGANなどの手法では段階的な生成を行う事で高解像度を実現しようとしている。

本記事では、そこで生成された画像をsuperresolutionの手法によってさらなる高解像度化を目指す。

具体的には、画像をcroppingし、抽出された画像と対応するsemantic segmentaion情報を共に 入力としたup-resolution networkを利用する。

ここでは、従来の画像入力だけのup-resolutionと比較して、semantic情報が付加されるため、 より高性能な高解像度化が可能になる。

これは高解像度化タスクが、対象画像に対するsemantic情報を多いに要求する事から性能向上が 理由付けできる。

興味深いのは、与える必要のあるsegmentation情報も別のモデルを用いて推論した結果を用いる事が 可能で、必ずしも人間により正確にラベル付けされたものを要求しない事である。

これは類似手法であるDeep Photo Style Transferでも行われている事である。

これは、異なる観点で学習されたモデルを組み合わせる事の効果(アンサンブル)を 示していると感じられた。