Skip to content

Optimized network architectures: failed to reproduce #1

@LarsTeh

Description

@LarsTeh

We are currently trying to use your optimized network architectures for ASCAD with fixed and random key as provided in Tab. 10 and Tab. 12 of the paper Reinforcement Learning for Hyperparameter Tuning in Deep Learning-based Side-channel Analysis .

Unfortunately, the path to the trained model provided in your scripts is not included in the repository.

We tried to build the Keras model for ASCAD random and ID manually

x = keras.layers.Conv1D(128, 3, strides=1, activation='selu', padding='same', kernel_initializer='he_uniform', name='block1_conv1')(x)
x = keras.layers.AveragePooling1D(75, strides=75, name='block1_pool')(x)
x = keras.layers.Flatten(name='flatten')(x)
x = keras.layers.Dense(30, activation='selu', kernel_initializer='he_uniform', name='fc1')(x)
x = keras.layers.Dense(2, activation='selu', kernel_initializer='he_uniform', name='fc2')(x)
x = keras.layers.Dense(256, activation='softmax', kernel_initializer="glorot_uniform", name='predictions')(x)

and use the following code for training

optimizer = keras.optimizers.Adam()
oclr = OneCycleLR(
    max_lr=0.005 * 1, end_percentage=0.2, scale_percentage=0.1,
    maximum_momentum=None,
    minimum_momentum=None, verbose=True
)
self.model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
self.history = self.model.fit(x=self.x_train, y=self.y_train, validation_data=(self.x_val, self.y_val), batch_size=400, verbose=1, shuffle=True, epochs=epochs, callbacks=[callback, best_model_callback, oclr])

With these settings, the network is not able to retrieve the key after training and we are wondering whether we misunderstood the settings in the paper.

Could you provide some feedback whether the network model corresponds to the one you proposed in your paper and whether the learning parameters are the same?

Could you also provide the trained networks? This would make it easier to reproduce the results and use your optimized network as a benchmark.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions