Пользовательский слой Keras в R - PullRequest
1 голос
/ 05 февраля 2020

Настройка

Предположим, у меня есть архитектура нейронной сети, написанная в Keras (R), последний уровень которой выводит n выходных данных, поэтому что-то вроде этого

                          A∘σ∘B

Для некоторые матрицы A и B и некоторая функция активации σ (например, ReLu).

Вот код того, что я уже сделал (без нового слоя).

#-------------------------------#
# Build Model
#-------------------------------#
model<-keras_model_sequential()
# Define bulk of the network
model %>% layer_dense(units=Height,activation = "relu",input_shape = 1)

for(i in 1:Depth){
  model %>% layer_dense(units=Height,activation = "relu",input_shape = 1) 
}
# Readout Layer
model %>% layer_dense(units=1)

# Compile
model %>% keras::compile(loss="mse",
                         optimizer="adam",
                         metrics="mse")

## Report Model (Summary)
model %>% summary()

# Fit Model
fittedmodel<- model %>%
  keras::fit(train_data,
             trainingtarget,
             epochs=epochs,
             batch_size=(round(min(1,abs(Batch.size.percent))*nrow(train_data),digits = 0)), # Computes batch-size as a percentage of total data-size
  )

# Notify: Training Complete
beep()

Вопрос:

Предположим, что я определил функцию f от R ^ n до R ^ n, скажем, например,

f<-function(x){x^seq(from=1,to=n,by=1)}

Как я могу изменить свой код для оптимизации сети

                          C∘f∘A∘σ∘B,

, где C это матрица от R ^ n до R?

Другими словами, я хочу создать пользовательский слой и затем обучить полученную сеть ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...