<?xml version="1.0" encoding="UTF-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:lang="en">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>Deep learning for universal linear embeddings of nonlinear dynamics</title>
        <author>Bethany Lusch</author>
        <author>J. Nathan Kutz</author>
        <author>Steven L. Brunton</author>
      </titleStmt>
      <publicationStmt>
        <p>Tag layer of the DHSS Meta-Tagging Project. The article text is reproduced from the
           staged copy named in sourceDesc and is not altered; the tags are held separately in
           standOff so that overlapping and nested spans are preserved.</p>
      </publicationStmt>
      <sourceDesc>
        <bibl>
          <title>Deep learning for universal linear embeddings of nonlinear dynamics</title>
          <date>2018</date>
          <publisher>Nature Communications</publisher>
          <idno type="DOI">10.1038/s41467-018-07210-0</idno>
          
          <idno type="record">lusch2018-deep-learning-for-universal-linear-embeddings</idno>
          <note type="staged-file">lusch2018-deep-learning-for-universal-linear-embeddings.txt, the project's staged copy</note>
          <note type="text-sha1">4aca825b1d9b3fe5c93692338ad8a209277f344b</note>
          <note type="rights">cc-by</note>
        </bibl>
      </sourceDesc>
    </fileDesc>
    <profileDesc>
      <textClass><keywords><term>machine-learning</term></keywords></textClass>
      <particDesc>
        <person xml:id="paper"><p>the paper's own words</p></person>
        <person xml:id="tagger"><p>the tag layer; a sentence written by the tagger about the
          paper, always anchored to a quotation but not itself a quotation</p></person>
      </particDesc>
    </profileDesc>
    <revisionDesc>
      <change when="2026-10-06"
              who="build_paper_edition.py">72 spans located by searching the stored text for the quote's exact words, allowing any whitespace between them</change>
    </revisionDesc>
  </teiHeader>
  <standOff>
    <spanGrp type="tags">
      <span xml:id="t0" from="#a51" to="#a52" type="object_of_study" ana="#object_of_study" resp="#paper">eigenfunctions of the Koopman operator for nonlinear dynamical systems, learned from simulated trajectory data by a deep auto-encoder</span>
      <span xml:id="t1" from="#a25" to="#a26" type="research_question" ana="#research_question" resp="#paper">how to obtain deep-network representations of Koopman eigenfunctions that stay parsimonious and interpretable, including for systems with a continuous spectrum</span>
      <span xml:id="t2" from="#a9" to="#a10" type="contribution" ana="#contribution" resp="#paper">a deep auto-encoder whose latent dynamics are forced to be linear, plus an auxiliary network that parametrizes a continuously varying eigenvalue, giving compact Koopman models of systems with continuous spectra</span>
      <span xml:id="t3" from="#a5" to="#a6" type="claim_type" ana="#claim_type" resp="#paper">method</span>
      <span xml:id="t4" from="#a1" to="#a2" type="phenomenon" ana="#phenomenon" resp="#paper">coordinate transformations under which strongly nonlinear dynamics become (globally) linear</span>
      <span xml:id="t5" from="#a7" to="#a8" type="method" ana="#method" resp="#paper">computational-model<term>computational-model</term></span>
      <span xml:id="t6" from="#a43" to="#a44" type="mechanisms" ana="#mechanisms[0]" resp="#tagger" cert="0.93">As the pendulum&#x27;s energy rises its frequency falls continuously, which is what produces a continuous spectrum.<term>frequency decrease with energy</term></span>
      <span xml:id="t7" from="#a41" to="#a42" type="mechanisms" ana="#mechanisms[1]" resp="#tagger" cert="0.9">The cubic correction shifts the oscillation frequency and generates harmonics, which is why a fixed-eigenvalue model needs many harmonic eigenfunctions.<term>harmonic generation by the cubic term</term></span>
      <span xml:id="t8" from="#a59" to="#a60" type="mechanisms" ana="#mechanisms[2]" resp="#tagger" cert="0.9">Letting the auxiliary network vary the eigenvalues across phase space is what allows a small number of eigenfunctions to suffice.<term>eigenvalues that vary across phase space</term></span>
      <span xml:id="t9" from="#a35" to="#a36" type="mechanisms" ana="#mechanisms[3]" resp="#tagger" cert="0.88">Regression on arbitrary nonlinear measurements does not close, because nothing guarantees those measurements form a Koopman invariant subspace.<term>closure issues</term></span>
      <span xml:id="t10" from="#a93" to="#a94" type="limitations" ana="#limitations[0]" resp="#tagger" cert="0.95">The dimension of the auto-encoder coordinates must be chosen by hand.</span>
      <span xml:id="t11" from="#a95" to="#a96" type="limitations" ana="#limitations[1]" resp="#tagger" cert="0.93">The examples are relatively low-dimensional; higher-dimensional systems with more complex spectra are untested.</span>
      <span xml:id="t12" from="#a89" to="#a90" type="limitations" ana="#limitations[2]" resp="#tagger" cert="0.9">Deep models may interpolate rather than extrapolate, so their generalizability beyond the training data is doubtful.</span>
      <span xml:id="t13" from="#a87" to="#a88" type="limitations" ana="#limitations[3]" resp="#tagger" cert="0.9">Training needs vast, diverse data and extensive computation.</span>
      <span xml:id="t14" from="#a85" to="#a86" type="limitations" ana="#limitations[4]" resp="#tagger" cert="0.88">Nonlinear transients are captured only when they are sufficiently represented in the training data.</span>
      <span xml:id="t15" from="#a11" to="#a12" type="concepts" ana="#concepts[0]" resp="#paper" cert="0.95">Koopman operator theory<term>Koopman operator theory</term></span>
      <span xml:id="t16" from="#a3" to="#a4" type="concepts" ana="#concepts[1]" resp="#paper" cert="0.95">Koopman operator<term>Koopman operator</term></span>
      <span xml:id="t17" from="#a15" to="#a16" type="concepts" ana="#concepts[2]" resp="#paper" cert="0.93">Koopman eigenfunctions<term>Koopman eigenfunctions</term></span>
      <span xml:id="t18" from="#a47" to="#a48" type="concepts" ana="#concepts[3]" resp="#paper" cert="0.96">continuous spectrum<term>continuous spectrum</term></span>
      <span xml:id="t19" from="#a47" to="#a48" type="concepts" ana="#concepts[4]" resp="#paper" cert="0.93">discrete spectrum<term>discrete spectrum</term></span>
      <span xml:id="t20" from="#a13" to="#a14" type="concepts" ana="#concepts[5]" resp="#paper" cert="0.9">dynamic mode decomposition<term>dynamic mode decomposition</term></span>
      <span xml:id="t21" from="#a33" to="#a34" type="concepts" ana="#concepts[6]" resp="#paper" cert="0.92">eDMD<term>eDMD</term></span>
      <span xml:id="t22" from="#a33" to="#a34" type="concepts" ana="#concepts[7]" resp="#paper" cert="0.92">variational approach of conformation dynamics<term>variational approach of conformation dynamics</term></span>
      <span xml:id="t23" from="#a55" to="#a56" type="concepts" ana="#concepts[8]" resp="#paper" cert="0.94">auto-encoder<term>auto-encoder</term></span>
      <span xml:id="t24" from="#a57" to="#a58" type="concepts" ana="#concepts[9]" resp="#paper" cert="0.95">auxiliary network<term>auxiliary network</term></span>
      <span xml:id="t25" from="#a19" to="#a20" type="concepts" ana="#concepts[10]" resp="#paper" cert="0.9">universal approximation theorem<term>universal approximation theorem</term></span>
      <span xml:id="t26" from="#a17" to="#a18" type="concepts" ana="#concepts[11]" resp="#paper" cert="0.88">neocognitron<term>neocognitron</term></span>
      <span xml:id="t27" from="#a39" to="#a40" type="concepts" ana="#concepts[12]" resp="#paper" cert="0.9">Duffing equation<term>Duffing equation</term></span>
      <span xml:id="t28" from="#a39" to="#a40" type="concepts" ana="#concepts[13]" resp="#paper" cert="0.85">nonlinear oscillators<term>nonlinear oscillators</term></span>
      <span xml:id="t29" from="#a35" to="#a36" type="concepts" ana="#concepts[14]" resp="#paper" cert="0.88">Koopman invariant subspace<term>Koopman invariant subspace</term></span>
      <span xml:id="t30" from="#a75" to="#a76" type="concepts" ana="#concepts[15]" resp="#paper" cert="0.88">vortex shedding<term>vortex shedding</term></span>
      <span xml:id="t31" from="#a97" to="#a98" type="concepts" ana="#concepts[16]" resp="#paper" cert="0.8">Noether&#x27;s theorem<term>Noether&#x27;s theorem</term></span>
      <span xml:id="t32" from="#a23" to="#a24" type="concepts" ana="#concepts[17]" resp="#paper" cert="0.87">VAMPnet<term>VAMPnet</term></span>
      <span xml:id="t33" from="#a29" to="#a30" type="concepts" ana="#concepts[18]" resp="#paper" cert="0.92">spectral expansion<term>spectral expansion</term></span>
      <span xml:id="t34" from="#a97" to="#a98" type="concepts" ana="#concepts[19]" resp="#paper" cert="0.8">conservation laws<term>conservation laws</term></span>
      <span xml:id="t35" from="#a57" to="#a58" type="unhoused_relations" ana="#unhoused_relations[0]" resp="#tagger">auxiliary network → continuous spectrum<note>The auxiliary network is the device the paper introduces to handle a continuous spectrum: it lets the eigenvalues of K vary with the intrinsic coordinates.</note></span>
      <span xml:id="t36" from="#a97" to="#a98" type="unhoused_relations" ana="#unhoused_relations[1]" resp="#tagger">Koopman eigenfunctions → conservation laws<note>Conserved Koopman eigenfunctions correspond to conservation laws through a generalized Noether&#x27;s theorem, so discovering eigenfunctions is expected to reveal them.</note></span>
      <span xml:id="t37" from="#a7" to="#a8" type="senses" ana="#senses[0]" resp="#tagger" cert="0.9">globally linear - linear in the learned intrinsic coordinates y, not in the original state x</span>
      <span xml:id="t38" from="#a91" to="#a92" type="senses" ana="#senses[1]" resp="#tagger" cert="0.85">interpretable - forced to carry physical meaning in Koopman theory, so a few eigenfunctions and eigenvalues can be read</span>
      <span xml:id="t39" from="#a27" to="#a28" type="senses" ana="#senses[2]" resp="#tagger" cert="0.88">parsimonious - matching the intrinsic low-rank dynamics with the fewest eigenfunctions, avoiding overfitting</span>
      <span xml:id="t40" from="#a31" to="#a32" type="claim_relations" ana="#claim_relations[0]" resp="#tagger" cert="0.95">builds-on → Koopman (1931), the operator description of dynamical systems</span>
      <span xml:id="t41" from="#a45" to="#a46" type="claim_relations" ana="#claim_relations[1]" resp="#tagger" cert="0.9">builds-on → Koopman and von Neumann (1932) on the continuous spectrum</span>
      <span xml:id="t42" from="#a53" to="#a54" type="claim_relations" ana="#claim_relations[2]" resp="#tagger" cert="0.9">extends → earlier deep-learning approaches to Koopman (refs 28-31)<note>differs in: handling systems with a continuous frequency spectrum</note></span>
      <span xml:id="t43" from="#a77" to="#a78" type="claim_relations" ana="#claim_relations[3]" resp="#tagger" cert="0.88">builds-on → Loiseau and Brunton, the flow modelled as a nonlinear oscillator with state-dependent damping</span>
      <span xml:id="t44" from="#a33" to="#a34" type="concept_edges" ana="#concept_edges[0]" resp="#tagger" cert="0.92">eDMD —same-as→ variational approach of conformation dynamics<note>the relation itself is separately evidenced · strength of the relation: 0.9 · note: The two methods come from two literatures - eDMD from dynamical systems, VAC from molecular dynamics (Noé and Nüske) - and the paper states they are equivalent. same-as rather than renamed-across-fields because the sentence carries no naming cue: it asserts an equivalence between two methods, not two names for one. · the relation stated: eDMD is equivalent to the variational approach of conformation dynamics</note><term>eDMD</term><term>variational approach of conformation dynamics</term></span>
      <span xml:id="t45" from="#a47" to="#a48" type="concept_edges" ana="#concept_edges[1]" resp="#tagger" cert="0.95">continuous spectrum —contrasted-with→ discrete spectrum<note>the relation itself is separately evidenced · strength of the relation: 0.95 · the relation stated: as opposed to</note><term>continuous spectrum</term><term>discrete spectrum</term></span>
      <span xml:id="t46" from="#a39" to="#a40" type="concept_edges" ana="#concept_edges[2]" resp="#tagger" cert="0.88">Duffing equation —is-a→ nonlinear oscillators<note>strength of the relation: 0.85</note><term>Duffing equation</term><term>nonlinear oscillators</term></span>
      <span xml:id="t47" from="#a61" to="#a62" type="content_tags" ana="#content_tags.findings[0]" resp="#tagger" cert="0.95">On the discrete-spectrum example the embedding flattens the inertial manifold into a globally linear representation and recovers the correct Koopman eigenvalues.</span>
      <span xml:id="t48" from="#a63" to="#a64" type="content_tags" ana="#content_tags.findings[1]" resp="#tagger" cert="0.9">With the auxiliary network included, a discrete spectrum was still identified, so the spectrum type need not be known in advance.</span>
      <span xml:id="t49" from="#a65" to="#a66" type="content_tags" ana="#content_tags.findings[2]" resp="#tagger" cert="0.95">For the nonlinear pendulum the parameterized network absorbs the energy-dependent frequency shift and needs only two conjugate eigenfunctions.</span>
      <span xml:id="t50" from="#a69" to="#a70" type="content_tags" ana="#content_tags.findings[3]" resp="#tagger" cert="0.93">The prediction horizon shortens as the energy of the initial condition rises.</span>
      <span xml:id="t51" from="#a71" to="#a72" type="content_tags" ana="#content_tags.findings[4]" resp="#tagger" cert="0.9">Without constraints on how eigenfunctions and eigenvalues vary in space, the network did not converge to a unique, interpretable solution; radial symmetry was then imposed.</span>
      <span xml:id="t52" from="#a73" to="#a74" type="content_tags" ana="#content_tags.findings[5]" resp="#tagger" cert="0.9">The magnitude of the learned pendulum eigenfunctions traces level sets of the Hamiltonian energy.</span>
      <span xml:id="t53" from="#a83" to="#a84" type="content_tags" ana="#content_tags.findings[6]" resp="#tagger" cert="0.92">For the cylinder-flow model the learned frequency stays near the true constant -1 while the learned damping varies and changes stability outside the limit cycle.</span>
      <span xml:id="t54" from="#a103" to="#a104" type="content_tags" ana="#content_tags.findings[7]" resp="#tagger" cert="0.9">Training was significantly faster with ReLU than with sigmoid activations.</span>
      <span xml:id="t55" from="#a113" to="#a114" type="content_tags" ana="#content_tags.findings[8]" resp="#tagger" cert="0.85">The loss weight alpha 1 has a significant effect on training speed.</span>
      <span xml:id="t56" from="#a49" to="#a50" type="content_tags" ana="#content_tags.findings[9]" resp="#tagger" cert="0.7">CONJECTURE, as the authors mark it: earlier high-dimensional deep Koopman models may be representing the harmonic series needed to approximate a continuous spectrum.</span>
      <span xml:id="t57" from="#a47" to="#a48" type="content_tags" ana="#content_tags.definitions[0]" resp="#tagger" cert="0.95">a continuous range of observed frequencies, as opposed to isolated fixed frequencies<term>continuous spectrum</term></span>
      <span xml:id="t58" from="#a29" to="#a30" type="content_tags" ana="#content_tags.definitions[1]" resp="#tagger" cert="0.92">the universal solution of linear dynamics in terms of the eigenvalues and eigenvectors of the matrix F<term>spectral expansion</term></span>
      <span xml:id="t59" from="#a37" to="#a38" type="content_tags" ana="#content_tags.definitions[2]" resp="#tagger" cert="0.85">the operator giving a global linearization of the dynamics<term>Koopman operator</term></span>
      <span xml:id="t60" from="#a101" to="#a102" type="content_tags" ana="#content_tags.definitions[3]" resp="#tagger" cert="0.92">the activation f(x) = max{0, x} applied after each hidden layer<term>rectified linear unit</term></span>
      <span xml:id="t61" from="#a55" to="#a56" type="content_tags" ana="#content_tags.definitions[4]" resp="#tagger" cert="0.9">a network whose encoder phi gives the intrinsic coordinates and whose decoder phi-inverse recovers the state<term>auto-encoder</term></span>
      <span xml:id="t62" from="#a75" to="#a76" type="content_tags" ana="#content_tags.quantities[0]" resp="#tagger" cert="0.95">the flow regime of the cylinder benchmark</span>
      <span xml:id="t63" from="#a99" to="#a100" type="content_tags" ana="#content_tags.quantities[1]" resp="#tagger" cert="0.95">test, validation and training set sizes per system</span>
      <span xml:id="t64" from="#a79" to="#a80" type="content_tags" ana="#content_tags.quantities[2]" resp="#tagger" cert="0.95">parameters of the mean-field flow model used for training</span>
      <span xml:id="t65" from="#a107" to="#a108" type="content_tags" ana="#content_tags.quantities[3]" resp="#tagger" cert="0.95">training time for the discrete-spectrum model</span>
      <span xml:id="t66" from="#a109" to="#a110" type="content_tags" ana="#content_tags.quantities[4]" resp="#tagger" cert="0.95">Adam learning rate</span>
      <span xml:id="t67" from="#a21" to="#a22" type="content_tags" ana="#content_tags.quantities[5]" resp="#tagger" cert="0.9">size of the ImageNet data set</span>
      <span xml:id="t68" from="#a105" to="#a106" type="content_tags" ana="#content_tags.statistics[0]" resp="#tagger" cert="0.9">mean squared error<term>mean squared error</term></span>
      <span xml:id="t69" from="#a67" to="#a68" type="content_tags" ana="#content_tags.variables[0]" resp="#tagger" cert="0.92">how far forward the network predicts before relative error reaches 10%<term>prediction horizon</term></span>
      <span xml:id="t70" from="#a81" to="#a82" type="content_tags" ana="#content_tags.variables[1]" resp="#tagger" cert="0.9">mu, allowed to vary with the radius in eigenfunction coordinates<term>damping rate</term></span>
      <span xml:id="t71" from="#a111" to="#a112" type="content_tags" ana="#content_tags.variables[2]" resp="#tagger" cert="0.9">the criterion for choosing among models in the random hyperparameter search<term>validation error</term></span>
    </spanGrp>
  </standOff>
  <text>
    <body>
        <p><anchor xml:id="a0"/> Deep learning for universal linear embeddings of nonlinear dynamics</p>
        <p>Abstract</p>
        <p><anchor xml:id="a1"/>Identifying coordinate transformations that make strongly nonlinear dynamics approximately linear has the potential to enable nonlinear prediction, estimation, and control using linear theory.<anchor xml:id="a2"/> <anchor xml:id="a3"/>The Koopman operator is a leading data-driven embedding, and its eigenfunctions provide intrinsic coordinates that globally linearize the dynamics.<anchor xml:id="a4"/> However, identifying and representing these eigenfunctions has proven challenging. <anchor xml:id="a5"/>This work leverages deep learning to discover representations of Koopman eigenfunctions from data.<anchor xml:id="a6"/> Our network is parsimonious and interpretable by construction, embedding the dynamics on a low-dimensional manifold. <anchor xml:id="a7"/>We identify nonlinear coordinates on which the dynamics are globally linear using a modified auto-encoder.<anchor xml:id="a8"/> We also generalize Koopman representations to include a ubiquitous class of systems with continuous spectra. <anchor xml:id="a9"/>Our framework parametrizes the continuous frequency using an auxiliary network, enabling a compact and efficient embedding, while connecting our models to decades of asymptotics.<anchor xml:id="a10"/> Thus, we benefit from the power of deep learning, while retaining the physical interpretability of Koopman embeddings.</p>
        <p>Introduction</p>
        <p>Nonlinearity is a hallmark feature of complex systems, giving rise to a rich diversity of observed dynamical behaviors across the physical, biological, and engineering sciences 1 , 2 . Although computationally tractable, there exists no general mathematical framework for solving nonlinear dynamical systems. Thus representing nonlinear dynamics in a linear framework is particularly appealing because of powerful and comprehensive techniques for the analysis and control of linear systems 3 , which do not readily generalize to nonlinear systems. <anchor xml:id="a11"/>Koopman operator theory, developed in 1931 4 , 5 , has recently emerged as a leading candidate for the systematic linear representation of nonlinear systems 6 , 7 .<anchor xml:id="a12"/> <anchor xml:id="a13"/>This renewed interest in Koopman analysis has been driven by a combination of theoretical advances 6 – 10 , improved numerical methods such as dynamic mode decomposition (DMD) 11 – 13 , and an increasing abundance of data.<anchor xml:id="a14"/> <anchor xml:id="a15"/>Eigenfunctions of the Koopman operator are now widely sought, as they provide intrinsic coordinates that globally linearize nonlinear dynamics.<anchor xml:id="a16"/> Despite the immense promise of Koopman embeddings, obtaining representations has proven difficult in all but the simplest systems, and representations are often intractably complex or are the output of uninterpretable black-box optimizations. In this work, we utilize the power of deep learning for flexible and general representations of the Koopman operator, while enforcing a network structure that promotes parsimony and interpretability of the resulting models.</p>
        <p>Neural networks (NNs), which form the theoretical architecture of deep learning, were inspired by the primary visual cortex of cats where neurons are organized in hierarchical layers of cells to process visual stimulus 14 . <anchor xml:id="a17"/>The first mathematical model of a NN was the neocognitron 15 which has many of the features of modern deep neural networks (DNNs), including a multi-layer structure, convolution, max pooling, and nonlinear dynamical nodes.<anchor xml:id="a18"/> <anchor xml:id="a19"/>Importantly, the universal approximation theorem 16 – 18 guarantees that a NN with sufficiently many hidden units and a linear output layer is capable of representing any arbitrary function, including our desired Koopman eigenfunctions.<anchor xml:id="a20"/> <anchor xml:id="a21"/>Although NNs have a four-decade history, the analysis of the ImageNet data set 19 , containing over 15 million labeled images in 22,000 categories, provided a watershed moment 20 .<anchor xml:id="a22"/> Indeed, powered by the rise of big data and increased computational power, deep learning is resulting in transformative progress in many data-driven classification and identification tasks 19 – 21 . A strength of deep learning is that features of the data are built hierarchically, which enables the representation of complex functions. Thus, deep learning can accurately fit functions without hand-designed features or the user choosing a good basis 21 . However, a current challenge in deep learning research is the identification of parsimonious, interpretable, and transferable models 22 .</p>
        <p>Deep learning has the potential to enable a scaleable and data-driven architecture for the discovery and representation of Koopman eigenfunctions, providing intrinsic linear representations of strongly nonlinear systems. This approach alleviates two key challenges in modern dynamical systems: (1) equations are often unknown for systems of interest 23 – 25 , as in climate, neuroscience, epidemiology, and finance; and, (2) low-dimensional dynamics are typically embedded in a high-dimensional state space, requiring scaleable architectures that discover dynamics on latent variables. Although NNs have also been used to model dynamical systems 26 and other physical processes 27 for decades, great strides have been made recently in using DNNs to learn Koopman embeddings, resulting in several excellent papers 28 – 33 . <anchor xml:id="a23"/>For example, the VAMPnet architecture 28 , 29 uses a time-lagged auto-encoder and a custom variational score to identify Koopman coordinates on an impressive protein folding example.<anchor xml:id="a24"/> In all of these recent studies, DNN representations have been shown to be more flexible and exhibit higher accuracy than other leading methods on challenging problems.</p>
        <p><anchor xml:id="a25"/>The focus of this work is on developing DNN representations of Koopman eigenfunctions that remain interpretable and parsimonious, even for high-dimensional and strongly nonlinear systems.<anchor xml:id="a26"/> <anchor xml:id="a27"/>Our approach (see Fig. 1 ) differs from previous studies, as we are focused specifically on obtaining parsimonious models that match the intrinsic low-rank dynamics while avoiding overfitting and remaining interpretable, thus merging the best of DNN architectures and Koopman theory.<anchor xml:id="a28"/> In particular, many dynamical systems exhibit a continuous eigenvalue spectrum, which confounds low-dimensional representation using existing DNN or Koopman representations. This work develops a generalized framework and enforces new constraints specifically designed to extract the fewest meaningful eigenfunctions in an interpretable manner. For systems with continuous spectra, we utilize an augmented network to parameterize the linear dynamics on the intrinsic coordinates, avoiding an infinite asymptotic expansion in harmonic eigenfunctions. Thus, the resulting networks remain parsimonious, and the few key eigenfunctions are interpretable. We demonstrate our deep learning approach to Koopman on several examples designed to illustrate the strength of the method, while remaining intuitive in terms of classic dynamical systems. Fig. 1 Diagram of our deep learning schema to identify Koopman eigenfunctions φ ( x ). a Our network is based on a deep auto-encoder, which is able to identify intrinsic coordinates y = φ ( x ) and decode these coordinates to recover x = φ −1 ( y ). b , c We add an additional loss function to identify a linear Koopman model K that advances the intrinsic variables y forward in time. In practice, we enforce agreement with the trajectory data for several iterations through the dynamics, i.e. K m . In b , the loss function is evaluated on the state variable x and in c it is evaluated on y</p>
        <p>Results</p>
        <p>Data-driven dynamical systems</p>
        <p>To give context to our deep learning approach to identify Koopman eigenfunctions, we first summarize highlights and challenges in the data-driven discovery of dynamics. Throughout this work, we will consider discrete-time dynamical systems 1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathbf{x}}_{k + 1} = {\mathbf{F}}({\mathbf{x}}_k),$$\end{document} x k + 1 = F ( x k ) , where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathbf{x}} \in {\Bbb R}^n$$\end{document} x ∈ R n is the state of the system and F represents the dynamics that map the state of the system forward in time. Discrete-time dynamics often describe a continuous-time system that is sampled discretely in time, so that x k = x ( k Δ t ) with sampling time Δ t . The dynamics in F are generally nonlinear, and the state x may be high dimensional, although we typically assume that the dynamics evolve on a low-dimensional attractor governed by persistent coherent structures in the state space 2 . Note that F is often unknown and only measurements of the dynamics are available.</p>
        <p>The dominant geometric perspective of dynamical systems, in the tradition of Poincaré, concerns the organization of trajectories of Eq. ( 1 ), including fixed points, periodic orbits, and attractors. Formulating the dynamics as a system of differential equations in x often admits compact and efficient representations for many natural systems 25 ; for example, Newton&#x27;s second law is naturally expressed by Eq. ( 1 ). However, the solution to these dynamics may be arbitrarily complicated, and possibly even irrepresentable, except for special classes of systems. <anchor xml:id="a29"/>Linear dynamics, where the map F is a matrix that advances the state x , are among the few systems that admit a universal solution, in terms of the eigenvalues and eigenvectors of the matrix F , also known as the spectral expansion.<anchor xml:id="a30"/></p>
        <p>Koopman operator theory</p>
        <p><anchor xml:id="a31"/>In 1931, B.O. Koopman provided an alternative description of dynamical systems in terms of the evolution of functions in the Hilbert space of possible measurements y = g ( x ) of the state 4 .<anchor xml:id="a32"/> The so-called Koopman operator, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal K}$$\end{document} K , that advances measurement functions is an infinite-dimensional linear operator: 2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal K}{\mathbf{g}} \buildrel \Delta \over = {\mathbf{g}} \circ {\mathbf{F}}\quad \Rightarrow \quad {\cal K}{\mathbf{g}}({\mathbf{x}}_k) = {\mathbf{g}}({\mathbf{x}}_{k + 1}).$$\end{document} K g Δ= g ∘ F ⇒ K g ( x k ) = g ( x k + 1 ) . Koopman analysis has gained significant attention recently with the pioneering work of Mezic et al. 6 – 10 , and in response to the growing wealth of measurement data and the lack of known equations for many systems 13 , 25 . Representing nonlinear dynamics in a linear framework, via the Koopman operator, has the potential to enable advanced nonlinear prediction, estimation, and control using the comprehensive theory developed for linear systems. However, obtaining finite-dimensional approximations of the infinite-dimensional Koopman operator has proven challenging in practical applications.</p>
        <p>Finite-dimensional representations of the Koopman operator are often approximated using the DMD 12 , 13 , introduced by Schmid 11 . By construction, DMD identifies spatio-temporal coherent structures from a high-dimensional dynamical system, although it does not generally capture nonlinear transients since it is based on linear measurements of the system, g ( x ) = x . Extended DMD (eDMD) and the related variational approach of conformation dynamics (VAC) 34 – 36 enriches the model with nonlinear measurements 33 , 37 . <anchor xml:id="a33"/>It has recently been shown that eDMD is equivalent to the variational approach of conformation dynamics (VAC) 34 – 36 , first derived by Noé and Nüske in 2013 to simulate molecular dynamics with a broad separation of timescales.<anchor xml:id="a34"/> Further connections between eDMD and VAC and between DMD and the time lagged independent component analysis (TICA) are explored in a recent review 38 . A key contribution of VAC is a variational score enabling the objective assessment of Koopman models via cross-validation. Recently, eDMD has been demonstrated to improve model predictive control performance in nonlinear systems 39 .</p>
        <p><anchor xml:id="a35"/>Identifying regression models based on nonlinear measurements will generally result in closure issues, as there is no guarantee that these measurements form a Koopman invariant subspace 40 .<anchor xml:id="a36"/> The resulting models are of exceedingly high dimension, and when kernel methods are employed 41 , the models may become uninterpretable. Instead, many approaches seek to identify eigenfunctions of the Koopman operator directly, satisfying: 3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\varphi ({\mathbf{x}}_{k + 1}) = {\cal K}\varphi ({\mathbf{x}}_k) = \lambda \varphi ({\mathbf{x}}_k).$$\end{document} φ ( x k + 1 ) = K φ ( x k ) = λ φ ( x k ) . Eigenfunctions are guaranteed to span an invariant subspace, and the Koopman operator will yield a matrix when restricted to this subspace 40 , 42 . In practice, Koopman eigenfunctions may be more difficult to obtain than the solution of ( 1 ); however, this is a one-time up-front cost that yields a compact linear description. The challenge of identifying and representing Koopman eigenfunctions provides strong motivation for the use of powerful emerging deep learning methods 28 – 33 .</p>
        <p>Koopman for systems with continuous spectra</p>
        <p><anchor xml:id="a37"/>The Koopman operator provides a global linearization of the dynamics.<anchor xml:id="a38"/> The concept of linearizing dynamics is not new, and locally linear representations are commonly obtained by linearizing around fixed points and periodic orbits 1 . Indeed, asymptotic and perturbation methods have been widely used since the time of Newton to approximate solutions of nonlinear problems by starting from the exact solution of a related, typically linear problem. The classic pendulum, for instance, satisfies the differential equation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ddot x = - {\mathrm{sin}}(\omega x)$$\end{document} ẍ = - sin ( ω x ) and has eluded an analytic solution since its mathematical inception. The linear problem associated with the pendulum involves the small angle approximation whereby sin( ωx ) = ωx − ( ωx ) 3 /3! + …; and only the first term is retained in order to yield exact sinusoidal solutions. <anchor xml:id="a39"/>The next correction involving the cubic term gives the Duffing equation, which is one of the most commonly studied nonlinear oscillators in physics 1 .<anchor xml:id="a40"/> <anchor xml:id="a41"/>Importantly, the cubic contribution is known to shift the linear oscillation frequency of the pendulum, ω → ω + Δ ω , as well as generate harmonics such as exp(±3 iω ) 43 , 44 .<anchor xml:id="a42"/> An exact representation of the solution can be derived in terms of Jacobi elliptic functions, which have a Taylor series representation in terms of an infinite sum of sinusoids with frequencies (2 n − 1) ω , where n = 1,2,…,∞. <anchor xml:id="a43"/>Thus, the simple pendulum oscillates at the (linear) natural frequency ω for small deflections, and as the pendulum energy is increased, the frequency decreases continuously, resulting in a so-called continuous spectrum.<anchor xml:id="a44"/></p>
        <p><anchor xml:id="a45"/>The importance of accounting for the continuous spectrum was discussed in 1932 in an extension by Koopman and von Neumann 5 .<anchor xml:id="a46"/> <anchor xml:id="a47"/>A continuous spectrum, as described for the simple pendulum, is characterized by a continuous range of observed frequencies, as opposed to the discrete spectrum consisting of isolated, fixed frequencies.<anchor xml:id="a48"/> This phenomena is observed in a wide range of physical systems that exhibit broadband frequency content, such as turbulence and nonlinear optics. The continuous spectrum thus confounds simple Koopman descriptions, as there is not a straightforward finite approximation in terms of a small number of eigenfunctions 10 . Indeed, away from the linear regime, an infinite Fourier sum is required to approximate the shift in frequency and eigenfunctions. In fact, in some cases, eigenfunctions may not exist at all.</p>
        <p>Recently, there have been several algorithmic advances to approximate systems with continuous spectra, including nonlinear Laplacian spectral analysis 45 and the use of delay coordinates 46 , 47 . A critically enabling innovation of the present work is explicitly accounting for the parametric dependence of the Koopman operator K ( λ ) on the continuously varying λ , related to the classic perturbation results above. By constructing an auxiliary network (see Fig. 2 ) to first determine the parametric dependency of the Koopman operator on the frequency λ ± = ± iω , an interpretable low-rank model of the intrinsic dynamics can then be constructed. In particular, a nonlinear oscillator with continuous spectrum may now be represented as a single pair of conjugate eigenfunctions, mapping trajectories into perfect sines and cosines, with a continuous eigenvalue parameterizing the frequency. If this explicit frequency dependence is unaccounted for, then a high-dimensional network is necessary to account for the shifting frequency and eigenvalues. <anchor xml:id="a49"/>We conjecture that previous Koopman models using high-dimensional DNNs represent the harmonic series expansion required to approximate the continuous spectrum for systems such as the Duffing oscillator.<anchor xml:id="a50"/> Fig. 2 Schematic of modified schema with auxiliary network to identify (parametrize) the continuous eigenvalue spectrum λ . This facilitates an aggressive dimensionality reduction in the auto-encoder, avoiding the need for higher harmonics of the fundamental frequency that are generated by the nonlinearity 43 , 44 . For purely oscillatory motion, as in the pendulum, we identify the continuous frequency λ ± = ± iω</p>
        <p>Deep learning to identify Koopman eigenfunctions</p>
        <p><anchor xml:id="a51"/>The overarching goal of this work is to leverage the power of deep learning to discover and represent eigenfunctions of the Koopman operator.<anchor xml:id="a52"/> Our perspective is driven by the need for parsimonious representations that are efficient, avoid overfitting, and provide minimal descriptions of the dynamics on interpretable intrinsic coordinates. <anchor xml:id="a53"/>Unlike previous deep learning approaches to Koopman 28 – 31 , our network architecture is designed specifically to handle a ubiquitous class of nonlinear systems characterized by a continuous frequency spectrum generated by the nonlinearity.<anchor xml:id="a54"/> A continuous spectrum presents unique challenges for compact and interpretable representation, and our approach is inspired by the classical asymptotic and perturbation approaches in dynamical systems.</p>
        <p>Our core network architecture is shown in Fig. 1 , and it is modified in Fig. 2 to handle the continuous spectrum. The objective of this network is to identify a few key intrinsic coordinates y = φ ( x ) spanned by a set of Koopman eigenfunctions \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\varphi : {\Bbb R}^{n} \to {\Bbb R}^{p}$$\end{document} φ : R n → R p , along with a dynamical system y k +1 = Ky k . There are three high-level requirements for the network, corresponding to three types of loss functions used in training: Intrinsic coordinates that are useful for reconstruction. We seek to identify a few intrinsic coordinates y = φ ( x ) where the dynamics evolve, along with an inverse x = φ −1 ( y ) so that the state x may be recovered. <anchor xml:id="a55"/>This is achieved using an auto-encoder (see Fig. 1a ), where φ is the encoder and φ −1 is the decoder.<anchor xml:id="a56"/> The dimension p of the auto-encoder subspace is a hyperparameter of the network, and this choice may be guided by knowledge of the system. Reconstruction accuracy of the auto-encoder is achieved using the following loss: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left\| {{\mathbf{x}} - \varphi ^{ - 1}(\varphi ({\mathbf{x}}))} \right\|$$\end{document} x - φ - 1 ( φ ( x ) ) . Linear dynamics. To discover Koopman eigenfunctions, we learn the linear dynamics K on the intrinsic coordinates, i.e., y k +1 = Ky k . Linear dynamics are achieved using the following loss: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left\| {\varphi ({\mathbf{x}}_{k + 1}) - {\mathbf{K}}\varphi ({\mathbf{x}}_{k})} \right\|$$\end{document} φ ( x k + 1 ) - K φ ( x k ) . More generally, we enforce linear prediction over m time steps with the loss: \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left\| {\varphi ({\mathbf{x}}_{k + m}) - K^{m}\varphi ({\mathbf{x}}_{k})} \right\|$$\end{document} φ ( x k + m ) - K m φ ( x k ) . (see Fig. 1c ). Future state prediction. Finally, the intrinsic coordinates must enable future state prediction. Specifically, we identify linear dynamics in the matrix K . This corresponds to the loss \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left\| {{\mathbf{x}}_{k + 1} - \varphi ^{ - 1}(\mathbf{K}\varphi ({\mathbf{x}}_{k}))} \right\|$$\end{document} x k + 1 - φ - 1 ( K φ ( x k ) ) , and more generally \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left\| {{\mathbf{x}}_{k + m} - \varphi ^{ - 1}({\mathbf{K}}^{m}\varphi ({\mathbf{x}}_{k}))} \right\|$$\end{document} x k + m - φ - 1 ( K m φ ( x k ) ) . (see Fig. 1b ).</p>
        <p>Our norm \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left\| \cdot \right\|$$\end{document} ⋅ is mean-squared error, averaging over dimension then number of examples, and we add \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\ell}_{2}$$\end{document} ℓ 2 regularization.</p>
        <p><anchor xml:id="a57"/>To address the continuous spectrum, we allow the eigenvalues of the matrix K to vary, parametrized by the function λ = Λ( y ), which is learned by an auxiliary network (see Fig. 2 ).<anchor xml:id="a58"/> The eigenvalues λ ± = μ ± iω are then used to parametrize block-diagonal K ( μ , ω ). For each pair of complex eigenvalues, the discrete-time K has a Jordan block of the form: 4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$B(\mu ,\omega) = {\mathrm{exp}}(\mu {\mathrm{\Delta }}t)\left[ {\begin{array}{*{20}{c}} {{\mathrm{cos}}(\omega {\mathrm{\Delta }}t)} &amp; {-{\mathrm{sin}}(\omega {\mathrm{\Delta }}t)} \\ {{\mathrm{sin}}(\omega {\mathrm{\Delta }}t)} &amp; {{\mathrm{cos}}(\omega {\mathrm{\Delta }}t)} \end{array}} \right].$$\end{document} B ( μ , ω ) = exp ( μ Δ t ) cos ( ω Δ t ) - sin ( ω Δ t ) sin ( ω Δ t ) cos ( ω Δ t ) .</p>
        <p><anchor xml:id="a59"/>This network structure allows the eigenvalues to vary across phase space, facilitating a small number of eigenfunctions.<anchor xml:id="a60"/> To enforce circular symmetry in the eigenfunction coordinates, we often parameterize the eigenvalues by the radius \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda \left({\left\| {\mathbf{y}} \right\|_2^2} \right)$$\end{document} λ y 2 2 . The second and third prediction loss function must also be modified for systems with continuous spectrum, as discussed in the Methods section.</p>
        <p>To train our network, we generate trajectories from random initial conditions, which are split into training, validation, and test sets. Models are trained on the training set and compared on the validation set, which is also used for early stopping to prevent overfitting. We report accuracy on the test set.</p>
        <p>Demonstration on examples</p>
        <p>We demonstrate our deep learning approach to identify Koopman eigenfunctions on several example systems, including a simple model with a discrete spectrum and two examples that exhibit a continuous spectrum: the nonlinear pendulum and the high-dimensional unsteady fluid flow past a cylinder. The training, validation, and test errors for all examples are reported in Table 1 . Additional details for each example are provided in Supplementary Note 1 . Table 1 Errors for each problem Discrete spectrum Pendulum Fluid flow 1 Fluid flow 2 Training 1.4 × 10 −7 8.5 × 10 −8 5.4 × 10 −7 2.8 × 10 −6 Validation 1.4 × 10 −7 9.4 × 10 −8 5.4 × 10 −7 2.9 × 10 −6 Test 1.5 × 10 −7 1.1 × 10 −7 5.5 × 10 −7 2.9 × 10 −6</p>
        <p>Example 1: Simple model with discrete spectrum</p>
        <p>Before analyzing systems with the additional challenges of a continuous spectrum and high-dimensionality, we consider a simple nonlinear system with a single fixed point and a discrete eigenvalue spectrum: 5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot x_1 = \mu x_1$$\end{document} x ˙ 1 = μ x 1 6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot x_2 = \lambda (x_2 - x_1^2).$$\end{document} x ˙ 2 = λ ( x 2 - x 1 2 ) . This dynamical system has been well-studied in the literature 40 , 48 , and for stable eigenvalues λ &lt; μ &lt; 0, the system exhibits a slow manifold given by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_2 = x_1^2$$\end{document} x 2 = x 1 2 ; we use μ = −0.05 and λ = −1. <anchor xml:id="a61"/>As shown in Fig. 3 , the Koopman embedding identifies nonlinear coordinates that flatten this inertial manifold, providing a globally linear representation of the dynamics; moreover, the correct Koopman eigenvalues are identified.<anchor xml:id="a62"/> Specific details about the network and training procedure are provided in the Methods. Fig. 3 Demonstration of neural network embedding of Koopman eigenfunctions for simple system with a discrete eigenvalue spectrum</p>
        <p>In this example, we include the auxiliary network even though it is not required for examples with discrete eigenvalues. As shown in Supplementary Fig. 3 , although the eigenvalues have the freedom to vary, they stay in a narrow range around the correct values. <anchor xml:id="a63"/>This numerically demonstrates that it is possible to identify a discrete spectrum without a priori knowledge about whether the spectrum is continuous or discrete.<anchor xml:id="a64"/></p>
        <p>Example 2: Nonlinear pendulum with continuous spectrum</p>
        <p>As a second example, we consider the nonlinear pendulum, which exhibits a continuous eigenvalue spectrum with increasing energy: 7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ddot x = - {\mathrm{sin}}(x)\quad \Rightarrow \quad \left\{ {\begin{array}{*{20}{l}} {\dot x_1 = x_2} \hfill \\ {\dot x_2 = - {\mathrm{sin}}(x_1).} \hfill \end{array}} \right.$$\end{document} ẍ = - sin ( x ) ⇒ x ˙ 1 = x 2 x ˙ 2 = - sin ( x 1 ) . Although this is a simple mechanical system, it has eluded parsimonious representation in the Koopman framework. The deep Koopman embedding is shown in Fig. 4 , where it is clear that the dynamics are linear in the eigenfunction coordinates, given by y = φ ( x ). <anchor xml:id="a65"/>As the Hamiltonian energy of the system increases, corresponding to an elongation of the oscillation period, the parameterized Koopman network accounts for this continuous frequency shift and provides a compact representation in terms of two conjugate eigenfunctions.<anchor xml:id="a66"/> Alternative network architectures that are not specifically designed to account for continuous spectra with an auxiliary network would be forced to approximate this frequency shift with the classical asymptotic expansion in terms of harmonics. The resulting network would be overly bulky and would limit interpretability. Fig. 4 Illustration of deep Koopman eigenfunctions for the nonlinear pendulum. The pendulum, although a simple mechanical system, exhibits a continuous spectrum, making it difficult to obtain a compact representation in terms of Koopman eigenfunctions. However, by leveraging a generalized network, as in Fig. 2 , it is possible to identify a parsimonious model in terms of a single complex conjugate pair of eigenfunctions, parameterized by the frequency ω . In eigenfunction coordinates, the dynamics become linear, and orbits are given by perfect circles. For the sake of visualization, we use 10 evenly spaced trajectories instead of the random trajectories in the testing set</p>
        <p>Recall that we have three types of losses on the network: reconstruction, prediction, and linearity. Figure 4b shows that the network is able to function as an auto-encoder, accurately reconstructing the 10 example trajectories. Next, we show that the network is able to predict the evolution of the system. <anchor xml:id="a67"/>Figure 4c shows the prediction horizon for 10 initial conditions that are simulated forward with the network, stopping the prediction when the relative error reaches 10%.<anchor xml:id="a68"/> <anchor xml:id="a69"/>As expected, the prediction horizon deteriorates as the energy of the initial condition increases, although the prediction is still quite accurate.<anchor xml:id="a70"/> The nearly concentric circles in Fig. 4d demonstrate that the dynamics in the intrinsic coordinates y are truly linear.</p>
        <p>In this example, both the eigenfunctions and the eigenvalues are spatially varying. <anchor xml:id="a71"/>When originally designing the Koopman network, we did not impose any constraints on how these eigenfunctions and eigenvalues vary in space, and the resulting network did not converge to a unique and interpretable solution.<anchor xml:id="a72"/> This led us to decide on an important design constraint, that a nonlinear oscillator, like the pendulum, should map to coordinates that have radial symmetry, so that the spatial variation of the eigenfunctions and eigenvalues depends on the radius of the intrinsic coordinates.</p>
        <p>The eigenfunctions φ 1 ( x ) and φ 2 ( x ) are shown in Fig. 4e . <anchor xml:id="a73"/>It is possible to map these eigenfunctions into magnitude and phase coordinates, as shown in Fig. 5 , where it can be seen that that magnitude essentially traces level sets of the Hamiltonian energy.<anchor xml:id="a74"/> This is consistent with previous theoretical derivations of Mezić 49 that represent Koopman eigenfunctions in action–angle coordinates, and we thank him for communicating this connection to us. Fig. 5 Magnitude and phase of the pendulum eigenfunctions</p>
        <p>Example 3: High-dimensional nonlinear fluid flow</p>
        <p><anchor xml:id="a75"/>As our final example, we consider the nonlinear fluid flow past a circular cylinder at Reynolds number 100 based on diameter, which is characterized by vortex shedding.<anchor xml:id="a76"/> This model has been a benchmark in fluid dynamics for decades 50 , and has been extensively analyzed in the context of data-driven modeling 25 , 51 and Koopman analysis 52 . In 2003, Noack et al. 50 showed that the high-dimensional dynamics evolve on a low-dimensional attractor, given by a slow-manifold in the following model: 8 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot x_1 = \mu x_1 - \omega x_2 + Ax_1x_3$$\end{document} x ˙ 1 = μ x 1 - ω x 2 + A x 1 x 3 9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot x_2 = \omega x_1 + \mu x_2 + Ax_2x_3$$\end{document} x ˙ 2 = ω x 1 + μ x 2 + A x 2 x 3 10 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dot x_3 = - \lambda \left({x_3 - x_1^2 - x_2^2} \right).$$\end{document} x ˙ 3 = - λ x 3 - x 1 2 - x 2 2 .</p>
        <p>This mean-field model exhibits a stable limit cycle corresponding to von Karman vortex shedding, and an unstable equilibrium corresponding to a low-drag condition. Starting near this equilibrium, the flow unwinds up the slow manifold toward the limit cycle. <anchor xml:id="a77"/>In 51 , Loiseau and Brunton showed that this flow may be modeled by a nonlinear oscillator with state-dependent damping, making it amenable to the continuous spectrum analysis.<anchor xml:id="a78"/> <anchor xml:id="a79"/>We use trajectories from this model where μ = 0.1, ω = 1, A = −0.1, and λ = 10 to train a Koopman network.<anchor xml:id="a80"/> The resulting eigenfunctions are shown in Fig. 6 . Fig. 6 Learned Koopman eigenfunctions for the mean-field model of fluid flow past a circular cylinder at Reynolds number 100. a Reconstruction of trajectory from linear Koopman model with two states; modes for each of the state space variables x are shown along the coordinate axes. b Koopman reconstruction in eigenfunction coordinates y , along with eigenfunctions \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$y = \varphi (x)$$\end{document} y = φ ( x ) . c Two examples of trajectories that begin off the attractor. The Koopman model is able to reconstruct both given only the initial condition</p>
        <p><anchor xml:id="a81"/>In this example, the damping rate μ and frequency ω are allowed to vary along level sets of the radius in eigenfunction coordinates, so that μ ( R ) and ω ( R )<anchor xml:id="a82"/>, where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R^2 = y_1^2 + y_2^2$$\end{document} R 2 = y 1 2 + y 2 2 ; this is accomplished with an auxiliary network as in Fig. 2 . <anchor xml:id="a83"/>These continuously varying eigenvalues are shown in Supplementary Fig. 5 , where it can be seen that the frequency ω is extremely close to the true constant −1, while the damping μ varies significantly, and in fact switches stability for trajectories outside the natural limit cycle.<anchor xml:id="a84"/> This is consistent with the data-driven model of Loiseau and Brunton 51 .</p>
        <p>Although we only show the ability of the model to predict the future state in Fig. 6 , corresponding to the second and third loss functions, the network also functions as an autoencoder. Figure 6c shows the prediction performance of the Koopman network for trajectories that start away from the attractor; in both cases, the dynamics are faithfully captured and the dynamics attract onto the limit cycle. <anchor xml:id="a85"/>Thus, it is possible to capture nonlinear transients, as long as these are sufficiently represented in the training data.<anchor xml:id="a86"/></p>
        <p>Discussion</p>
        <p>In summary, we have employed powerful deep learning approaches to identify and represent coordinate transformations that recast strongly nonlinear dynamics into a globally linear framework. Our approach is designed to discover eigenfunctions of the Koopman operator, which provide an intrinsic coordinate system to linearize nonlinear systems, and have been notoriously difficult to identify and represent using alternative methods. Building on a deep auto-encoder framework, we enforce additional constraints and loss functions to identify Koopman eigenfunctions where the dynamics evolve linearly. Moreover, we generalize this framework to include a broad class of nonlinear systems that exhibit a continuous eigenvalue spectrum, where a continuous range of frequencies is observed. Continuous-spectrum systems are notoriously difficult to analyze, especially with Koopman theory, and naive learning approaches require asymptotic expansions in terms of higher order harmonics of the fundamental frequency, leading to unwieldy models. In contrast, we utilize an auxiliary network to parametrize and identify the continuous frequency, which then parameterizes a compact Koopman model on the auto-encoder coordinates. Thus, our deep neural network models remain both parsimonious and interpretable, merging the best of neural network representations and Koopman embeddings. In most deep learning applications, although the basic architecture is extremely general, considerable expert knowledge and intuition is typically used in the training process and in designing loss functions and constraints. Throughout this paper, we have also used physical insight and intuition from asymptotic theory and continuous spectrum dynamical systems to guide the design of parsimonious Koopman embeddings.</p>
        <p>There are many ongoing challenges and promising directions that motivate future work. <anchor xml:id="a87"/>First, there are still several limitations associated with deep learning, including the need for vast and diverse data and extensive computation to train models 53 .<anchor xml:id="a88"/> This training may be considered a one-time upfront cost, and deep learning frameworks, such as TensorFlow parallelize the training on GPUs and across GPUs 54 ; further, there is ongoing work to improve the scalability 53 . <anchor xml:id="a89"/>Even more concerning is the dubious generalizability and interpretability of the resulting models, as deep learning architectures may be viewed as sophisticated interpolation engines with limited ability to extrapolate beyond the training data 55 .<anchor xml:id="a90"/> <anchor xml:id="a91"/>This work attempts to promote interpretability by forcing the network to have physical meaning in the context of Koopman theory, although the issue with generalizability still requires sufficient volumes and diversity of training data.<anchor xml:id="a92"/> <anchor xml:id="a93"/>There are also more specific limitations to the current proposed architecture, foremost, choosing the dimension of the autoencoder coordinates, y .<anchor xml:id="a94"/> Continued effort will be required to automatically detect the dimension of the intrinsic coordinates and to classify spectra (e.g., discrete and continuous, and real and complex eigenvalues). <anchor xml:id="a95"/>It will be important to extend these methods to higher-dimensional examples with more complex energy spectra, as the examples considered here are relatively low-dimensional.<anchor xml:id="a96"/> Fortunately, with sufficient data, deep learning architectures are able to learn incredibly complex representations, so the prospects for scaling these methods to larger systems is promising.</p>
        <p>The use of deep learning in physics and engineering is increasing at an incredible rate, and this trend is only expected to accelerate. Nearly every field of science is revisiting challenging problems of central importance from the perspective of big data and deep learning. With this explosion of interest, it is imperative that we as a community seek machine learning models that favor interpretability and promote physical insight and intuition. In this challenge, there is a tremendous opportunity to gain new understanding and insight by applying increasingly powerful techniques to data. <anchor xml:id="a97"/>For example, discovering Koopman eigenfunctions will result in new symmetries and conservation laws, as conserved eigenfunctions are related to conservation laws via a generalized Noether&#x27;s theorem.<anchor xml:id="a98"/> It will also be important to apply these techniques to increasingly challenging problems, such as turbulence, epidemiology, and neuroscience, where data is abundant and models are needed. The goal is to model these systems with a small number of coupled nonlinear oscillators using similar parameterized Koopman embeddings. Finally, the use of deep learning to discover Koopman eigenfunctions may enable transformative advances in the nonlinear control of complex systems. All of these future directions will be facilitated by more powerful network representations.</p>
        <p>Methods</p>
        <p>Creating the datasets</p>
        <p>We create our datasets by solving the systems of differential equations in MATLAB using the ode45 solver.</p>
        <p><anchor xml:id="a99"/>For each dynamical system, we choose 5000 initial conditions for the test set, 5000 for the validation set, and 5000–20,000 for the training set (see Table 2 ).<anchor xml:id="a100"/> For each initial condition, we solve the differential equations for some time span. That time span is t = 0,.02,…,1 for the discrete spectrum and pendulum datasets. Since the dynamics on the slow manifold for the fluid flow example are slower and more complicated, we increase the time span for that dataset to t = 0,.05,…,6. However, when we include data off the slow manifold, we want to capture the fast dynamics as the trajectories are attracted to the slow manifold, so we change the time span to t = 0,.01,…,1. Note that for the network to capture transient behavior as in the first and last example, it is important to include enough samples of transients in the training data. Table 2 Dataset sizes Discrete spectrum Pendulum Fluid flow 1 Fluid flow 2 Length of traj. 51 51 121 101 # Training traj. 5000 15,000 15,000 20,000 Batch size 256 128 256 128</p>
        <p>The discrete spectrum dataset is created from random initial conditions x where x 1 , x 2 ∈[−0.5, 0.5], since this portion of phase space is sufficient to capture the dynamics.</p>
        <p>The pendulum dataset is created from random initial conditions x , where x 1 ∈[−3.1,3.1] (just under [− π , π ]), x 2 ∈[−2,2], and the potential function is under 0.99. The potential function for the pendulum is \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\frac{1}{2}x_2^2 - {\mathrm{cos}}(x_1)$$\end{document} 1 2 x 2 2 - cos ( x 1 ) . These ranges are chosen to sample the pendulum in the full phase space where the pendulum approaches having an infinite period.</p>
        <p>The fluid flow problem limited to the slow manifold is created from random initial conditions x on the bowl where r ∈[0, 1.1], θ ∈[0, 2 π ], x 1 = r cos( θ ), x 2 = r sin( θ ), and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$x_3 = x_1^2 + x_2^2$$\end{document} x 3 = x 1 2 + x 2 2 . This captures all of the dynamics on the slow manifold, which consists of trajectories that spiral toward the limit cycle at r = 1.</p>
        <p>The fluid flow problem beyond the slow manifold is created from random initial conditions x where x 1 ∈[−1.1,1.1], x 2 ∈[−1.1,1.1], and x 3 ∈[0,2.42]. These limits are chosen to include the dynamics on the slow manifold covered by the previous dataset, as well as trajectories that begin off the slow manifold. Any trajectory that grows to x 3 &gt; 2.5 is eliminated so that the domain is reasonably compact and well-sampled.</p>
        <p>Code</p>
        <p>We use the Python API for the TensorFlow framework 54 and the Adam optimizer 56 for training. All of our code is available online at github.com/BethanyL/DeepKoopman.</p>
        <p>Network architecture</p>
        <p><anchor xml:id="a101"/>Each hidden layer has the form of Wx + b followed by an activation with the rectified linear unit (ReLU): f ( x ) = max{0, x }.<anchor xml:id="a102"/> <anchor xml:id="a103"/>In our experiments, training was significantly faster with ReLU as the activation function than with sigmoid.<anchor xml:id="a104"/> See Table 3 for the number of hidden layers in the encoder, decoder, and auxiliary network, as well as their widths. The output layers of the encoder, decoder, and auxiliary network are linear (simply Wx + b ). Table 3 Network architecture Discrete spectrum Pendulum Fluid flow 1 Fluid flow 2 # hidden layers (HL) 2 2 1 1 Width HL 30 80 105 130 # HL aux. net. 3 1 1 2 Width HL aux. net. 10 170 300 20</p>
        <p>The input to the auxiliary network is y , and it outputs the parameters for the eigenvalues of K . For each complex conjugate pair of eigenvalues λ ± = μ ± iω , the network defines a function Λ mapping \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$y_j^2 + y_{j + 1}^2$$\end{document} y j 2 + y j + 1 2 to μ and ω , where y j and y j +1 are the corresponding eigenfunctions. Similarly, for each real eigenvalue λ , the network defines a function mapping y j to λ . For example, for the fluid flow problem off the attractor, we have three eigenfunctions. The auxiliary network learns a map from \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$y_1^2 + y_2^2$$\end{document} y 1 2 + y 2 2 to μ and ω and another map from y 3 to λ . This could be implemented as one network defining a mapping \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Lambda :{\Bbb R}^2 \to {\Bbb R}^3$$\end{document} Λ : R 2 → R 3 where the layers are not fully connected ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$y_1^2 + y_2^2$$\end{document} y 1 2 + y 2 2 should not influence λ and y 3 should not influence μ and ω ). However, for simplicity, we implement this as two separate auxiliary networks, one for the complex conjugate pair of eigenvalues and one for the the real eigenvalue.</p>
        <p>Explicit loss function</p>
        <p>Our loss function has three weighted mean-squared error components: reconstruction accuracy \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{{\mathrm {recon}}}$$\end{document} L recon , future state prediction \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{{\mathrm {pred}}}$$\end{document} L pred , and linearity of dynamics \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{{\mathrm {lin}}}$$\end{document} L lin . Since we know that there are no outliers in our data, we also use an \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_\infty$$\end{document} L ∞ term to penalize the data point with the largest loss. Finally, we add \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ell _2$$\end{document} ℓ 2 regularization on the weights W to avoid overfitting. More specifically: 11 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L} = \alpha _1({\cal L}_{\mathrm{recon}} + {\cal L}_{\mathrm{pred}}) + {\cal L}_{\mathrm{lin}} + \alpha _2{\cal L}_\infty + \alpha _3\left\| {\mathbf{W}} \right\|_2^2$$\end{document} L = α 1 ( L recon + L pred ) + L lin + α 2 L ∞ + α 3 W 2 2 12 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{\mathrm{recon}} = \left\| {{\mathbf{x}}_1 - \varphi ^{ - 1}(\varphi ({\mathbf{x}}_1))} \right\|_{\mathrm{MSE}}$$\end{document} L recon = x 1 - φ - 1 ( φ ( x 1 ) ) MSE 13 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{\mathrm{pred}} = \frac{1}{{S_p}}\mathop {\sum}\limits_{m = 1}^{S_p} \left\| {{\mathbf{x}}_{m + 1} - \varphi ^{ - 1}(K^m\varphi ({\mathbf{x}}_1))} \right\|_{\mathrm{MSE}}$$\end{document} L pred = 1 S p ∑ m = 1 S p x m + 1 - φ - 1 ( K m φ ( x 1 ) ) MSE 14 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{\mathrm{lin}} = \frac{1}{{T - 1}}\mathop {\sum}\limits_{m = 1}^{T - 1} \left\| {\varphi ({\mathbf{x}}_{m + 1}) - K^m\varphi ({\mathbf{x}}_1)} \right\|_{\mathrm{MSE}}$$\end{document} L lin = 1 T - 1 ∑ m = 1 T - 1 φ ( x m + 1 ) - K m φ ( x 1 ) MSE 15 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_\infty = \left\| {{\mathbf{x}}_1 - \varphi ^{ - 1}(\varphi ({\mathbf{x}}_1))} \right\|_\infty + \left\| {{\mathbf{x}}_2 - \varphi ^{ - 1}(K\varphi ({\mathbf{x}}_1))} \right\|_\infty ,$$\end{document} L ∞ = x 1 - φ - 1 ( φ ( x 1 ) ) ∞ + x 2 - φ - 1 ( K φ ( x 1 ) ) ∞ , <anchor xml:id="a105"/>where MSE refers to mean squared error and T is the number of time steps in each trajectory.<anchor xml:id="a106"/> The weights α 1 , α 2 , and α 3 are hyperparameters. The integer S p is a hyperparameter for how many steps to check in the prediction loss. The hyperparameters α 1 , α 2 , α 3 , and S p are listed in Table 4 . Table 4 Loss hyperparameters Discrete spectrum Pendulum Fluid flow 1 Fluid flow 2 α 1 0.1 0.001 0.1 0.1 α 2 10 −7 10 −9 10 −7 10 −9 α 3 10 −15 10 −14 10 −13 10 −13 S p 30 30 30 30</p>
        <p>The matrix K is parametrized by the function λ = Λ ( y ), which is learned by an auxiliary network. The eigenvalues can vary along a trajectory, so in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{\mathrm{pred}}$$\end{document} L pred and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\cal L}_{\mathrm{lin}}$$\end{document} L lin , K m = K ( λ 1 ) ⋅ K ( λ 2 )… K ( λ m ). However, on Hamiltonian systems, such as the pendulum, the eigenvalues are constant along each trajectory. If a system is known to be Hamiltonian, the network training could be sped up by encoding the constraint that K m = K ( λ ) m . In order to demonstrate that this specialized knowledge is not necessary, we use the more general case for all of our datasets, including the pendulum.</p>
        <p>Training</p>
        <p>We initialize each weight matrix W randomly from a uniform distribution in the range [− s , s ] for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$s = 1/\sqrt a$$\end{document} s = 1 ∕ a , where a is the dimension of the input of the layer. This distribution was suggested in ref. 21 . Each bias vector b is initialized to 0. <anchor xml:id="a107"/>The model for the discrete spectrum example is trained for 2 h on an NVIDIA K80 GPU.<anchor xml:id="a108"/> The other models are each trained for 6 h. <anchor xml:id="a109"/>The learning rate for the Adam optimizer is 0.001.<anchor xml:id="a110"/> On the pendulum and fluid flow datasets, for 5 min, we pretrain the network to be a simple autoencoder, using the autoencoder loss but not the linearity or prediction losses, as this speeds up the training. We also use early stopping; for each model, at the end of training, we resume the step with the lowest validation error.</p>
        <p>Hyperparameter tuning</p>
        <p>There are many design choices in deep learning, so we use hyperparameter tuning, as described in ref. 21 . <anchor xml:id="a111"/>For each dynamical system, we train multiple models in a random search of hyperparameter space and choose the one with the lowest validation error.<anchor xml:id="a112"/> Each model is also initialized with different random weights. <anchor xml:id="a113"/>We find that α 1 , which defines a trade-off between the two objectives that include the decoder and the one that does not, has a significant effect on the training speed.<anchor xml:id="a114"/></p>
        <p>Code availability</p>
        <p>All code used in this study is available at github.com/BethanyL/DeepKoopman.</p>
        <p>Electronic supplementary material</p>
        <p>Supplementary Information Peer Review File<anchor xml:id="a115"/></p>
    </body>
  </text>
</TEI>
