The carriers weren't in Perl Harbor, back then!
Seriously, battlegroups come together for only a short time when they take these photos, and then they disburse. Individual carriers have "picket screens" around them, and that includes unseen fast attack subs. I do agree that there seem to be a minimal number of ships, given the number of carriers here.
*Pearl Harbor