I am working in the following neural network architecture, I am using keras and TensorFlow as a back-end.

It is composed by the following, embedding of words, then I added a layer of Long Short-Term Memory (LSTM) neural networks, one layer of output and finally. I am using the softmax activation function.

model = Sequential()
model.add(Embedding(MAX_NB_WORDS, 64, dropout=0.2))
model.add(LSTM(64, dropout_W=0.2, dropout_U=0.2)) 

I have the following question, if I am getting a model through this code, could the final product be called a deep learning model?, I know that this code is very small however there is a lot of computations that the machine is making on the background.


1 Answer 1


"Deep learning" is not formally defined. However, typically even simple RNNs are taught as advanced neural network subject alongside other topics labelled "deep learning".

Technically, given the time dimension, the depth of a RNN can include many layers of processing (as opposed to many layers of parameters). As such, some of the knowledge and experience used to help with deep feed-forward networks also applies to RNNs. You could consider the LSTM architecture one such thing, because it is designed to address the vanishing gradient problem that plagues simpler RNN architectures.

So, yes you can call your model a "deep learning model" and have that generally accepted.

I'd be slightly concerned if anyone important to the success of a project thought that label was a big deal - either placed on your CV as or as a buzzword on a resulting product. However, it is not unrealistic marketing because it is essentially true.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .