안녕하세요. 저번 논문에 이어서 이번에도 multi-modal learning에서 imbalance하게 학습이 되는 요인과 해결책을 제시하는 논문을 들고 왔습니다. 이전에 리뷰한 multimodal cooperation 논문 같은 경우와 비슷하면서도 다른 부분이 있으니 비교하는 재미도 있을 것 같습니다. 그럼 리뷰 시작하겠습니다.
<Introduction>
실제 real-world에서는 여러 문제가 multi-modal로 구성된 경우가 많습니다. 이 때문에 사용가능한 모든 input modality에서 학습 할 수 있도록 DNN을 end-to-end로 학습하는 방식에 대해서 많은 연구자가 관심을 갖고 연구를 하고 있습니다.(저도 마찬가지구요ㅎㅎ) 이러한 학습 체제를 multi-modal learning process라고 하며 이를 통해 생성된 DNN을 multi-modal DNN이라 합니다.
그런데 다양한 연구에서 multimodal DNN이 여러 작업에서 기대한만큼의 성능을 내지 못한다고 결과가 나오고 있는데 그 예로 가장 유명한 분야가 VQA가 있습니다. VQA에서는 이미지와 텍스트가 input으로 들어가는데, vision modality를 무시하고 학습되면서 질문과 답변 텍스트 사이의 통계적 규칙성만을 이용하여 일반화 성능이 낮아진 사례를 쉽게 찾아볼 수 있습니다. Human Action Recognition 분야도 마찬가지로 image와 audio를 사용하는데, image만 사용한 DNN 보다 성능이 떨어진 사례가 있으며, 본 논문에서 말하길, multimodal classifier 뿐만 아니라 multimodal pretrained 모델에서도 modality간 imblance가 확인되었다고 합니다.
그래서 본 논문에서는 conditional utilization rate를 통해서 multi-modal DNN이 모든 modality를 활용하고 있는지를 확인하고자 하였습니다. 방법론에서 자세히 설명할 것이지만 두개의 modality $m_0, m_1$가 들어온다고 가정해봅시다. $u(m_1|m_0)$은 $m_0, m_1$가 입력으로 들어오는 상황에서 conditional utilization rate를 측정한 것입니다. $m_0$가 주어진 상태에서 $m_1$을 사용하는 것이 얼마나 중요한지에 대해서 측정합니다. 본 논문에서는 손 제스처 인식 모델에서 RGB와 Depth modality를 사용할 때를 예시를 들었는데, $u(depth|RGB)=0.63,u(RGB|depth)=0.01$ 로 RGB가 주어졌을 때 Depth 모달리티를 추가했을 때의 conditional utilization rate와 Depth가 주어졌을 때 RGB modality를 추가 했을 때의 값이 상당히 차이나는 것을 볼 수 있습니다. 이 예시를 통해서 Depth modality를 모델이 의존적으로 사용하고 있음을 알 수 있습니다.
논문 저자들은 이러한 것을 바탕으로 실제로 multi-modality 모델이 한 모달리티에 의존하는 것을 파악하였고 이러한 현상때문에 좋은 성능을 보이지 못한다는 것 또한 파악하였습니다. 이러한 문제를 해결하기 위해서 본 논문에서는 학습 중에 modaltiy간 conditional learning speed를 균형잡는 알고리즘을 제안하고 이것이 실제로 잘 워킹한다는 것을 여러 데이터셋을 통해 실험적으로 증명하였습니다.
<Method>
<2.Promblem Setup>
본 논문에서는 2개의 modality input인 $m_0, m_1$가 오는 경우에 대해서 고려합니다. 먼저 multimodal dataset을 $\mathcal{D}$로 정의합니다. 이 데이터셋은 multiple instances $(x,y)$로 구성되어 있으며, $x=(x_{m_o},x_{m_1})$는 이와 같이 주어집니다. 본 논문에서는 데이터셋을 training, validation, test set으로 나누었고 $\mathcal{D^{train}}, \mathcal{D^{val}}, \mathcal{D^{test}}$로 표시하였습니다. 이 데이터셋을 사용하여 $x$로부터 $y$를 정확하게 예측하는 모델을 학습하는 것이 본 논문에서 목표하는 바입니다.
본 논문에서는 두개의 uni-modal branch로 구성된 multimodal DNN을 사용합니다. input으로 $x_{m_0}$가 들어가는 branch를 $\phi_0$, $x_{m_1}$가 input으로 들어가는 branch를 $\phi_1$라고 지칭하겠습니다. 두개의 branch는 layer-wise fusion 모듈을 이용하여 서로 연결됩니다.
구체적으로 말씀드리면, 본 논문에서는 각 fusion module을 multi-modal transfer module(MMTM)을 이용하여 구현하였다고 합니다. MMTM을 통해 한 uni-modal branch에서 다른 uni-modal branch로 연결할 수 있습니다. 먼저, 두개의 layer에서 나온 feature map은 다음과 표현합니다. $A_0 \in \mathbb{R}^{N_1 \times \cdot \cdot \cdot \times{N_L}\times{C}}$, $A_1 \in \mathbb{R}^{M_1 \times \cdot \cdot \cdot \times{M_L}\times{C’}}$ 여기서, $N_i, M_i$은 각 feature map의 spatial dimension을 표현합니다. $C, C’$은 feature map의 수를 나타냅니다. 각 feature map의 spatial dimension에 대해서 global average pooling을 수행하여 두 벡터 $h_0 \in \mathbb{R}^C, h_1 \in \mathbb{R}^{C’}$를 얻습니다. 이 두 백터에 다음과 같이 MMTM을 적용합니다.
여기서 $[\cdot, \cdot]$는 concatenation 연산을 의미하며, $w_0 \in \mathbb{R}^C, w_1 \in \mathbb{R}^{C’}$입니다. 함수 $g$는 FC-RELU-FC-FC로 구성된 layer라고 합니다.
그런 다음, feature map ($A_0, A_1$)을 activations ($w_0, w_1)$를 이용하여 아래와 같이 re-sacle 합니다
여기서 $\odot$은 channel-wise product를 의미하고, $\sigma(\cdot)$은 sigmoid 함수입니다.
이렇게 scaling된 feature map $\tilde{A}_0, \tilde{A}_1$를 $\phi_0, \phi_1$의 다음 layer에 입력합니다. 따라서 한 modality의 information은 한 uni-modal branch에서 다른 branch로 공유됩니다.
이 다음에는 $\mathcal{D}^{train}$에서 multi-modal DNN $f$를 학습시킵니다. input $x = (x_{m_0}, x_{m_1})$에 대해서 $f$의 prediction은 $\hat{y}$은 다음과 같이 구할 수 있습니다.
Figure 1에소 볼 수 있듯이, $\hat{y_0},\hat{y_1}$는 각 branch의 output이고 $\hat{y}=\frac{1}{2}(\hat{y_0} + \hat{y_1})$를 구할 수 있습니다.
학습하는 동안, $f$의 parameter는 SGD를 이용해 loss를 최소화하는 방향으로 업데이트 됩니다
여기서 $CE$는 cross-entropy를 의미합니다.
<3. The Greedy Learner Hypothesis>
위에서 본 논문에서는 fusion을 어떻게 수행하고, 어떻게 학습하는지에 대해서 간단히 설명했습니다. 이 섹션에서는 modality imbalance를 정량화하기 위해 conditional utilization rate를 도출하고, multi-modal DNN 학습에서 관찰된 문제를 설명하기 위해 greedy learner hypothesis를 소개합니다.
<3.1 Conditional Utilization Rate>
Figure 1에 보이는 multi-modal DNN에서 각 uni-modal branch는 주로 관련 input modality에 집중하고, fusion modoule은 모든 modality를 사용하여 context information을 생성하고 이 Inforamtion을 uni-modal branch에 입력합니다. $\hat{y_0},\hat{y_1}$는 모두 두 modality information에 의존하며, $f_0, f_1$은 $f$에서 파생됩니다.
$\mathcal{D}^{train}=\{ x^i \}^n_{i=1}$이며, $h_0(x^i), h_1(x^i)$는 $x^i$가 입력으로 들어왔을 때 $h_0, h_1$의 값을 의비합니다. $\mathcal{D}^{train}$에 대해서 $h_0, h_1$의 average를 계산하면 다음과 같이 표시됩니다.
각 modality에 대한 $f$의 의존도를 독립적으로 추정하기 위해, 논문의 저자는 식[1]을 다음과 같이 수정하였습니다.
multi-modal DNN의 모든 fusion module에서 식[7]을 통해 uni-modal branch 간의 정보 공유를 차단하고 각 branch의 output이 uni-modal에서만 의존하도록 합니다. 먼저, $f’_0, f’_1$를 도출하고 그 output을 $\hat{y’}_0, \hat{y’}_1$로 나타냅니다.
요약하자면, 다음과 같습니다. 먼저, $f$로부터 4가지 모델을 도출합니다. 그리고 $\mathcal{D}^{test}$에서 각각 정확도를 구합니다. 이를 $A(\cdot)$이라 표현하겠습니다. 그러면 정확도가 4개가 나오겠죠? 이 4가지 정확도를 두 쌍으로 $(A(f_0), A(f’_0)), (A(f_1), A(f’_1))$로 그룹화 합니다.
본 논문에서는 conditional utilization rate를 다음과 같이 정의합니다.
[Definition (conditonal utilization rate)]
multimodal DNN, $f$에 대해서 두개의 modality $m_0, m_1$이 input으로 들어올 때, $m_0, m_1$에 대한 conditional utilization rate는 식[9], 식[10]와 같이 구할 수 있습니다.
conditional utilization rate는 각 pair 내에서 두 모델 간의 정확도 변화율을 나타냅니다. 예를 들어서, $u(m_0|m_1)$은 $m_0$가 $\hat{y}_1$의 정확도를 높이는데 기여하는 marginal contribution을 나타냅니다. (marginal contribution이라는 용어 뭔~가 익숙하지 않으신가요? 통계에서 자주 쓰이는 용어인것 같습니다. 제 이전 리뷰를 보시면 다른 논문에서는 어떻게 marginal contribution을 쓰였는지 볼 수 있는데 참고하셔도 좋을 것 같습니다)
conditional utilization rate의 차이를 $d_{util}(f)=u(m_1|m_1) – u(m_0|m_1)$로 표현합니다. -1에서 1 사이의 값을 가지고 있으며, $d_{util}(f)$이 1 혹은 -1에 가까울 때는 모델이 하나의 modality에 의존한다는 것을 의미합니다. 이는 모델의 $\hat{y}_0, \hat{y}1$을 예측할 때 두 modality 중 하나에 치중해서 예측한다는 것을 의미합니다. 그래서 $|d{util}(f)|$가 높으면 $f$가 두 modality를 사용할 때 imbalance가 있다고 말할 수 있습니다.
<3.2 Multi-modal Learning Process is Greedy>
논문 저자는 다음과 같은 과정과 기존 연구에서 관찰된 내용을 바탕으로 한 가지 가설을 제안합니다.
첫 번째, 대부분의 multi-modal learning task에서 두 modality가 모두 target을 예측하는데 중요한 정보라고 전제합니다. 이는 $I(Y, X_{m_0})>0, I(Y, X_{m_1})>0$으로 표현할 수 있는데, 여기서 $I$는 mutual information(상호 정보)를 나타냅니다. modality 별 loss 중 하나(예를 들어서 $CE(y, \hat{y}_0)$)를 최소화하기 위해 $m_0$를 입력으로 사용하는 uni-modality branch의 parameter를 업데이트 하거나 $m_1$ modality에서 $\hat{y}_0$으로 정보가 전달되는 fusion layer의 parameter를 업데이트하거나 둘 다 업데이트 할 수 있습니다.
두 번째, 많은 task에서 볼 수 있듯이, 서로 다른 modality가 서로 다른 수준으로 target을 에측한다고 알려져있습니다. 예를 들어서, 각 modality에 대해 DNN을 개별적으로 학습했을 때 동일한 수준의 성능에 도달하지 못하는 것은 많이 관찰된 사실입니다. 세 번째, DNN은 서로 다른 속도로 서로 다른 modality로부터 학습합니다. 이는 uni-modal DNN과 multi-modal DNN 모두에서 관찰되었습니다.
이제 multi-modal DNN의 행동을 설명하기 위해서 본 논문에서는 다음과 같이 greedy learner hypothesis를 공식화합니다.
⇒ 위의 내용을 정리하면 다음과 같습니다. 먼저 여기서 multimodal learning process는 여러 종류의 input data를 이용해 DNN을 학습시키는 과정을 말합니다. 여기서 Greedy Nature하다는 것은 DNN이 주어진 여러 input 형태 중에 하나에만 의존하여 다른 형태를 충분히 학습하지 않는 것을 의미합니다. 이를 single modality dependence라고 하는데 모델이 특정 input 형태에만 의존하는데, 이는 모델이 이 형태에서 가장 빠르게 학습하기 대문입니다. 그래서 각 input 형태에 대한 loss 함수를 따로 정의하여 이를 최소화하는 방식으로 모델을 학습시키면, 모델이 한가지 input 형태에만 의존하게 되는 ‘greedy’ 성향이 나타나게 됩니다.
multi-modal learning process에서 greediness를 특성화하려면 이를 여러 번 반복해야 합니다. 매번 주어진 범위에서 learning rate를 샘플링하고 network의 parameter를 임의로 초기화합니다. $\mathbb{E}[\hat{d}{util}]$은 여러 번의 반복을 통해 얻은 모델들에 대해 $\hat{d}{util}$의 기대값을 의미합니다. $|\mathbb{E}[\hat{d}_{util}]|$의 절대값이 클수록 학습 과정이 더 greedy하다는 것을 의미합니다.
<4. Making Multi-modal Learning Less Greedy>
본 논문의 저자는 multi-modal DNN이 각 modality에 의존하는 속도를 제어함으로써 multi-modal learning을 덜 greedy하게 만들고자 하였습니다. 이를 위해서, 먼저 conditional learning speed를 정의하여 DNN이 한 modality로부터 학습하는 속도를 측정합니다. 논문의 저자는 이를 기반으로 모델이 학습 중에 나타나는 modality간 conditional learning speed의 차이를 제어하는 balanced한 multimodal learning 알고리즘을 제안합니다.
<4.1 Conditional Learning Speed>
앞에서 설명한 바와 같이, conditional utilization rate의 imbalance는 모델이 cross-moda information은 무시하고 target과 input modality 중 하나만 활용하고 있다는 신호라고 볼 수 있습니다. 그러나 conditional utilization rate는 학습이 완료된 후 측정되도록 디자인되어있기 때문에 실시간으로 학습을 모니터링하는데 최적화된 도구는 아닙니다. 그래서 논문의 저자는 학습 중에 modality 간 상대적인 학습 속도를 포착하는 conditional learning speed라는 metric을 제안합니다.
자, 우선 위에 대한 것을 설명하기 전에 먼저 multi-modal DNN을 다시 살펴보고자 합니다. uni-modal branch $\phi_0, \phi_1$의 paramter $\theta_0, \theta_1$가 있습니다. 이러한 파라미터를 이용하여 fusion module을 이용하는데 fusion module에서 x를 $\hat{y}_0$으로 매핑하는데 기여하는 파라미터를 $\theta’_0,\theta’_1$라고 표현합니다. 그런 다음 모델의 parameter를 두개의 pair $(\theta_0, \theta’_0), (\theta_1, \theta’_1)$로 나눕니다.
논문의 저자는 위의 내용을 바탕으로 모델의 conditional leanring speed를 다음과 같이 정의하였습니다.
[Definition (conditonal learning rate)]
multi-modal DNN, $f$가 두개의 input modalities $m_0, m_1$이 주어졌을 때 training step $t$에 대한 contional learning speed는 식[11], 식[12]($s(m_1|m_0;t), s(m_0|m_1;t)$)와 같이 정의됩니다.
어느 파라미터 $\theta$에 대해서 $\theta_{(i-1)}, \theta_{(i)}$는 gradient descept step $t$의 전 값과 후의 값을 의미합니다. $G=\frac{\partial{L}}{\partial{\theta}}|{\theta{(i-1)}}$는 loss L을 $\theta$에 대해 편미분한 값으로, $\theta_{(i-1)}$에서의 기울기를 의미합니다. $\mu(\theta; i) = ||G||^2_2 /\ ||\theta_{(i)}||^2_2$는 $i$번째 step에서 parameter $\theta$의 효과적인 업데이트 양을 측정하는 지표를 의미합니다.
논문의 저자는 $\mu(\theta; i)$의 정의를 효율적인 parameter의 update에서 영감을 받았다고 합니다. 예를 들어서 batch normalization과 같은 noramtalization 기술을 DNN에 적용하여 사용할 때, weight vector $\theta$의 key property는 방향, 즉, $\theta /\ ||\theta||^2_2$. 따라서 본 논문에서는 $\theta$의 업데이트를 gradient의 norm을 이용하여 수행합니다.
conditional learning speed, $s(m_1|m_0;t)$는 $\theta’_0, \theta’_1$의 learning speed 사이의 log-ratio 입니다. $\theta’_0$은 $m_1$에서 $\hat{y}_0$로 정보를 전달하고, $\theta_0$에 의해 $m_0$에서 $\hat{y}_0$으로 정보를 전달하므로, $s(m_1|m_0;t)$는 모델이 첫 $t$ step 이후 $m_0$에 비해 $m_1$에서 얼마나 빨리 학습하는지를 반영합니다.
$s(m_0|m_1;t)$과 $s(m_1|m_0;t)$의 차이를 다음과 같이 계산할 수 잇습니다. $d_{speed}(f;t)=s(m_1|m_0;t)-s(m_0|m_1;t)$. 각 모델에 대해서, 모델이 $\mathcal{D}^{val}$에서 가장 높은 정확도에 도달할 때까지 $T$ 단계를 거치는 $d_{speed}(f;T)$를 나타냅니다.
<4.2 Balanced Multi-modal Learning>
$d_{speed}(f,t)$가 modality 간의 imbalanced한 utilization을 예측한다고 가정하므로, 이를 활용하여 contional utilization rate의 balance를 즉석에서 맞출 수 있습니다. 두 가지 modality를 모두 사용하여 네트워크를 정상적으로 학습하는 것 외에도, 두 modality를 번갈아 학습하도록 모델을 가속화하여 conditional learning speed의 balance를 맞출 수 있습니다.
이는 Algorithm 1을 참고하면 확인할 수 있습니다.
<5.Experiments and Results>
<5.1 Datasets>
본 논문에서 사용한 데이터셋에 대해서 간략하게 설명드리고자 합니다.
- Colored-and-gray-MNIST
- MNIST 데이터셋 기반의 합성 데이터셋으로, 각 예제는 gray image와 rgb image로 구성되어 있습니다.
- 숫자에 대해서 분류를 수행합니다.
- ModelNet40
- 40 카테고리고 구성된 3D object detection 데이터셋 으로, Princetion ModelNet 시리즈의 일부라고 합니다.
- 3D object를 정면과 후면의 2D view를 기반으로 분류를 수행합니다.
- NVGesture
- NVIDIA Dynamic Hand Gesture Dataset으로, 25개의 class로 구성되어 있습니다.
- modality는 depth와 RGB로 구성되어 있습니다.
<5.2 Validating the Greedy Learner Hypothesis>
이 파트에서는 mult-modal을 학습하는 모델이 결국 하나의 주요 modality에만 의존하게 된다는 것을 확인하고자 합니다. 본 논문에서는 multimodal learning 과정에서 모델의 conditional utilization rate의 비대칭성을 관찰함으로써 이를 증명하고자 하였습니다.
먼저 실험 설정은 서로 다른 input modality를 중복하여 독립적으로 학습시킵니다. 이를 통해서 관찰된 현상은 다음과 같습니다. 먼저 다수의 모델에서 높은 $|\hat{d}_{util}|$값을 확인했습니다. 이는 multi-modal 모델이 한 modality에 치중하여 학습함을 의미합니다. 그렇다면 input modality가 같은 경우에는 어떨까요? $\hat{d}_{util}$가 대칭적으로 분포하는 것을 확인하였습니다. Colored-and-gray-MNIST의 경우, 0.3, ModelNET40의 경우, 0.1, NVGesture의 경우, 0.4를 보였는데 이는 모델이 균형적으로 modality를 참고하여 학습했다는 것을 의미합니다. 또한, conditional learning speed에서도 유사한 분포를 보이는 것을 확인하였다고 합니다. Figure 2를 통해서 이를 확인할 수 있으니 참고하시면 좋을 것 같습니다.
<5.3 Balanced Multi-modal Learning>
Table 1을 통해서 본 논문에서 제안한 방법론을 적용했을 때와 하지 않았을 때의 성능 차이를 확인할 수 있습니다. 여기서 RUBi 방법론의 경우 VQA에서 제안된 방법론으로 굉장히 나이브하게 multimodal imbalance를 해결하고자 한 방법론입니다. 정말 간단히 설명드리면 VQ 모델에 Q 모델의 값을 제거함으로써 성능을 올리는 것인데 2019년도 정도에 나온 논문이라 굉장히 직관적이면서도 쉽게 성능을 올린 방법론입니다. 본 논문에서는 여기에 추가하여 제안한 방법론을 모두 추가했을 때 높은 성능을 달성하는 것을 통해 제안한 방법론이 효과적임을 보였습니다. (근데 조금 놀라운점은 Colored-and-gray-MNIST에서 uni-modal best가 99% 성능을 보이는데 이런 성능이 나올 수 있는지 놀랍네요. 이것 말고는 나머지 데이터셋에서는 멀티모달 성능이 높아진 것을 통해 방법론이 좋다는 것을 어필할 수 있을 것 같습니다)
논문 작업을 하면서 여러 논문을 서베이하니 계속해서 읽을 논문들이 끊임없이 나오는 것 같습니다. 저번에 리뷰한 CVPR 2024 논문과 비교하며 읽어도 재밌을 것 같습니다. 리뷰 읽어주셔서 감사합니다.
안녕하세요 주연님 리뷰 감사합니다.
1. Conditional Learning Speed 부분에서 질문이 있습니다. 제가 이 부분을 제대로 이해한건지 모르겠는데 결론적으로 gradient descept step t의 전 값과 후 값의 비교를 통해 업데이트 양이 적을 수록 Learning Speed가 빠르다는 것을 의미하나요?
2. 그리고 ‘논문의 저자는 μ(θ;i)𝜇(𝜃;𝑖)의 정의를 효율적인 parameter의 update에서 영감을 받았다고 합니다 ~ 따라서 본 논문에서는 θ의 업데이트를 gradient의 norm을 이용하여 수행합니다.’ 이 부분에서 말하고자 하는 것이 무엇인지 궁금합니다.
3. g 함수를 FC-RELU-FC-FC로 구성한 이유에 대해서 아는게 있으신지 궁금합니다.
감사합니다.
안녕하세요. 댓글 감사합니다.
1. ‘gradient descept step t의 전 값과 후 값의 비교를 통해 업데이트 양이 적을 수록 Learning Speed가 빠르다는 것을 의미하나요’ -> 저는 오히려 반대라고 생각했습니다. gradient descept step t의 전 값과 후 값의 차이가 크면 그만큼 업데이하는 graident 정도가 큰 것이고 그러면 적은 gradient를 가지는 모달리티에 비해서더 빠르게 학습된다고 생각됩니다.
2. ‘논문의 저자는 μ(θ;i)𝜇(𝜃;𝑖)의 정의를 효율적인 parameter의 update에서 영감을 받았다고 합니다 ~ 따라서 본 논문에서는 θ의 업데이트를 gradient의 norm을 이용하여 수행합니다.’ 이 부분에서 말하고자 하는 것이 무엇인지 궁금합니다. -> 이 부분은 batch norm에서 적용한 식 부분을 보면 조금 더 감이 오실것 같은데 key property로 gradient norm으로 나눠주는 것을 확인할 수 있습니다. 논문의 저자는 이러한 부분에서 insight를 얻어서 식을 설계했다는 것으로 이해할 수 있습니다.
3. g 함수 구성 관련하여서는 논문에 나온 따로 나온 바는 없습니다.
감사합니다.
안녕하세요 김주연 연구원님.
좋은 리뷰 감사합니다.
MMTM에 대해 궁금한 점이 있는데요, 먼저 레이어의 Feature map을 GAP하여 concat하는 의미가 무엇인지 궁금합니다.
그리고 수식 1에서 조금 헷갈리는 부분이 있는데 h0, h1를 구하기 위한 feature map A0, A1은 각각 서로 다른 branch의 동일 depth에 해당하는 레이어를 의미하는 것인가요? 그리고 [h0, h1]를 concat한 값을 FC-RELU-FC-FC로 구성된 g함수의 입력으로 넣어주는데 output이 어떻게 w0, w1로 구성되는지 궁금합니다.
안녕하세요. 댓글 감사합니다.
먼저 feature map을 GAP 했다는 것은 global average pooling을 통해 pooling한 feature가 나오면 이를 concat 했다고 이해하시면 되겠습니다.
2. 네 맞습니다. A0 -> h0, A1 -> h1 이라 이해하시면 편하실것 같습니다.
3. 저도 이 부분이 조금 헷갈렸는데, g 함수와 동일한 구성의 layer를 동시에 적용해서 나온 output이 w0, w1이 아닐까 생각이 듭니다.
감사합니다.