質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3564閲覧

Negative log likelihoodが負値をとってしまう

npkk

総合スコア58

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/09/14 07:03

編集2018/09/14 07:38

質問内容

サンプル分布に正規分布を仮定したVAEの学習を行おうとしているのですが,Loss関数のNegative Log Likelihoodの値が負値をとってしまい学習が発散してしまいます.
考えうる原因としてどのようなものがありますか?
出来る限り多くの回答頂ければ幸いです.

実行環境

python3.6
pytorch0.4.0

実装内容

gaussian_nllをchainerからtensorに対応させる形で移植しました.
(移植内容を加筆しました)

python

1def gaussian_nll(x, mean, logvar, reduce=True): 2 x_prec = torch.exp(-logvar) 3 x_diff = x - mean 4 x_power = x_diff * x_diff * x_prec * -0.5 5 c = torch.Tensor(1).float() 6 c[0] = 2 * math.pi 7 loss = (logvar + torch.log(c)) / 2 - x_power 8 if reduce is True: 9 return torch.sum(loss) 10 else: 11 return loss

np.random.randnを使ってchainerのgaussian_nllと出力が同じかどうか検証をしました.
Encoder, Decoderは出力層の1層前から重みを共有しない1dconvで出力しています.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2018/09/14 07:15

tensor というのは、Tensorflow を使用しているということでしょうか。コードを追加することはできますか?
npkk

2018/09/14 07:36

いえ,pytorchのTensorです.コードを追加します.
tiitoi

2018/09/14 08:21

すいません。pytorch は使ったことがないのでわからないです。
guest

回答1

0

自己解決

回答はついぞ付きませんでした
これが正しいと祈ってTrain回すしかないですね

投稿2018/10/12 15:31

npkk

総合スコア58

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問