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

или такое

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

или такое

Пояснения в комментариях.
no subject
Date: 2021-02-02 09:43 pm (UTC)Пару лет назад я осознал, что та операция, которая в обычных нейронных сетях со скалярными потоками данных является умножением матрицы на вектор, в моих сетях с векторными потоками является умножением матриц. Тем самым, фундаментальная асимметрия между весами сети и преобразованными данными, которые текут по сети, исчезает. Я решил, что это любопытно, написал на эту тему небольшую неформальную заметку, и, в частности, написал там, что "это на будущее, когда-нибудь мы к этому вернёмся, а сейчас, как кажется, это слишком далеко от непосредственных нужд и приоритетов".
В прошлом году, после успехов GPT-3 стало невозможно и дальше игнорировать Transformers, и пришлось заняться подробным рассмотрением того, как они устроены внутри. Оказалось, что умножение матриц там играет вполне фундаментальную роль, и, вообще, что связи между Transformers и Dataflow matrix machines вполне глубокие.
Вот, из этого обстоятельства выросла некоторая последовательность заметок и текстов. В частности, последний из этих текстов говорит, "давайте вдохновимся примером синуса, как активационной фунцкции, и тем, насколько плодотворно этот самый синус (как функция трёх аргументов, sin(a*x+y)) используется в digital audio synthesis, и попробуем сделать что-то в этом роде в матричной форме":
https://github.com/anhinga/2020-notes/blob/master/attention-based-models/matrix-mult-machines.md