Skip to contents

Greedy layer-wise pretraining (each layer its own tied-weight autoencoder), optionally followed by end-to-end fine-tuning of the unrolled symmetric encoder/decoder stack.

Usage

morie_geron_stacked_autoencoder_modules(
  X,
  hidden_sizes = c(2),
  epochs = 200,
  lr = 0.5,
  seed = 0,
  finetune = TRUE
)

Arguments

X

Training data (n, d).

hidden_sizes

Encoder widths, outermost first.

epochs

Gradient steps per stage.

lr

Learning rate.

seed

LCG seed.

finetune

Run end-to-end fine-tuning after pretraining.

Value

list with codes, reconstruction, recon_error, layer_losses, finetune_losses, weights, biases, decoder_biases, widths, estimate, n, method.

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_geron_stacked_autoencoder_modules(V)
#> $codes
#>      [,1] [,2]
#> [1,]    1    1
#> [2,]    1    1
#> [3,]    1    1
#> [4,]    1    1
#> [5,]    1    1
#> [6,]    1    1
#> [7,]    1    1
#> [8,]    1    1
#> 
#> $reconstruction
#>              [,1]
#> [1,] 4.842238e+32
#> [2,] 4.842238e+32
#> [3,] 4.842238e+32
#> [4,] 4.842238e+32
#> [5,] 4.842238e+32
#> [6,] 4.842238e+32
#> [7,] 4.842238e+32
#> [8,] 4.842238e+32
#> 
#> $recon_error
#> [1] 2.344727e+65
#> 
#> $layer_losses
#> $layer_losses[[1]]
#>   [1] 2.517263e+01 3.455035e+01 5.183142e+00 5.176139e+00 5.167375e+00
#>   [6] 5.156325e+00 5.142999e+00 5.130807e+00 5.140021e+00 5.266616e+00
#>  [11] 5.953808e+00 9.456979e+00 2.790386e+01 5.379146e+01 1.171428e+02
#>  [16] 1.224531e+01 3.626914e+01 1.053748e+02 4.076632e+02 9.455807e+01
#>  [21] 3.624847e+02 9.460448e+02 3.476687e+03 5.603447e+01 2.083879e+02
#>  [26] 8.178015e+02 3.255456e+03 6.763109e+03 2.703684e+04 1.017441e+03
#>  [31] 4.054014e+03 1.620031e+04 6.478548e+04 2.882063e+04 1.152668e+05
#>  [36] 1.151218e+05 4.604714e+05 1.154119e+05 4.616318e+05 1.035184e+06
#>  [41] 4.140722e+06 1.165759e+05 4.662879e+05 1.865136e+06 7.460527e+06
#>  [46] 5.582017e+06 2.232805e+07 9.611017e+06 3.844405e+07 4.032694e+07
#>  [51] 1.613077e+08 3.660618e+07 1.464247e+08 3.744648e+08 1.497859e+09
#>  [56] 2.352368e+07 9.409471e+07 3.763788e+08 1.505515e+09 2.825323e+09
#>  [61] 1.130129e+10 5.977131e+08 2.390853e+09 9.563410e+09 3.825364e+10
#>  [66] 8.167496e+09 3.266999e+10 9.047857e+10 3.619143e+11 3.684521e+09
#>  [71] 1.473808e+10 5.895233e+10 2.358093e+11 8.094330e+11 3.237732e+12
#>  [76] 5.114975e+09 2.045990e+10 8.183961e+10 3.273584e+11 1.309434e+12
#>  [81] 5.237735e+12 4.396737e+12 1.758695e+13 6.152285e+12 2.460914e+13
#>  [86] 3.489240e+13 1.395696e+14 1.611654e+13 6.446616e+13 2.578646e+14
#>  [91] 1.031458e+15 1.263952e+13 5.055809e+13 2.022324e+14 8.089295e+14
#>  [96] 2.158216e+15 8.632863e+15 1.087175e+14 4.348702e+14 1.739481e+15
#> [101] 6.957923e+15 1.787370e+16 7.149479e+16 1.097980e+15 4.391920e+15
#> [106] 1.756768e+16 7.027072e+16 1.362284e+17 5.449135e+17 2.594715e+16
#> [111] 1.037886e+17 4.151544e+17 1.660618e+18 4.501863e+17 1.800745e+18
#> [116] 3.634131e+18 1.453653e+19 6.045019e+17 2.418008e+18 9.672030e+18
#> [121] 3.868812e+19 1.397170e+19 5.588678e+19 7.572623e+19 3.029049e+20
#> [126] 3.905514e+19 1.562205e+20 6.248822e+20 2.499529e+21 1.268267e+19
#> [131] 5.073067e+19 2.029227e+20 8.116908e+20 3.246763e+21 1.298705e+22
#> [136] 6.352331e+20 2.540932e+21 1.016373e+22 4.065492e+22 1.038409e+22
#> [141] 4.153635e+22 9.081721e+22 3.632688e+23 1.128916e+22 4.515663e+22
#> [146] 1.806265e+23 7.225062e+23 4.545234e+23 1.818094e+24 1.052314e+24
#> [151] 4.209257e+24 2.791941e+24 1.116776e+25 5.916495e+24 2.366598e+25
#> [156] 1.807318e+25 7.229272e+25 3.001158e+25 1.200463e+26 1.328658e+26
#> [161] 5.314632e+26 1.078770e+26 4.315081e+26 1.275960e+27 5.103841e+27
#> [166] 3.393015e+25 1.357206e+26 5.428823e+26 2.171529e+27 8.686118e+27
#> [171] 3.474447e+28 4.226399e+26 1.690560e+27 6.762239e+27 2.704895e+28
#> [176] 7.290342e+28 2.916137e+29 3.472155e+27 1.388862e+28 5.555448e+28
#> [181] 2.222179e+29 6.168537e+29 2.467415e+30 2.477463e+28 9.909854e+28
#> [186] 3.963941e+29 1.585577e+30 5.544157e+30 2.217663e+31 2.682723e+28
#> [191] 1.073089e+29 4.292357e+29 1.716943e+30 6.867771e+30 2.747108e+31
#> [196] 3.574628e+31 1.429851e+32 2.028379e+31 8.113517e+31 3.245407e+32
#> 
#> 
#> $finetune_losses
#>   [1] 1.298163e+33 1.950245e+30 7.800979e+30 3.120392e+31 1.248157e+32
#>   [6] 4.992627e+32 1.997051e+33 1.826135e+33 7.304542e+33 2.175611e+33
#>  [11] 8.702442e+33 1.544795e+34 6.179180e+34 3.879294e+33 1.551718e+34
#>  [16] 6.206870e+34 2.482748e+35 3.449907e+34 1.379963e+35 5.519851e+35
#>  [21] 2.207940e+36 4.603267e+33 1.841307e+34 7.365227e+34 2.946091e+35
#>  [26] 1.178436e+36 4.713746e+36 2.393311e+36 9.573245e+36 7.813140e+36
#>  [31] 3.125256e+37 1.151199e+37 4.604797e+37 6.065084e+37 2.426034e+38
#>  [36] 3.345310e+37 1.338124e+38 5.352497e+38 2.140999e+39 4.982403e+36
#>  [41] 1.992961e+37 7.971845e+37 3.188738e+38 1.275495e+39 5.101981e+39
#>  [46] 2.085487e+39 8.341947e+39 9.445736e+39 3.778294e+40 7.306718e+39
#>  [51] 2.922687e+40 9.197716e+40 3.679086e+41 1.493049e+39 5.972196e+39
#>  [56] 2.388878e+40 9.555514e+40 3.822206e+41 1.528882e+42 1.613385e+41
#>  [61] 6.453539e+41 2.581416e+42 1.032566e+43 2.158638e+41 8.634552e+41
#>  [66] 3.453821e+42 1.381528e+43 1.684000e+43 6.735999e+43 1.108974e+43
#>  [71] 4.435897e+43 1.712042e+44 6.848166e+44 5.569826e+40 2.227931e+41
#>  [76] 8.911722e+41 3.564689e+42 1.425876e+43 5.703502e+43 2.281401e+44
#>  [81] 9.125603e+44 1.041843e+45 4.167372e+45 7.918389e+44 3.167356e+45
#>  [86] 1.019509e+46 4.078037e+46 1.342768e+44 5.371070e+44 2.148428e+45
#>  [91] 8.593712e+45 3.437485e+46 1.374994e+47 2.577293e+46 1.030917e+47
#>  [96] 3.376525e+47 1.350610e+48 3.730679e+45 1.492272e+46 5.969087e+46
#> [101] 2.387635e+47 9.550539e+47 3.820216e+48 1.085034e+48 4.340138e+48
#> [106] 8.222123e+48 3.288849e+49 1.687856e+48 6.751423e+48 2.700569e+49
#> [111] 1.080228e+50 2.473892e+49 9.895566e+49 2.500502e+50 1.000201e+51
#> [116] 1.666530e+49 6.666119e+49 2.666447e+50 1.066579e+51 1.835294e+51
#> [121] 7.341176e+51 5.052025e+50 2.020810e+51 8.083240e+51 3.233296e+52
#> [126] 3.478378e+51 1.391351e+52 5.565405e+52 2.226162e+53 4.191068e+51
#> [131] 1.676427e+52 6.705709e+52 2.682284e+53 3.843407e+53 1.537363e+54
#> [136] 1.729422e+53 6.917689e+53 2.767076e+54 1.106830e+55 1.603942e+53
#> [141] 6.415769e+53 2.566307e+54 1.026523e+55 2.163505e+55 8.654020e+55
#> [146] 3.085398e+54 1.234159e+55 4.936637e+55 1.974655e+56 9.648635e+55
#> [151] 3.859454e+56 3.342219e+56 1.336888e+57 4.413886e+56 1.765554e+57
#> [156] 2.716254e+57 1.086502e+58 1.018842e+57 4.075368e+57 1.630147e+58
#> [161] 6.520588e+58 2.388694e+57 9.554775e+57 3.821910e+58 1.528764e+59
#> [166] 7.093568e+58 2.837427e+59 2.658956e+59 1.063582e+60 3.021695e+59
#> [171] 1.208678e+60 2.288876e+60 9.155505e+60 4.704515e+59 1.881806e+60
#> [176] 7.527225e+60 3.010890e+61 6.875615e+60 2.750246e+61 6.975884e+61
#> [181] 2.790354e+62 4.564127e+60 1.825651e+61 7.302603e+61 2.921041e+62
#> [186] 5.165072e+62 2.066029e+63 1.312242e+62 5.248969e+62 2.099588e+63
#> [191] 8.398350e+63 1.131018e+63 4.524071e+63 1.809628e+64 7.238513e+64
#> [196] 2.289772e+62 9.159089e+62 3.663636e+63 1.465454e+64 5.861817e+64
#> [201] 2.344727e+65
#> 
#> $weights
#> $weights[[1]]
#>              [,1]         [,2]
#> [1,] 2.971914e+32 2.971914e+32
#> 
#> 
#> $biases
#> $biases[[1]]
#> [1] -0.3491655  1.5461868
#> 
#> 
#> $decoder_biases
#> $decoder_biases[[1]]
#> [1] -1.101589e+32
#> 
#> 
#> $widths
#> [1] 1 2
#> 
#> $estimate
#> [1] 2.344727e+65
#> 
#> $n
#> [1] 8
#> 
#> $method
#> [1] "Tied-weight stacked autoencoder: greedy layer-wise pretraining then end-to-end fine-tuning"
#>