Giter VIP home page Giter VIP logo

Comments (7)

jambo6 avatar jambo6 commented on May 29, 2024

Provided the integral is integrated between [0, 1] (which it always should be), then where does this become an issue? The log-signature never needs to be normalised by the interval length.

from torchcde.

patrick-kidger avatar patrick-kidger commented on May 29, 2024

The integral isn't always integrated over [0, 1]. (Why should it always be?)

I think all that's necessary is removing the multiplication on this line:

logsignature = logsignature.view(*batch_dimensions, -1) * (next_time - time)

(Or possibly make it a divide? Would need to check more carefully.)

from torchcde.

jambo6 avatar jambo6 commented on May 29, 2024

The log-ODE method is defined as:

Z_b = Z_a + int_0^1 f(Z)logsig_[a, b](X) ds

There is never any need to evaluate an integral with limits that are not [0, 1].

Perhaps I am misunderstanding, but if it is done in this way then you do not need to worry about dividing by b-a.

from torchcde.

patrick-kidger avatar patrick-kidger commented on May 29, 2024

What you've written is correct if a=0, b=1.
We can certainly reparameterise for that to be true each time... by dividing by b - a.

from torchcde.

jambo6 avatar jambo6 commented on May 29, 2024

Check definition A.8. in https://arxiv.org/pdf/2009.08295.pdf

The integral is over [0, 1] for any interval [a, b]. We divide by (b-a) if we integrate from a to b.

from torchcde.

patrick-kidger avatar patrick-kidger commented on May 29, 2024

Okay, flipping this around: integrating over [0, 1] (or rather [n, n+1] later on) is indeed what torchcde will be doing by default later on.

Over that region it should be just the logsignature, as you say. Therefore the multiplication I highlighted above should be removed?

To emphasise this: the tests for this check that the derivative on each piece is equal to the logsignature -- whilst using the optional t argument. (They predate the t argument being optional.) So the tests are verifying that over an interval determined by t (i.e. not of unit length), the vector field is the logsignature (i.e. without a b-a normalisation). Which is a mismatch.

Do you agree?

from torchcde.

patrick-kidger avatar patrick-kidger commented on May 29, 2024

Closed in version 0.2.0 with the introduction of logsig_windows.

from torchcde.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.