Я только что нашел пример CNN в MATLAB. Архитектура:
Входные данные → Conv → ReLU → Объединение в пул → Слой → ReLU → Выходной слой → Softmax → Выходной сигнал
, и я закодировал обратное распространение, но я обнаружил, что точность без градиента softmax в процессе обратного распространения составляет 97%, и точность с градиентом softmax в процессе обратного распространения составляет 10%.
Мне просто интересно, неверен ли мой расчет градиента softmax.
for i = 1:1:Length
for j = 1:1:Length
x(i) = x(i) + e(j)*((i == j) - e(i));
end
end