1

I am looking to train a neural network to satisfy an ordinary differential equation. I have constructed a neural network like this using keras sequential model.

import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.layers.advanced_activations import LeakyReLU, PReLU
model = Sequential()
model.add(Dense(output_dim = 20, init = 'uniform', activation = 'relu', input_dim = 1,use_bias=True))
model.add(Dense(output_dim = 20, init = 'uniform', activation = 'relu',use_bias=True))
model.add(Dense(output_dim = 20, init = 'uniform', activation = 'relu',use_bias=True))
model.add(Dense(output_dim = 1,init='uniform',activation='sigmoid'))`

Now, I want this output of Neural netork to satisfy the following differential equation:

dy/dx+y=x

Where x lies between 0 and 1. Suppose N represents the output of the constructed neural network, I want the following loss function

∑(dN/dx_i+N-x_i)^2

How can I do it using Keras sequential model?

0 Answers0