A pipeline ingests 16-bit greyscale medical images and feeds them into a convolutional network. Before training, each pixel value is divided by 65535 so the resulting tensor contains values in the range 0 to 1. What is the primary reason for this operation?
- ATo normalise input values so that large pixel magnitudes do not cause unstable gradients during back-propagation, improving training convergence. Correct
- BTo reduce the spatial resolution of the image so that fewer parameters are needed in the first convolutional layer.
- CTo convert the integer pixel values into a floating-point representation that is compatible with the network's activation functions and loss computation.
- DTo apply zero-mean standardisation so that each channel has a mean of zero and a standard deviation of one before entering the network.
Why A is correct: Scaling inputs to a small, bounded range keeps weight gradients in a workable magnitude, preventing exploding gradients and accelerating convergence - the canonical motivation for input normalisation.
Why B is wrong: Dividing pixel values by a constant does not alter the spatial dimensions of the tensor; downsampling requires pooling or strided convolutions, not scalar division.
Why C is wrong: Casting to float is a necessary step, but the division itself is not required for the cast; the primary motivation is gradient stability from bounded inputs, not merely the numeric type.
Why D is wrong: Dividing by the maximum value scales to the unit interval but does not produce zero-mean output; standardisation requires subtracting the dataset mean and dividing by its standard deviation.