TensorTonicTensorTonic
Problems
Study PlansProjectsInterviewPricingFeedback
Problems
Loading...
1 / 1

He Initialization

Neural Networks
Easy

He (Kaiming) initialization is designed for networks using ReLU activations. Since ReLU zeros out negative values (roughly half the distribution), He initialization uses a larger variance than Xavier to compensate, depending only on the fan-in.

Given a raw weight matrix W with values in [0, 1] and fan_in (number of input units), scale the weights to He uniform initialization.

Algorithm

  1. Compute the He uniform bound:
L=6finL = \sqrt{\frac{6}{f_{in}}}L=fin​6​​
  1. Map each raw weight from [0, 1] to [-L, L]:
Wij′=Wij×2L−LW'_{ij} = W_{ij} \times 2L - LWij′​=Wij​×2L−L
Loading visualization...

Examples

Input:

W = [[0.5, 0.5]], fan_in = 2

Output:

[[0.0, 0.0]]

With fan_in = 2, limit = sqrt(6/2) = sqrt(3) = 1.7321. Raw value 0.5 maps to 0.5 * 2 * 1.7321 - 1.7321 = 0.

Input:

W = [[0], [1]], fan_in = 2

Output:

[[-1.7321], [1.7321]]

Raw 0 maps to -limit and raw 1 maps to +limit. The wider range compared to Xavier compensates for ReLU killing half the activations.

Hint 1

Compute limit = sqrt(6 / fan_in). Then for each element: scaled = raw * 2 * limit - limit. Note that fan_out is not needed since He init only depends on fan_in.

Hint 2

Compare with Xavier: Xavier uses sqrt(6 / (fan_in + fan_out)) while He uses sqrt(6 / fan_in). He's limit is always larger, giving a wider initialization range for ReLU networks.

Requirements

  • Scale raw uniform [0, 1] weights to He uniform range [-limit, limit]
  • Use the He uniform formula: limit = sqrt(6 / fan_in)
  • Return the scaled weight matrix as a list of lists of floats

Constraints

  • W has at least 1 row and 1 column with values in [0, 1]
  • fan_in >= 1
  • Return a list of lists of floats with the same shape as W
  • Time limit: 300 ms
Try Similar Problems
Xavier InitializationBatch NormalizationDropout TrainingLinear Layer ForwardGradient Clipping

Sign in to take notes on this problem

Case 1
Case 2

Accepts: array

Accepts: number

You must run your code first.
PrevNext

He Initialization

Neural Networks
Easy

He (Kaiming) initialization is designed for networks using ReLU activations. Since ReLU zeros out negative values (roughly half the distribution), He initialization uses a larger variance than Xavier to compensate, depending only on the fan-in.

Given a raw weight matrix W with values in [0, 1] and fan_in (number of input units), scale the weights to He uniform initialization.

Algorithm

  1. Compute the He uniform bound:
L=6finL = \sqrt{\frac{6}{f_{in}}}L=fin​6​​
  1. Map each raw weight from [0, 1] to [-L, L]:
Wij′=Wij×2L−LW'_{ij} = W_{ij} \times 2L - LWij′​=Wij​×2L−L
Loading visualization...

Examples

Input:

W = [[0.5, 0.5]], fan_in = 2

Output:

[[0.0, 0.0]]

With fan_in = 2, limit = sqrt(6/2) = sqrt(3) = 1.7321. Raw value 0.5 maps to 0.5 * 2 * 1.7321 - 1.7321 = 0.

Input:

W = [[0], [1]], fan_in = 2

Output:

[[-1.7321], [1.7321]]

Raw 0 maps to -limit and raw 1 maps to +limit. The wider range compared to Xavier compensates for ReLU killing half the activations.

Hint 1

Compute limit = sqrt(6 / fan_in). Then for each element: scaled = raw * 2 * limit - limit. Note that fan_out is not needed since He init only depends on fan_in.

Hint 2

Compare with Xavier: Xavier uses sqrt(6 / (fan_in + fan_out)) while He uses sqrt(6 / fan_in). He's limit is always larger, giving a wider initialization range for ReLU networks.

Requirements

  • Scale raw uniform [0, 1] weights to He uniform range [-limit, limit]
  • Use the He uniform formula: limit = sqrt(6 / fan_in)
  • Return the scaled weight matrix as a list of lists of floats

Constraints

  • W has at least 1 row and 1 column with values in [0, 1]
  • fan_in >= 1
  • Return a list of lists of floats with the same shape as W
  • Time limit: 300 ms
Try Similar Problems
Xavier InitializationBatch NormalizationDropout TrainingLinear Layer ForwardGradient Clipping

Sign in to take notes on this problem

Case 1
Case 2

Accepts: array

Accepts: number

You must run your code first.