Unsupervised Learning of Compositional Energy Concepts
Year: 2021

Abstract:
Humans are able to rapidly understand scenes by utilizing concepts extracted from prior experience. Such concepts are diverse, and include global scene descriptors, such as the weather or lighting, as well as local scene descriptors, such as the color or size of a particular object. So far, unsupervised discovery of concepts has focused on either modeling the global scene-level or the local object-level factors of variation, but not both. In this work, we propose COMET, which discovers and represents concepts as separate energy functions, enabling us to represent both global concepts as well as objects under a unified framework. COMET discovers energy functions through recomposing the input image, which we find captures independent factors without additional supervision. Sample generation in COMET is formulated as an optimization process on underlying energy functions, enabling us to generate images with permuted and composed concepts. Finally, discovered visual concepts in COMET generalize well, enabling us to compose concepts between separate modalities of images as well as with other concepts discovered by a separate instance of COMET trained on a different dataset*.

heading: 1 Introduction
text: Human intelligence is characterized by its ability to learn new concepts, such as the manipulation of a new tool from only a few demonstrations [1]. Essential to this capability is the composition and re-utilization of previously learned concepts to accomplish the task at hand [36]. This is especially apparent in natural language, which is often described as a tool for making ‘infinite use of finite means’ [8]. Previously acquired words can be infinitely nested using a set of grammatical rules to communicate an arbitrary thought, opinion, or state one is in. In this work, we are interested in constructing a system that can discover, in an unsupervised manner, a broad set of these compositional components, as well as subsequently combine them across distinct modalities and datasets.
For obtaining such decompositions, two separate lines of work exist. The first focuses on obtaining global, holistic, compositional factors by situating data points, such as human faces, in an underlying (fixed) factored vector space [24, 48]. Individual factors, such as emotion or hair color, are represented as independent dimensions of the vector space, with recombination between factors corresponding to the recombination of the underlying dimensions. Due to the fixed dimensionality of the vector space, multiple instances of a single factor, such as lighting, may not be combined, nor can individual
*Code and data available at https://energy-based-model.github.io/comet/
35th Conference on Neural Information Processing Systems (NeurIPS 2021).
factored vector spaces from separate datasets be combined, i.e. the facial expression in an image from one dataset, and the background lighting in an image from another.
To address this weakness, a separate line of work decomposes a scene into a set of underlying ‘object’ factors. Each object factor represents a separate set of pixels in an image, as defined by a disjoint segmentation mask [22, 47]. Such a representation allows for the composition of individual factors by compositing the segmentation masks. However, by explicitly constraining the decomposition to be in terms of disjoint segmentation masks, relationships between individual factors of variation become more difficult to represent and capture global factors describing a scene.
In this work, we propose instead to decompose a scene into a set of factors represented as energy functions. An individual energy function represents a factor by assigning low energy to scenes with said factor and high energy to scenes where said factor is absent. A scene is then generated by optimizing the sum of energies for all factors. Multiple factors can be composed together, by summing the energies for each individual factor. Simultaneously, these individual factors are defined across the entire scene, allowing energy functions to represent global factors (lighting, camera viewpoint) and local factors (object existence).
Our work is inspired by recent work [12] which shows that energy based models may be utilized to represent flexible compositions of both global and local factors. However, while [12] required supervision, as labels were used to represent concepts, we aim to decompose and discover concepts in an unsupervised manner. In our approach, we discover energy functions from separate data points by enforcing compositions of these energy functions to recompose data.
Our work is further inspired by the ability of humans to effortlessly and reliably combine concepts gathered from disparate experiences. As a separate benefit of our approach, we show that we may take components inferred by one instance of our model trained on one dataset, and compose it with other components inferred by other instances of our model trained on separate datasets.
We provide analysis showing why our approach, COMET†, is favorable compared to existing unsupervised approaches for decomposing scenes. We contribute the following: First, we show COMET provides a unified framework enabling us to decompose images into both global factors of variation as well as local factors of variation. Second, we show that COMET enables us to scale to more realistic datasets than previous work. Finally, we show that components obtained by COMET generalize well, and are amenable to compositions across different modes of data, and with components discovered by other instances of COMET.

heading: 2 Related Work
text: Our work is related to research in the areas of global factor disentanglement [4, 7, 23, 34, 38, 43] and independent component analysis (ICA) [2, 9, 25–27, 31, 32, 42, 51]. Work in said areas focus on discovering an underlying global latent space which describes the input space. In contrast, we decompose data into a set of compositional vector spaces. This enables our approach to compose multiple instances of one factor together, as well as compose factors across distinct datasets.
†short for COMposable Energy neTwork
Our work is also related to a large body of existing work on unsupervised object discovery [5, 10, 14– 17, 21, 22, 35, 39, 45, 46, 49]. Such methods seek to decompose the scene into its underlying compositional objects by independently segmenting out each individual object in the scene. In contrast, our approach represents individual objects without the need of an explicit segmentation mask, enabling our approach to represent global relations between objects.
Our work draws on recent work in energy based models (EBMs) [11, 13, 18, 20, 33, 41, 44, 50]. Our underlying energy optimization procedure to generate samples is reminiscent of Langevin sampling, which is used to sample from EBMs [11, 41, 50]. Most similar to our work is that of [12], which proposes composing EBMs for compositional visual generation. Different from [12], we study how we may discover factors in an unsupervised manner from data.

heading: 3 Composable Energy Networks
text: Let D = {X} be a set of images x ∈ RD. Our goal is to obtain a set Z of components {z0, z1, . . . ,zk} for each image x representing the underlying factors of variation in the image, where each component z ∈ RM . We first discuss how we represent Z as a set of energy functions in Section 3.1. We then discuss how COMET learns to decompose data in an unsupervised manner into a set of components in Section 3.2.

heading: 3.1 Composing Factors of Variation as Energy Functions
text: In prior work for decomposing images into a set of components Z, approaches such as β-VAE [23] utilize a parameterized, non-adaptive, feedforward decoder to map the set of components to an image. Due to this, the method is unable to compose multiple instances of the same component or a larger number of components then seen during training. On the other hand, approaches such as MONET [5] utilize a decoder with shared weights to process each individual component. Unfortunately, the components are decoded independently, preventing relationships between individual components from being captured.
To flexibly and generically compose a set of components Z, we require an approach that (1) utilizes a decoder that is shared across each component, such that variable-sized sets of components may be encoded, while also (2) decodes components jointly such that the relationships between individual components are covered. To construct an approach with the aforementioned desiderata, we propose to represent each component z as an energy function. We illustrate our approach and its differences from prior work in Figure 2.
Representing Components as Energy Functions. Given a single component z, we encode the factor using an energy function Eθ(x, z) : RD × RM → R, which is learned to assign low energy to all images x which contain the component and high energy to all other images. To obtain an image x′ with a component z, we solve for the expression x′ = argminxEθ(x; zi). Note that in contrast to prior work composing energy functions [12], our energy functions have no probabilistic interpretation.
Composing Energy Functions. Given multiple components, we represent a set of components {zi} by performing a summation ∑ iEθ(x, zi) over each component’s energy function. To obtain an image x′ for the set of components Z, we solve for the expression x′ = argmin x ∑ iEθ(x; zi).
While both COMET and MONET rely on summation as a tool for composing components, MONET sums components in the image domain, while COMET sums the cost functions representing each component together. By summing cost functions, each component may combine with other components in a non-linear manner, enabling us to model more complex relationships between individual components.
As a result, our generation x′ is the byproduct of jointly minimizing each individual energy function Eθ(x, zi), and thus our generation contains each component. In addition, each individual component zi is parameterized by the same energy function Eθ, enabling us to model a different number of components.

heading: 3.2 Unsupervised Decomposition of Composable Energy Functions
text: We next discuss how COMET discovers a set of composable energy functions from an input image xi. In Section 3.1, we discuss that a set of components Z = {zi} may be encoded as a set of composable energy functions using the expression argminx ∑ iEθ(x; zi). To discover the set of components Z in an unsupervised manner, we train by recomposing the input image xi LMSE(θ) = ‖ argmin
x ( ∑ k Eθ(x;Encθ(xi)[k]))− xi‖2. (1)
We utilize a learned neural network encoder Encθ(xi) to infer a set of components zk. In practice, evaluating the expression argminx ∑ k Eθ(x;Encθ(xi)[k]), is computationally intractable. We thus approximate the argmin operation with respect to x via N steps of gradient optimization, with an approximate optimum xNi obtained as
xNi = x N−1 i − λ∇x ∑ k Eθ(x N−1 i ;Encθ(xi)[k]). (2)
Algorithm 1 Training algorithm for COMET. Input: data dist. pD(x), step size λ, number of gradient steps N , encoder Encθ , energy function Eθ , energy components K while not converged do
xi ∼ pD . Encode components zki from xi z1i , . . . , z K i ← Encθ(xi) . Optimize sample x0i via gradient descent: x0i ∼ U(0, 1) for gradient step n = 1 to N do
xni ← xn−1i − λ∇x ∑K k=1Eθ(x n−1 i ;z k i )
end for . Optimize objective LMSE wrt θ: ∆θ ← ∇θ ∑N n=1 ‖x n i − xi‖2
Update θ based on ∆θ using optimizer end while
In the above expression, we initialize optimization of x0i with uniform noise with λ representing the step size for each gradient step. Sample xni denotes the result after n steps of gradient descent. We train our energy functionEθ using the modified objective LMSE = ∑N n=1 ‖xni − xi‖2, where we minimizing MSE w.r.t xni . To train parameters of Eθ we use automatic differentiation to compute gradients with respect to each optimization step depicted in Equation 2, where for training stability, we truncate gradient backpropogation to the previous time step.
We provide pseudocode for training our model in Algorithm 1. While the approach is simple, we find that it performs favorably in both global disentanglement as well as object-level disentanglement, and requires no additional objectives or priors to shape underlying latents. We utilize the same energy architecture Eθ throughout all experiments, and present details in the appendix.
Controlling Local and Global Decompositions. In many scenes, both global and local factor decompositions are valid. To control the decomposition obtained by COMET, we bias the system towards inferring local factor decompositions by utilizing i) low latent dimensionality and ii) positional embeddings [37], both of which have been used in previous object discovery works [5]. This bias serves to encourage and enable models to focus on local patches of an image. We provide analysis of the effect of each inductive bias on the decomposition in Section 5.2.

heading: 4 Complexity Analysis of Energy Function Compositions
text: In this section, we provide complexity-theoretic motivation for composing functions together using energy functions. Let Z denote a set of components, with individual components z1, . . . ,zK ∈ RM .
Let F be the space of functions f : Z → RD for mapping sets of components to an output vector x. We consider two subspaces for F .
Composition of Energy Functions. Let Fenergy ⊆ F be the subspace of functions of the form argminx ∑ 1≤k≤K E(x, zk), where each E(x, zm) is a function from RD × RM → R. This subspace corresponds to the set of compositions realized by COMET.
Composition of Segmentation Masks. We next consider the subspace of functions Fmask ⊆ F consisting of functions f of the form ∑ 1≤k≤K mk(zk)fk(zk) where f(z) : RM → RD and mk(zk) : RM → {0, 1}D. Here, mk(zk) represents a segmentation mask in RD. This composition is used in object decomposition methods, such as [5, 22].
We first show that compositions of energy functions are more expressive than compositions of segmentation masks.
Remark 1. The subspace Fenergy is a strict superset of the subspace Fmask. Proof. Any function of the form ∑ z∈Z mk(z)f(z) is equivalent to argminx ∑ z∈Z E
′(x, z), where E′(x, z) = mk(z)(x − f(z))2, so Fmask ⊆ Fenergy. In the other direction, note that according to the definition of Fmask, the presence of a particular component zi assigns a fixed value to the output for the nonzero entries of mk(zk)f(zk), irrespective of the value of the other components. In contrast, the optimal value of x in Fenergy depends on the value of all components. A constructive example of this is the set of energy functions over one-dimensional x where E(x, z1) = (x − 2)2, E(x, z2) = (x − 3)2, E(x, z3) = (x − 4)2. Thus, we have that argminxE(x, z1) + E(x, z2) 6= argminxE(x, z1) + E(x, z3). Therefore, there are functions in Fenergy that are not in Fmask. Next, we show that even in the setting in which we represent a single component z, learning a function to approximate E(x, z) is more computationally efficient than learning a function f(z) that approximates argminxE(x, z). Intuitively, an energy function E(x, z) can be seen as a verifier of a set of constraints, with the value of E(x, z) being low when all constraints are satisfied. Approximating the function argminxE(x, z) corresponds to generating a solution given a set of constraints, which is well-known in complexity theory to be much harder than verifying the constraints. Thus, to enable formal analysis of E(x, z), we reduce the 3-SAT [28] problem to an energy function E(x, z).
Given a 3-SAT formula φ with D variables and K clauses, we encode φ using an energy function E(x, z) := ∑ 1≤k≤K ek(x, z[k]), where, x encodes an assignment to all the variables, z[k] represents the dimensions of z encoding the kth clause, and each ek is a function which has energy 0 if the assignment x satisfies the kth clause, and has energy 1 otherwise. To encode a clause using z[k], we utilize an ordinal representation (e.g. z = [1, 2, 3] to represent the clause (x1 ∧ x2 ∧ x3)), and round non-integer coordinates of x and z to the nearest integer. We assume the Exponential Time Hypothesis (ETH)[28], which states that checking the satisfiability of a 3-SAT formula takes time exponential in the sum of the number of variables and the number of clauses.
Remark 2. There exists an energy function E(x, z1) which can be evaluated at any input in time polynomial in the number of dimensions of x but for which the computational complexity of evaluating f(z) := argminxE(x, z1) is (worst-case) exponential in the number of dimensions of x.
Proof. If we utilize the 3-SAT energy function E(x, z) defined above. ETH implies that solving the 3-SAT problem, corresponding to computing f(z) = argminxE(x, z1), is exponential in dimension of x. In contrast, evaluating each entry of our defined E(x, z1) is polynomial in dimension of x.
Our remark shows that it is computationally advantageous to learn an energy function E(x, z) as opposed to a decoder f(z). To realize the exponential number of computations needed to compute f(z), significantly more capacity is necessary to represent f(z) in comparision to E(x, z). We further show that as we compose multiple 3-SAT energy functions together, learning a decoder f(z1, . . . ,zk) := argminx ∑ k E(x, zk) that represents the optimization process scales exponentially with the number of energy components.
Remark 3. There exists a composition of energy functions ∑ k E(x, zk) which can be evaluated in time polynomial in the number of components k, but for which the computational complexity for evaluating f(z1, . . . ,zk) := argminx ∑ k E(x, zk) is (worst-case) exponential in the components of components k.
Proof. Given k separate 3-SAT energy functions E(x, zk), minimizing the composed energy function, f(z1, . . . ,zk) = argminx ∑ k E(x, zk) corresponds to solving all 3-SAT encoded clauses across k energy functions. ETH implies the computational complexity of evaluating f(z1, . . . ,zk) is exponential in k while the evaluation of k energy functions is polynomial in k.
Here as well, to represent the exponential number of computations, significantly more capacity is necessary to realize the computation f(z1, . . . ,zk), which scales with the number of components k, in comparison to ∑ k E(x, zk). Thus, remark 2 and 3 show that it can be efficient, from a learning perspective, to decode individual datapoints with energy functions.

heading: 5 Evaluation
text: We quantitatively and qualitatively show that COMET can recover the global factors of variation in an image in Section 5.1, as well as the local factors in an image in Section 5.2. Furthermore, we show that the components captured by COMET can generalize well, across separate modalities in Section 5.3.

heading: 5.1 Global Factor Disentanglement
text: We assess the ability of COMET to decompose global factors of variation in scenes consisting of lighting and camera illumination from Falcor3D (NVIDIA high-resolution disentanglement dataset) [40], scene factors of variation in CLEVR [29], and face attributes in real images from CelebA-HQ [30]. For all experiments, we utilize the same convolutional encoder to extract sets of latents from each dataset, and utilize a latent dimension of 64 for each separately inferred latent. We provide additional training algorithm and model architecture details in the appendix.
Decomposition and Reconstructions. In Figure 3, on Falcor3D and CelebA-HQ, we illustrate the underlying image gradients of each decomposed energy function. Such gradients correspond to
aspects of the input image each energy function pays attention. Through qualitative examination, we posit that the individual inferred energy functions for Falcor3D correspond to camera position, lighting direction, floor position and lighting intensity (shown from left to right in Figure 3). Such a correspondence can be seen for example by the fact that the camera position energy function exhibits sharp gradients with respect to edges in an image, while the lighting direction energy function exhibits sharp gradients with respect to the underlying shadows in an image. In a similar manner, we hypothesize that the individual inferred energy functions for CelebA-HQ correspond to hair color, background lighting, facial expression and skin color.
In Figure 5, we show energy function decompositions of CLEVR, where we illustrate generations when composing an increasing number of inferred energy functions. By adding individual energy functions, we find that the generation transitions from consisting only of objects, to consisting of objects & floor to consisting of objects, floor, & lighting.
Recombination. To further verify that each individual energy function captures the expected decomposition of factors described earlier, we recombine individual energy functions representing each component in the Falcor3D and CelebA-HQ datasets in Figure 4. In the left side of Figure 4, we vary an energy function representing a single factor, while keeping the remaining factors fixed. By varying energy functions in such a manner, we are able to capture camera position, lighting direction and lighting intensity variation (with camera position variation captured by varying energy functions for both floor position and camera position). In the right side of Figure 4, we can recombine discovered energy functions representing facial expression, hair color, and background lighting of one image with that of another. We find that by recombining individual energy functions representing each individual factor, we are able to reliably swap factors across images.
Quantitative Comparison. Finally, we evaluate the learned representations on disentanglement. In Falcor3D [40], each image corresponds to a combination of 7 factors of variation; lighting intensity, lighting x, y & z direction, and camera x, y & z position. We consider three commonly used metrics for evaluation, the BetaVAE metric [23], the Mutual Information Gap (MIG) [7], and the Mean Correlation Coefficient (MCC) [25]. See Appendix C of [34] for extended descriptions of metrics.
Standardized metrics in disentanglement assume flattened model latents, i.e. relate the 7 factors of variation to the D-dimensional encoding of the corresponding image. However, as discussed, our method extracts sets of latents from images. We thus extract D principal components from the set of latents, which we then compare with β-VAE. In Table 1, we find that our approach performs better than that of β-VAE across hyperparameter settings, as well as additional baselines of MONet and InfoGAN.

heading: 5.2 Object Level Decomposition
text: Next, we assess the ability of COMET to decompose object-level factors of variation in an image. We evaluate the ability of COMET to isolate individual tetris blocks in the Tetris dataset from [22], and individual object segmentations in the CLEVR dataset [29]. To bias energy functions to local object-level variations, we utilize small latent dimension (16), and add positional embeddings to images. To extract repeated object-level structure in an image, we utilize a recurrent network as our
encoder, similar to prior unsupervised object discovery work [5]. We provide additional training algorithm and model architecture details for each experimental setup in the appendix.
Decomposition and Reconstructions. We illustrate object-level decomposition of individual energy functions on CLEVR and Tetris in Figure 6. In both settings, we find that individual energy functions correspond to the underlying objects in the scene. On CLEVR, while in Figure 5 we obtain global factor decompositions, by biasing our energy function to object level decompositions we obtain individual cube decompositions in Figure 6.
Combinatorical Recombination. We next consider recombining inferred object components. In Figure 7 (left), we combine energy functions for individual CLEVR objects across two separate scenes. We find that by combining 8 energy functions corresponding to 4 objects from separate images, we are able to successfully generate an image containing all 8 objects, and with some consistency with respect to occlusion. In contrast, objects composed together through MONET do not respect occlusion, as they are represented as disjoint segmentation masks.
Quantitative Comparisons. For quantitative comparison with MONET, we create approximate segmentation masks per energy function in CLEVR by thresholding the gradients (illustrated in Figure 6) of the energy function. We find that our approach obtains an ARI [22] of 0.916 and a mean segmentation covering of 0.713. In contrast, we find MONET obtains an ARI of 0.873 and a mean segmentation covering of 0.701.
Decompositions of Global and Object Level Factors. COMET is distinct from previous approaches for unsupervised decomposition in that it is able to decompose both global and local factors of variation. We find that we are further able to control the capture of either a particular global or local factor. In particular, we find that by conditioning a particular energy function with a positional embedding added to the image [37] and a small latent dimension we may effectively bias a energy function to capture an object factor of the scene. In contrast, a larger latent size biases an energy function to capture a global factor of the scene. In Table 2, we investigate the extent of these two effects in enabling the capture of local factors in CLEVR as measured by ARI. We find that the
addition of utilizing both small latent dimension and positional embedding enable more effective decomposition of underlying object factors.
By selectively enabling ourselves to specify both the underlying global and local factors of a scene, we may obtain an unsupervised decomposition of a scene with both local and global factors of variation. To test this, we render a novel dataset, CLEVR Lighting, by increasing the lighting variation in CLEVR (illustrated in Figure 7 (right)), and train COMET to infer 5 separate energy functions. We encourage the first energy function to capture a global factor of variation by removing the positional embedding from the first inferred energy function. In such a setting, we find COMET successfully infers lighting as the first energy function, and individual objects for the subsequent components, which we illustrate in the appendix. We
present recombinations of these inferred components in Figure 7 (right). A limitation of our approach is that that lighting and object factors of variations are not completely disentangled. For example, in the the top row, the permuted reconstruction of the image has incorrect lighting in the center.

heading: 5.3 Compositional Factor Generalization
text: Finally, we assess the ability of components inferred from COMET to generalize. We study two separate settings of generalization. We first evaluate the ability of components to generalize to multi-modal inputs by training COMET to decompose images drawn from both CelebA-HQ and Danbooru datasets [3], as well as KITTI [19] and Virtual KITTI [6] datasets. We next assess the ability of components from COMET to compose with a separate instance of COMET. We train separate COMET models on CLEVR, CLEVR Lighting and an additional novel dataset, CLEVR Toy, which is rendered by replacing sphere/cylinder/cube objects with pin/boot/toy/truck objects.
Cross Dataset Recombination. COMET may compose inferred components from one dataset with components discovered by a separate COMET trained on a separate dataset. We validate this in Figure 8 (left), where we recombine components specifying objects in CLEVR and CLEVR Toy. In Figure 8 (right), we further recombine components specifying objects in CLEVR with components specifying objects & lighting in CLEVR Lighting.
Cross Modality Decomposition and Recombination. We assess COMET decompositions on multi-modal datasets of Danbooru/CelebA-HQ and KITTI/Virtual KITTI in Figure 9. We find consistent decomposition of components between separate modes. Furthermore, we find that these components may be recombined between the separate modalities in Figure 10.

heading: 6 Conclusion
text: We have demonstrated an approach towards unsupervised learning of energy functions from images. We show how these functions encode both global and local factors of variations, and how they allow for further composition across separate modalities and datasets. A limitation of our current approach is that while it can compose factors across datasets that are substantially similar, compositions across datasets such as Falcor3D and CelebA-HQ are less interpretable. We posit that this is due to a lack of diversity in the underlying training data set. An interesting direction for future work would be to to train COMET on complex, higher diversity real world datasets, and observe subsequent recombinations of energy functions. We note that, as a consequence of using deep nets, our system is susceptible to dataset bias. Care must be put in ensuring a balanced and fair dataset if COMET is deployed in practice, as it should not serve to, even inadvertently, worsen societal prejudice.
Acknowledgements We would like to thank Abhijit Mudigonda for giving helpful comments on the manuscript. Yilun Du is supported by a NSF graduate research fellowship. This work is in part supported by ONR MURI N00014-18-1-2846 and IBM Thomas J. Watson Research Center CW3031624. This work was supported by the German Federal Ministry of Education and Research (BMBF): Tübingen AI Center, FKZ: 01IS18039A. The authors thank the International Max Planck Research School for Intelligent Systems (IMPRS-IS) for supporting Yash Sharma.

Review summaries:
The paper proposes a novel unsupervised learning method called COMET that discovers global and local factors of variation in image datasets by representing these factors as energy functions. The experiments show that the proposed approach performs better than beta-VAE in terms of disentanglement evaluation. Qualitative examples on various datasets show that the proposed approach captures global and local object-based factors of variation and is able to generate images from various combinations of such factors well.

Authors propose a model that decomposes images in terms of a set of 'components', which are energy terms whose minimisation gives rise to the observed pixels. Unlike previous works on compositional EBMs, the different components are learnt/discovered without supervision, just by learning to reconstruct a dataset of images. Results on various datasets show the method has significant potential, though there is considerable room for improvement. In particular, the method discovers concepts corresponding to different objects in multi-object scenes, and different attributes of faces.

This paper proposes a novel method to composite the energies (statistical description of the images by the neural network). The author extracts the component energy by different latent codes for the image. The component latent code z controls the energy with the input image together in a conditional energy manner. The learned model can generate the image with the specified component codes inferred from the encoder network.