Мне нужна помощь в переписывании пользовательской функции потери Keras при условии следующего кода MATLAB:
function Y = L2normLoss(X, C)
assert(numel(X) == numel(C));
diff=X(:)-C(:);
idx=find(abs(diff)<0.1);
X(idx)=C(idx);
Y = sum((exp(C(:)).*(X(:)-C(:))).^2) ;
end
Здесь X
- это тензор, содержащий прогнозы из CNN и C
- соответствующий тензор основной истинности (то есть гауссовская функция с максимальным значением = 1 в центре).
Пожалуйста, прокомментируйте , как эта функция потерь может вести себя иначе, чем встроенная функция Keras categorical_crossentropy
потери для задачи обнаружения объекта (т. Е. Полиномиальная логистика c регрессия). Цель состоит в том, чтобы CNN был хорошо обучен на множестве входных патчей с центром в интересующем объекте.