LoginSignup
0
0

More than 5 years have passed since last update.

TensorFlow | ADDA > 線形方程式の初期値用データの学習 (TFRecords版) > 出力層を1ノードにした場合のlossの経過 | データの標準化が必要?

Last updated at Posted at 2017-08-08
動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.1.0
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)

学習コードv0.1 http://qiita.com/7of9/items/5819f36e78cc4290614e

http://qiita.com/7of9/items/feeae410f3931e6d0fd0
の続き。

概要

This article is related to ADDA (light scattering simulator based on the discrete dipole approximation).

  • TFRecordsを読込んで学習する
  • input: 5 nodes
  • output: 6 nodes
  • サンプル数: 223,872
  • 学習データ: ADDAにより計算した値
    • #input
    • x,y,z: dipole position
    • refractive index: real and imaginary part
    • #output
    • initial values for linear equation solution for (x,y,z),(real,imaginary)

出力層の変更

6つの値を出力層にとってネットワークの学習をしていたが、1つの値だけを出力層にして様子を見ることにした。

6つの値をそれぞれ学習した時のlossの経過は以下。

qiita.png

EXRだけlossの減少が見られない。

EXRの値

EXRの値の例。
表示されたものでは、プラスマイナス0.2程度の値になっている。
(左が学習元、右は学習結果)

qiita.png

EXR * 4.0の学習

EXR(や他の値)に関して平均と分散を計算して、データの標準化をした方がいいのかもしれない。

とりあえず4.0倍(適当に決めた)したEXRで学習をしてみた。

qiita.png

EXRに関してもlossが減少するようになった。

TODO

学習に用いるTFRecordsファイルを読み取り、EXR, EXI, EYR, EYI, EZR, EZIそれぞれの平均と分散を計算する。平均と分散を用いてデータを標準化し、それをoutput layerに用いて学習する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0