An entity child in an aggregate doesn't have its own lifecycle, i.e., an entity object cannot exist on its own outside the aggregate, but depends on an object of the root entity. The child entity has a local unique identity inside the aggregate, while the root entity has a global unique identity.
To know whether an entity is a child of an aggregate root entity, ask to yourself: Can the entity exists without the root entity? If it can exists on its own, then it isn't a child, it is the root of another aggregate, and you should reference it by the id.
So I suspect that Brand is an aggregate root too. Is that right?
Yes, a Brand exists on its own, without a Product.
What about categories and product?
Well, I think they belong to different aggregates, since I see categories as a way of classifying the products, but the product exists on its own. Besides that, the product could belong to many categories. So Product is not a child of Category. And the opposite neither.
Category and Brand are two aggregates.
I doubt about Product. It could be an entity child of Brand. It depends on your business rules. Is a product owned by a Brand independent? Can it exists on its own? Or it doesn't make sense that the product exists without its Brand?