Produkt Hadamard

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 14. srpna 2020; kontroly vyžadují 13 úprav .

Hadamardův součin [1] ( Schurův součin [2] , komponentový součin ) je binární operace na dvou maticích stejné dimenze, jejímž výsledkem je matice stejné dimenze, ve které je každý prvek s indexy součinem prvky s indexy původních matic. Operace je pojmenována po francouzském matematikovi Jacquesu Hadamardovi a německém matematikovi Isai Schurovi .

Definice a vlastnosti

Pro dvě matice stejné dimenze je Hadamardův součin definován jako složkový součin dvou matic:

Pro dvě matice, které mají různé rozměry, není Hadamardův součin definován.

Příklad pro matice 3×3:

.

Je to asociativní a distributivní operace a na rozdíl od obvyklého maticového produktu je komutativní :

, , .

Vlastnosti směsných produktů s jinými variantami násobení matrice:

, kde  je produkt Kronecker ; , kde  je konečný produkt [3] ; , kde je produkt  sloupce Khatri-Rao .

Aplikace

Používá se ve ztrátových kompresních algoritmech , jako je JPEG .

V softwarových balíčcích MATLAB a GNU Octave se operace používá jako standardní operace násobení pole a je označena symbolem ".*" [4] .

Produktový provoz na vektorových datových typech v programovacích technologiích GPGPU je rovněž implementován na principu produktu Hadamard. Další primitivní matematické operace s vektorovými datovými typy jsou implementovány jako operace s komponentami na jejich komponentách.

Verze bloku

Penetrující konečný produkt

Tento typ maticové operace je založen na Hadamardově produktu a umožňuje násobit prvek matice po prvku libovolným počtem bloků stejné dimenze , čímž vznikne matice bloků [5] :

.

Například pro

dostaneme:

.

Hlavní vlastnosti :

; ,

kde je symbol konečného produktu matic.

, kde je vektor.

Tento typ násobení matrice navrhl v roce 1998 Slyusar V.I. popsat odezvy pole digitální antény s neidentickými přijímacími kanály [5] . Kromě toho vám tato práce umožňuje formalizovat proces fungování konvoluční neuronové sítě. Pokud například uvažujeme specifikovanou matici jako pole obrazových pixelů na vstupu algoritmu neuronové sítě, pak bloky matice budou odpovídat různým sadám koeficientů používaných k vytvoření konvoluční vrstvy v několika paralelních kanálech zpracování obrazu. pomocí neuronové sítě [6] .

Operace penetrujícího konečného produktu vektoru a matice je implementována v knihovně strojového učení TensorFlow pomocí vestavěné funkce „tf.multiply“ [6] [7] .

Poznámky

  1. Milion, Elizabeth The Hadamard Product . Získáno 2. ledna 2012. Archivováno z originálu 12. června 2013.
  2. Davis, Chandler. "Norma fungování produktů Schur." Numerische Mathematik 4.1 (1962): 343-344.
  3. Slyusar, VI Koncové produkty v matricích v radarových aplikacích  // Radioelectronics and Communications Systems.– 1998, Vol. 41; Číslo 3. - 1996. - 27. prosince. - S. 50-53 .
  4. Aritmetické operátory + - * / \ ^ ' - (downlink) . dokumentace MATLABu . Matematika funguje. Získáno 2. ledna 2012. Archivováno z originálu dne 24. dubna 2012. 
  5. 1 2 Slyusar, VI Rodina obličejových produktů matic a její vlastnosti  //  Kybernetika a systémová analýza C/C of Kibernetika I Sistemnyi Analiz. 1999. : časopis. - 1998. - 13. března ( roč. 35 , č. 3 ). - str. 379-384 . - doi : 10.1007/BF02733426 .
  6. 1 2 Slyusar V.I. Tensor-maticový model neuronových sítí. // Celoukrajinská vědecká a praktická internetová konference „Automatizace a technologie počítačové integrace v oblasti vzdělávání: tábor, úspěch, vyhlídky rozvoje“, 15. - 21. února 2021, Čerkasy, Cherkasy National Bogdan University ]
  7. Tensorflow, jak vynásobit 2D tenzor (matici) odpovídajícími prvky v 1D vektoru. – 2017. . Získáno 17. ledna 2021. Archivováno z originálu dne 15. října 2021.

Literatura