Я использую Tensorflow v1.14 для создания сетей и их обучения. Все отлично работает, и у меня нет проблем с кодом. Я использую функцию tf.reduce_min()
в своей функции потери. Для потока градиентов важно, чтобы функция потерь была дифференцируемой. Но оператор min
не дифференцируем как таковой. Эта ссылка дает необходимое объяснение функции tf.reduce_min()
, но без ссылок.
В общем, в Tensorflow есть функции (tf.cond
, tf.where
, среди многих других), которые по своей сути не дифференцируемы по своему определению. Я хочу знать, как сделать их дифференцируемыми, определив «псевдоградиенты» и соответствующие ссылки на документацию. Благодаря.