MATLAB Answers

Can a convolutional neural network or an autoencoder deal with an input of complex values (complex numbers instead of real numbers)?

21 views (last 30 days)
Elie Sfeir
Elie Sfeir on 18 Mar 2020
Commented: Raunak Gupta on 25 Mar 2020
I saw in a model that they did consider the complex numbers as 2-D numbers before using Convolutional Neural Networks.
However for the autoencoder, as much as i know, it can not deal with 3D, Am i right? then if so, i have no other choice but to keep the complex numbers in complex form and not convert them to 2-D, because i already have another dimension which is the number of the instances of the dataset. Right?
Also i want to make sure about the fact that in CNN, it is always better to convert the complex number to a 2-D real number ? what happens if i let the CNN in matlab deal with complex number?
Also for the autoencoder, can it deal properly with a complex number input? is it possible also to convert it to a 2-D input , having also the number of dataset , then it will be a 3-D input to the autoencoder, is this possible to deal with 3-D input in case of the autoencoder?


Sign in to comment.

Answers (1)

Dinesh Yadav
Dinesh Yadav on 23 Mar 2020
Complex numbers are not directly supported in MATLAB for CNN, autoencoders, SVM etc therefore they are converted into 2D real data before applying CNN. If you directly give complex input MATLAB will throw error. But you can give a 3D input to autoencoder.


Elie Sfeir
Elie Sfeir on 25 Mar 2020
Thanks for your answer. I understand. However for the autoencoder,can you refer me an example where they do consider a 3-D input for the autoencoder? because it looks diffcult for me to be able to have a 3D input for autoencoder.
Thanks in advance

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!