RuntimeWarning: More than 20 figures have been opened. (matplotlib.pyplot)

jupyterなどでループまわしながら実験結果を描画しているとよくある警告

RuntimeWarning: More than 20 figures have been opened.

内容としては「figを開きすぎててメモリ亡くなるぞ!」というもの。つまり必要ないものは都度閉じてやればよい。

だいたい「plt.close()」で片づけることが多いが、私のお勧めは下記の対策。

plt.savefig(OUT_DIRECTORY + 'figure.png')
plt.close('all')

このほうが確実。

A DIRT-T APPROACH TO UNSUPERVISED DOMAIN ADAPTATION (ICLR’18)

A DIRT-T APPROACH TO UNSUPERVISED DOMAIN ADAPTATION (ICLR’18)
Rui Shu, Hung H. Bui, Hirokazu Narui, & Stefano Ermon
Stanford University, DeepMind


概要
・UNSUPERVISED DOMAIN ADAPTATIONの手法を提案
・同じ正解ラベルのデータは特徴量空間でも同じクラスタに属するという仮定を利用

従来手法
・SourceとTargetの特徴量分布の相違を最小化することで、ドメイン不変の特徴量を抽出する

従来手法の課題
・Feature Functionが高次のとき、SourceとTargetの特徴量分布が互いに素になりやすいため、ドメイン不変というアプローチは有効でない。
・Sourceドメインでの性能を向上させるほどTargetドメインでの性能が劣化する。

提案
・SourceドメインとTargetドメインの共用識別器を、Targetドメインの専用識別器に仕立て上げる手法”DIRT-T”を提案。

キーアイデア1「VADA(VAT手法+条件付き情報量の最小化)」
・特徴量空間におけるクラスタの存在を仮定して、クラスタ同士の重なりを最小化するよう条件付き情報量最小化のLossを設計。
・識別器がリプシッツ連続でないと、上述のLossの効果がイマイチであることが知られているため、VATによりプシッツ連続性を確保。
・従来のAdversarial Domain Adaptationにこれらを組み合わせる。

キーアイデア2「DIRT-T(判別境界の逐次的改善)」
・VADAによって構築したSourceドメインとTargetドメインの共通識別器をベースに、Target専用識別器へと改善していく。
・Targetドメインのみで(※先ほどはSourceドメインとTargetドメインの両方)、条件付き情報量最小化とVATにより識別器を学習。

 

 

条件付き情報量の最小化についてはコチラを参照
Semi-supervised Learning by Entropy Minimization

VAT手法についてはコチラを参照
Virtual adversarial training for semi-supervised text classification(2016)

元論文
A DIRT-T APPROACH TO UNSUPERVISED DOMAIN ADAPTATION (ICLR’18)

DIRT-TはGitでも公開中
DIRT-T