patrick-kidger / patrick-kidger/diffrax

Questions on NeuralCDEs

オープン
#653 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
2.1k
フォーク
189
平均マージ
3日 18時間
マージ済み PR(30日)
1

説明

Hi!

First of all, thank you for creating this amazing library!

I'm new to neural CDEs, control theory and JAX ecosystem, so please excuse me if these are basic questions. My ultimate goal is to train a model on some time series data (physical quantities $[y_1(t), y_2(t)]$ that evolve in time and can be controlled by actuators $[C_1(t), C_2(t)]$) to replicate it and then use this model to fit PID parameters or RL policies to control the physical quantities of interest. Both control and physical quantities are normalized such that they are bound in the interval [0, 1].

Has anyone in the community attempted this before or is aware of literature where this has been done?

Initially, I decided to train RNNs, but the problem is that the time spacing of my control signal is different from my physical quantities (even the time interval of sampling between physical quantities is different). Neural differential equations seem to handle this problem better. I'm using neural CDEs for regression on some data, and I was able to overfit a neural CDE on a time series. I'm first uplifting the physical state into the hidden state of size 4, $\boldsymbol{y}$. Here's how my vector field and control interaction looks like:

Image

$C_1$ and $C_2$ are obtained by interpolation as in the tutorial, and $mlp_i$ are small MLPs (width=4 depth=3 <10) that output a scalar value from -1 to 1. This consistently overfits the time series (checked on other trajectories as well), but it takes ~20s/train_step (in train_step, I compute loss and update model parameters).

Can Multiple Shooting #302 improve my training speed? Btw @allen-adastra, my work is mostly inspired by your paper !

I'm aware of Patrick's thesis on this topic, but any other literature recommendations on this topic are highly appreciated!

Sincerely,
Vadim

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Start by reading the linked Neural CDE tutorial and the referenced Multiple Shooting issue. The post does not identify a repository file, test, or concrete change, and it does not define what completion would look like beyond answering questions about training speed and related literature.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
machine-learning
issue の種類
ドキュメント
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
15/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。