Умножая монохромные картинки как матрицы
Feb. 2nd, 2021 01:58 amУмножение матриц - штука крайне интересная. Один из необычных способов смотреть на это дело - интерпретировать монохромные картинки как матрицы, и умножать их друг на друга матричным умножением. Я не видел, чтобы кто-то так делал, хотя было бы странно, если бы до сих пор никто такое не пробовал.
Получается весьма забавное абстрактное искусство, особенно если нормализовать строчки левой матрицы и столбцы правой матрицы, так чтобы элементы в них суммировались к единице. Например, получается такое

или такое

Пояснения в комментариях.
Получается весьма забавное абстрактное искусство, особенно если нормализовать строчки левой матрицы и столбцы правой матрицы, так чтобы элементы в них суммировались к единице. Например, получается такое

или такое

Пояснения в комментариях.
no subject
Date: 2021-02-02 07:24 am (UTC)https://nbviewer.jupyter.org/github/anhinga/github-tests/blob/main/Untitled.ipynb
детали вычислений (Jupyter Notebook, Julia programming language):
5: монохромная обезьяна (мандрил)
8: транспонированная обезьяна
* 43: транспонированная обезьяна умножить на обезьяну
51: самолёт
* 52: самолёт умножить на обезьяну
79: нормализовать строчки (горизонтальные линии) самолёта софтмаксом
80: нормализовать столбцы (вертикальные линии) обезьяны софтмаксом
81: транспонировать нормализованную обезьяну (т.е. у транспонированной
обезьяны нормализованы строки - горизонтальные линии)
*** 82: матрица 80 умножить на 81 (без нормализации, см. картинку 43)
*** 83: матрица 79 умножить на 81 (без нормализации, см. картинку 52)