The FAIRnets Ontology
type: Ontology
version info: 2.0
comment: This is the FAIRnets Ontology. Designed by the AIFB (http://www.aifb.kit.edu). It enables to formalize Artificial Neural Networks in RDF, making it possible to represent existing Neural Networks according the FAIR principles.
issued: 2019-03-22
preferred namespace uri: https://w3id.org/nno/ontology#
term status: stable
preferred namespace prefix: nno

has layer
type: ObjectProperty
domain: Model
range: Layer
comment: Layer of the Neural Network.

has loss function
type: ObjectProperty
domain: Model
range: Loss Function
comment: Loss function used by Neural Network.

has model
type: ObjectProperty
domain: Neural Network
range: Model
comment: Model of the repository.

has optimizer
type: ObjectProperty
domain: Model
range: Optimizer
comment: Optimization function used by Neural Network (e.g. SGD, Adam or RMSprop).

category
type: DatatypeProperty
domain: Neural Network
range: Literal
comment: indicates an assigned topic

data set
type: DatatypeProperty
domain: Neural Network
range: anyURI
comment: Describes the used dataset for training and evaluating

has base model
type: DatatypeProperty
domain: Model
comment: Base model from keras application

has base model keywords
type: DatatypeProperty
domain: Base Model
comment: Keywords of base model

has download count
type: DatatypeProperty
domain: Neural Network
range: nonNegativeInteger
comment: Number of downloads for this particular model.

has layer keywords
type: DatatypeProperty
domain: Layer
range: Literal
comment: Keywords of a layer

has layer parameters
type: DatatypeProperty
domain: Layer
range: Literal
comment: Parameters of a layer

has layer sequence
type: DatatypeProperty
domain: Layer
range: integer
comment: Specifies the sequence of the layers. Starts at 1, the number of layers is n-1, at n: Number of layers.

has metric
type: DatatypeProperty
domain: Model
range: Literal
comment: Reflects potential real-world impact of the Model. Determines the Accuracy, Precision etc. of the model.

has model sequence
type: DatatypeProperty
domain: Model
range: integer
comment: Specifies the sequence of models, starts at 1

has model type
type: DatatypeProperty
domain: Model
range: anyURI
comment: type of the model

has repository link
type: DatatypeProperty
domain: Neural Network
range: anyURI
comment: Link to the respository (e.g. github) where the model and further information can be found.

has intended use
type: DatatypeProperty
domain: Neural Network
range: anyURI
comment: Primary intended use and users (domain) for which the Neural Network was trained for.

stars
type: DatatypeProperty
domain: Neural Network
range: integer
comment: indicates watchers count

used framework
type: DatatypeProperty
domain: Neural Network
range: anyURI
comment: Framework (e.g. Keras, Pandas, numpy, etc.) used to create this model.

Organization
type: Class
comment: Organization the person belongs to.

Person
type: Class
comment: Person who makes this ontology.

Activation Layer
type: Class
subclass of: Core Layer
comment: Applies an activation function to an output.

Activity Regularization Layer
type: Class
subclass of: Core Layer
comment: Layer that applies an update to the cost function based input activity.

Average Pooling 1D Layer
type: Class
subclass of: Pooling Layer
comment: Average pooling for temporal data.

Average Pooling 2D Layer
type: Class
subclass of: Pooling Layer
comment: Average pooling operation for spatial data.

Average Pooling 3D Layer
type: Class
subclass of: Pooling Layer
comment: Average pooling operation for 3D data (spatial or spatio-temporal).

Base Model
type: Class
subclass of: Layer
comment: Base model from keras application

Batch Normalization Layer
type: Class
subclass of: Normalization Layer
comment: Batch normalization layer (Ioffe and Szegedy, 2014). Normalize the activations of the previous layer at each batch, i.e. applies a transformation that maintains the mean activation close to 0 and the activation standard deviation close to 1.

Classification Loss Function
type: Class
subclass of: Loss Function
comment: Loss function typically used for classification problems.

Convolutional 1D Layer
type: Class
subclass of: Convolutional Layer
comment: 1D convolution layer (e.g. temporal convolution). This layer creates a convolution kernel that is convolved with the layer input over a single spatial (or temporal) dimension to produce a tensor of outputs.

Convolutional 2D Layer
type: Class
subclass of: Convolutional Layer
comment: 2D convolution layer (e.g. spatial convolution over images). This layer creates a convolution kernel that is convolved with the layer input to produce a tensor of outputs.

Convolutional 2D Transpose Layer
type: Class
subclass of: Convolutional Layer
comment: Transposed convolution layer (sometimes called Deconvolution). The need for transposed convolutions generally arises from the desire to use a transformation going in the opposite direction of a normal convolution, i.e., from something that has the shape of the output of some convolution to something that has the shape of its input while maintaining a connectivity pattern that is compatible with said convolution.

Convolutional 3D Layer
type: Class
subclass of: Convolutional Layer
comment: 3D convolution layer (e.g. spatial convolution over volumes). This layer creates a convolution kernel that is convolved with the layer input to produce a tensor of outputs.

Convolutional 3D Transpose Layer
type: Class
subclass of: Convolutional Layer
comment: Transposed convolution layer (sometimes called Deconvolution). The need for transposed convolutions generally arises from the desire to use a transformation going in the opposite direction of a normal convolution, i.e., from something that has the shape of the output of some convolution to something that has the shape of its input while maintaining a connectivity pattern that is compatible with said convolution.

Convolutional LSTM 2D Layer
type: Class
subclass of: Recurrent Layer
comment: Convolutional LSTM. It is similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.

Convolutional LSTM 2D Cell Layer
type: Class
subclass of: Recurrent Layer
comment: Cell class for the ConvLSTM2D layer.

Convolutional Layer
type: Class
subclass of: Layer

Core Layer
type: Class
subclass of: Layer

Cropping 1D Layer
type: Class
subclass of: Convolutional Layer
comment: Cropping layer for 1D input (e.g. temporal sequence). It crops along the time dimension (axis 1).

Cropping 2D Layer
type: Class
subclass of: Convolutional Layer
comment: Cropping layer for 2D input (e.g. picture). It crops along spatial dimensions, i.e. height and width.

Cropping 3D Layer
type: Class
subclass of: Convolutional Layer
comment: Cropping layer for 3D data (e.g. spatial or spatio-temporal).

CuDNN GRU Layer
type: Class
subclass of: Recurrent Layer
comment: Fast GRU implementation backed by CuDNN. Can only be run on GPU, with the TensorFlow backend.

CuDNN LSTM Layer
type: Class
subclass of: Recurrent Layer
comment: Fast LSTM implementation with CuDNN. Can only be run on GPU, with the TensorFlow backend.

Custom Layer
type: Class
subclass of: Layer
comment: Custom layer defined by user

Dense Layer
type: Class
subclass of: Core Layer
comment: Just your regular densely-connected NN layer.

Depthwise Convolutional 2D Layer
type: Class
subclass of: Convolutional Layer
comment: Depthwise separable 2D convolution. Depthwise Separable convolutions consists in performing just the first step in a depthwise spatial convolution (which acts on each input channel separately).

Dropout Layer
type: Class
subclass of: Core Layer
comment: Applies Dropout to the input.

Embedding Layer
type: Class
subclass of: Embedding Layer
comment: Turns positive integers (indexes) into dense vectors of fixed size.

Embedding Layer
type: Class
subclass of: Layer

Flatten Layer
type: Class
subclass of: Core Layer
comment: Flattens the input. Does not affect the batch size.

GRU Layer
type: Class
subclass of: Recurrent Layer
comment: Gated Recurrent Unit - Cho et al. 2014. There are two variants. The default one is based on 1406.1078v3 and has reset gate applied to hidden state before matrix multiplication. The other one is based on original 1406.1078v1 and has the order reversed.

GRU Cell Layer
type: Class
subclass of: Recurrent Layer
comment: Cell class for the GRU layer.

Global Average Pooling 1D Layer
type: Class
subclass of: Pooling Layer
comment: Global average pooling operation for temporal data.

Global Average Pooling 2D Layer
type: Class
subclass of: Pooling Layer
comment: Global average pooling operation for spatial data.

Global Average Pooling 3D Layer
type: Class
subclass of: Pooling Layer
comment: Global Average pooling operation for 3D data.

Global Max Pooling 1D Layer
type: Class
subclass of: Pooling Layer
comment: Global max pooling operation for temporal data.

Global Max Pooling 2D Layer
type: Class
subclass of: Pooling Layer
comment: Global max pooling operation for spatial data.

Global Max Pooling 3D Layer
type: Class
subclass of: Pooling Layer
comment: Global Max pooling operation for 3D data.

Input Layer
type: Class
subclass of: Core Layer
comment: Input() is used to instantiate a Keras tensor. A Keras tensor is a tensor object from the underlying backend (Theano, TensorFlow or CNTK), which we augment with certain attributes that allow us to build a Keras model just by knowing the inputs and outputs of the model.

Input Layer
type: Class
subclass of: Layer
comment: Input (e.g. data set).

LSTM Layer
type: Class
subclass of: Recurrent Layer
comment: Long Short-Term Memory layer - Hochreiter 1997.

Cell class for the LSTM layer.
type: Class
subclass of: Recurrent Layer
label: LSTM Cell Layer

Lambda Layer
type: Class
subclass of: Core Layer
comment: Wraps arbitrary expression as a Layer object.

Layer
type: Class
comment: Layer of the neural network.

Locally-connected Layer
type: Class
subclass of: Layer

Locally-connected 1D Layer
type: Class
subclass of: Locally-connected Layer
comment: Locally-connected layer for 1D inputs.

Locally-connected 2D Layer
type: Class
subclass of: Locally-connected Layer
comment: Locally-connected layer for 2D inputs.

Loss Function
type: Class
comment: Loss function used by Neural Network.

Masking Layer
type: Class
subclass of: Core Layer
comment: Masks a sequence by using a mask value to skip timesteps.

Max Pooling 1D Layer
type: Class
subclass of: Pooling Layer
comment: Max pooling operation for temporal data.

Max Pooling 2D Layer
type: Class
subclass of: Pooling Layer
comment: Max pooling operation for spatial data.

Max Pooling 3D Layer
type: Class
subclass of: Pooling Layer
comment: Max pooling operation for 3D data (spatial or spatio-temporal).

Model
type: Class
comment: Model of the repository.

Neural Network
type: Class

Normalization Layer
type: Class
subclass of: Layer

Optimizer
type: Class
comment: Optimizer used by Neural Network.

Permute Layer
type: Class
subclass of: Core Layer
comment: Permutes the dimensions of the input according to a given pattern. Useful for e.g. connecting RNNs and convnets together.

Pooling Layer
type: Class
subclass of: Layer

Recurrent Layer
type: Class
subclass of: Layer

Regression Loss Function
type: Class
subclass of: Loss Function
comment: Loss function typically used for regression problems.

Repeat Vector Layer
type: Class
subclass of: Core Layer
comment: Repeats the input n times.

Reshape Layer
type: Class
subclass of: Core Layer
comment: Reshapes an output to a certain shape.

Separable Convolutional 1D Layer
type: Class
subclass of: Convolutional Layer
comment: Depthwise separable 1D convolution. Separable convolutions consist in first performing a depthwise spatial convolution (which acts on each input channel separately) followed by a pointwise convolution which mixes together the resulting output channels. Intuitively, separable convolutions can be understood as a way to factorize a convolution kernel into two smaller kernels, or as an extreme version of an Inception block.

Separable Convolutional 2D Layer
type: Class
subclass of: Convolutional Layer
comment: Depthwise separable 2D convolution. Separable convolutions consist in first performing a depthwise spatial convolution (which acts on each input channel separately) followed by a pointwise convolution which mixes together the resulting output channels. Intuitively, separable convolutions can be understood as a way to factorize a convolution kernel into two smaller kernels, or as an extreme version of an Inception block.

Simple RNN Layer
type: Class
subclass of: Recurrent Layer
comment: Fully-connected RNN where the output is to be fed back to input.

Simple RNN Cell Layer
type: Class
subclass of: Recurrent Layer
comment: Cell class for SimpleRNN.

Spatial Dropout 1D Layer
type: Class
subclass of: Core Layer
comment: Spatial 1D version of Dropout. This version performs the same function as Dropout, however it drops entire 1D feature maps instead of individual elements. If adjacent frames within feature maps are strongly correlated (as is normally the case in early convolution layers) then regular dropout will not regularize the activations and will otherwise just result in an effective learning rate decrease. In this case, SpatialDropout1D will help promote independence between feature maps and should be used instead.

Spatial Dropout 2D Layer
type: Class
subclass of: Core Layer
comment: Spatial 2D version of Dropout. This version performs the same function as Dropout, however it drops entire 2D feature maps instead of individual elements. If adjacent pixels within feature maps are strongly correlated (as is normally the case in early convolution layers) then regular dropout will not regularize the activations and will otherwise just result in an effective learning rate decrease. In this case, SpatialDropout2D will help promote independence between feature maps and should be used instead.

Spatial Dropout 3D Layer
type: Class
subclass of: Core Layer
comment: Spatial 3D version of Dropout. This version performs the same function as Dropout, however it drops entire 3D feature maps instead of individual elements. If adjacent pixels within feature maps are strongly correlated (as is normally the case in early convolution layers) then regular dropout will not regularize the activations and will otherwise just result in an effective learning rate decrease. In this case, SpatialDropout3D will help promote independence between feature maps and should be used instead.

Upsampling 1D Layer
type: Class
subclass of: Convolutional Layer
comment: Upsampling layer for 1D inputs.

Upsampling 2D Layer
type: Class
subclass of: Convolutional Layer
comment: Upsampling layer for 2D inputs. Repeats the rows and columns of the data by size[0] and size[1] respectively.

Upsampling 3D Layer
type: Class
subclass of: Convolutional Layer
comment: Upsampling layer for 3D inputs. Repeats the 1st, 2nd and 3rd dimensions of the data by size[0], size[1] and size[2] respectively.

Zero-padding 1D Layer
type: Class
subclass of: Convolutional Layer
comment: Zero-padding layer for 1D input (e.g. temporal sequence).

Zero-padding 2D Layer
type: Class
subclass of: Convolutional Layer
comment: Zero-padding layer for 2D input (e.g. picture). This layer can add rows and columns of zeros at the top, bottom, left and right side of an image tensor.

Zero-padding 3D Layer
type: Class
subclass of: Convolutional Layer
comment: Zero-padding layer for 3D data (spatial or spatio-temporal).

Anna Nguyen
type: NamedIndividual
type: Person

Michael Färber
type: NamedIndividual
type: Person

Tobias Weller
type: NamedIndividual
type: Person

Web Science (AIFB)
type: NamedIndividual
type: Organization

York Sure-Vetter
type: NamedIndividual
type: Person

Adadelta Optimizer
type: NamedIndividual
type: Optimizer
comment: Adadelta is a more robust extension of Adagrad that adapts learning rates based on a moving window of gradient updates, instead of accumulating all past gradients. This way, Adadelta continues learning even when many updates have been done. Compared to Adagrad, in the original version of Adadelta you don't have to set an initial learning rate. In this version, initial learning rate and decay factor can be set, as in most other Keras optimizers.

Adagrad Optimizer
type: NamedIndividual
type: Optimizer
comment: Adagrad is an optimizer with parameter-specific learning rates, which are adapted relative to how frequently a parameter gets updated during training. The more updates a parameter receives, the smaller the learning rate.

Adam Optimizer
type: NamedIndividual
type: Optimizer

Adamax Optimizer
type: NamedIndividual
type: Optimizer

Binary Crossentropy
type: NamedIndividual
type: Classification Loss Function

Categorical Crossentropy
type: NamedIndividual
type: Classification Loss Function

Categorical Hinge
type: NamedIndividual
type: Classification Loss Function

Cosine Proximity
type: NamedIndividual
type: Regression Loss Function

customloss
type: NamedIndividual
type: Loss Function
comment: Custom loss function defined by user

Custom Optimizer
type: NamedIndividual
type: Optimizer
comment: Custom optimizer defined by user

Hinge
type: NamedIndividual
type: Classification Loss Function

Kullback Leibler Divergence
type: NamedIndividual
type: Classification Loss Function

Log Cosh Loss
type: NamedIndividual
type: Regression Loss Function

Mean Absolute Error
type: NamedIndividual
type: Regression Loss Function

Mean Absolute Percentage Error
type: NamedIndividual
type: Regression Loss Function

Mean Squared Error
type: NamedIndividual
type: Regression Loss Function

Mean Squared Logarithmic Error
type: NamedIndividual
type: Regression Loss Function

Nesterov Adam Optimizer
type: NamedIndividual
type: Optimizer
comment: Much like Adam is essentially RMSprop with momentum, Nadam is Adam RMSprop with Nesterov momentum.

Huber Loss
type: NamedIndividual
type: Regression Loss Function

Poisson
type: NamedIndividual
type: Regression Loss Function

RMSProp Optimizer
type: NamedIndividual
type: Optimizer
comment: This optimizer is usually a good choice for recurrent neural networks.

Stochastic Gradient Descent Optimizer
type: NamedIndividual
type: Optimizer
comment: Includes support for momentum, learning rate decay, and Nesterov momentum.

Sparse Categorical Crossentropy
type: NamedIndividual
type: Classification Loss Function

Squared Hinge
type: NamedIndividual
type: Classification Loss Function