In this study, we introduce a method to directly invert for porosity, Vclay and hydrocarbon saturation (Shc) simultaneously from pre-stack seismic data using deep learning approach. We implemented L1 norm in the loss function for Shc estimation, added noise into synthetic seismic dataset for training, and estimated uncertainties in the inversion results by training multiple network models. UNet architecture (ResNet-18 as encoder) is used due to its ability to preserve spatial resolution. The inputs for the network are the angle stacks whereas the outputs are the petrophysical properties. We implemented mean-squared error and L1 norm as the loss functions during the training process. The L1 norm is the mean absolute values of the predicted hydrocarbon saturation, which can help promotes sparsity. The network learns on synthetic dataset. We use facies-based geostatistical simulation to generate 1D synthetic petrophysical logs. Then linking the petrophysical properties to elastic properties through rock physics model (RPM), followed by computation of reflectivities using full Zoeppritz equations at five different groups of incidence angles (0°-55°). The traces in each group are convolved with the source wavelet prior to stacking the synthetic seismograms. To increase the variability of possible scenarios, we vary the spherical variogram ranges (8,10, and 12ms), use four different types of suitable RPM, apply oil and gas cases for the hydrocarbon fluid types, and convolve with nine different sets of angle dependent source wavelets. Two synthetic datasets are prepared: Dataset1 (ideal noiseless case) and Dataset 2 (noise added to the angle stacks), and a field data. The first (MLT1) and second (MLT2) machine learning are trained on a sub-dataset in Dataset 1 and 2 respectively. Based on the field dataset, the results from MLT2 show a better prediction performance than MLT1, with an average correlation coefficient of 0.68 (porosity), 0.74 (Vclay) and 0.67 (Shc) achieved. The better results from MLT2 can be related to the nature of measured seismic which contain noise that being learnt by MLT2. For uncertainty estimation, the network (ML3) is trained for 20 times on randomly selected sub-dataset in Dataset 2 using Monte Carlo dropout technique. The uncertainty is estimated by calculating the standard deviation of the solutions provided by ML3 when applying to the field data. Uncertainty estimation allows quantification on the stability of the solutions when varying training dataset.