https://github.com/arminarj/deepgcca-pytorch
An implementation of Deep Generalized Canonical Correlation Analysis (DGCCA or Deep GCCA) with pytorch.
https://github.com/arminarj/deepgcca-pytorch
cca correlation deepgcca dgcca multimodal multiview multiview-learning statistics
Last synced: 10 months ago
JSON representation
An implementation of Deep Generalized Canonical Correlation Analysis (DGCCA or Deep GCCA) with pytorch.
- Host: GitHub
- URL: https://github.com/arminarj/deepgcca-pytorch
- Owner: arminarj
- License: mit
- Created: 2020-05-23T21:07:03.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-11T11:09:32.000Z (about 6 years ago)
- Last Synced: 2025-04-09T11:52:48.972Z (over 1 year ago)
- Topics: cca, correlation, deepgcca, dgcca, multimodal, multiview, multiview-learning, statistics
- Language: Jupyter Notebook
- Homepage:
- Size: 2.62 MB
- Stars: 48
- Watchers: 2
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DGCCA-pytorch:
A Pytorch Implementation of Deep Generalized Canonical Correlation Analysis as described in:
Adrian Benton, Huda Khayrallah, Biman Gujral, Dee Ann Reisinger, Sheng Zhang, and Raman Arora. Deep Generalized Canonical Correlation Analysis. The 4th Workshop on Representation Learning for NLP. 2019
[(Paper-link)](https://www.aclweb.org/anthology/W19-4301/)
# Deep Generalized Canonical Correlation Analysis:
*Generalized Canonical Correlation Analysis (GCCA)* is a method which corresponds to solving an optimization problom objective to find the best linear shared space called ***G*** for the *J* view of a data
**DeepGCCA** is a non-linear version of GCCA which uses neural networks as the feature extractor functions instead of linear transformers. ***DGCCA*** is some how exention of ***DeepCCA*** for more than two views though it has a different objective function.


- figures source [Deep Generalized Canonical Correlation Analysis - Arxiv 1702.02519](https://arxiv.org/abs/1702.02519)
## Pseudocode algorithm:
Pseudocode algorithm based on the paper,

# Example:
Synthatic Data: [(synth data generator)](/synth_data.py)

DGCCA Latent space for views:

- figures source [Deep Generalized Canonical Correlation Analysis - Arxiv 1702.02519](https://arxiv.org/abs/1702.02519)
# Prerequest:
- Python 3.6>=
- Pytorch 1.4 >= (should also work with >=1.0)
- Numpy
- Scipy
- Seanborn
# Other Implementations:
- [Theano Implementation](https://bitbucket.org/adrianbenton/dgcca-py3/src/master/) By Adiran Benton.
## Notes:
### check list:
- cuda test
- Varient Batch sizes test
### to do:
- Nan gradient/update rules (Famous issue of Deep CCA - based models, like [DeepCCA Nan outputs](https://github.com/Michaelvll/DeepCCA))
- More numerical stabilization for varient Architectures
Warmest thanks to Mr. Adrian Benton for his kind helps.