A computer-implemented method for image object recognition and captioning, comprising: loading into a computing network, a pre-trained model containing parameter for computing network nodes of the computing network, the computing network being a multi-layer Recurrent Highway Network comprising one or more highway layers; receiving a digital image input on which to perform object recognition, the digital image input containing one or more objects; batch normalizing the digital image input and applying one or more non-linear transforms to the digital image input to generate transform outputs from the multi-layer Recurrent Highway Network, wherein the one or more highway layers of the Recurrent Highway Network comprises a transform gate and a carry gate, C, the transform gate, T, and the carry gate defining how much information is transformed and carried to the output, each recurrent loop in the multi-layer Highway Network includes two inputs, a first input being an output of the last recurrent unit in a previous loop, s d − 1 t, and a second input, wherein each of the first input and the second input is batch normalized and subsequently processed by the transform gate, the carry gate and a nonlinear transform as: s d t = h d t ⊙ t d t + s d − 1 t ⊙ c d t and wherein s represents the first input, t represents the transport gate, c represents the carry gate, h represents the nonlinear function, d in sub-script represents a recurrent loop depth and t in superscript represents a time step; and combining the transform outputs to generate a final output from the multi-layer Recurrent Highway Network, wherein the final output comprises a caption describing the one or more objects recognized in the digital image input. loading into a computing network, a pre-trained model containing parameter for computing network nodes of the computing network, the computing network being a multi-layer Recurrent Highway Network comprising one or more highway layers; receiving a digital image input on which to perform object recognition, the digital image input containing one or more objects; batch normalizing the digital image input and applying one or more non-linear transforms to the digital image input to generate transform outputs from the multi-layer Recurrent Highway Network, wherein the one or more highway layers of the Recurrent Highway Network comprises a transform gate and a carry gate, C, the transform gate, T, and the carry gate defining how much information is transformed and carried to the output, each recurrent loop in the multi-layer Highway Network includes two inputs, a first input being an output of the last recurrent unit in a previous loop, s d − 1 t, and a second input, wherein each of the first input and the second input is batch normalized and subsequently processed by the transform gate, the carry gate and a nonlinear transform as: s d t = h d t ⊙ t d t + s d − 1 t ⊙ c d t and wherein s represents the first input, t represents the transport gate, c represents the carry gate, h represents the nonlinear function, d in sub-script represents a recurrent loop depth and t in superscript represents a time step; and combining the transform outputs to generate a final output from the multi-layer Recurrent Highway Network, wherein the final output comprises a caption describing the one or more objects recognized in the digital image input.