Non traceable loss function in neural network

1 visualizzazione (ultimi 30 giorni)
Hi,
I would want to know if there's any possibility of having a loss function that looks like this:
This is used in a siamese network for metric learning. There are 2 identical networks with the same weights, where the Xs are the inputs and Y are the outputs. The thing is that the operations performed on the dlarrays are not permitted so the gradients cannot be computed.
Is there an alternative way to make this work?
function loss = lossfunc(Y1,Y2,X1,X2,dist)
% accepts the network's predictions Y1, Y2, the inputs
% X1, X2, and the true distance between X1 and X2, and returns the loss value.
loss = .5*((X1-X2)'*pinv(Y1*Y1')*(X1-X2)...
+ (X1-X2)'*pinv(Y2*Y2')*(X1-X2))...
-dist^2);
end

Risposta accettata

Divya Gaddipati
Divya Gaddipati il 15 Ott 2020
Currently, pinv is not supported for dlarray inputs.
Alternatively, you could try replacing the function with their own logic using the functions in the below link that are supported by dlarray.

Più risposte (0)

Categorie

Scopri di più su Image Data Workflows in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by