- Noise_Init() depoends only on seed

- more detrmistic calls of shuffle()
- Shuffle() init weights with uniform noise

git-svn-id: http://moon:8086/svn/software/trunk/projects/RBM@599 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-10-29 07:02:45 +00:00
parent 2ac8d27e75
commit 756c4d8670
2 changed files with 10 additions and 6 deletions
+9 -5
View File
@@ -82,23 +82,27 @@ public:
m_w.resize(m_numVisible, m_numHidden); m_w.resize(m_numVisible, m_numHidden);
m_bv.resize(m_numVisible); m_bv.resize(m_numVisible);
m_bh.resize(m_numHidden); m_bh.resize(m_numHidden);
shuffle(0.01);
} }
void shuffle(double stdDev) void shuffle(double stdDev)
{ {
uint32_t i, j; uint32_t i, j;
m_bv.array().fill(stdDev*Noise_Gaussian(&m_noise));
m_bh.array().fill(stdDev*Noise_Gaussian(&m_noise));
for (i=0; i < m_numVisible; i++) for (i=0; i < m_numVisible; i++)
{ {
for (j=0; j < m_numHidden; j++) for (j=0; j < m_numHidden; j++)
{ {
m_w(i,j) = stdDev*Noise_Gaussian(&m_noise); m_w(i,j) = stdDev*(Noise_Uniform(&m_noise) - 0.5);
} }
} }
for (i=0; i < m_numVisible; i++)
{
m_bv(i) = stdDev*(Noise_Uniform(&m_noise) - 0.5);
}
for (i=0; i < m_numHidden; i++)
{
m_bh(i) = stdDev*(Noise_Uniform(&m_noise) - 0.5);
}
} }
Weights& operator= (const Weights &rhs) Weights& operator= (const Weights &rhs)
+1 -1
View File
@@ -46,7 +46,7 @@ double ran0(long *idum)
void Noise_Init(noise_gen_t *pObj, long seed) void Noise_Init(noise_gen_t *pObj, long seed)
{ {
pObj->state = seed ^ clock(); pObj->state = seed;
} }
void Noise_Free(noise_gen_t *pObj) void Noise_Free(noise_gen_t *pObj)