Can a convolutional neural network or an autoencoder deal with an input of complex values (complex numbers instead of real numbers)?
6 views (last 30 days)
Show older comments
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?
0 Comments
Answers (1)
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.
2 Comments
Raunak Gupta
on 25 Mar 2020
Hi,
You may look for unet3dLayers for creating a 3D-Convolutional Autoencoder. Following example on 3D Brain Tumor Segmentation may help you get started.
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!