Class SameDiffLoss

    • Field Detail

      • scorePerExampleVariable

        protected transient SDVariable scorePerExampleVariable
    • Constructor Detail

      • SameDiffLoss

        protected SameDiffLoss()
    • Method Detail

      • defineLoss

        public abstract SDVariable defineLoss​(SameDiff sd,
                                              SDVariable layerInput,
                                              SDVariable labels)
        Define the loss function.
        NOTE: The score on a *per example* basis - should return a SDVariable with shape [minibatch], where out[i] is the score for the ith minibatch
        Parameters:
        sd - SameDiff instance to define the loss on
        layerInput - Input to the SameDiff loss function
        labels - Labels placeholder
        Returns:
        The score on a per example basis (SDVariable with shape [minibatch])
      • createSameDiffInstance

        protected void createSameDiffInstance​(DataType dataType)
      • computeScore

        public double computeScore​(INDArray labels,
                                   INDArray preOutput,
                                   IActivation activationFn,
                                   INDArray mask,
                                   boolean average)
        Compute the score (loss function value) for the given inputs.
        Specified by:
        computeScore in interface ILossFunction
        Parameters:
        labels - Label/expected preOutput
        preOutput - Output of the model (neural network)
        activationFn - Activation function that should be applied to preOutput
        mask - Mask array; may be null
        average - Whether the score should be averaged (divided by number of rows in labels/preOutput) or not @return Loss function value
      • computeScoreArray

        public INDArray computeScoreArray​(INDArray labels,
                                          INDArray preOutput,
                                          IActivation activationFn,
                                          INDArray mask)
        Compute the score (loss function value) for each example individually. For input [numExamples,nOut] returns scores as a column vector: [numExamples,1]
        Specified by:
        computeScoreArray in interface ILossFunction
        Parameters:
        labels - Labels/expected output
        preOutput - Output of the model (neural network)
        activationFn - Activation function that should be applied to preOutput
        mask -
        Returns:
        Loss function value for each example; column vector
      • computeGradient

        public INDArray computeGradient​(INDArray labels,
                                        INDArray preOutput,
                                        IActivation activationFn,
                                        INDArray mask)
        Compute the gradient of the loss function with respect to the inputs: dL/dOutput
        Specified by:
        computeGradient in interface ILossFunction
        Parameters:
        labels - Label/expected output
        preOutput - Output of the model (neural network), before the activation function is applied
        activationFn - Activation function that should be applied to preOutput
        mask - Mask array; may be null
        Returns:
        Gradient dL/dPreOut