[{"content":"TL;DR Deep Delta Learning은 $\\beta$ gate에 의해 3가지 연산으로 residual connection을 강화했습니다.\n$\\beta \\rightarrow 0$의 경우 layer를 통과한 값을 무시하고 입력을 출력으로 그대로 보내며 (identity)\n$\\beta \\rightarrow 1$일 때에는 $k$에 따라 원본 값을 삭제하고, $v$값을 해당 부분에 합하게 됩니다. 이때 $v$는 mlp와 같이 해당 block에서 연산하는 연산계층을 의미합니다.\n$\\beta \\rightarrow 2$일때에는 $k$에 따라 원본 값을 반사시키고, 해당 위치를 $2v$ 만큼 변화한 값을 더해줍니다.\n이를 통해 기존 ResBlock에서는 할수 없었던 기하학적 변환을 일반화하고 재정렬하는 능력을 갖출수 있습니다.\nPaper: Deep Delta Learning Code: https://github.com/yifanzhang-pro/deep-delta-learning Paper from ArXiv_2026 🔁 Limmitation of Residual Connection Residual Connection은 identity를 지속적으로 유지하여 깊은 네트워크에서도 안정적으로 학습이 가능하게 만든 방법 중 하나입니다.\n그러나 다음과 같은 한계점이 존재합니다:\n지속적인 shortcut connection은 inductive bias를 불러옴 (불필요한 정보도 계속해서 누적) 고정된 경로 및 연산 때문에 representation이 제한적 최근 이러한 한계를 보완하기 위해 유연한 방법론들이 제안되고 있습니다.\ne.g., Unlocking state-tracking in linear rnns through negative eigenvalues. Deep Delta Learning(DDL)은 이같은 한계를 보완하기 위한 방법 중 하나로 다음을 제안하였습니다.\nDelta Residual Block Delta Operator 𝜟 The Delta Residual Block 표준 ResNet은 $X_{l+1}=X_l+F(X_l)$으로 작동하지만, DDL은 Delta Operator($A(X)$)를 사용합니다. 가장 핵심인 Delta Residual(Delta-Res) block은 다음과 같이 정의됩니다.\n$$ X_{l+1}=A(X_l)X_l+\\beta(X_l)k(X_l) v(X_l)^{\\sf T} $$ hidden state $\\text{X} \\in \\mathbb{R}^{d\\times d_v}$ 일때, ($d$는 벡터의 크기, $d_v$는 병렬적인 값의 크기, 즉 attention head 수 정도로 이해하시면 됩니다.) $v \\in \\mathbb{R}^{d_v}$, $k \\in \\mathbb{R}^{d}$, $\\beta \\in \\mathbb{R}$의 크기를 가집니다.\n여기서 $A(X)$는 상태 $X$의 feature 차원에 작용하는 변환 행렬로 다음과 같이 정의됩니다.\n$$ A(X)=I-\\beta(X)\\frac{k(X)k(X)^{\\sf T}}{k(X)^{\\sf T}k(X)+\\epsilon} $$ $A(X)$는 기존 ResNet의 표준적인 덧셈 연산을 Householder reflection을 일반화한 수식으로 대체한 것입니다.\n해당 수식에서 $k(X)$는 단위벡터이기 때문에 $k(X)$의 내적인 $k(X)^{\\sf T}k(X)=1$이 됩니다. $\\epsilon\\rightarrow0$이므로, 해당 수식을 간소화 하면 다음과 같습니다.\n$$ A(X)=I-\\beta(X)k(X)k(X)^{\\sf T} $$ 해당 수식을 $X_{l+1}$에 대입하면 다음과 같이 rank-1 Delta form으로 정리할 수 있습니다.\n$$ X_{l+1}=X_l+\\beta(X_l)k(X_l)\\bigg( v(X_l)^{\\sf T} - k(X_l)^{\\sf T}X_l \\bigg) $$ 해당 수식을 통해 알 수 있는것은 결국 $\\beta$에 따라 각 $k^{\\sf T}X$와 $v^{\\sf T}$에 대한 gate역할을 할 수 있다는 것입니다. 예를 들어 $\\beta=0$ 인경우 $X_{l+1}=X_l$로 항등식이 됩니다. (layer를 건너뛰게 됩니다.)\n각각의 component를 간단히 소개하자면 다음과 같습니다.\n$k(X)\\in\\mathbb{R}^d$ (Direction): 선택적으로 값을 수정하기위한 방향 (쉽게 말해 어떤 부분을 수정할 것인지 고르는 역할) $\\beta(X)\\in\\mathbb{R}$ (Gate): 얼마나 강하게 수정할 것인지, 어떤식으로 수정할 것인지를 고르는 역할 (지우고 새로쓸지, 반전시킬지, 그대로 납둘지) $v(X)\\in\\mathbb{R}^{d_{v}}$ (Value): 무엇을 쓸것인지에 대한 값, 해당 layer에서 생성된 특징 값을 의미 (attention, ffn 등) 수식이 복잡한데, 실제 작동방식을 정리해보겠습니다.\n🤔 Unification of Geometric Operations $\\beta$ 는 [0, 2] 사이의 값을 가지는 learable gate입니다. 다음과 같은 수식을 통해 값을 산출합니다.\n$$ \\beta (X)=2\\cdot\\sigma(\\text{Linear}(\\mathcal{G}(X))) $$ $\\mathcal{G}$는 pooling, convolution등의 flatten operation입니다. 즉 값을 압축해서 하나의 scalar를 만들고, 2 ⨉ sigmoid를 통해 0~2사이의 값으로 만듭니다. $\\beta$가 0, 1, 2에 각각 가까울때, Delta Residual block은 단순한 덧셈 연산이 아닌 다양한 operation으로 변화하게 됩니다.\nIdentity Mapping ($\\beta(X)\\rightarrow 0$) $\\beta \\rightarrow 0$일경우, 방금 설명과 같이 $X_{l+1} \\approx X_l$이 됩니다. 즉 입력과 출력이 같은 항등식이 되며, 해당 layer를 skip하고 원본 신호를 보존합니다.\nOrthogonal Proejction ($\\beta(X)\\rightarrow1$) $\\beta \\rightarrow 1$일 경우, $A(X)\\approx I-k(X)k(X)^{\\sf T}$가 됩니다.\n이때 $k(X)$에 대한 eigenvalue(고윳값)은 0이됩니다.\n고윳값? : 행렬 $A$에 벡터 $k$를 곱했을때, $\\lambda k$가 된다면 ($\\lambda$는 scalar로, 즉 $Ak$는 $k$의 $\\lambda$배가 되는겁니다.) 정리 및 증명 $A(X)$에 $k$를 곱했을때 값을 정리해보면 다음과 같습니다. $$ A(X)k(X)=(I-\\beta(X)k(X)k(X)^{\\sf T})k(X) $$ $$ A(X)k(X)=k(X)-\\beta k(X)(k(X)^{\\sf T}k(X)) $$ $$ A(X)k(X)=(1-\\beta(X)) k(X) $$ 이때 $\\beta$는 scalar이므로 해당 수식의 $k(X)$에 대한 eigenvalue는 $1-\\beta$이고 $\\beta\\approx 1$일때 eigenvalue가 0에 가까워지고, $k$ 방향의 정보가 0이되는 singular matrix(특이 행렬)라는 것입니다.\n간단히 말해 $A(X)=X-k(X)k(X)^{\\sf T}$는 $X$에서 $k(X)k(X)^{\\sf T}$를 빼어냈기 때문에 $A(X)$의 결과는 $k$ 방향의 성분이 0이 됩니다.\n전체 수식을 보면 $A(X)$는 정보를 지우는 부분을 담당하고, $v$는 정보를 추가하는 부분을 담당하게 됩니다.\n$$ X_{l+1}=\\underbrace{(I-k(X)k(X)^{\\sf T})X_l}_{\\text{Erasure}}+1\\cdot \\underbrace{k(X) v(X)^{\\sf T}}_{\\text{Write}} $$ 여기서 $k$에 의해 지워진 부분을 $v$로 연산된 값으로 채우게 됩니다. $v(X)$는 다양한 연산자에 대응되므로 (MLP 등)\n해석하자면 입력에서 $k$ 벡터를 통해 쓸모 없는 위치의 값은 지우고, 연산된 값으로 업데이트하며, 나머지 부분들은 입력을 동일하게 가져갑니다. 즉 정말 필요한 부분은 선택적으로 남기고, 연산을 통해 보정해야 할 부분만 보정하는 것입니다.\n다만 실제로 $\\beta=1$에 정확히 맞아야 완전히 값을 지우는것이고, $\\beta \\rightarrow 1$ 일때에서는 $k$ 방향을 지운다 라고 표현할 수 있습니다.\n이때 $v$는 $X\\in\\mathbb{R}^{d\\times d_v}$에서 $d_v$로 projection합니다. 그렇다는 것은 모든 $d$차원에 대해 $k$와 수직인 값들만 보존되고, 각 head별 $v(X)$의 값대로 특징맵이 수정되게 됩니다.\n\u0026ndash;\u0026gt; $k$차원과 $v$차원에 대한 1-rank 연산을 통해 수정할 부분, 남길부분 등을 결정하고 연산하는 것입니다.\ne.g., $k=\\begin{bmatrix} 1\\\\\\\\0 \\end{bmatrix}$, $X=\\begin{bmatrix}2\\\\\\\\3\\end{bmatrix}$ 일때 $\\beta=1$일 경우 ($k$는 단위 벡터)\n$$ A(X) = \\begin{bmatrix} 1 \u0026 0 \\\\ 0 \u0026 1 \\end{bmatrix} - 1 \\begin{bmatrix} 1 \u0026 0 \\\\ 0 \u0026 0 \\end{bmatrix} = \\begin{bmatrix} 0 \u0026 0 \\\\ 0 \u0026 1 \\end{bmatrix} $$ 즉 $A(X)X$의 결과는\n$$ A(X)X = \\begin{bmatrix} 0 \u0026 0 \\\\ 0 \u0026 1 \\end{bmatrix} \\begin{bmatrix} 2 \\\\ 3 \\end{bmatrix} = \\begin{bmatrix} 0 \\\\ 3 \\end{bmatrix} $$ Full reflection ($\\beta(X) \\rightarrow 2$) $\\beta \\rightarrow 2$ 일 때, $A(X)=I-2k(X)k(X)^{\\sf T}$가 됩니다. 즉 이번에는 고윳값 $1-\\beta=-1$이 됩니다.\n위의 수식과 마찬가지로 풀어보자면 $k$ 방향에 대한 값이 크기는 같고 방향이 반대(-1)이 됩니다.\n$$ X_{l+1}=\\underbrace{(I-2k(X)k(X)^{\\sf T})X_l}_{\\text{Reflection}}+2\\cdot \\underbrace{k(X) v(X)^{\\sf T}}_{\\text{Write}} $$ e.g., $k=\\begin{bmatrix} 1\\\\\\\\0 \\end{bmatrix}$, $X=\\begin{bmatrix}2\\\\\\\\3\\end{bmatrix}$ 일때 $\\beta=2$일 경우 ($k$는 단위 벡터)\nDelta operator $A(X)$ 연산 $$ A(X)=I-2k(X)k(X)^{\\top}=\\begin{bmatrix} 1 \u0026 0 \\\\ 0 \u0026 1 \\end{bmatrix} - 2 \\begin{bmatrix} 1 \u0026 0 \\\\ 0 \u0026 0 \\end{bmatrix} = \\begin{bmatrix} -1 \u0026 0 \\\\ 0 \u0026 1 \\end{bmatrix} $$ 즉 $A(X)X$의 결과는\n$$ A(X)X= \\begin{bmatrix} -1 \u0026 0 \\\\ 0 \u0026 1 \\end{bmatrix} \\begin{bmatrix} 2 \\\\ 3 \\end{bmatrix} = \\begin{bmatrix} -2 \\\\ 3 \\end{bmatrix} $$ 결론적으로 $k$ 방향에 대한 성분 2가 -2로 반사된 것을 확인할 수 있습니다.\n$\\beta \\rightarrow 1$과 마찬가지로 $2k(X)v(X)^{\\top}$은 반사된 값에 대해 보정합니다.\n추가로 Appendix에서는 Transformer 기반 모델에서 사용할때 구현 방법에 대한 설계방법이 정리되어 있습니다.\n","permalink":"https://diggingpapers.github.io/posts/architecture_optimization/ddl/","summary":"Deep Delta Learning은 $\\beta$ gate에 의해 3가지 연산으로 residual connection을 강화했습니다. $\\beta \\rightarrow 0$의 경우 layer를 통과한 값을 무시하고 입력을 출력으로 그대로 보내며 (identity) $\\beta \\rightarrow 1$일 때에는 $k$에 따라 원본 값을 삭제하고, $v$값을 해당 부분에 합하게 됩니다. 이때 $v$는 mlp와 같이 해당 block에서 연산하는 연산계층을 의미합니다. $\\beta \\rightarrow 2$일때에는 $k$에 따라 원본 값을 반사시키고, 해당 위치를 $2v$ 만큼 변화한 값을 더해줍니다. 이를 통해 기존 ResBlock에서는 할수 없었던 기하학적 변환을 일반화하고 재정렬하는 능력을 갖출수 있습니다.","title":"Deep Delta Learning"},{"content":"TL;DR 기존 hyper connection은 residual connection을 대체하여 좋은 성능을 보이지만, 훈련 불안정성 및 메모리 오버헤드가 크다는 단점을 가짐. 이는 hyper connection이 identity mapping을 손상시키기 때문에 일어나는 현상인데, $m$HC는 identity mapping을 복원하면서도 최적화를 통해 효율성을 보장하는 프레임워크를 제안함.\n26년 1월 초 가장 핫한 논문중 하나.\nPaper: $m$ HC: Manifold-Constrained Hyper-Connections Paper from Arxiv_2025 🔗 Hyper Connections? Hyper Connections은 기존 Residual Connection을 발전시킨 개념 (ICLR 2025 D. Zhu. et. al.)\nResidual Connection은 단순 합 연산 (Vanishing Gradient 방지)\n이에 반해 Hyper Connection은 복잡한 형태로 이뤄짐 (Representation 증대)\nDepth Connection: residual의 비율을 조절하는 $\\alpha$와 $\\beta$ 파라미터를 사용. Width Connection: 복수의 hidden vectors에 대한 합 연산의 비율을 조절하는 $\\alpha$ 파라미터 사용. Hyper Connection: Depth + Width Connection, 즉 다양한 합연산 실행시 비율을 조절하는 파라미터들을 사용. 또한 layer 입력에 대한 비율 조절도 가능. 모델이 이전 입력의 영향력을 줄이고 싶을 때 학습을 통해 이를 실현 가능함.\n다만 훈련 강도가 높아짐에 따라 (Large-scale training) 학습의 불안정성이 높아질 수 있는데, 이는 Identity 보존이 힘들기 때문이라고 함. 여러 layer를 거치며 Residual Connection은 이전 입력을 일정하게 합하며 원본 feature를 보존할 수 있는데, HC는 $\\alpha, \\beta$가 줄어들거나 커질 때 그만큼 layer별로 원본이 훼손되거나 학습이 제대로 안되는 등 complexity가 높아짐 + Hardware issue.\n예를 들어 매 층마다 1.1배씩 신호를 키운다고 하면, 100번째 층에서는 $1.1^{100} \\approx 13,780$배\n수식으로 표현하면 다음과 같다 (복수의 feature가 아닌 단일 feature 상황):\n$$ x_{l+1}=\\mathcal{H}_l^{\\text{res}}x_l+\\mathcal{H}^{\\text{post}}_l\\mathcal{F}(H^{\\text{pre}}x_l,W_l) $$ 각 변수는 다음과 같이 정의할 수 있다:\n$$ \\begin{cases} \\tilde{x}_l = \\text{RMSNorm}(x_l) \\\\ \\mathcal{H}_l^{\\text{pre}} = \\alpha_l^{\\text{pre}} \\cdot \\tanh(\\theta_l^{\\text{pre}} \\tilde{x}_l^{\\top}) + b_l^{\\text{pre}} \\\\ \\mathcal{H}_l^{\\text{post}} = \\alpha_l^{\\text{post}} \\cdot \\tanh(\\theta_l^{\\text{post}} \\tilde{x}_l^{\\top}) + b_l^{\\text{post}} \\\\ \\mathcal{H}_l^{\\text{res}} = \\alpha_l^{\\text{res}} \\cdot \\tanh(\\theta_l^{\\text{res}} \\tilde{x}_l^{\\top}) + b_l^{\\text{res}} \\end{cases} $$ $\\alpha$는 값의 크기를 조절하는 learnable gating factor를 의미 $\\theta$는 projection parameter $b$는 learnable bias $x_l\\in\\mathbb{R}^{n\\times C}$ $\\theta^{pre}, \\theta^{post} \\in \\mathbb{R}^{1\\times C}, \\theta^{res}\\in\\mathbb{R}^{n\\times C}$ $b^{pre}, b^{post} \\in \\mathbb{R}^{1\\times n}, b^{res} \\in \\mathbb{R}^{n \\times n}$ 즉, 각 layer마다 연산이 recursive하므로, 식을 다음과 같이 전개 할 수 있음.\n$$ x_L=\\bigg( \\prod^{L-1}_{i=1}\\mathcal{H}^{\\text{res}}_{L-i} \\bigg)x_l + \\sum^{L-1}_{i=l} \\bigg( \\prod^{L-1-i}_{j=1}\\mathcal{H}^{\\text{res}}_{L-j} \\bigg)\\mathcal{H}^{\\text{post}}_{i}\\mathcal{F}(\\mathcal{H}^{\\text{pre}}_{i}x_i, W_i) $$ $\\mathcal{H}^{\\text{res}}$는 결국 앞서 말한것처럼 recursive 되며 값이 폭발하거나 없어지는 현상 발생\n🐳 Manifold-Constrained Hyper-Connections ($m$HC) HC는 실제로 성능이 좋지만, layer가 깊어짐에 따라 불안정한 학습과 큰 오버헤드가 단점\n$m$HC: 오버헤드를 줄이고, 안정적인 학습을 위해 최적화 테크닉을 적용해보자!\n가장 핵심적인 부분은 $\\mathcal{H}^{\\text{res}}$의 증폭 크기를 줄이는것 (Gain Magnitude)\n기존 HC는 layer가 깊어짐에 따라 최대 3000까지 치솟는 것을 확인\n$m$HC는 $\\mathcal{H}^{\\text{res}}$를 doubly stochastic matrix(이중 확률 행렬)로 강제하여 증폭을 해결 \u0026ndash;\u0026gt; 이를 manifold에 투영한다고 표현한 듯\nDoubly stochastic matrix: 모든 원소가 음수가 아니며, 각 행의 합과 각 열의 합이 모두 1인 정사각 matrix\nDoubly stochastic matrix끼리는 서로 곱했을 때 결과가 doubly stochastic matrix가 된다는 특징이 있음\n이를 통해 얻을 수 있는 이점은 다음과 같음.\nNorm Preservation: $\\bigg( \\prod^{L-1}_{i=1} \\mathcal{H}^{\\text{res}}_{L-i} \\bigg) x_{l}$은 계속해서 행과 열의 합이 1이 되기 때문에 Spectral Norm이 1로 제한되어 gradient exploding을 방지 할 수 있음 Compositional Closure: 여러 layer에 걸쳐 확률적으로 유지되는 특징 덕분에 모델의 깊이 측면에서 stability를 유지할 수 있음 Geometric Interpretation via the Birkhoff Polytope: $\\mathcal{H}^{\\text{res}}$의 집합은 convex hull인 Birkhoff polytope를 형성하는데, 기하학적으로 이같은 조합은 반복적으로 적용 시 정보혼합이 단조롭게 증가하는 경향이 있어 feature fusion mechanism에 적합함 추가적으로 $\\mathcal{H}^{\\text{pre}}_{l}$과 $\\mathcal{H}^{\\text{post}}_{l}$에도 비음수가 되도록 제약(sigmoid)을 걸어 양의 계수와 음의 계수의 합성으로 인해 발생하는 signal cancellation을 방지하였음\n🗺️ Parameterization and Manifold Projection 위의 방법의 실제 적용을 위해 사용한 방법을 설명\n먼저 l-th layer 입력 $x_l \\in \\mathbb{R}^{n\\times C}$를 flatten 한 vector $\\vec{x}=\\text{vec}(x_l)\\in\\mathbb{R}^{1\\times nC}$ 에 대한 HC fomulation은 다음과 같이 정리가 가능\n$$ \\begin{cases} \\vec{x}_l' = \\text{RMSNorm}(\\vec{x}_l) \\\\ \\tilde{\\mathcal{H}}_l^{\\text{pre}} = \\alpha_l^{\\text{pre}} \\cdot (\\vec{x}_l' \\varphi_l^{\\text{pre}}) + \\mathbf{b}_l^{\\text{pre}} \\\\ \\tilde{\\mathcal{H}}_l^{\\text{post}} = \\alpha_l^{\\text{post}} \\cdot (\\vec{x}_l' \\varphi_l^{\\text{post}}) + \\mathbf{b}_l^{\\text{post}} \\\\ \\tilde{\\mathcal{H}}_l^{\\text{res}} = \\alpha_l^{\\text{res}} \\cdot \\text{mat}(\\vec{x}_l' \\varphi_l^{\\text{res}}) + \\mathbf{b}_l^{\\text{res}} \\end{cases} $$ $\\varphi$는 dynamic projection을 위한 linear projection을 나타내며, $\\text{mat}(\\cdot)$은 flatten된 vector의 공간을 복원하는 매소드. 이때 실제 적용하는 $\\mathcal{H}$는 다음과 같이 정의 됨:\n$$ \\begin{cases} \\mathcal{H}_l^{\\text{pre}}=\\sigma(\\tilde{\\mathcal{H}}_l^{\\text{pre} }) \\\\ \\mathcal{H}_l^{\\text{post}}=2\\sigma(\\tilde{\\mathcal{H}}_l^{\\text{post}}) \\\\ \\mathcal{H}_l^{\\text{res}}=\\text{Sinkhorn-Knopp}(\\tilde{\\mathcal{H}}_l^{\\text{res}}) \\end{cases} $$ 즉 pre, post는 sigmoid로 비음수 제약 / res는 sinkhorn-Knopp 알고리즘을 통해 doubly stochasitc matrix로 변환 함.\n해당 수식은 $M^{(0)}=\\exp(\\tilde{\\mathcal{H}}_l^{res})$ 부터 시작해서, 각 행과 열을 t번 번갈아 가며 normalization을 진행하는 형태\n$$ M^{(t)}=\\mathcal{T}_r \\bigg( \\mathcal{T}_c(M^{(t-1)}) \\bigg) $$ 이때 $t_{\\max} \\rightarrow \\infty$ 일때 결국 어느 시점에서 수렴하여 행과 열의 합이 1인 doubly stochasitc matrix로 변환되며, 현실적으로 너무 큰 반복은 불가능하므로 $t_{\\max}=20$으로 사용하였음\n","permalink":"https://diggingpapers.github.io/posts/architecture_optimization/mhc/","summary":"기존 hyper connection은 residual connection을 대체하여 좋은 성능을 보이지만, 훈련 불안정성 및 메모리 오버헤드가 크다는 단점을 가짐. 이는 hyper connection이 identity mapping을 손상시키기 때문에 일어나는 현상인데, $m$HC는 identity mapping을 복원하면서도 최적화를 통해 효율성을 보장하는 프레임워크를 제안함.","title":"mHC: Manifold-Constrained Hyper-Connections"},{"content":"TL;DR LLaVA의 corresponding인 위스콘신의 이용재 교수님의 연구실에서 제안된 논문으로 visual representation을 인간과 유사한 뱡항으로 정렬 할 수 있도록 제시\n일반적인 인공지능의 Visual Similarity: 색상, 모양, 객체 종류와 같은 속성에만 치중 (Attribute Similarity)\ne.g., \u0026ldquo;파란색 성냥개비 더미\u0026rdquo; 사진과 \u0026ldquo;파란색 블루베리\u0026rdquo; 사진은 색상이나 형태적인 특징이 비슷하여 이를 유사하다고 판단하는 경향 그러나 인간은 Relational한 사고 또한 할 수 있음\ne.g., \u0026ldquo;성냥개비가 타들어가는 과정을 나열한 사진\u0026rdquo; / \u0026ldquo;바나나가 익어가는 과정을 나열한 사진\u0026rdquo; 두 이미지는 다른 색상, 형태를 가지지만 시간의 흐름에 따른 변형이라는 관계적인 논리가 동일 \u0026ndash;\u0026gt; 이러한 유사한 논리의 공유를 인공지능 모델을 잘 잡아내지 못함 이같은 관계적인 구조를 측정할 수 있는 metric인 relsim을 제안\n👫 Creating a Relational Dataset 두 이미지가 시각적으로 다르더라도 내재된 관계적 논리(Underlying relational logic)가 같다면 유사하다고 정의 → 이에대한 구현을 위해 Anonymous Caption 개념 도입\n1. Image Filtering 대규모 데이터셋인 LAION-2B에서 관계적 구조나 논리를 포함할 가능성이 높은 흥미로운 이미지 선별 이를 위해 VLM(Qwen2.5-VL)을 fine-tuning 하여 이미지가 관계적 패턴을 가지고 있는지 (\u0026ldquo;Yes/NO\u0026rdquo;) 판별하여 114,000장(114k)의 관계적 이미지 확보 VLM은 유의미한 이미지를 classify 할 수 있도록 대략 12,300장 (positive 1,300 / negative 11,000)의 예시를 human-labeled하여 데이터셋을 구축하고 모델을 fine-tuning 2. Anonymous Captions 이미지 한장을 보고 그 안의 추상적인 논리를 뽑아낸다는 것은 매우 어려움\n동일한 논리를 공유하는 이미지 그룹을 활용\ne.g., \u0026ldquo;나비의 비행 과정\u0026rdquo; ↔ \u0026ldquo;사람의 달리기 과정\u0026rdquo; \u0026ndash;\u0026gt; \u0026ldquo;어떤 대상이 점진적으로 움직이는 단계\u0026quot;라는 공통적 논리를 파악하기 쉬움 이같은 공유 이미지 그룹은 저자들이 직접 구축함 (532가지, 각 그룹별로 2~10장의 이미지)\nVLM에세 이 그룹을 보여주고 구체적인 객체의 이름등은 {subject}와 같은 placeholder로 대체한 Anonymous Caption을 생성\ne.g., \u0026ldquo;A dynamic sequece of {subject} traces an unfolding curvilinear path\u0026hellip;\u0026rdquo; 이렇게 생성된 캡션은 해당 그룹의 모든 이미지와 쌍을 이룸\n해당 데이터를 바탕으로 captioning model을 학습시킨 뒤, 앞서 필터링 한 114k 이미지 전체에 대해 anonymous caption을 생성하여 학습 데이터셋 ${I_i, A_i}^N_{i=1}$ 을 완성.\nCaptioning model이라 해서 clip 같은걸 사용한건 아니고 마찬가지로 Qwen-VL-7B을 사용. (아래 그림과 같음)\n🏋 Relsim training 이미지($I$)와 Anonymous Caption($A$) 쌍이 준비되었으므로, 연결하는 모델을 학습\n학습 목적: 이미지가 관계적으로 유사하다면, Anonymous Caption도 유사해야 한다 모델 구조:\nVisual Exptractor ($f_V$):\n단순 CLIP 등 이미지 인코더 만으로는 관계적 추론이 어려움 World Knowledge를 가진 VLM(Qwen2.5-VL)을 사용 VLM의 Vision Encoder만 가져와 사용하는게 아니라 전체 모델을 사용하며, text prompt 부분은 learnable query embedding을 사용 → 앞서 언급한것 처럼 CLIP등의 vision encoder 만으로는 관계적 유사성을 포착하기 어렵다 주장 Text Encoder ($f_T$):\ncaption을 처리하는 부분 pre-trained all-MiniLM-L6-v2 모델을 freeze하여 사용 이미지 $I$와 캡션 $A$의 embedding vector를 정규화 한뒤 dot product(내적)하여 유사도 점수 $s$를 계산\n$$ v_i=\\frac{f_V(I_i)}{||f_V(I_i)||}, \\ \\ t_i=\\frac{f_T(A_j)}{||f_T(A_j)||} $$ $$ s_{i,j}=\\frac{v_i^T t_j}{\\tau} $$ $\\tau$: leanable temperature scaling parameter Loss function: Contrastive learning에서 자주 사용되는 InfoNCE를 간단하게 사용. $$ \\mathcal{L}=-\\sum^B_{i=1}\\log{\\frac{\\exp(s_{ii})}{\\sum^B_{j=1}\\exp(s_{ij})}} $$ 이를 통해 $f_V$가 이미지의 시각적 속성보다 추상적인 relational structure를 캡쳐하는 특징을 추출하도록 함\n🧑‍🔬 Experiments 1. Image Retrieval 관계적 논리를 찾아내는 실험에서 비교군인 LPIPS, DINO, CLIP등 보다 훨씬 좋은 성능 User study 결과 (사용자 평가) 관계적으로 유사하다는 평가 단순히 CLIP, DINO 등을 동일 데이터로 fine-tuning 하더라도 VLM 기반 relsim 보다 성능이 낮았음. 결론: 관계적 유사성 파악에 언어적 지식과 추론 능력이 필수적 2. Analogical Image Generation 이미지 생성에서도 도움을 줄 수 있음을 시사 정확히 말하면 이미지 생성 모델에 연결한건 아니고, 이미지+텍스트 prompt를 통해 이미지를 생성할 때, relsim의 유사도를 사용자 의도(관계적 사고)를 잘 반영하는지에 대한 지표로 사용하였음 아래는 Analogical image generation의 예시 ","permalink":"https://diggingpapers.github.io/posts/representation_learning/relsim/","summary":"LLaVA의 corresponding인 위스콘신의 이용재 교수님의 연구실에서 제안된 논문으로 visual representation을 인간과 유사한 뱡항으로 정렬 할 수 있도록 제시","title":"Relational Visual Similarity"},{"content":"TL;DR 대부분의 최신 비전 모델은 이미지를 patch 단위로 처리할때, 각 patch 간의 상관관계를 균등하게 취급하거나 무작위 순서로 학습함 (MIM, MAE 등)\n그러나 이미지의 특정 중요 부분(e.g., 닭의 부리)을 먼저 본다면 다른 부분을 먼저 보는 것보다 (e.g., 잔디 같은 배경) 남은 이미지의 불확실성을 더 크게 줄여준다가 핵심.\n따라서 이미지를 구성하는 최적의 순서를 찾아내서 이미지 생성과 분류의 성능을 높이는 방법을 제안\nCode: https://github.com/wguo-ai/CoP Paper: The Collapse of Patches Paper from Arxiv_2025 💥 Patch Collapse? 이미지를 N개의 patch embedding 집합을 ${e_n }^N$으로 표현할 때 목표: 이미지의 불확실성(Entropy)를 가장 빠르게 낮추는 patch의 최적 순서(rank function, $R$)를 찾는것\n$$ H_c = \\sum^N_{i=1}H\\bigg[ P\\big(e_n|{ e_i;R(e_i)\u0026gt;R(e_n) }^N_{i \\neq n} \\big) \\bigg] $$\n$H$는 분포의 entropy를 의미 즉 중요한 patch를 먼저 관측할때, 남은 patch $e_n$의 불확실성의 합 $H_c$이 최소화되도록 하는 순서 $R$을 찾는것이 목표\n𝌰 Collapse Masked Autoencoder (CoMAE) CoMAE: 특정 patch를 복원하기 위해 다른 patch들 중 어떤 것이 가장 필요한지 학습\nEncoder (중요도 예측): 인코더 $f$는 target patch $n$을 제외한 나머지 patch를 입력받아, 각 patch가 target patch 복원에 얼마나 기여하는지를 나타내는 가중치 벡터 $w$($w \\in [0,1]$)를 예측 $q_n$: 복원할 target patch의 Positional Encoding $$ w_n=f({ e_i }^N_{i \\neq n};q_n) $$\nMasking (noise injection): 단순히 patch를 가리는게 아니라 예측된 가중치 $w_n$에 따라 noise를 주입. 중요하지 않은 patch일 수록 noise를 많이 섞어 정보를 지워버림. $e^m_i$: masking(noise injection)된 patch $\\alpha_i$: 가중치 $w$가 1에 가까우면(중요) $\\alpha$도 1이 되어 원본 $e_i$가 보존되고, $w$가 0이되면 noise만 남게 됨 $$ e^m_i=\\alpha_ie_i+(1-\\alpha_i)\\mathcal{N}(0,I), \\ i \\neq n $$ $$ \\alpha_i= \\exp\\bigg(-\\frac{(1-w_n^i)^2}{2\\sigma^2}\\bigg) $$\nDecoder (복원): 디코더 $g$는 노이즈가 섞인 patch들($e^m_i$)을 보고 target patch $e_n^{*}$을 복원 $$ e_n^{*}=g\\big( { e^m_i }^N_{i \\neq n} ; q_n \\big) $$\nLoss function: Reconstruction loss($\\mathcal{L}_r$): l1 loss Contrastive regularization loss($\\mathcal{L}_{c}$): patch마다 의존하는 patch 조합이 다양해지도록 유도하여 가중치 w가 0이나 1로 명확하게 갈리도록하는 보조 함수 (Polarization) 🥇 Patch Ranking (PageRank) CoMAE를 통해 모든 patch 쌍에 대한 의존성(가중치 $w$)를 구하면, 이를 $N \\times N$ 크기의 인접 행렬 $A$로 만들수 있음 ($A_{ij}=w_{ij}$) 일종의 patch 의존성 graph.\n해당 graph에 PageRank 알고리즘 적용 PageRank는 구글 등 검색엔진에서 웹페이지 우선도를 결정하는 알고리즘 PageRank 점수가 높은 patch는 다른 patch에 큰 영향을 주는 independent하고 중요한 patch. 점수대로 patch를 나열한 것이 Collapse order(붕괴 순서) \u0026ndash;\u0026gt; 최적의 순서 $R$ 🖼️ Collapsed Mask Autoregressive Model (CMAR) 기존 Auto Regressive Model(MAR)은 이미지 생성시 랜덤 순서로 patch를 생성함 CMAR은 Collapse Order가 높은 patch부터 순서대로 생성하도록 학습 MAR(backbone)과 비교해 FID 향상 여기서 알아야 하는건 CoMAE를 함께 사용한다는것, 따로 distillation 하거나 collapse order를 학습하지는 않음. 📚 Collapsed Vision Transformer (CViT) 일반적인 ViT는 전체 이미지를 한번에 관측 따라서 CViT는 Collapse order가 낮은 patch를 입력에서 제거 (drop)하고 학습함 22%에 해당하는 중요 patch만 보여줘도 높은 정확도를 유지할 수 있음. 마찬가지로 CoMAE를 함께 사용. 대신 VAE는 일반적인 Transformer 모델에 비해 훨씬 lightweight하니 여전히 효율적이라고 하는듯 (embedding space만 해도 64 vs over 768이니..) ","permalink":"https://diggingpapers.github.io/posts/representation_learning/comae/","summary":"대부분의 최신 비전 모델은 이미지를 patch 단위로 처리할때, 각 patch 간의 상관관계를 균등하게 취급하거나 무작위 순서로 학습함 (MIM, MAE 등) 그러나 이미지의 특정 중요 부분(e.g., 닭의 부리)을 먼저 본다면 다른 부분을 먼저 보는 것보다 (e.g., 잔디 같은 배경) 남은 이미지의 불확실성을 더 크게 줄여준다가 핵심. 따라서 이미지를 구성하는 최적의 순서를 찾아내서 이미지 생성과 분류의 성능을 높이는 방법을 제안","title":"The Collapse of Patches"},{"content":"TL;DR 최근 alphaxiv에서 가장 hype 받는 논문 중 하나여서 가져옴\n[[Evolution Strategies]] (ES)라는 학습 방식은 forward pass만으로 학습 가능한 강력한 알고리즘인데, 실질적으로 LLM과 같은 huge model에는 적용이 불가능한 limitation을 해결하고자 제안.\nCode: https://github.com/ESHyperscale/HyperscaleES Paper: Evolution Strategies at the Hyperscale Project page: https://eshyperscale.github.io/ Paper from #Arxiv_2025 🧬 Evolution Strategies? 경사하강(gradient) 없이 모델을 학습할 수 있는 최적화 알고리즘\n\u0026ldquo;생물의 진화원리와 유사하게 파라미터를 최적화 하는 방법\u0026rdquo;\nparameter perturbation Initial parameter $\\theta$ (parent)에 무작위 $\\epsilon$(perturbation)을 주어 여러 개의 perturbed offspring 생성\n$$ \\theta_i = \\theta + \\sigma \\epsilon_i $$ 모델의 모든 파라미터에 대해 총 i번 각각 noise를 추가하고 forward pass.\n성능 평가 (fitness) loss를 계산하듯 성능을 측정 ($f(\\theta_i)$)\ne.g., RL: episode reward / DL: 정답 여부, 성능 지표 등\n성능이 높은 perturbation 방향으로 parameter update $$ \\theta_{new}=\\theta+\\alpha\\cdot\\frac{1}{N}\\sum_i(\\epsilon_i\\cdot f(\\theta_i)) $$ 가장 성능이 높았던 perturbation일 수록 더 강하게 반영하여 parameter를 update\n기존 gradient 기반 방법과 비교 비교 Gradient Descent(역전파) Evolution Starategies 미분 미분 필요 미분 불필요 noisy/불연속 환경 취약 강함 병렬화 제한적 매우 병렬적 연산 미분 + backprop forward 반복 수학적으로 보자면 다음과 같이 gradient free면서도 근사적으로 gradient 계산과 유사한 방식\n$$ \\nabla_\\theta E[f(\\theta)] \\approx \\frac{1}{\\sigma}\\mathbb{E}[f(\\theta+\\sigma\\epsilon)\\epsilon] $$ LLM 등에서 backprop이 없어 메모리 부담이 적고, integer-only의 새로운 구조도 학습이 가능하며, 병렬 연산에 최적화 되어 있어 효율성이 매우 높음. (GRPO 보다도)\n🐣 EGGROLL 핵심 아이디어: Full-rank noise 대신 Low-rank matrix로 대체하여 더 효율적 연산 가능\n기존 ES의 수식이 아래와 같을때:\n$$ \\mu_{t+1}=\\mu_t+\\frac{\\alpha}{N}\\sum^N_{i=1}E_if(\\mu+\\sigma E_i) $$ (이전 수식의 $\\epsilon_i=E_i$ \u0026ndash;\u0026gt; $m \\times n$ 크기의 full-rank matrix)\n업데이트는 위 수식이랑 동일하지만, 기존에는 $E_i\\in\\mathbb{R}^{m\\times n}$으로 생성했다면 (full-rank gaussian) EGGROLL은 다음으로 대체:\n$$ E_i=\\frac{1}{\\sqrt{r}}A_iB_i^{T}, $$ $$ A_i\\in\\mathbb{R}^{m \\times r}, \\ B_i\\in\\mathbb{R}^{m \\times r} $$ Novelty 1. Efficiency full-rank matrix의 경우 생성 및 저장 비용이 매우 높음 ($O(mn)$)\nforward pass 비용도 population size N배 증가 (기존 supervised learning forward 한번에 비해)\nEGGROLL의 경우 생성/저장 비용 및 forward 비용을 근본적으로 낮출 수 있음.\n\u0026ndash;\u0026gt; 중요한 부분중 하나로 pertubation을 저장하는 비용을 매우 낮출수 있음.\n특히 dedicated counter-based RNG라는 로직을 구성해 A,B를 on-the-fly로 구성\n기존에는 noise matrix를 forward에서 한번, parameter update 시에 한번 사용해야 하므로 이걸 저장할 메모리가 필요한데, LLM 같이 파라미터가 billion 이상되면, 너무 커서 현실적으로 저장이 불가능함\n이걸 저장하는 방식이 아니라 sampling 하는 방식으로 변경 (매우 효율적)\nNovelty 2. 매우 빠르게 full-rank ES gradient에 수렴 가능 r=1부터 이미 상당히 좋은 품질로 학습되고 rank가 높을수록 매우 빠르게 full-rank ES에 수렴 가능함. \u0026ndash;\u0026gt; 이건 수학적으로 증명이 되어 있는데, (A,B가 대칭 분포로부터 sampling된다던지.. ) 어려우니까 자세한건 논문 참고.\nNovelty 3. GPU batch 처리 기존 ES: forward pass를 N번 필요로 함 (polulation size N이 커질수록 비용 증가, 느림)\nEGGROLL: LoRA style로 pertubation을 batch 처리하여 속도를 매우 빠르게 증가시킴\n기존 OpenES 대비 100~200x\n정리 즉 기존에는 너무 느린 ES 대비 훨씬 빠르고 효율적이면서 성능도 유사하게 가져가므로 billion 급 파라미터를 가진 LLM 같은 모델에도 적용 가능함.\n항목 ES EGGROLL noise full-rank($m\\times n$) low-rank($A\\cdot B^T$) cost $O(mn)$ $O(r(m+n))$ population scaling 거의 불가능 10만~26만까지 가능 GPU 사용 비효율적 batched LoRA style로 매우 효율적 memory noise 저장, 비효율적 A,B만 sampling, (저장 x) ","permalink":"https://diggingpapers.github.io/posts/learning_strategy/eggroll/","summary":"Evolution Strategies(ES)라는 학습 방식은 forward pass만으로 학습 가능한 강력한 알고리즘인데, 실질적으로 LLM과 같은 huge model에는 적용이 불가능한 limitation을 해결하고자 제안.","title":"Evolution Strategies at the Hyperscale"}]