While structuring it (with separate nn.Module classes for base and classifier) would look more natural to me in your example, you can pass any list/iterator to the optimizers for the parameters, not just ParameterLists / Sequential.
For example:
some_params = []
some_params.extend(fc1.parameters())
some_params.extend(fc2.parameters())

other_params = [p for p in model.parameters() if p not in set(some_parameters)]

You could also filter by name with [p for n, p in model.named_parameters() if n.endswith('bias')] or so.
Best regards
Thomas