Title: DEEP GENERALIZED CANONICAL CORRELATION ANALYSIS

Abstract: We present Deep Generalized Canonical Correlation Analysis (DGCCA) -a method for learning nonlinear transformations of arbitrarily many views of data, such that the resulting transformations are maximally informative of each other. While methods for nonlinear two-view representation learning (Deep CCA, (Andrew et al., 2013) ) and linear many-view representation learning (Generalized CCA (Horst, 1961)) exist, DGCCA is the first CCA-style multiview representation learning technique that combines the flexibility of nonlinear (deep) representation learning with the statistical power of incorporating information from many independent sources, or views. We present the DGCCA formulation as well as an efficient stochastic optimization algorithm for solving it. We learn DGCCA representations on two distinct datasets for three downstream tasks: phonetic transcription from acoustic and articulatory measurements, and recommending hashtags and friends on a dataset of Twitter users. We find that DGCCA representations soundly beat existing methods at phonetic transcription and hashtag recommendation, and in general perform no worse than standard linear many-view techniques.

1. INTRODUCTION:

Multiview representation learning refers to settings where one has access to many "views" of data, at train time. Views often correspond to different modalities or independent information about examples: a scene represented as a series of audio and image frames, a social media user characterized by the messages they post and who they friend, or a speech utterance and the configuration of the speaker's tongue. Multiview techniques learn a representation of data that captures the sources of variation common to all views.

Multiview representation techniques are attractive for intuitive reasons. A representation that is able to explain many views of the data is more likely to capture meaningful variation than a representation that is a good fit for only one of the views. They are also attractive for the theoretical reasons. For example, Anandkumar et al. (2014) show that certain classes of latent variable models, such as Hidden Markov Models, Gaussian Mixture Models, and Latent Dirichlet Allocation models, can be optimally learned with multiview spectral techniques. Representations learned from many views will generalize better than one, since the learned representations are forced to accurately capture variation in all views at the same time (Sridharan & Kakade, 2008) -each view acts as a regularizer, constraining the possible representations that can be learned. These methods are often based on canonical correlation analysis (CCA), a classical statisical technique proposed by Hotelling (1936) .

In spite of encouraging theoretical guarantees, multiview learning techniques cannot freely model nonlinear relationships between arbitrarily many views. Either they are able to model variation across many views, but can only learn linear mappings to the shared space (Horst, 1961) , or they simply cannot be applied to data with more than two views using existing techniques based on kernel CCA (Hardoon et al., 2004) and deep CCA (Andrew et al., 2013) .

Here we present Deep Generalized Canonical Correlation Analysis (DGCCA). Unlike previous correlation-based multiview techniques, DGCCA learns a shared representation from data with arbitrarily many views and simultaneously learns nonlinear mappings from each view to this shared space. The only (mild) constraint is that these nonlinear mappings from views to shared space must be differentiable. Our main methodological contribution is the derivation of the gradient update for the Generalized Canonical Correlation Analysis (GCCA) objective (Horst, 1961) . As a practical contribution, we have also released an implementation of DGCCA1 .

We also evaluate DGCCA-learned representations on two distinct datasets and three downstream tasks: phonetic transcription from aligned speech and articulatory data, and Twitter hashtag and friend recommendation from six text and network feature views. We find that downstream performance of DGCCA representations is ultimately task-dependent. However, we find clear gains in performance from DGCCA for tasks previously shown to benefit from representation learning on more than two views, with up to 4% improvement in heldout accuracy for phonetic transcription.

The paper is organized as follows. We review prior work in Section 2. In Section 3 we describe DGCCA. Empirical results on a synthetic dataset, and three downstream tasks are presented in Section 4. In Section 5, we describe the differences between DGCCA and other non-CCA-based multiview learning work and conclude with future directions in Section 6.

2. PRIOR WORK:

Some of most successful techniques for multiview representation learning are based on canonical correlation analysis (Wang et al., 2015a; b) and its extension to the nonlinear and many view settings, which we describe in this section. For other related multiview learning techniques, see Section 5.

2.1. CANONICAL CORRELATION ANALYSIS (CCA):

Canonical correlation analysis (CCA) (Hotelling, 1936) is a statistical method that finds maximally correlated linear projections of two random vectors and is a fundamental multiview learning technique. Given two input views, X 1 ∈ R d1 and X 2 ∈ R d2 , with covariance matrices, Σ 11 and Σ 22 , respectively, and cross-covariance matrix, Σ 12 , CCA finds directions that maximize the correlation between them:

(u * 1 , u * 2 ) = argmax u1∈R d 1 ,u2∈R d 2 corr(u 1 X 1 , u 2 X 2 ) = argmax u1∈R d 1 ,u2∈R d 2 u 1 Σ 12 u 2 u 1 Σ 11 u 1 u 2 Σ 22 u 2

Since this formulation is invariant to affine transformations of u 1 and u 2 , we can write it as the following constrained optimization formulation:

EQUATION

This technique has two limitations that have led to significant extensions: First, it is limited to learning representations that are linear transformations of the data in each view, and second, it can only leverage two input views.

2.2. DEEP CANONICAL CORRELATION ANALYSIS (DCCA):

Deep CCA (DCCA) (Andrew et al., 2013) is an extension of CCA that addresses the first limitation by finding maximally linearly correlated non-linear transformations of two vectors. It does this by passing each of the input views through stacked non-linear representations and performing CCA on the outputs.

Let us use f 1 (X 1 ) and f 2 (X 2 ) to represent the network outputs. The weights, W 1 and W 2 , of these networks are trained through standard backpropagation to maximize the CCA objective:

(u * 1 , u * 2 , W * 1 , W * 2 ) = argmax u1,u2 corr(u 1 f 1 (X 1 ), u 2 f 2 (X 2 ))

DCCA is still limited to only 2 input views.

2.3. GENERALIZED CANONICAL CORRELATION ANALYSIS (GCCA):

Another extension of CCA, which addresses the limitation on the number of views, is Generalized CCA (GCCA) (Horst, 1961) . It corresponds to solving the optimization problem in Equation ( 2), of finding a shared representation G of J different views, where N is the number of data points, d j is the dimensionality of the jth view, r is the dimensionality of the learned representation, and X j ∈ R dj ×N is the data matrix for the jth view.2 minimize

EQUATION

Solving GCCA requires finding an eigendecomposition of an N × N matrix, which scales quadratically with sample size and leads to memory constraints. Unlike CCA and DCCA, which only learn projections or transformations on each of the views, GCCA also learns a view-independent representation G that best reconstructs all of the view-specific representations simultaneously. The key limitation of GCCA is that it can only learn linear transformations of each view.

3. DEEP GENERALIZED CANONICAL CORRELATION ANALYSIS (DGCCA):

In this section, we present deep GCCA (DGCCA): a multiview representation learning technique that benefits from the expressive power of deep neural networks and can also leverage statistical strength from more than two views in data, unlike Deep CCA which is limited to only two views. More fundamentally, deep CCA and deep GCCA have very different objectives and optimization problems, and it is not immediately clear how to extend deep CCA to more than two views.

DGCCA learns a nonlinear map for each view in order to maximize the correlation between the learnt representations across views. In training, DGCCA passes the input vectors in each view through multiple layers of nonlinear transformations and backpropagates the gradient of the GCCA objective with respect to network parameters to tune each view's network, as illustrated in Figure 1 .

The objective is to train networks that reduce the GCCA reconstruction error among their outputs.

At test time, new data can be projected by feeding them through the learned network for each view. We now formally define the DGCCA problem. We consider J views in our data, and let X j ∈ R dj ×N denote the j th input matrix. 3 The network for the j th view consists of K j layers. Assume, for simplicity, that each layer in the j th view network has c j units with a final (output) layer of size o j . The output of the k th layer for the j th view is

h j k = s(W j k h j k-1 )

, where s : R → R is a nonlinear activation function and W j k ∈ R c k ×c k-1 is the weight matrix for the k th layer of the j th view network. We denote the output of the final layer as f j (X j ).

DGCCA can be expressed as the following optimization problem: find weight matrices W j = {W j 1 , . . . , W j Kj } defining the functions f j , and linear transformations U j (of the output of the j th network), for j = 1, . . . , J, that minimize

EQUATION

where G ∈ R r×N is the shared representation we are interested in learning.

Optimization: We solve the DGCCA optimization problem using stochastic gradient descent (SGD) with mini-batches. In particular, we estimate the gradient of the DGCCA objective in Problem 3 on a mini-batch of samples that is mapped through the network and use back-propagation to update the weight matrices, W j 's. However, note that the DGCCA optimization problem is a constrained optimization problem. It is not immediately clear how to perform projected gradient descent with back-propagation. Instead, we characterize the objective function of the GCCA problem at an optimum, and compute its gradient with respect to the inputs to GCCA, i.e. with respect to the network outputs. These gradients are then back-propagated through the network to update W j 's.

Although the relationship between DGCCA and GCCA is analogous to the relationship between DCCA and CCA, derivation of the GCCA objective gradient with respect to the network output layers is non-trivial. The main difficulty stems from the fact that there is no natural extension of the correlation objective to more than two random variables. Instead, we consider correlations between every pair of views, stack them in a J × J matrix and maximize a certain matrix norm for that matrix. For GCCA, this suggests an optimization problem that maximizes the sum of correlations between a shared representation and each view. Since the objective as well as the constraints of the generalized CCA problem are very different from that of the CCA problem, it is not immediately obvious how to extend Deep CCA to Deep GCCA.

Next, we show a sketch of the gradient derivation, the full derivation is given in appendix A. It is straightforward to show that the solution to the GCCA problem is given by solving an eigenvalue problem. In particular, define C jj = f (X j )f (X j ) ∈ R oj ×oj , to be the scaled empirical covariance matrix of the j th network output, and P j = f (X j ) C -1 jj f (X j ) ∈ R N ×N be the corresponding projection matrix that whitens the data; note that P j is symmetric and idempotent. We define M = J j=1 P j . Since each P j is positive semi-definite, so is M . Then, it is easy to check that the rows of G are the top r (orthonormal) eigenvectors of M , and U j = C -1 jj f (X j )G . Thus, at the minimum of the objective, we can rewrite the reconstruction error as follows:

J j=1 G -U j f j (X j ) 2 F = J j=1 G -Gf j (X j ) C -1 jj f j (X j ) 2 F = rJ -Tr(GM G )

Minimizing the GCCA objective (w.r.t. the weights of the neural networks) means maximizing Tr(GM G ), which is the sum of eigenvalues L = r i=1 λ i (M ). Taking the derivative of L with respect to each output layer f j (X j ) we have:

∂L ∂f j (X j ) = 2U j G -2U j U j f j (X j )

Thus, the gradient is the difference between the r-dimensional auxiliary representation G embedded into the subspace spanned by the columns of U j (the first term) and the projection of the actual data in f j (X j ) onto the said subspace (the second term). Intuitively, if the auxiliary representation G is far away from the view-specific representation U j f j (X j ), then the network weights should receive a large update. Computing the gradient descent update has time complexity O(JN rd), where d = max(d 1 , d 2 , . . . , d J ) is the largest dimensionality of the input views.

4. EXPERIMENTS:



4.1. SYNTHETIC MULTIVIEW MIXTURE MODEL:

In this section, we apply DGCCA to a small synthetic data set to show how it preserves the generative structure of data sampled from a multiview mixture model. The data we use for this experiment are plotted in Figure 2 . Points that share the same color across different views are sampled from the same mixture component.

Figure 2 : Synthetic data used in in Section 4.1 experiments. Importantly, in each view, there is no linear transformation of the data that separates the two mixture components, in the sense that the generative structure of the data could not be exploited by a linear model. This point is reinforced by Figure 3(a) , which shows the two-dimensional representation G learned by applying (linear) GCCA to the data in Figure 2 . The learned representation completely loses the structure of the data.

(a) GCCA (b) DGCCA Figure 3 : The matrix G learned from applying (linear) GCCA or DGCCA to the data in Figure 2 . We can contrast the failure of GCCA to preserve structure with the result of applying DGCCA; in this case, the input neural networks had three hidden layers with ten units each with weights randomly initialized. We plot the representation G learned by DGCCA in Figure 3 (b) . In this representation, the mixture components are easily separated by a linear classifier; in fact, the structure is largely preserved even after projection onto the first coordinate of G.

It is also illustrative to consider the view-specific representations learned by DGCCA, that is, to consider the outputs of the neural networks that were trained to maximize the GCCA objective. We plot the representations in Figure 4 . For each view, we have learned a nonlinear mapping that does remarkably well at making the mixture components linearly separable. Recall that absolutely no direct supervision was given about which mixture component each point was generated from. The only training signals available to the networks were the reconstruction errors between the network outputs and the learned representation G. 

4.2. PHONEME CLASSIFICATION:

In this section, we discuss experiments on the University of Wisconsin X-ray Microbeam Database (XRMB) (Westbury, 1994) . XRMB contains acoustic and articulatory recordings as well as phonemic labels. We present phoneme classification results on the acoustic vectors projected using DCCA, GCCA, and DGCCA. We set acoustic and articulatory data as the two views and phoneme labels as the third view for GCCA and DGCCA. For classification, we run K-nearest neighbor classification (Cover & Hart, 1967) on the projected result.

4.2.1. DATA:

We use the same train/tune/test split of the data as Arora & Livescu (2014) . To limit experiment runtime, we use a subset of speakers for our experiments. We run a set of cross-speaker experiments using the male speaker JW11 for training and two splits of JW24 for tuning and testing. We also perform parameter tuning for the third view with 5-fold cross validation using a single speaker, JW11. For both experiments, we use acoustic and articulatory measurements as the two views in DCCA. Following the pre-processing in Andrew et al. (2013) , we get 273 and 112 dimensional feature vectors for the first and second view respectively. Each speaker has ∼50,000 frames. For the third view in GCCA and DGCCA, we use 39-dimensional one-hot vectors corresponding to the labels for each frame, following Arora & Livescu (2014) .

4.2.2. PARAMETERS:

We use a fixed network size and regularization for the first two views, each containing three hidden layers with sigmoid activation functions. Hidden layers for the acoustic view were all width 1024, and layers in the articulatory view all had width 512 units. L2 penalty constants of 0.0001 and 0.01 were used to train the acoustic and articulatory view networks, respectively. The output layer dimension of each network is set to 30 for DCCA and DGCCA. For the 5-fold speaker-dependent experiments, we performed a grid search for the network sizes in {128, 256, 512, 1024} and covariance matrix regularization in {10 -2 , 10 -4 , 10 -6 , 10 -8 } for the third view in each fold. We fix the hyperparameters for these experiments optimizing the networks with minibatch stochastic gradient descent with a step size of 0.005, batch size of 2000, and no learning decay or momentum. The third view neural network had an L2 penalty of 0.0005.

4.2.3. RESULTS:

As we show in Table 1 , DGCCA improves upon both the linear multiview GCCA and the non-linear 2-view DCCA for both the cross-speaker and speaker-dependent cross-validated tasks.

In addition to accuracy, we examine the reconstruction error, i.e. the objective in Equation 3, obtained from the objective in GCCA and DGCCA. 4 This sharp improvement in reconstruction error shows that a non-linear algorithm can better model the data.

In this experimental setup, DCCA under-performs the baseline of simply running KNN on the original acoustic view. Prior work considered the output of DCCA stacked on to the central frame of the original acoustic view (39 dimensions). This poor performance, in the absence of original features, indicates that it was not able to find a more informative projection than original acoustic features based on correlation with the articulatory view within the first 30 dimensions. To highlight the improvements of DGCCA over GCCA, Figure 5 presents a subset of the the confusion matrices on speaker-dependent test data. In particular, we observe large improvements in the classification of D, F , K, SH, V and Y . GCCA outperforms DGCCA for U H and DH. These matrices also highlight the common misclassifications that DGCCA improves upon. For instance, 

4.3. TWITTER USER HASHTAG & FRIEND RECOMMENDATION:

Linear multiview techniques are effective at recommending hashtag and friends for Twitter users (Benton et al., 2016) . In this experiment, six views of a Twitter user were constructed by applying principal component analysis (PCA) to the bag-of-words representations of (1) tweets posted by the ego user, (2) other mentioned users, (3) their friends, and (4) their followers, as well as one-hot encodings of the local (5) friend and (6) follower networks. We learn and evaluate DGCCA models on identical training, development, and test sets as Benton et al. (2016) , and evaluate the DGCCA representations on macro precision at 1000 (P@1000) and recall at 1000 (R@1000) for the hashtag and friend recommendation tasks described there.

We trained 40 different DGCCA model architectures, each with identical architectures across views, where the width of the hidden and output layers, c 1 and c 2 , for each view are drawn uniformly from [10, 1000], and the auxiliary representation width r is drawn uniformly from [10, c 2 ]5 . All networks used ReLUs as activation functions, and were optimized with Adam (Kingma & Ba, 2014) for 200 epochs6 . Networks were trained on 90% of 102,328 Twitter users, with 10% of users used as a tuning set to estimate heldout reconstruction error for model selection. We report development and test results for the best performing model on the downstream task development set. Learning rate was set to 10 -4 with an L1 and L2 regularization constants of 0.01 and 0.001 for all weights7 . 2 displays the performance of DGCCA compared to PCA[text+net] (PCA applied to concatenation of view feature vectors), linear GCCA applied to the four text views, [text], and all views, [text+net], along with a weighted GCCA variant (WGCCA). We learned PCA, GCCA, and WGCCA representations of width r ∈ {10, 20, 50, 100, 200, 300, 400, 500, 750, 1000}, and report the best performing representations on the development set.

There are several points to note: First is that DGCCA outperforms linear methods at hashtag recommendation by a wide margin in terms of recall. This is exciting because this task was shown to benefit from incorporating more than just two views from Twitter users. These results suggest that a nonlinear transformation of the input views can yield additional gains in performance. In addition, WGCCA models sweep over every possible weighting of views with weights in {0, 0.25, 1.0}. WGCCA has a distinct advantage in that the model is allowed to discriminatively weight views to maximize downstream performance. The fact that DGCCA is able to outperform WGCCA at hashtag recommendation is encouraging, since WGCCA has much more freedom to discard uninformative views, whereas the DGCCA objective forces networks to minimize reconstruction error equally across all views. As noted in Benton et al. (2016) , only the friend network view was useful for learning representations for friend recommendation (corroborated by performance of PCA applied to friend network view), so it is unsurprising that DGCCA when applied to all views cannot compete with WGCCA representations learned on the single useful friend network view8 .

5. OTHER MULTIVIEW LEARNING WORK:

There has been strong work outside of CCA-related methods to combine nonlinear representation and learning from multiple views. Kumar et al. (2011) elegantly outlines two main approaches these methods take to learn a joint representation from many views: either by 1) explicitly maximizing pairwise similarity/correlation between views or by 2) alternately optimizing a shared, "consensus" representation and view-specific transformations to maximize similarity. Models such as the siamese network proposed by Masci et al. (2014) , fall in the former camp, minimizing the squared error between embeddings learned from each view, leading to a quadratic increase in the terms of the loss function size as the number of views increase. Rajendran et al. (2015) extend Correlational Neural Networks (Chandar et al., 2015) to many views and avoid this quadratic explosion in the loss function by only computing correlation between each view embedding and the embedding of a "pivot" view. Although this model may be appropriate for tasks such as multilingual image captioning, there are many datasets where there is no clear method of choosing a pivot view. The DGCCA objective does not suffer from this quadratic increase w.r.t. the number of views, nor does it require a privileged pivot view, since the shared representation is learned from the per-view representations.

Approaches that estimate a "consensus" representation, such as the multiview spectral clustering approach in Kumar et al. (2011) , typically do so by an alternating optimization scheme which depends on a strong initialization to avoid bad local optima. The GCCA objective our work builds on is particularly attractive, since it admits a globally optimal solution for both the view-specific projections U 1 . . . U J , and the shared representation G by singular value decomposition of a single matrix: a sum of the per-view projection matrices. Local optima arise in the DGCCA objective only because we are also learning nonlinear transformations of the input views. Nonlinear multiview methods often avoid learning these nonlinear transformations by assuming that a kernel or graph Laplacian (e.g. in multiview clustering) is given (Kumar et al., 2011; Xiaowen, 2014; Sharma et al., 2012) .

6. CONCLUSION:

We present DGCCA, a method for non-linear multiview representation learning from an arbitrary number of views. We show that DGCCA clearly outperforms prior work when using labels as a third view (Andrew et al., 2013; Arora & Livescu, 2014; Wang et al., 2015c) , and can successfully exploit multiple views to learn user representations useful for downstream tasks such as hashtag recommendation for Twitter users. To date, CCA-style multiview learning techniques were either restricted to learning representations from no more than two views, or strictly linear transformations of the input views. This work overcomes these limitations.

APPENDIX A DERIVING THE GCCA OBJECTIVE GRADIENT:

In order to train the neural networks in DGCCA, we need to compute the gradient of the GCCA objective with respect to any one of its input views. This gradient can then be backpropagated through the input networks to derive updates for the network weights.

Let N be the number of data points and J the number of views. Let Y j ∈ R c j K ×N be the data matrix representing the output of the jth neural network, i.e. Y j = f j (X j ), where c j K is the number of neurons in the output layer of the jth network. Then, GCCA can be written as the following optimization problem, where r is the dimensionality of the learned auxiliary representation:

minimize Uj ∈R c j K ×r ,G∈R r×N J j=1 G -U j Y j 2 F subject to GG = I r

It can be shown that the solution is found by solving a certain eigenvalue problem. In particular, define

C jj = Y j Y j ∈ R c j K ×c j K , P j = Y j C -1 jj Y j (

note that P j is symmetric and idempotent), and M = J j=1 P j (since each P j is psd, so is M ). Then the rows of G are the top r (orthonormal) eigenvectors of M , and U j = C -1 jj Y j G . Thus, at the minima of the objective, we can rewrite the reconstruction error as follows:

J j=1 G -U j Y j 2 F = J j=1 G -GY j C -1 jj Y j 2 F = J j=1 G(I N -P j ) 2 F = J j=1

Tr[G(I N -P j )G ] Since M = J j =1 P j , and since the only projection matrix that depends on Y j is P j , ∂M ∂Yj = ∂Pj ∂Yj . Since P j = Y j C -1 jj Y j ,

(P j ) cd = c j K k, =1 (Y j ) kc (C -1 jj ) k (Y j ) d

Thus, by the product rule,

∂(P j ) cd ∂(Y j ) ab = δ cb c j K =1 (Y j ) d (C -1 jj ) a + δ db c j K k=1 (Y j ) kc (C -1 jj ) ka + c j K k, =1 (Y j ) kc (Y j ) d ∂(C -1 jj ) k ∂(Y j ) ab = δ cb (C -1 jj Y j ) ad + δ db (C -1 jj Y j ) ac + c j K k, =1 (Y j ) kc (Y j ) d ∂(C -1 jj ) k ∂(Y j ) ab

The derivative in the last term can also be computed using the chain rule: But recall that U j = C -1 jj Y j G . Using this, the gradient simplifies as follows:

∂L ∂Y j = 2U j G -2U j U j Y j

Thus, the gradient is the difference between the r-dimensional auxiliary representation G embedded into the subspace spanned by the columns of U j (the first term) and the projection of the network outputs in Y j = f j (X j ) onto said subspace (the second term). Intuitively, if the auxiliary representation G is far away from the view-specific representation U j f j (X j ), then the network weights should receive a large update.

:

See https://bitbucket.org/adrianbenton/dgcca-py3 for implementation of DGCCA along with data from the synthetic experiments.

Horst's original presentation of GCCA is in a very different form from the one used here but has been shown to be equivalent(Kettenring, 1971).

Our notation for this section closely follows that ofAndrew et al. (2013)

For 2-view experiments, correlation is a common metric to compare performance. Since that metric is unavailable in a multiview setting, reconstruction error is the analogue.

We chose to restrict ourselves to a single hidden layer with non-linear activation and identical architectures for each view, so as to avoid a fishing expedition. If DGCCA is appropriate for learning Twitter user representations, then a good architecture should require little exploration.

6 From preliminary experiments, we found that Adam pushed down reconstruction error more quickly than SGD with momentum, and that ReLUs were easier to optimize than sigmoid

activations. 7 This setting of regularization constants led to low reconstruction error in preliminary experiments.

The performance of WGCCA suffers compared to PCA because whitening the friend network data ignores the fact that the spectrum of the decays quickly with a long tail -the first few principal components made up a large portion of the variance in the data, but it was also important to compare users based on other components.

Figures and Tables:

Figure 1: A schematic of DGCCA with deep networks for J views.

Figure 4: Outputs of the trained input neural networks in Section 4.1 applied to the data in Figure 2.

The confusion matrix for speaker-dependent GCCA and DGCCA DGCCA rectifies the frequent misclassification of V as P , R and B by GCCA. In addition, commonly incorrect classification of phonemes such as S and T is corrected by DGCCA, which enables better performance on other voiceless consonants such as like F , K and SH. Vowels are classified with almost equal accuracy by both the methods.

r ) -Tr(GM G ) = Jr -Tr(GM G )Note that we can write the rank-1 decomposition of M as N k=1 λ k g k g k . Furthermore, since the kth row of G is g k , and since the matrix productGg k = êk , Gg k (Gg k ) = r k=1 λ k êk ê kBut this is just an N × N diagonal matrix containing the top r eigenvalues of M , so we can write the GCCA objective as Jrthe GCCA objective (w.r.t. the weights of the neural nets) means maximizing the sum of eigenvalues r i=1 λ i (M ), which we will henceforth denote by L. Now, we will derive an expression for ∂L ∂Yj for any view Y j . First, by the chain rule, and using the fact that∂L ∂M = G G (Petersen & Pedersen, 2012), ∂L ∂(Y j ) ab = N c,d=1 ∂L ∂M cd ∂M cd ∂(Y j ) ab = N c,d=1 (G G) cd ∂M cd ∂(Y j ) ab

jj ) km (C -1 jj ) n [δ am (Y j ) nb + δ an (Y j ) mb ] jj ) ka (C -1 jj ) n (Y j ) nb jj ) km (C -1 jj ) a (Y j ) mb = -(C -1 jj ) ka (C -1 jj Y j ) b -(C -1 jj ) a (C -1 jj Y j ) kbSubstituting this into the expression for∂(Pj ) cd∂(Yj ) ab and simplifying matrix products, we find that∂(P j ) cd ∂(Y j ) ab = δ cb (C -1 jj Y j ) ad + δ db (C -1 jj Y j ) ac -(C -1 jj Y j ) ac (Y j C -1 jj Y j ) bd -(C -1 jj Y j ) ad (Y j C -1 jj Y j ) bc = (I N -P j ) cb (C -1 jj Y j ) ad + (I N -P j ) db (C -1 jj Y j ) acFinally, substituting this into our expression for ∂L ∂(Yj ) ab , we find that∂L ∂(Y j ) ab = N c,d=1 (G G) cd (I N -P j ) cb (C -1 jj Y j ) ad ) cd (I N -P j ) db (C -1 jj Y j ) ac = 2[C -1 jj Y j G G(I N -P j )] ab Therefore, ∂L ∂Y j = 2C -1 jj Y j G G(I N -P j )

KNN phoneme classification performance

Table content: <table><tr><td/><td colspan="3">CROSS-SPEAKER</td><td colspan="3">SPEAKER-DEPENDENT</td></tr><tr><td/><td>DEV</td><td>TEST</td><td>REC</td><td>DEV</td><td>TEST</td><td>REC</td></tr><tr><td>METHOD</td><td>ACC</td><td>ACC</td><td>ERROR</td><td>ACC</td><td>ACC</td><td>ERROR</td></tr><tr><td>MFCC</td><td colspan="2">48.89 49.28</td><td/><td colspan="2">66.27 66.22</td><td/></tr><tr><td>DCCA</td><td colspan="2">45.40 46.06</td><td/><td colspan="2">65.88 65.81</td><td/></tr><tr><td>GCCA</td><td colspan="2">49.59 50.18</td><td>40.67</td><td colspan="2">69.52 69.78</td><td>40.39</td></tr><tr><td>DGCCA</td><td colspan="2">53.78 54.22</td><td>35.89</td><td colspan="2">72.62 72.33</td><td>20.52</td></tr></table>

Dev/test performance at Twitter friend and hashtag recommendation tasks.

Table content: <table><tr><td/><td colspan="2">FRIEND</td><td colspan="2">HASHTAG</td></tr><tr><td>ALGORITHM</td><td>P@1000</td><td>R@1000</td><td>P@1000</td><td>R@1000</td></tr><tr><td>PCA[TEXT+NET]</td><td colspan="4">0.445/0.439 0.149/0.147 0.011/0.008 0.312/0.290</td></tr><tr><td>GCCA[TEXT]</td><td colspan="4">0.244/0.249 0.080/0.081 0.012/0.009 0.351/0.326</td></tr><tr><td>GCCA[TEXT+NET]</td><td colspan="4">0.271/0.276 0.088/0.089 0.012/0.010 0.359/0.334</td></tr><tr><td>DGCCA[TEXT+NET]</td><td colspan="4">0.297/0.268 0.099/0.090 0.013/0.010 0.385/0.373</td></tr><tr><td>WGCCA[TEXT]</td><td colspan="4">0.269/0.279 0.089/0.091 0.012/0.009 0.357/0.325</td></tr><tr><td colspan="5">WGCCA[TEXT+NET] 0.376/0.364 0.123/0.120 0.013/0.009 0.360/0.346</td></tr><tr><td>Table</td><td/><td/><td/><td/></tr></table>

Peer review (iclr2017):
The proposed method is simple and elegant; it builds upon the huge success of gradient based optimization for deep non-linear function approximators and combines it with established (linear) many-view CCA methods. A major contribution of this paper is the derivation of the gradients with respect to the non-linear encoding networks which project the different views into a common space. The derivation seems correct. In general this approach seems very interesting and I could imagine that it might be applicable to many other similarly structured problems. The paper is well written; but it could be enhanced with an explicit description of the complete algorithm which also highlights how the joint embeddings G and U are updated. I don’t have prior experience with CCA-style many-view techniques and it is therefore hard for me to judge the practical/empirical progress presented here. But the experiments seem reasonable convincing; although generally only performed on small and medium sized datasets. Detailed comments: The colours or the sign of the x-axis in figure 3b seem to be flipped compared to figure 4. It would be nice to additionally see a continuous (rainbow-coloured) version for Figures 2, 3 and 4 to better identify neighbouring datapoints; but more importantly: I’d like to see how the average reconstruction error between the individual network outputs and the learned representation develop during training. Is the mismatch between different views on a validation/test-set a useful metric for cross validation? In general, it seems the method is sensitive to regularization and hyperparameter selection (because it has many more parameters compared to GCCA and different regularization parameters have been chosen for different views) and I wonder if there is a clear metric to optimize these.