systemml-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Boehm (JIRA)" <>
Subject [jira] [Created] (SYSTEMML-1761) Sparsity-exploiting weighted squared loss w/o weights
Date Wed, 12 Jul 2017 04:26:00 GMT
Matthias Boehm created SYSTEMML-1761:

             Summary: Sparsity-exploiting weighted squared loss w/o weights
                 Key: SYSTEMML-1761
             Project: SystemML
          Issue Type: Task
            Reporter: Matthias Boehm

There are existing rewrites and fused operators for weighted squared loss (wsloss). However,
for the wsloss type {{NONE}}, i.e., without weights {{sum((X-(U%*%t(V)))^2)}}, the implementation
is not sparsity-exploiting leading huge (unnecessary) computation overhead. As it turns out
this expression can be rewritten into a sparsity-exploiting form as follows:
sum ((X - U %*% t(V)) ^ 2)
-> sum(X^2) - sum(2 * (X * (U%*%t(V)))) + sum((U%*%t(V))^2)
-> sum(X^2) - sum(2 * (X * (U%*%t(V)))) + sum ((t(U) %*% U) * (t(V) %*% V))

This task aims to change the block-level wsloss NONE implementation to exploit this logical
rewrite by computing {{sum(X^2) - sum(2 * (X * (U%*%t(V))))}} in a sparsity-exploiting pass
over non-zeros in X and a subsequent correct for {{+ sum ((t(U) %*% U) * (t(V) %*% V))}} via
two tsmm operations.

This message was sent by Atlassian JIRA

View raw message