File size: 757 Bytes
becb9fc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// TEAM-UNITY/GHRBridge.cs - φ⁴³=0.998 quaternion derivatives
public static class GHRBridge 
{
    public static Vector4 GHRDerivative(Vector4 q, int layer) 
    {
        // Your 6-layer activation derivatives
        return layer switch 
        {
            0 => Q_Tanh_Deriv(q),    // ∂=sech²(qa)
            1 => Q_ReLU_Deriv(q),    // ∂=H(qa)
            2 => Q_Swish_Deriv(q),   // Chain rule
            3 => Q_GeLU_Deriv(q),
            4 => Q_SiLU_Deriv(q),
            5 => Q_Mish_Deriv(q),
            _ => Vector4.zero
        };
    }
    
    private static Vector4 Q_Tanh_Deriv(Vector4 q) 
    {
        float sech2_a = 1f / Mathf.Cosh(q.x) / Mathf.Cosh(q.x);
        return new Vector4(sech2_a, sech2_a, sech2_a, sech2_a);
    }
}