Understanding how fluids flow through permeable structures in the subsurface is paramount in the design and execution of projects for hydrocarbon extraction, CO₂ sequestration, and contaminant tracing in aquifers. The most important processes that impact fluid behavior of a field happen at the pore-scale. Therefore, these will be studied in detail throughout this dissertation. In particular, the main focus of this work is to estimate the permeability of 3D volumes. The permeability is arguably the most important property of a subsurface formation since it describes the ease for fluids to travel through a porous domain of interest. This, in turn, will control how fast a CO₂ plume will migrate, how much oil can be recovered from a reservoir, or when will a contaminant reach a certain region, among other relevant applications. This quantity can be computed via direct flow simulation, which provides accurate results, nevertheless, it is computationally very expensive. In particular, the simulation convergence time scales poorly as the domains become less porous or more heterogeneous. On the other hand, semi-analytical models that rely on averaged structural properties (i.e., porosity and tortuosity) have been proposed, but these properties only partly describe the domain, resulting in limited generalizability of these models. Alternatively, machine learning models have shown to be effective tools for finding complex relationships in structured data. These models have had great success at otherwise difficult tasks like natural language processing, video frame prediction, and semantic segmentation of natural scenes in real time. Nevertheless, the pore-scale world has remained vastly unexplored due to the the great effort needed to create labeled datasets, the complexity of obtaining and processing data, and the size of the 3D data arrays that concern subsurface applications. Having said that, the primary goal of this work is to show how to label datasets selectively, how to train models in cases where only a limited data is available, how to overcome the memory bottleneck of hardware, and how to bridge information from multiple scales. The goal of the models proposed in here is not to replace simulations or laboratory experiments, but to complement them. Throughout this dissertation, it is shown how a trained model can carry-out accurate predictions in a variety of domains. These models can provide good approximations, and can be specially useful when exploring a new reservoir, when tuning a segmentation, as initial conditions for a physics simulations, or when high performance computing resources are not available. It is our hope that the work presented here can be employed to build better and more accurate machine learning models that can advance the field of real-time data-driven alternatives for digital rock applications