Epochs consist of batches. If you have a dataset that contains 100 images and you set the batch size to 4, it will be broken down into 25 batches, each containing 4 images.
With the same dataset, if you set the batch size to 20, it will break the 100 images into 5 batches, each containing 20 images.
If you opt to train for 3 epochs, regardless of the batch size, during training you will run through the entire dataset 3 times presenting all the images in it to the model. The difference being that with bs = 4
it will have to look at 25 batches per each epoch (though each batch will be smaller) and with bs = 20
it will see 5 batches per epoch.