Я хочу добавить ортогональную регуляризацию при активации выхода (Y) плотного слоя. то есть, мин. | Y'Y - I || _F
def regOrth(Y):
m = K.batch_dot(K.transpose(Y), Y) - K.eye(Y.shape[2])
return K.sqrt(K.sum(K.square(m)))
Выход Y имеет форму (batch_size, W, H), и я хочу, чтобы каждая матрица (WxH) имела ортогональные столбцы.
Я не могу использовать K.transpose из-за размера партии в качестве первого затемнения. Есть ли бэкэнд-функция, похожая на K.batch_dot.
Как мне этого добиться?