RNNで巡回問題を解く論文を読む
ランニング30分 英語できず
(1) RNNで巡回問題を解く論文を読む
「Pointer Network」https://arxiv.org/abs/1506.03134
この論文は深層学習による自然言語処理でよく参照されるが、グラフィカルモデルの最適解も行えるので興味を持ち読んでみました。
まず有名なseq2seq https://arxiv.org/abs/1409.3215は下図の様な翻訳モデルです。
<A B C> → <W X Y Z>
RNNで学習するにはencoder-decoderでRNNの重みを学習します。
入力文字をEncodeしてその結果と出力文字で学習します。
同様にしてseq2seqを使うと下図の様なグラフィカルな凸被覆問題に適用することができます。
但し
モデルとしては下図の様になります。
この論文のPointer Networkではseq2seqが入力項目数(頂点数)に依存するので下図の構造で解いています。
上図の場合seq2seqは入力項目数と同じencodeの結果を初期値にして解いています。そのため入力の項目数(頂点)が増減すれば異なるモデルが必要となります。
そこで入力の項目数に依存したを全て使わない様にPointer というAttentionを計算して、次に取出す確率を求めています。
ここで
は学習パラメータ
は番目のencode
は番目のdecode
は次に取出す座標
下図では最初の座標が見つかり、この結果をEncoder側に入れています。
(1.2) 結果
Pointer-NetworkではRNNの順序学習機能を使って以下の3つの問題を解いています。
頂点数が50以下であれば殆ど解けています。
・凸被覆問題(a) (d)
・ドロネー図問題(b) (e)
・セールスマン巡回問題 (c) (f)
※セールスマン巡回問題はNP困難で近似解しか存在しない
領域識別による写真の色調転移の論文を読む
ランニングできず 英語できず
(1) 領域識別による写真の色調転移の論文を読む
「Deep Photo Style Transfer」https://arxiv.org/abs/1703.07511
この論文も大変綺麗な写真が多数表示されていて有名なものです。この論文は情景が異なる入力と参照の2写真があり、写真の構図は入力写真を反映し、写真の色彩は参照写真を反映するモデルです。
合成写真は本物らしく見せる必要があります。即ち空中にビルが浮んだり、あり得ない色彩にならない様な工夫が必要です。
下図では朝の写真の構図に夜の情景が転移されています。
(1.1) 手法
入力写真の構図で色調は参照写真にするには、以下2つの工夫をしています。
・入力写真と転移写真には画素の線形変換(Affin TransForm)を使う
・色調の転移には入力と参照写真の各々について深層学習で領域を識別して
同じ識別領域内で色調の転移をしています。
1) 入力写真の構図の転移
出力写真は入力写真の構図と同じ必要があるので、次式の損失関数で深層学習の各層を訓練させています。
ここで
は深層学習の番目の層
は層の座標
とは出力層と入力写真の層の特徴量
記述にはありませんが下図の様なネットワーク構成と考えられます。
2)領域内の識別転移の方法
この論文ではCNNとCRF(Conditional Random Field)で領域に識別した有名な論文を使っています。https://arxiv.org/pdf/1412.7062
入力と参照写真双方の領域認識をさせて一致している領域には参照写真の色調を転移させています。
ここから分る様に入力写真と参照写真は同じ識別領域が必要な事がわかります。
即ち全く内容が異なる写真どうしでは精緻な転移ができません。
識別領域どうしの損失関数は次になります。
ここで
は領域のカテゴリを現します
は深層学習の番目の層
は層の座標
とは出力層と参照写真の層のグラム行列
グラム行列は特徴量どうしの関係を表します
3) 損失関数の合成
構図転移の損失関数と意味領域転移を次式で合成します。
ここで
は入力画像のノルムの正則化項です。
は各損失関数の重みです。
正則化項の重みを大きくすると入力画像に近づきます。
(1.2) 結果
比較対象としてはNural StyleとCNNMRFと本論文とで比較しています。
大量に載っていますが一部を添付します。
人工生命環境で生存競争定理の再現の論文を読む
ランニング30分 英語できず
(1) 人工生命環境で生存競争定理の再現の論文を読む
[1709.04511] An Empirical Study of AI Population Dynamics with Million-agent Reinforcement Learning
自然界と同じ様に狩をする捕食動物(Predator)と獲物(prey)が存在して、これらは集団行動する知識があり、捕食を学習をする人工生命の環境を作った場合、どの様な挙動を示すか観察したモデルです。
既に自然界の捕食動物と獲物の関係は下記のLatka-Volterra定理があるこが知られています。
1)獲物は捕食動物によって減少していく
2)獲物が減少すると捕食動物も飢えで減少する
3)捕食動物が減少すると獲物は増加する→1)に戻る
Wikipediaのページロトカ・ヴォルテラの方程式 - Wikipedia には下図があって上記のサイクルを示しています。
今回の人工生命環境では下記のモデルを作った場合、このLatka-Volterra定理が再現でき、自然と同じ人工生命環境が構築できたとしています。
(1.1)手法
人工生命環境の仕様
・1万個の捕食動物と5000個の獲物の人工生命の環境を作る
・1000×1000のセルの環境内を人工生命は動く
・各人工生命はQ-Learningで報酬として最大に食料を得る様に学習する
捕食者:共同や単独で狩で学習する(共同が大きい方が有利)
獲物:森を見つけて食料を得る
但し
率は0.1とする
人工生命の行動「移動(左右上下)・群れに入る・群れから離れる・留まる」
人工生命の視野のセルは限定的
・各人工生命の学習成果は速やかに下記の方法で伝達できる。
システム的には学習成果を外部Bufferにを貯め、各人工生命は
ランダムにこの学習成果を取り入れる
・各人工生命にはの生命バロメータがあり0.001毎に衰える
・人工生命は繁殖率は0.006 または 0.01とする
・自然環境の7公理を示して、上記の仕様で7公理を達成しているか検討しています。
(前向反応、後向反応、個人特性、冗長性、閾値限界、共同特性、利己主義)
下図は上記の人工生命の環境を表したものです。
黒線:各捕食動物は観察と固有パラメータをQ学習に入れます
桃線:Q学習は予想される報酬を各捕食動物に返し、最適な行動を取ります
水色:行動した結果は外部メモリーにある経験Bufferに蓄積されます
この情報でQ学習のパラメータを更新します
(1.2) 結果
下図の様にLatka-Volterra定理が再現できています。
青色:捕食動物 黄色:獲物の推移(上段:時系列 下段:Latka-Volterra定理の解)
左図は生殖率を0.006の場合、右図は生殖率を0.01とした場合です。
(1.3) 感想
・強化学習で初めて群れ内の真似で学習するモデルになっています。
これは共同体の学習効率化を実現したものです。
・Latka-Volterra定理を再現できたのは、一万固体以上の人工生命を強化学習できる環境を構築できたからで、深層学習と計算機の性能向上の寄与が大きいです。
・この環境では協業の知識を組み込んでいますが、単独行動のモデルでもLatka-Volterra定理は再現できたと思います。
・この模擬で集団は大きい方が生存しやすいとの結果は精緻なモデルを示していると思われます。
・捕食動物の協業知識の獲得のロジックが強化学習任せになっていて明瞭でないのは残念です。
敵対的VAEの論文を読む
ランニングできず 英語できず
(1)敵対的VAEの論文を読む
「Adversarial Autoencodes」https://arxiv.org/abs/1511.05644
前のCyclicに画像を学習するモデルでは敵対的VAEを使っていたので、その論文を読みました。
様々な癖がある手書き文字が数種類ある場合(例えば手書きの0~9)、その種類毎に手書きの癖が存在します。そこで判明している種類の文字の画像とVAEが生成した画像をGANで与え、類似しているかGANに判断させVAEの隠れ変数の精度を向上させ様とするものです。
構造としてはVAEにGANが結合する構成となっています。
・VAEは隠れ変数の推定
・GANは隠れ変数の分布を正しい分布に近づける(正則化)
(1.1) 手法
この構成では以下の変分式で隠れ変数の分布をVAEとGANで解くことができます。
上式は第1項は一般のVAE 第2項はエントロヒ 第3項はGANとなります。
この論文では半教師学習(ラベルが一部分る)や非教師学習(ラベルが無い)では下図の3層モデルを提案しています。
・ラベルGANではラベルが何であるかVAEに与えています。
(VAEのSoftmaxのベクトルの正例を与えています)
・ガウス分布GANでは手書き癖がガウス分布と一致する様にしています。
(1.2) 結果
正解の分布を使うので隠れ変数の分布は当然クリアになります。
図Eは入力画像例 図Aは敵対的VAE 図Aは一般のVAEとなります
非教師学習の敵対的VAEでは下図の結果が得られています。非教師学習なので16個種類のラベルがVAEで生成されています。
(1.3) 感想
現状のVAEではガウス混合分布の半教師学習は解けないので、このGANを用いる方法は実用的です。しかしKingmaの半教師学習VAEは普遍的で素晴らしい数学でできているだけに、GANという正例の質に依存するモデルになってしまうのは残念と思います。
画像の転移学習を繰返し訓練する論文を読む
ランニングできず 英語できず
(1) 画像の転移学習を繰返し訓練する論文を読む
「Unpaired Image-to-Image Translation using Cycle-Consistent Adversalial Networks」https://arxiv.org/abs/1703.10593
この論文は本年初頭に発表され、かなり綺麗な画像が生成できるので有名でした。CVPR2017の論文読会でこの論文の話題が上がっていたので読んでみました。このモデルは例えば或る場所の夏の風景と冬の風景を共に学習させると、この対比から別の場所の夏の風景から冬の風景を生成する機能があります。即ち画像の転移学習が可能になります。
よく見ると左側の森の色(灰→緑)地面(白→茶色)空の色(青→青:不変)が学習され、これが右側の生成画像にも適用されている事がわかります。
上記の場合、学習用にペアな画像を使っていますが、表題のUnpairedとある様に全く別画像も適用できます。
この場合はXとYとの写像関係が学習されますので、この学習結果を使って生成した画像には、この写像関係が反映されます。この場合明確な対比関係がないので分かり難い生成画像になる可能性があります。
(1.1) 手法
この画像の転移学習は2つのロジックを合成しています。
・GAN(Generative Adversarial Network)敵対的生成モデル
の写像で生成と識別を繰返して精度を向上させます
生成モデル
識別モデルがととを比較して識別
誤と識別→生成モデルを再作成
正と認識→生成モデルを維持
このGANのロスをとします
同様にも同様にGANで精度を向上させます。
またこのGANのロスをとします
・Cycle Consistency
このロスをとします
・全体のロスを最小にする様に学習します。
このモデルはAdversarial Autoencoderの特別なネットワークモデルとなります。
なおこの論文のプログラムは下記に公開されています。
(1.3) 実験結果
Cyclicな学習結果が掲示されています。
なおcycleGANの評価として、FCN画像から現画像を復元して本当の写真にどれぐらい近いか実験しています。
(1.3) 感想
2つのGANとCycle Consistencyの組合せは上図のAdeversarial Autoencoderモデルとして説得力がありますが、のAutoencoderの損失関数だけでは、うまく動作するか確かめられません。
結果の学習の画像がペアである場合は、生成画像の質は評価可能ですが、ペアでない画像での学習から画像が生成されても評価が困難です。
GANとCycle Consistencyの組合せモデルは実際かなり時間がかかります。また収束の基準が無く計算打ち切りの判断が難しいと思われます。
道路交通標識を誤判別させるモデルの論文を読む
ランニング30分 英語できず
(1) 道路交通標識を誤判別させるモデルの論文を読む
「Robust Physical-World Attacks on Machine Learning Models」https://arxiv.org/abs/1707.08945v3
本年4月ころに日産の自動運転の技術者の講演では人命に関わる問題なので、あらゆる事象の組合せを考える事に疲労しているとの話がありました。この問題の解決には計算機が現実的な範囲で可能性のある組合せを自動生成するしかないと考えています。本論文はこの範疇を扱った論文として読み初めしましたが生成モデルとは関係なく、DNNに誤判別をさせる現実的なデータを如何に作るかの話でした。
SNSでは殆どDNNを騙せる画像を作れることで話題になっています。
ここで誤判別の対象となる道路標識は停止(STOP)と右折(Right Turn)となります。誤認識させる要因として以下を揚げています。
・全体に霞がかかっている
・標識が汚れている
・落書きがある
・背景と紛わらしい
・距離が遠い、斜めの視角
下図に計算機で生成した傷んだ画像の例を示します。
各写真の下部の(a)~(e)は標識までの距離と視角となります。
(a) 5m 角度0度(b)5m 角度15度 (c)10m 角度0度 (d)10m 角度30度 (e)40m 角度0度
図3 靄がかかっている場合
図4 背景が紛わらしい場合
図5 LOVE HATEという落書きがある場合
図6 抽象的な絵が張ってある場合
本論文の目的は票識をDNNに誤認識させる生成器(Robust Physical Pertubations)を構築することです。
具体的に述べるとは次の課題について精度を向上させることです。
91%の標識識性能を持っているDNNについて
停止(STOP)の標識を制限速度45(Speed Limit 45)に誤認識させる
右折(Right Turn)の標識を制限速度45(Speed Limit 45)にご認識させる
下図の様に停止(STOP)と制限速度45の標識は全く異なっていて誤認識は困難な課題だと分ります。
(1.1) 手法
例えばスピード制限45の標識に霞をかけた画像をとすると、これに近い画像にするには、次の様なノイズを入れるモデルで標識画像を生成します。
ここで
は元画像の特徴量
は画像の特徴量の識別関数
は画像の識別と画像との損失関数
は画像のPixel位置
また標識に文字や絵画を入れるにはNPS(non-printability score)項を追加して作成します。
ここで は文字や絵画の画像です。
(1.2) 結果
不思議なことに上図の図3~図6は人間には識別できますが、殆どはDNNを騙せた画像です。
下表は停止標識(STOP)を制限速度45(Seed Limit45)に誤認識する様に画像を生成させて、これをDNNで識別させた上位2位の識別結果です。( )内は信頼度です。
霞掛けと抽象画の生成画像では100%(上位1位)制限速度45と認識させることが出来ています。
※ SL45:制限速度45 STP:停止 LE:出口 ADL:追加路 SA:前方信号 YLD =Yield
(1.3) 感想
この論文ではDNNを騙す画像生成の仕組みのロジックとその精度を論じていて、かなりの精度でDNNを騙すことに成功しています。
画像識別のDNNは精度は良いが、データのノイズに弱いとされていて、今回これが確認できました。
本論文の意味はこの様な敵対的画像を作成して、ノイズに強いDNNを構築できる様にすることです。しかしDNNを強化してもこれを誤認識させるが出てきてしまうので「いたちごっこ」の連鎖は続くと思います。結局[ ]のGANが必要になるかもしれません。
混合分布を隠れ変数とするVAEの論文を読む
ランニングできず 英語できず
(1) 混合分布を隠れ変数とするVAEの論文を読む
「VAE with a VampPrior」[1705.07120v3] VAE with a VampPrior
KingmaのVAE(Variational Auto encoder)は深層学習に始めて生成モデルを導入した画期的な業績となっています。従来の深層学習は教師付学習しかできませんでしたがVAEによって初めて非教師学習や半教師学習ができる様になりました。即ちデータから隠れた変数や因子を推定することができる様になりました。
VAEの特徴はデータから隠れ変数として多次元のガウス分布を推定していました。
下図はデータより多次元ガウス分布のの平均と分散を推定してます。
例えば下図の様に手書き文字から癖を見つけ、その癖で未知の手書き文字を書くことができました。
M先生によると人間の認識などは単純なので、多次元のガウス分布で十分との見解ですが、本論文では敢えて複雑な図形の認識のために混合分布を隠れ変数に採用しています。
なお表題にあるvampPriorは混合分布のパラメータを示しています。
(1.2) 手法
混合分布を導入するため2つの隠れ変数を導入しています。各々の隠れ変数の推定のためEncodeとDecodeの両方が2層構造になっています。
下図の(a)が従来のVAE(b)が本論文の提案モデルです。
隠れ変数を見つけるEncode過程をVariatinal Partとしています。2層構造ですが、これらは何れも多次元のガウス分布なので既存のVAEの手法で解けると考えられますが、損失関数の記述が無いので確認できません。
ここで
問題はDecodeの生成過程 Generation Partで混合分布を使っています。
ここで
混合分布
このは本論文ではvampPriorと称していて、この論文の中核となる部分です。このVampPriorとの推定は上図のDecode生成過程の逆伝播時に計算できるとしています。
残念ながら、このvampPriorが求める詳細の記述はなく公開されているソースを当たるしかありません。
(1.3) 結果
結果としては以下の3手法を比較しています。
・ 正規標準分布を採用する
・ 混合ガウス分布を採用する
・vampPrior(生成過程の逆伝播で解く)の混合分布で解く
使用した試験のデータは5種類です。
下表では正規分布とVampPriorとの比較です。上段4つの数字は対数尤度で下段2つは次元当たりの平均Bit(意味不明)です。
はサンプルの抽出回数
HVAEはVAEにRNNや自己回帰モデルを統合したモデルらしい?
convHVAEはHVAEにCNNを追加したもの
何れもVampPriorが僅かに勝っています。
下図は得られた対数尤度の頻度分布です。VampPriorの分布にノイズが少ないとしています。
(1.3) 感想
VAEは変分法を使った大変綺麗な式で構築され、それをネットワークで実現しています。KingmaのVAEは隠れ変数の分布を限定していませんが、多次元のガウス分布以外は提案していません。
今回の論文は一般的なVAEでガウス混合分布を提案していると思っていましたが、VAE+混合ガウス分布の潜在変数の推定は相当難しいと考えられます。従ってVAEの構造自体を変えて実現しようとしています。その為ロジックも曖昧だし実験結果を見ても殆ど普通のVAEと差がありません。
またM先生が言う様に画像認識に多峰性かつ多次元の混合分布が必要か疑問です。データ自体は多峰性かつ多次元で生成されていても、複雑な分布を人間は見抜くことはできないと思います。