ZOH (Zero-order hold):Mamba의 discretization rule
본문 바로가기
AI 구현/머신러닝 & 딥러닝

ZOH (Zero-order hold):Mamba의 discretization rule

by NEWSUN* 2024. 10. 17.

아래 논문으로 Mamba architecture를 처음으로 공부하면서 맞닥뜨렸던 생소한 개념, ZOH에 대해 정리해보려고 합니다. State space model (SSM)과 마찬가지로, ZOH (Zero-order hold)도 제어 이론에 기반하여 적용된 기법입니다.

 

※ notation이 다소 정확하지 않을 수 있습니다.. 잘못된 부분이 있다면 언제든 댓글 남겨주세요.

 

 

[논문 정리] RawBMamba: End-to-End Bidirectional State Space Model for Audio Deepfake Detection

목차0. Summary1. Background2. Proposed method    2-1. Short-range feature representation    2-2. Bidirectional state space model3. Experiments    3-1. Dataset & Metrics    3-2. Analysis4. Memo  0. Summaryfake audio를 가려내는데 쓰이는 f

sunny-archive.tistory.com

 

RawMamba에서 다룬 ZOH

 

디지털 방식으로 구현된 제어기는 출력도 디지털이기 때문에 일정한 시간 간격에서만 사용할 수 있습니다. 하지만 제어하려는 시스템이 continuous-time 시스템이라면  연속적인 입력이 필요하기 때문에 discrete하게 계산되는 입력을 사용할 수 없다는 문제가 있습니다. ZOH (Zero-order hold)는 이를 해결하기 위한 기법으로, 다음 sampling period까지 입력 값을 일정하게 유지시킵니다

 

$$h^{'}(t) = Ah(t) + Bx(t)$$

 

입력 $x(t)$가 시간 $t=t_k$에서만 바뀌고, $t_k \leq t < t_{k+1}$ 사이에서는 일정한 값으로 유지된다고 가정해봅시다.

 

$$h(t)=h(t_k), \ \ t_k \leq t < t_{k+1}$$

 

여기서 $T=t_{k+1}-t_k$는 sampling period이고 $k$는 time step입니다. $h(t_k)$는 시간 $t=t_k$에서 $h(t)$값을 갖습니다. sampling period $t \in[t_k, t_{k+1})$에서 continuous-time 시스템의 해를 구하면 아래처럼 나타낼 수 있습니다.

 

$$\begin{aligned} h(t_{k+1})&=e^{AT}h(t_k)+\int^{t_{k+1}}_{t_k}e^{A(t_{k+1}-\tau)}B\ x(\tau) \ d\tau \\  &= e^{AT}h(t_k) + \int^{t_{k+1}}_{t_k}e^{A(t_{k+1}-\tau)}B\ d\tau \ x(\tau) \end{aligned}$$

 

$$\begin{align*} h(t_{k+1} ) &= e^{AT} h(t_k )+ \int_0^{t_{k+1}-t_k} e^{A(t_{k+1}-t_k-\lambda)} B \ d \lambda \ x(t_k ) \\ \\ &=e^{AT} h(t_k )+ \int_0^T e^{A(T-\lambda)} B \ d\lambda \ x(t_k ) \end{align*}$$

 

$$\begin{align*} h(t_{k+1} ) &= e^{AT} h(t_k )+ \int_T^0 e^{A \tau} B \ (-d \tau) \ x(t_k )\\ \\ &=e^{AT} h(t_k )+ \int_0^T e^{A\tau} B \ d\tau \ x(t_k ) \end{align*}$$

 

discrete-time system의 notation을 따르기 위해 아래와 같이 정의하여 discrete-time equivalent model을 설계합니다.

 

$$h_{k+1}=h(t_{k+1}),\ h_k=h(t_k) , \ x_k=x(t_k)$$

 

$$h_{k+1}=\bar{A}h_t + \bar{B}x_t$$

 

$A$의 역행렬이 존재한다는 가정 하에 풀면, 아래와 같이 discrete parameter를 얻을 수 있습니다.

 

$$\begin{align*} \bar{A} &=e^{AT}  \\ \\ \bar{B} &= \int_0^T e^{A\tau } B \ d \tau \\ &=A^{-1} \left[ e^{A\tau} \right]_0^T B \\ &=A^{-1} [e^{AT}-I] B \end{align*}$$