Súlyfelbontás Iránya a DoRA-ban

A DoRA (Weight-Decomposed Low-Rank Adaptation) módszer súlyfelbontást vezet be a paraméter-hatékony finomhangoláshoz. Egy fontos implementációs részlet a normalizálás irányával kapcsolatban különös figyelmet érdemel, különösen a LyCORIS implementációval való munka során.

Az Implementációs Részlet

Az eredeti DoRA tanulmányban a súlyfelbontást a (2)-es egyenlet definiálja:

$$ W = m \cdot \frac{V}{||V||_c} $$

ahol $||·||_c$ a mátrix oszlopvektoronkénti vektor-normáját jelöli. A neurális hálózatok súlymátrixainál ezt a normát két módon lehet kiszámítani:

  1. Bemeneti dimenzió: Minden kimeneti neuron súlyait oszlopvektorként kezelve
  2. Kimeneti dimenzió: Minden bemeneti neuron hozzájárulását oszlopvektorként kezelve

LyCORIS Implementáció

Az eredeti LyCORIS implementáció alapértelmezetten a bemeneti dimenzió mentén számítja a vektor-normát. Azonban a norma számítását a kimeneti dimenzió mentén is engedélyezhetjük a következő beállítással:

wd_on_output=True

Ezt a beállítást néhányan a tanulmány megfogalmazásának “helyesebb” értelmezésének tartják.

Miért Fontos Ez

A normalizálási irány választása több szempontból is befolyásolja a modellt: hatással van a nagyság és irány komponensek felbontására, befolyásolja a tanulási dinamikát a finomhangolási folyamat során, és végül meghatározza a modell végső adaptációs viselkedését.

Bár mindkét megközelítés működhet, a kimeneti dimenzió normalizálása (wd_on_output=True) jobban illeszkedhet az eredeti tanulmányban szándékolt matematikai megfogalmazáshoz. Azonban az ajánlott az empirikus értékelés az adott feladaton és architektúrán annak meghatározására, hogy melyik megközelítés működik jobban a gyakorlatban.