2 / 24 · Conceito
Convolução e correlação cruzada
Quais são os resultados da correlação cruzada e do kernel invertido para [1,2;4,5] com kernel [1,0;0,-1]?
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Estabeleça a orientação do kernel
A convolução de redes neurais normalmente usa correlação cruzada: combine o kernel armazenado com a janela de entrada sem invertê-lo. A convolução matemática inverte o kernel. A equação de índices é mais útil do que o nome do operador. Um kernel simétrico pode ocultar um erro de orientação, portanto comece a verificação com valores assimétricos.
Para um canal, passo unitário e sem preenchimento nem dilatação, use:
Aqui, h,w localizam a saída e r,s localizam um elemento do kernel. Nenhum dos índices do kernel é invertido.
Exemplo resolvido
Use a janela de entrada [1,2;4,5] e o kernel [1,2;3,4]. A correlação cruzada produz 1×1+2×2+4×3+5×4=37. Inverter os dois eixos do kernel dá [4,3;2,1], produzindo 4+6+8+5=23. Adicionar um viés de dois produz 39 e 25. A especificação decide qual operação é pretendida.
Estenda a entrada para [1,2,3;4,5,6;7,8,9]. O kernel original produz [37,47;67,77]. A janela superior direita é [2,3;5,6], cujos produtos somam 2+6+15+24=47. Mover uma janela altera as coordenadas da entrada; nunca muda a ordem dos pesos armazenados. Pesos negativos obedecem à mesma regra de indexação. Por exemplo, [1,0,-1] subtrai explicitamente a amostra direita da esquerda.
Com vários canais, acumule a janela de cada canal no mesmo elemento de saída. Cada canal de saída tem seu próprio conjunto de kernels e um viés. Os canais são índices de redução, e não posições espaciais pelas quais uma janela desliza. A convolução agrupada restringe essas conexões e precisa de um mapeamento explícito de grupos.
Registre a janela de entrada, a ordem do kernel, os produtos parciais e o viés. Verificar apenas um arranjo final pode deixar passar erros de indexação que se compensam em dados de teste excessivamente regulares. Os exemplos assimétricos daqui reduzem esse risco. Compare as convenções de tensores e pesos com a documentação oficial do operador Conv do ONNX; os dados numéricos de teste desta aula foram construídos de forma independente.
Experimente
Quais são os resultados da correlação cruzada e do kernel invertido para [1,2;4,5] com kernel [1,0;0,-1]?
Ler a explicação
A correlação cruzada é 1−5=−4. O kernel invertido [−1,0;0,1] produz −1+5=4. Esses dados de teste revelam a orientação por uma mudança de sinal.