TOSHOSETI Telegram 596
Итак, про LNN, часть первая. Будет много букв и немножко матана.
Существует несколько разновидностей LNN, в частности: Liquid Time Constant Network (LTC), Closed form Continuous-Time Liquid Network (CfCT).

В этой части про LTC. Статья.

Все LNN по сути рекуррентные сети, но с отличиями. В частности, вместо традиционных GRU/LSTM элементов, наша сеть состоит из набора ODE (Ordinary Differential Equations) первого порядка, к выходам которых так же применяются функции активации. Идея не новая, до этого были Neural ODE, CT-RNN (Continuous Time RNN) и прочие. Так вот, считаются элементы с помощью ODE Solverов. Можно взять метод Эйлера, можно Рунге Кутты, но авторы не зассав запилили свой fused solver (Euler implicit + Euler explicit). На нем останавливаться не буду, так как подойдет любой словер, да и не понял я пока нихера как они к нему пришли (в статье, как обычно, "несложно увидеть"). Решаем мы ODE для получения следующего значения hidden state на каждом шагу. В ванильном Neural ODE мы считаем
(1) dx\dt = f(x(t), I(t), t, theta) ,
где f(.) - нейросеть, x(t) - hidden state, I(t) - входные данные, t - время, theta - параметры сети.
В Continuous time вариациях выглядит так:
(2) dx\dt = (-1/tau)*x(t) + f(x(t), I(t), t, theta),
т.е. добавляется член -x(t)/tau чтобы помочь системе прийти в равновесие при помощи константы времени tau.
Авторы LTC предлагают альтернативную формулировку:
Пусть у нас переходные процессы hidden state в сети определены как
(3) dx/dt = (-1/tau)*x(t) + S(t),
(4) S(t) = f(x(t), I(t), t, theta) * (A-x(t)), где все обозначения как прежде плюс некоторый параметр A.
Тогда подставляя уравнение 3 в 2 получаем:
(5) dx/dt = -(1/tau + f(x(t), I(t), t, theta) * x(t) + f(x(t), I(t), t, theta) * A
Теперь ВНИМАТЕЛЬНО:
Если рассмотреть уравнение 4 и сравнить с 2, то получается что жирным выделенная часть - это как коэфициент -(1/tau) в уравнении 2, а то что я подчеркнул - это по сути правая часть уравнения 2.
Таким образом, это все еще CT-RNN, но с наворотами. Авторы вводят понятие Liquid time-constant коэфициента, выделенного жирным (внимание, переворачиваем дробь, т.к. 1/tau):
tau_sys = tau / (1 + tau * f(x(t), I(t), t, theta))
То есть у нас выходит, что сама сеть, зависящая от входных данных и hidden state, меняет так же tau с течением времени, в отличии от CT-RNN, где tau - const. В этом самая мякотка и нововведение этой работы, поэтому они и обозвали Liquid time-constant.
Возникает закономерный вопрос, а как пришли к такой формулировке?
Потому что пацаны вдохновлялись нейродинамикой неспайковых нейронов (как у C. Elegans червя, как я понял). Подробнее они описывают это сравнение в предыдущей своей работе

Ну окей, сформулировали LTC Cell.
Помимо прочего, у нас есть еще три матрицы: проектор входов в hidden state, линейный слой для маски при переходе от одной LTC Cell к другой, проектор hidden state -> outputs.
Дальше мы на каждом шаге обработке последовательности интегрируем с помощью ODE Solver'a и делаем backprop. Это в наивной имплементации. В авторской - мы используем именно модель нейронов как описано тут.

Сразу вылазят традиционные недостатки:
1) Vanishing\exploding gradients
2) ODE Solver считать дорого
3) Количество шагов солвера и tau - еще одна боль в жопе гиперпараметры, которые придется подбирать.
4) Сам алгоритм солвера - тоже гиперпараметр.

FAQ:
Зачем это все?
1. Авторы утверждают, что LTC обладает большей выразительностью и компактностью. По моим экспериментам это действительно так, но из за этого страдает время вычисления и время сходимости.
2. Такие сети, в отличии от остальных аналогов, способны адаптироваться к шумному сигналу, domain shift, итп. А так же они лучше приспособлены к active learning.

А зачем ты это рассказываешь?
Потому что информации по этим сетям, как и годных имплементаций, почти нет. Любознательным надо быть, и вообще у меня саббатикал.

А референсная имплементация где?
Тут
И тут

А тетрадка где?
Скоро будет, почти доделал.
👍7



tgoop.com/toshoseti/596
Create:
Last Update:

Итак, про LNN, часть первая. Будет много букв и немножко матана.
Существует несколько разновидностей LNN, в частности: Liquid Time Constant Network (LTC), Closed form Continuous-Time Liquid Network (CfCT).

В этой части про LTC. Статья.

Все LNN по сути рекуррентные сети, но с отличиями. В частности, вместо традиционных GRU/LSTM элементов, наша сеть состоит из набора ODE (Ordinary Differential Equations) первого порядка, к выходам которых так же применяются функции активации. Идея не новая, до этого были Neural ODE, CT-RNN (Continuous Time RNN) и прочие. Так вот, считаются элементы с помощью ODE Solverов. Можно взять метод Эйлера, можно Рунге Кутты, но авторы не зассав запилили свой fused solver (Euler implicit + Euler explicit). На нем останавливаться не буду, так как подойдет любой словер, да и не понял я пока нихера как они к нему пришли (в статье, как обычно, "несложно увидеть"). Решаем мы ODE для получения следующего значения hidden state на каждом шагу. В ванильном Neural ODE мы считаем
(1) dx\dt = f(x(t), I(t), t, theta) ,
где f(.) - нейросеть, x(t) - hidden state, I(t) - входные данные, t - время, theta - параметры сети.
В Continuous time вариациях выглядит так:
(2) dx\dt = (-1/tau)*x(t) + f(x(t), I(t), t, theta),
т.е. добавляется член -x(t)/tau чтобы помочь системе прийти в равновесие при помощи константы времени tau.
Авторы LTC предлагают альтернативную формулировку:
Пусть у нас переходные процессы hidden state в сети определены как
(3) dx/dt = (-1/tau)*x(t) + S(t),
(4) S(t) = f(x(t), I(t), t, theta) * (A-x(t)), где все обозначения как прежде плюс некоторый параметр A.
Тогда подставляя уравнение 3 в 2 получаем:
(5) dx/dt = -(1/tau + f(x(t), I(t), t, theta) * x(t) + f(x(t), I(t), t, theta) * A
Теперь ВНИМАТЕЛЬНО:
Если рассмотреть уравнение 4 и сравнить с 2, то получается что жирным выделенная часть - это как коэфициент -(1/tau) в уравнении 2, а то что я подчеркнул - это по сути правая часть уравнения 2.
Таким образом, это все еще CT-RNN, но с наворотами. Авторы вводят понятие Liquid time-constant коэфициента, выделенного жирным (внимание, переворачиваем дробь, т.к. 1/tau):
tau_sys = tau / (1 + tau * f(x(t), I(t), t, theta))
То есть у нас выходит, что сама сеть, зависящая от входных данных и hidden state, меняет так же tau с течением времени, в отличии от CT-RNN, где tau - const. В этом самая мякотка и нововведение этой работы, поэтому они и обозвали Liquid time-constant.
Возникает закономерный вопрос, а как пришли к такой формулировке?
Потому что пацаны вдохновлялись нейродинамикой неспайковых нейронов (как у C. Elegans червя, как я понял). Подробнее они описывают это сравнение в предыдущей своей работе

Ну окей, сформулировали LTC Cell.
Помимо прочего, у нас есть еще три матрицы: проектор входов в hidden state, линейный слой для маски при переходе от одной LTC Cell к другой, проектор hidden state -> outputs.
Дальше мы на каждом шаге обработке последовательности интегрируем с помощью ODE Solver'a и делаем backprop. Это в наивной имплементации. В авторской - мы используем именно модель нейронов как описано тут.

Сразу вылазят традиционные недостатки:
1) Vanishing\exploding gradients
2) ODE Solver считать дорого
3) Количество шагов солвера и tau - еще одна боль в жопе гиперпараметры, которые придется подбирать.
4) Сам алгоритм солвера - тоже гиперпараметр.

FAQ:
Зачем это все?
1. Авторы утверждают, что LTC обладает большей выразительностью и компактностью. По моим экспериментам это действительно так, но из за этого страдает время вычисления и время сходимости.
2. Такие сети, в отличии от остальных аналогов, способны адаптироваться к шумному сигналу, domain shift, итп. А так же они лучше приспособлены к active learning.

А зачем ты это рассказываешь?
Потому что информации по этим сетям, как и годных имплементаций, почти нет. Любознательным надо быть, и вообще у меня саббатикал.

А референсная имплементация где?
Тут
И тут

А тетрадка где?
Скоро будет, почти доделал.

BY То шо нейросети


Share with your friend now:
tgoop.com/toshoseti/596

View MORE
Open in Telegram


Telegram News

Date: |

Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. bank east asia october 20 kowloon Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: Select “New Channel”
from us


Telegram То шо нейросети
FROM American