View source: R/create_model_twin_network.R
create_model_twin_network | R Documentation |
Twin network can be trained to maximize the distance between embeddings of inputs. Implements approach as described here.
create_model_twin_network(
maxlen = 50,
dropout_lstm = 0,
recurrent_dropout_lstm = 0,
layer_lstm = NULL,
layer_dense = c(4),
dropout_dense = NULL,
kernel_size = NULL,
filters = NULL,
strides = NULL,
pool_size = NULL,
solver = "adam",
learning_rate = 0.001,
vocabulary_size = 4,
bidirectional = FALSE,
compile = TRUE,
padding = "same",
dilation_rate = NULL,
gap_inputs = NULL,
use_bias = TRUE,
residual_block = FALSE,
residual_block_length = 1,
size_reduction_1Dconv = FALSE,
zero_mask = FALSE,
verbose = TRUE,
batch_norm_momentum = 0.99,
distance_method = "euclidean",
last_layer_activation = "sigmoid",
loss_fn = loss_cl(margin = 1),
metrics = "acc",
model_seed = NULL,
mixed_precision = FALSE,
mirrored_strategy = NULL
)
maxlen |
Length of predictor sequence. |
dropout_lstm |
Fraction of the units to drop for inputs. |
recurrent_dropout_lstm |
Fraction of the units to drop for recurrent state. |
layer_lstm |
Number of cells per network layer. Can be a scalar or vector. |
layer_dense |
Vector containing number of neurons per dense layer, before euclidean distance layer. |
dropout_dense |
Dropout rates between dense layers. No dropout if |
kernel_size |
Size of 1d convolutional layers. For multiple layers, assign a vector. (e.g, |
filters |
Number of filters. For multiple layers, assign a vector. |
strides |
Stride values. For multiple layers, assign a vector. |
pool_size |
Integer, size of the max pooling windows. For multiple layers, assign a vector. |
solver |
Optimization method, options are |
learning_rate |
Learning rate for optimizer. |
vocabulary_size |
Number of unique character in vocabulary. |
bidirectional |
Use bidirectional wrapper for lstm layers. |
compile |
Whether to compile the model. |
padding |
Padding of CNN layers, e.g. |
dilation_rate |
Integer, the dilation rate to use for dilated convolution. |
gap_inputs |
Global pooling method to apply. Same options as for |
use_bias |
Boolean. Usage of bias for CNN layers. |
residual_block |
Boolean. If true, the residual connections are used in CNN. It is not used in the first convolutional layer. |
residual_block_length |
Integer. Determines how many convolutional layers (or triplets when |
size_reduction_1Dconv |
Boolean. When |
zero_mask |
Boolean, whether to apply zero masking before LSTM layer. Only used if model does not use any CNN layers. |
verbose |
Boolean. |
batch_norm_momentum |
Momentum for the moving mean and the moving variance. |
distance_method |
Either "euclidean" or "cosine". |
last_layer_activation |
Activation function of output layer(s). For example |
loss_fn |
Either |
metrics |
Vector or list of metrics. |
model_seed |
Set seed for model parameters in tensorflow if not |
mixed_precision |
Whether to use mixed precision (https://www.tensorflow.org/guide/mixed_precision). |
mirrored_strategy |
Whether to use distributed mirrored strategy. If NULL, will use distributed mirrored strategy only if >1 GPU available. |
A keras model implementing twin network architecture.
maxlen <- 50
library(keras)
model <- create_model_twin_network(
maxlen = maxlen,
layer_dense = 16,
kernel_size = 12,
filters = 4,
pool_size = 3,
learning_rate = 0.001)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.