updating tensor decompositionssistawww/biomed/bio...updating tensor decompositions michiel...

Post on 07-Mar-2021

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Updating tensor decompositions

Michiel Vandecappellemichiel.vandecappelle@kuleuven.be

Nico VervlietMartijn Bousse

Lieven De Lathauwer

EURASIP Summer School onTensor-Based Signal Processing

August 29, 2018

Tensors can change over time

1 / 12

Tensors can change over time

I Data only becomes available gradually

I The data is non-stationary

I The full tensor does not fit into memory

1 / 12

Tensors can change over time

I Example: EEG dataI New EEG samples are obtainedI Old data becomes outdatedI Test subjects are added/removedI Mobile EEG

1 / 12

Recomputing the full decomposition can be infeasible or unnecessary

≈I The new data arrives too fastI The full tensor takes up too much memoryI We want to locally improve the accuracy of the decomposition

2 / 12

Can tensor decompositions adapt to changes in the tensor?

≈3 / 12

CPD updating

I A new slice M gets added to the tensor

I Factor matrix B obtains an extra column, b

I The original factor matrices A, B and C are updated

I The algorithm should be fast, accurate and memory-efficient

M ≈ AB

C

b

4 / 12

CPD updating

I A new slice M gets added to the tensor

I Factor matrix B obtains an extra column, b

I The original factor matrices A, B and C are updated

I The algorithm should be fast, accurate and memory-efficient

M ≈ AB

C

b

4 / 12

CPD updating

I A new slice M gets added to the tensor

I Factor matrix B obtains an extra column, b

I The original factor matrices A, B and C are updated

I The algorithm should be fast, accurate and memory-efficient

M ≈ AB

C

b

4 / 12

CPD updating

I A new slice M gets added to the tensor

I Factor matrix B obtains an extra column, b

I The original factor matrices A, B and C are updated

I The algorithm should be fast, accurate and memory-efficient

M ≈ AB

C

b

4 / 12

Existing algorithms are sequential

I Estimate b with its least squares solution:[(CT

oldCold) ∗ (AToldAold)

]−1(Cold �Aold)

Tvec(M)

I Update A and C

I Refine b: [(CT

newCnew) ∗ (ATnewAnew)

]−1(Cnew �Anew)

Tvec(M)

M ≈ AB

C

b

5 / 12

Existing algorithms are sequential

I Estimate b with its least squares solution:[(CT

oldCold) ∗ (AToldAold)

]−1(Cold �Aold)

Tvec(M)

I Update A and C

I Refine b: [(CT

newCnew) ∗ (ATnewAnew)

]−1(Cnew �Anew)

Tvec(M)

M ≈ AB

C

b

5 / 12

Existing algorithms are sequential

I Estimate b with its least squares solution:[(CT

oldCold) ∗ (AToldAold)

]−1(Cold �Aold)

Tvec(M)

I Update A and C

I Refine b: [(CT

newCnew) ∗ (ATnewAnew)

]−1(Cnew �Anew)

Tvec(M)

M ≈ AB

C

b

5 / 12

All-at-once CPD updating

Adapt batch NLS CPD algorithm to the updating context

I Replace old slices by an approximation (CPD, MLSVD . . . )

I Derive efficient expressions for objective function, gradient and Hessianapproximation JTJ by exploiting structure of old slices

I Apply Conjugate Gradients to solve the system JTJp = −gI Use block-Jacobi preconditioner M

I Limit number of NLS and CG iterations

6 / 12

All-at-once CPD updating

Adapt batch NLS CPD algorithm to the updating context

I Replace old slices by an approximation (CPD, MLSVD . . . )

I Derive efficient expressions for objective function, gradient and Hessianapproximation JTJ by exploiting structure of old slices

I Apply Conjugate Gradients to solve the system JTJp = −gI Use block-Jacobi preconditioner M

I Limit number of NLS and CG iterations

M ≈ AB

C

M

6 / 12

All-at-once CPD updating

Adapt batch NLS CPD algorithm to the updating context

I Replace old slices by an approximation (CPD, MLSVD . . . )I Derive efficient expressions for objective function, gradient and Hessian

approximation JTJ by exploiting structure of old slicesI Split the computation in parts depending on the old data and parts depending on

new slicesI Use the structured tensor framework for the old data

I Apply Conjugate Gradients to solve the system JTJp = −gI Use block-Jacobi preconditioner M

I Limit number of NLS and CG iterations

AB

C

M ≈ A′B′

C′

b

6 / 12

All-at-once CPD updating

Adapt batch NLS CPD algorithm to the updating context

I Replace old slices by an approximation (CPD, MLSVD . . . )

I Derive efficient expressions for objective function, gradient and Hessianapproximation JTJ by exploiting structure of old slices

I Apply Conjugate Gradients to solve the system JTJp = −gI Forming and inverting JTJ is not neededI Products of the form JTJx can be computed efficiently

I Use block-Jacobi preconditioner M

I Limit number of NLS and CG iterations

AB

C

M ≈ A′B′

C′

b

6 / 12

All-at-once CPD updating

Adapt batch NLS CPD algorithm to the updating context

I Replace old slices by an approximation (CPD, MLSVD . . . )

I Derive efficient expressions for objective function, gradient and Hessianapproximation JTJ by exploiting structure of old slices

I Apply Conjugate Gradients to solve the system JTJp = −gI Use block-Jacobi preconditioner M

I Left-multiply both sides of JTJp = −g by M−1

I Good choice of M improves convergence of CG algorithm

I Limit number of NLS and CG iterations

AB

C

M ≈ A′B′

C′

b

6 / 12

All-at-once CPD updating

Adapt batch NLS CPD algorithm to the updating context

I Replace old slices by an approximation (CPD, MLSVD . . . )

I Derive efficient expressions for objective function, gradient and Hessianapproximation JTJ by exploiting structure of old slices

I Apply Conjugate Gradients to solve the system JTJp = −gI Use block-Jacobi preconditioner M

I Limit number of NLS and CG iterations

AB

C

M ≈ A′B′

C′

b

6 / 12

Numerous generalizations of the algorithm exist

I Applicable to (N − 1)-th order updates of N th-order tensors in any number ofmodes simultaneously

I Truncated exponential windows are easily applied

I Rank changes are possible

I Extendable to structured or coupled CPDs

I Weighted least squares (WLS) CPD updating

7 / 12

Numerous generalizations of the algorithm exist

I Applicable to (N − 1)-th order updates of N th-order tensors in any number ofmodes simultaneously

I Truncated exponential windows are easily applied

I Rank changes are possible

I Extendable to structured or coupled CPDs

I Weighted least squares (WLS) CPD updating

7 / 12

Numerous generalizations of the algorithm exist

I Applicable to (N − 1)-th order updates of N th-order tensors in any number ofmodes simultaneously

I Truncated exponential windows are easily applied

I Rank changes are possible

I Extendable to structured or coupled CPDs

I Weighted least squares (WLS) CPD updating

7 / 12

Numerous generalizations of the algorithm exist

I Applicable to (N − 1)-th order updates of N th-order tensors in any number ofmodes simultaneously

I Truncated exponential windows are easily applied

I Rank changes are possible

I Extendable to structured or coupled CPDs

I Weighted least squares (WLS) CPD updating

7 / 12

Numerous generalizations of the algorithm exist

I Applicable to (N − 1)-th order updates of N th-order tensors in any number ofmodes simultaneously

I Truncated exponential windows are easily applied

I Rank changes are possible

I Extendable to structured or coupled CPDs

I Weighted least squares (WLS) CPD updating

7 / 12

Numerous generalizations of the algorithm exist

I Applicable to (N − 1)-th order updates of N th-order tensors in any number ofmodes simultaneously

I Truncated exponential windows are easily applied

I Rank changes are possible

I Extendable to structured or coupled CPDsI Weighted least squares (WLS) CPD updating

I CPD of weight tensor is updatedI This CPD is used in WLS update of the data tensor CPD

∗ ≈ ∗

7 / 12

Updating is both accurate and fast

I Model with slowly evolving second mode and 20dB SNR

I Comparison of batch and updating methods

I Mean errors of the CPD approximation

I CPU-time of the CPD approximation (ms)

8 / 12

Updating is both accurate and fast

I Model with slowly evolving second mode and 20dB SNR

I Comparison of batch and updating methods

I Mean errors of the CPD approximation

I CPU-time of the CPD approximation (ms)

Third degree polynomial

1000

1000

50 50

8 / 12

Updating is both accurate and fast

I Model with slowly evolving second mode and 20dB SNRI Comparison of batch and updating methods

I Batch CPD-NLS and CPD-ALS (Sorber et al. 2013)I PARAFAC-SDT and PARAFAC-RLST (Nion et al. 2009)I CPD updating

I Mean errors of the CPD approximation

I CPU-time of the CPD approximation (ms)

8 / 12

Updating is both accurate and fast

I Model with slowly evolving second mode and 20dB SNRI Comparison of batch and updating methodsI Mean errors of the CPD approximation

I CPU-time of the CPD approximation (ms)

10 20 30 40 50−25

−20

−15

−10

−5

Update

Error Updating

Batch

SDT

RLST

dB

8 / 12

Updating is both accurate and fast

I Model with slowly evolving second mode and 20dB SNR

I Comparison of batch and updating methods

I Mean errors of the CPD approximation

I CPU-time of the CPD approximation (ms)

R 2 3 4 5 6

Updating 60 81 104 140 169NLS 2375 4464 2557 3563 5522

ALS 910 1222 1400 1401 2352

SDT 48 71 98 136 172

RLST 570 607 623 775 822

8 / 12

NLS updating enables real-time CPD applications

9 / 12

NLS updating enables real-time CPD applications

I Direction-of-arrival estimation using a uniform rectangular array (URA)

I Three moving sources, SNR 10dBI Azimuth and elevation angles of sources are recovered from CPD of data tensorI NLS updating: 6-8ms per update

9 / 12

NLS updating enables real-time CPD applications

I Direction-of-arrival estimation using a uniform rectangular array (URA)

I Three moving sources, SNR 10dB

I Azimuth and elevation angles of sources are recovered from CPD of data tensor

I NLS updating: 6-8ms per update

0 200 400 600

−50

0

50

Time

Azi

mu

than

gles

0 200 400 6000

20

40

60

Time

Ele

vati

onan

gles

9 / 12

NLS updating enables real-time CPD applications

I Direction-of-arrival estimation using a uniform rectangular array (URA)

I Three moving sources, SNR 10dB

I Azimuth and elevation angles of sources are recovered from CPD of data tensor

I NLS updating: 6-8ms per update

0 200 400 600

−50

0

50

Time

Azi

mu

than

gles

0 200 400 6000

20

40

60

Time

Ele

vati

onan

gles

9 / 12

NLS updating enables real-time CPD applications

I Direction-of-arrival estimation using a uniform rectangular array (URA)

I Three moving sources, SNR 10dB

I Azimuth and elevation angles of sources are recovered from CPD of data tensor

I NLS updating: 6-8ms per update

0 200 400 600

−50

0

50

Time

Azi

mu

than

gles

0 200 400 6000

20

40

60

Time

Ele

vati

onan

gles

9 / 12

NLS updating enables real-time CPD applications

I WLS NLS CPD updatingI Direction-of-arrival estimation with three moving sourcesI Some sensors break down, leading to bad readingsI Less weight is given to readings of these sensors

9 / 12

Main advantages of all-at once CPD updating

I Fast and accurate

I Versatile

I Low memory requirements O(New slice)

10 / 12

Main advantages of all-at once CPD updating

I Fast and accurate

I Versatile

I Low memory requirements O(New slice)

10 / 12

Main advantages of all-at once CPD updating

I Fast and accurate

I Versatile

I Low memory requirements O(New slice)

10 / 12

Main advantages of all-at once CPD updating

I Fast and accurate

I Versatile

I Low memory requirements O(New slice)

10 / 12

Improvements can still be made

I Automatic rank-adaptationI Additionally track an MLSVD or higher-rank CPD of the tensor

I Compromise between storing full tensor and only CPDI Track enough data for rank-increasesI Countering numerical error accumulation

I Numerical error increases for all modesI Statistical error decreases for non-updated modes

11 / 12

Improvements can still be made

I Automatic rank-adaptation

I Additionally track an MLSVD or higher-rank CPD of the tensor

I Compromise between storing full tensor and only CPDI Track enough data for rank-increasesI Countering numerical error accumulation

I Numerical error increases for all modesI Statistical error decreases for non-updated modes

11 / 12

Improvements can still be made

I Automatic rank-adaptationI Additionally track an MLSVD or higher-rank CPD of the tensor

I Compromise between storing full tensor and only CPDI Track enough data for rank-increasesI Countering numerical error accumulation

I Numerical error increases for all modesI Statistical error decreases for non-updated modes

≈ ≈

11 / 12

Improvements can still be made

I Automatic rank-adaptationI Additionally track an MLSVD or higher-rank CPD of the tensor

I Compromise between storing full tensor and only CPD

I Track enough data for rank-increasesI Countering numerical error accumulation

I Numerical error increases for all modesI Statistical error decreases for non-updated modes

≈ ≈

11 / 12

Improvements can still be made

I Automatic rank-adaptationI Additionally track an MLSVD or higher-rank CPD of the tensor

I Compromise between storing full tensor and only CPDI Track enough data for rank-increases

I Countering numerical error accumulation

I Numerical error increases for all modesI Statistical error decreases for non-updated modes

≈ ≈

11 / 12

Improvements can still be made

I Automatic rank-adaptationI Additionally track an MLSVD or higher-rank CPD of the tensor

I Compromise between storing full tensor and only CPDI Track enough data for rank-increasesI Countering numerical error accumulation

I Numerical error increases for all modesI Statistical error decreases for non-updated modes

11 / 12

Further possibilities for updating algorithms

I Other decompositions (MLSVD, BTD)

I Different cost functions

I Tensor data changing in other ways

12 / 12

Updating tensor decompositions

Michiel Vandecappellemichiel.vandecappelle@kuleuven.be

Nico VervlietMartijn Bousse

Lieven De Lathauwer

EURASIP Summer School onTensor-Based Signal Processing

August 29, 2018

top related