In global navigation satellite system (GNSS) positioning, GNSS satellites are often obstructed by buildings, leading to reflected and diffracted signals, which are known as non-line-of-sight (NLOS) signals. Such signals cause major GNSS positioning (also known as “NLOS multipath”) errors. In this paper, a novel NLOS multipath detection technique using a machine-learning approach to improve the positioning accuracy in urban environments is proposed. The key idea behind this technique is to construct a classifier that discriminates NLOS multipath signals from the output of the multiple GNSS signal correlators of a software GNSS receiver. In the case of an NLOS signal, there are no direct signals; the first reflected signal has low power compared to a direct signal. Hence, the correlation function is expected to be more distorted in the case of an NLOS signal correlation. We use this phenomenon to detect NLOS signals. To consider the change in shape of the correlation values of NLOS signals and their temporal variation, we propose a method for constructing a convolutional neural network (CNN)-based NLOS discriminator. Furthermore, we propose a method for applying the NLOS probability, which is the output of the CNN, to the positioning calculation. To evaluate the proposed technique, we conducted NLOS classification experiments using signal correlation data acquired at different locations in the Shinjuku area of Japan. We compared the proposed method with a method using a simple NN. As the experiment results indicate, the proposed method can correctly discriminate approximately 98% of NLOS multipath signals, and the discrimination rate of the proposed CNN-based method is higher than that of the simple NN-based approach. Furthermore, we improved the positioning accuracy from 34.1 to 1.6 m using the proposed method and concluded that the proposed approach can increase the positioning accuracy in urban environments.