Я намагаюся краще зрозуміти конволюційні нейронні мережі краще, записуючи код Python, який не залежить від бібліотек (наприклад, Convnet або TensorFlow), і я застрягаю в літературі про те, як вибрати значення для матриці ядра, коли виконання згортки на зображенні.
Я намагаюся зрозуміти деталі реалізації на кроці між картами функцій на зображенні нижче, що показує шари CNN.
Відповідно до цієї схеми:
Ядро матриці ядра "переступає" над зображенням, створюючи функційну карту, де кожен піксель - це сума всіх елементів, що належать до елементів, між кожною вагою ядра (або матриці фільтра) та відповідним значенням пікселя вхідного зображення.
Моє запитання: як ми ініціалізуємо ваги матриці ядра (або фільтра)?
На наведеній вище демонстрації вони просто 1 і 0, але я припускаю, що це спрощено з-за діаграми.
Навчаються ці ваги на якомусь етапі попередньої обробки? Або вибрано явно користувачем?