How do I know how many filters to choose? And how does the neural network learn and adjust the filters?
Number of filters depends on the problem you are solving and the complexity of objects, which have to be recognized by your model. During a training step model receives images, implements transformation to them using current states of convolutional filter's weights to extract some significant information and then compute the error between output and groundtruth labels. Then using back propagation weights are recomputed to optimize the model's performance. You can find here more information, how it works https://towardsdatascience.com/how-does-back-propagation-in-artificial-neural-networks-work-c7cad873ea7 First layers usually extract some simple features of objects on images (for example, it could be horizontal or vertical lines). Going deeper the complexity of features are growing. There is link to the original unet paper with description of its architecture, which might clarify usage of filters https://arxiv.org/pdf/1505.04597.pdf