Я обучаю систему сквозной связи с использованием TensorFlow и Sionna, которая включает в себя множество функций со смешанными реальными и сложными областями.
Мой системный конвейер выглядит примерно так:
Когда я использую tf.GradientTape() для вычисления градиентов и обновления параметров нейронного картографа, кажется, что обучение работает без каких-либо ошибок (поэтому потери выполняют обратное распространение через несколько функций обратно в нейронный картограф). Но я не понимаю:
Как работает правило цепочки, когда мы смешиваем сложные и реальные домены? Правило математической цепочки, которое я изучил, предполагает, что все находится в одном домене.
Что происходит на границах домена? Например:
Когда нейронный_маппер выводит сложные значения из реальных входных данных
Когда такие операции, как tf.abs(), tf.angle() или tf.real() конвертировать сложное в реальное
Когда потеря распространяется обратно на слои с комплексными значениями
Выполняет ли TensorFlow:
Автоматическое преобразование всего в реальное (например, обработка сложного сигнала как двух реальных каналов)?
Использовать какую-либо форму комплексного дифференцирования (производные Виртингера)? Но если да, то обрабатывает ли он реальные и сложные типы операций по-разному?
Я обучаю систему сквозной связи с использованием TensorFlow и Sionna, которая включает в себя множество функций со смешанными реальными и сложными областями. Мой системный конвейер выглядит примерно так: [code]import tensorflow as tf
# loss: real-valued loss = tf.nn.sigmoid_cross_entropy_with_logits(labels=bits, logits=llrs) [/code] Когда я использую tf.GradientTape() для вычисления градиентов и обновления параметров нейронного картографа, кажется, что обучение работает без каких-либо ошибок (поэтому потери выполняют обратное распространение через несколько функций обратно в нейронный картограф). Но я не понимаю: [list] [*]Как работает [b]правило цепочки[/b], когда мы смешиваем сложные и реальные домены? Правило математической цепочки, которое я изучил, предполагает, что все находится в одном домене.
[*]Что происходит на [b]границах домена?[/b] Например: [list] Когда нейронный_маппер выводит сложные значения из реальных входных данных
[*]Когда такие операции, как tf.abs(), tf.angle() или tf.real() конвертировать сложное в реальное
[*]Когда потеря распространяется обратно на слои с комплексными значениями
[/list]
[*]Выполняет ли TensorFlow: [list] Автоматическое преобразование всего в реальное (например, обработка сложного сигнала как двух реальных каналов)?
[*]Использовать какую-либо форму комплексного дифференцирования (производные Виртингера)? Но если да, то обрабатывает ли он реальные и сложные типы операций по-разному?