Graph Convolutional Networks

# Weight Initialization Strategies

## Introduction & Motivation

Weight Initialization: set network parameter values. Xavier, He, LSUV. Applications: faster convergence, gradient flow stability.

Motivation: Enable effective training from random start.

Applications: Deep networks, convergence acceleration.

---

## Core Concepts & Theory

### Xavier Initialization

Maintain activation variance.

### He Initialization

Account for ReLU non-linearity.

### LSUV

Layer-sequential unit-variance.

### Orthogonal Initialization

Maintain spectral properties.

---

## Mathematical Formulation

Xavier: W \sim ext{Uniform}\left(-\sqrt{\frac{6}{n_{ ext{in}} + n_{ ext{out}}}}, \sqrt{\frac{6}{n_{ ext{in}} + n_{ ext{out}}}}
ight)

He Normal: W \sim \mathcal{N}\left(0, \sqrt{\frac{2}{n_{ ext{in}}}}
ight)

Orthogonal: QR decomposition

---

## Advanced Theory & Extensions

### Variance Preservation

Control activation statistics.

### Spectral Normalization

Lipschitz constraint.

### Hypercomplex Initialization

Quaternion networks.

---

## Computational Considerations

Xavier: O(n_in * n_out).

He: O(n_in).

Orthogonal: O((n_in * n_out)^1.5).

---

## Practical Implementation Strategies

### Per-Layer Initialization

Different schemes per layer.

### Gain Tuning

Activation-aware scaling.

### Bias Initialization

Often set to zero.

---

## Benchmark Datasets & Evaluation

ImageNet: Large-scale training.

CIFAR-10: Small network validation.

MNIST: Simple baseline.

---

## Key Challenges & Limitations

### Depth Sensitivity

Deeper networks need tuning.

### Activation Dependency

Scheme selection critical.

### BatchNorm Interaction

Normalization reduces sensitivity.

---

## Hyperparameter Tuning

Gain: 1.0-2.0.

Distribution: Normal/Uniform.

Fan mode: In/Out/Avg.

---

## Real-World Applications & Case Studies

Deep ResNets: He initialization standard.

GANs: Careful initialization for stability.

Transformers: Specific schemes per layer type.

---

## Integration with Other Methods

Initialization + learning rate scheduling for optimal convergence; + batch norm for robustness.

---

## Summary & Key Takeaways

Weight Initialization enables effective gradient flow.

Principles:
1. Xavier: Variance preservation.
2. He: ReLU-aware scaling.
3. LSUV: Unit variance layers.
4. Orthogonal: Spectral properties.
5. Tuning: Architecture-dependent.

---

## Appendix: Practical Labs

### Lab 1: Xavier Initialization

import numpy as np

def xavier_init(fan_in, fan_out):
 limit = np.sqrt(6 / (fan_in + fan_out))
 return np.random.uniform(-limit, limit, size=(fan_in, fan_out))

np.random.seed(42)
W = xavier_init(fan_in=1000, fan_out=500)
var = np.var(W)
assert 0.001 < var < 0.01, "Reasonable variance"
print("✓ Xavier initialization working")

### Lab 2: He Initialization

import numpy as np

def he_init(fan_in, fan_out):
 std = np.sqrt(2 / fan_in)
 return np.random.normal(0, std, size=(fan_in, fan_out))

np.random.seed(42)
W = he_init(fan_in=1000, fan_out=500)
var = np.var(W)
assert 0.001 < var < 0.005, "Reasonable variance"
print("✓ He initialization working")

### Lab 3: Orthogonal Initialization

import numpy as np

def orthogonal_init(fan_in, fan_out):
 A = np.random.normal(0, 1, size=(fan_in, fan_out))
 Q, R = np.linalg.qr(A)
 return Q[:fan_in, :fan_out]

np.random.seed(42)
W = orthogonal_init(fan_in=100, fan_out=100)
orthogonal = np.allclose(W.T @ W, np.eye(100), atol=1e-5)
assert orthogonal, "Orthogonal matrix"
print("✓ Orthogonal initialization working")

### Lab 4: Gain Scaling

import numpy as np

def scaled_initialization(fan_in, fan_out, gain=1.0):
 std = gain * np.sqrt(2 / (fan_in + fan_out))
 return np.random.normal(0, std, size=(fan_in, fan_out))

np.random.seed(42)
W_normal = scaled_initialization(100, 100, gain=1.0)
W_scaled = scaled_initialization(100, 100, gain=2.0)
assert np.var(W_scaled) > np.var(W_normal), "Gain increases variance"
print("✓ Gain scaling working")

---

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account