The human brain is in constant flux, as distinct areas engage in transient communication to support basic behaviors as well as complex cognition. The collection of interactions between cortical and subcortical areas forms a functional brain network whose topology evolves with time. Despite the nontrivial dynamics that are germane to this networked system, experimental evidence demonstrates that functional interactions organize into putative brain systems that facilitate different facets of cognitive computation. We hypothesize that such dynamic functional networks are organized around a set of rules that constrain their spatial architecture – which brain regions may functionally interact – and their temporal architecture – how these interactions fluctuate over time. To objectively uncover these organizing principles, we apply an unsupervised machine learning approach called non-negative matrix factorization to time-evolving, resting state functional networks in 20 healthy subjects. This machine learning approach automatically groups temporally co-varying functional interactions into subgraphs that represent putative topological modes of dynamic functional architecture. We find that subgraphs are stratified based on both the underlying modular organization and the topographical distance of their strongest interactions: while many subgraphs are largely contained within modules, others span between modules and are expressed differently over time. The relationship between dynamic subgraphs and modular architecture is further highlighted by the ability of time-varying subgraph expression to explain inter-individual differences in module reorganization. Collectively, these results point to the critical role that subgraphs play in constraining the topography and topology of functional brain networks. More broadly, this machine learning approach opens a new door for understanding the architecture of dynamic functional networks during both task and rest states, and for probing alterations of that architecture in disease.