Bagaimana tf.gradients mengelola fungsi yang kompleks?

Saya bekerja dengan jaringan saraf bernilai kompleks.

Untuk jaringan saraf bernilai kompleks Kalkulus Wirtinger biasanya digunakan. Maka definisi turunannya adalah (perhatikan bahwa fungsi bersifat non-Holomorfik karena teorema Liouville):

wirtinger

Jika Anda mengambil buku Akira Hirose "Jaringan Syaraf Bernilai Kompleks: Kemajuan dan Aplikasi", Bab 4 persamaan 4.9 mendefinisikan:

Tangkapan Layar dari 03-03-2020 38-10-21

Dimana turunan parsialnya juga dihitung menggunakan kalkulus Wirtinger tentunya.

Apakah ini kasus tensorflow? atau apakah itu didefinisikan dengan cara lain? Saya tidak dapat menemukan referensi bagus tentang topik tersebut.


person Agustin Barrachina    schedule 19.07.2019    source sumber
comment
Saya tidak tahu banyak (atau apa pun) tentang analisis kompleks, tapi mungkin jika Anda bisa memberikan beberapa contoh fungsi non-holomorfik, kita bisa mencari tahu apa yang dilakukan TensorFlow terhadap gradien. Meskipun TF mendukung tensor kompleks, saya tidak yakin sejauh mana gradien diterapkan untuk tensor tersebut (untuk aritmatika sederhana tampaknya berhasil, tetapi saya tidak tahu tentang operasi yang lebih rumit). Meskipun suatu fungsi dianggap tidak dapat dibedakan oleh TensorFlow, Anda dapat mengimplementasikan sendiri gradiennya dengan tf.gradient (tetapi mungkin bukan itu yang Anda minati saat ini).   -  person jdehesa    schedule 19.07.2019


Jawaban (1)


Oke, jadi saya membahas ini di thread yang ada di github/tensorflow dan @charmasaur ditemukan responnya, persamaan yang digunakan Tensorflow untuk gradiennya adalah:

tf-grad-def

Saat menggunakan definisi turunan parsial wrt z dan z* menggunakan Kalkulus Wirtinger.


Untuk kasus fungsi skalar bernilai riil dari satu atau beberapa variabel kompleks, definisinya menjadi:

Yang memang itulah definisi yang digunakan pada aplikasi Complex-Valued Neural Networks (CVNN) (Dalam aplikasi ini fungsinya adalah fungsi loss/error yang memang nyata).

person Agustin Barrachina    schedule 25.09.2019
comment
Saya telah menghapus tanda ini sebagai solusinya karena saya masih memerlukan sumber/referensi yang dapat diverifikasi yang dapat saya kutip. Saya ingin referensi yang menegaskan bahwa ini adalah persamaan untuk Tensorflow atau seseorang dalam Tensorflow yang bekerja dengan persamaan ini memberi tahu saya bahwa persamaan tersebut memang benar. - person Agustin Barrachina; 02.03.2020
comment
Juga memintanya di sini - person Agustin Barrachina; 02.03.2020