ライブラリ(ConvnetやTensorFlowなど)に依存しないPythonコードを作成することで、畳み込みニューラルネットワークをよりよく理解しようとしていますが、カーネルマトリックスの値を選択する方法に関する文献にこだわっています。画像の畳み込みを実行します。
CNNのレイヤーを示す以下の画像の機能マップ間のステップで、実装の詳細を理解しようとしています。
この図によると:
カーネルマトリックスカーネルは画像上で「ステップ」し、特徴マップを作成します。各ピクセルは、カーネル(またはフィルターマトリックス)の各重みと入力画像の対応するピクセル値の間のすべての要素ごとの積の合計です。
私の質問は、カーネル(またはフィルター)行列の重みをどのように初期化するのですか?
上記のデモンストレーションでは、これらは1と0にすぎませんが、これは図のために単純化されていると思います。
これらの重みは、何らかの前処理ステップでトレーニングされていますか?または、ユーザーが明示的に選択しましたか?