Blahut–Arimoto algorithm

From HandWiki
Revision as of 16:19, 6 February 2024 by Steve2012 (talk | contribs) (linkage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Class of algorithms in information theory

The term Blahut–Arimoto algorithm is often used to refer to a class of algorithms for computing numerically either the information theoretic capacity of a channel, the rate-distortion function of a source or a source encoding (i.e. compression to remove the redundancy). They are iterative algorithms that eventually converge to one of the maxima of the optimization problem that is associated with these information theoretic concepts.

History and application

For the case of channel capacity, the algorithm was independently invented by Suguru Arimoto[1] and Richard Blahut.[2] In addition, Blahut's treatment gives algorithms for computing rate distortion and generalized capacity with input contraints (i.e. the capacity-cost function, analogous to rate-distortion). These algorithms are most applicable to the case of arbitrary finite alphabet sources. Much work has been done to extend it to more general problem instances.[3][4] Recently, a version of the algorithm that accounts for continuous and multivariate outputs was proposed with applications in cellular signaling.[5] There exists also a version of Blahut–Arimoto algorithm for directed information.[6]

Algorithm for Channel Capacity

A discrete memoryless channel (DMC) can be specified using two random variables [math]\displaystyle{ X, Y }[/math] with alphabet [math]\displaystyle{ \mathcal X, \mathcal Y }[/math], and a channel law as a conditional probability distribution [math]\displaystyle{ p(y|x) }[/math]. The channel capacity, defined as [math]\displaystyle{ C := \sup_{p \sim X}I(X;Y) }[/math], indicates the maximum efficiency that a channel can communicate, in the unit of bit per use.[7] Now if we denote the cardinality [math]\displaystyle{ |\mathcal X| = n, |\mathcal Y| = m }[/math], then [math]\displaystyle{ p_{Y|X} }[/math] is a [math]\displaystyle{ n \times m }[/math] matrix, which we denote the [math]\displaystyle{ i^{th} }[/math] row, [math]\displaystyle{ j^{th} }[/math] column entry by [math]\displaystyle{ w_{ij} }[/math]. For the case of channel capacity, the algorithm was independently invented by Suguru Arimoto[8] and Richard Blahut.[9] They both found the following expression for the capacity of a DMC with channel law:

[math]\displaystyle{ C = \max_{\mathbf p} \max_{Q} \sum_{i=1}^n \sum_{j=1}^m p _i w_{ij}\log\left(\dfrac {Q_{ji}}{p_i}\right) }[/math]

where [math]\displaystyle{ \mathbf p }[/math] and [math]\displaystyle{ Q }[/math] are maximized over the following requirements:

  • [math]\displaystyle{ \mathbf p }[/math] is a probability distribution on [math]\displaystyle{ X }[/math], That is, if we write [math]\displaystyle{ \mathbf p }[/math] as [math]\displaystyle{ (p_1, p_2 ... , p_n), \sum_{i= 1}^np_i = 1 }[/math]
  • [math]\displaystyle{ Q = (q_{ji}) }[/math] is a [math]\displaystyle{ m \times n }[/math] matrix that behaves like a transition matrix from [math]\displaystyle{ Y }[/math] to [math]\displaystyle{ X }[/math] with respect to the channel law. That is, For all [math]\displaystyle{ 1 \leq i \leq n, 1\leq j \leq m }[/math]:
    • [math]\displaystyle{ q_{ji} \geq 0, q_{ji} = 0 \Leftrightarrow w_{ij} = 0 }[/math]
    • Every row sums up to 1, i.e. [math]\displaystyle{ \sum_{i=1}^n q_{ji} = 1 }[/math].

Then upon picking a random probability distribution [math]\displaystyle{ \mathbf p^0 := (p^0_1, p^0_2, ... p^0_n) }[/math] on [math]\displaystyle{ X }[/math], we can generate a sequence [math]\displaystyle{ (\mathbf p^0, Q^0, \mathbf p^1, Q^1 ...) }[/math] iteratively as follows:

[math]\displaystyle{ (q^t_{ji}):= \dfrac{p^t_iw_{ij}}{\sum_{k=1}^n p^t_kw_{kj}} }[/math]

[math]\displaystyle{ p^{t+1}_k := \dfrac {\prod_{j = 1}^m (q^t_{jk})^{w_{kj}}}{\sum_{i= 1}^n\prod_{j = 1}^m(q^t_{ji})^{w_{ij}}} }[/math]

For [math]\displaystyle{ t = 0, 1, 2 ... }[/math].

Then, using the theory of optimization, specifically coordinate descent, Yeung[10] showed that the sequence indeed converges to the required maximum. That is,

[math]\displaystyle{ \lim_{t\to \infty} \sum_{i=1}^n \sum_{j=1}^m p^t_i w_{ij}\log\left(\dfrac {Q^t_{ji}}{p^t_i}\right) = C }[/math].

So given a channel law [math]\displaystyle{ p(y|x) }[/math], the capacity can be numerically estimated up to arbitrary precision.

Algorithm for Rate-Distortion

Suppose we have a source [math]\displaystyle{ X }[/math] with probability [math]\displaystyle{ p(x) }[/math] of any given symbol. We wish to find an encoding [math]\displaystyle{ p(\hat{x}|x) }[/math] that generates a compressed signal [math]\displaystyle{ \hat{X} }[/math] from the original signal while minimizing the expected distortion [math]\displaystyle{ \langle d(x,\hat{x}) \rangle }[/math], where the expectation is taken over the joint probability of [math]\displaystyle{ X }[/math] and [math]\displaystyle{ \hat{X} }[/math]. We can find an encoding that minimizes the rate-distortion functional locally by repeating the following iteration until convergence:

[math]\displaystyle{ p_{t+1}(\hat{x}) = \sum_{x} p(x)p_t(\hat{x}|x) }[/math]
[math]\displaystyle{ p_{t+1}(\hat{x}|x) = \frac{p_t(\hat{x}) \exp(-\beta d(x,\hat{x}))}{\sum_{\hat{x}} p_t(\hat{x}) \exp(-\beta d(x,\hat{x}))} }[/math]

where [math]\displaystyle{ \beta }[/math] is a parameter related to the slope in the rate-distortion curve that we are targeting and thus is related to how much we favor compression versus distortion (higher [math]\displaystyle{ \beta }[/math] means less compression).

References

  1. Arimoto, Suguru (1972), "An algorithm for computing the capacity of arbitrary discrete memoryless channels", IEEE Transactions on Information Theory 18 (1): 14–20, doi:10.1109/TIT.1972.1054753 .
  2. Blahut, Richard (1972), "Computation of channel capacity and rate-distortion functions", IEEE Transactions on Information Theory 18 (4): 460–473, doi:10.1109/TIT.1972.1054855 .
  3. Vontobel, Pascal O. (2003). "A Generalized Blahut–Arimoto Algorithm". pp. 53. doi:10.1109/ISIT.2003.1228067. ISBN 0-7803-7728-1. https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=9fb198aba311eda67b3c53c6f60db2b06c011ad4. 
  4. Iddo Naiss; Haim Permuter (2010). "Extension of the Blahut-Arimoto algorithm for maximizing directed information". arXiv:1012.5071v2 [cs.IT].
  5. Tomasz Jetka; Karol Nienaltowski; Tomasz Winarski; Slawomir Blonski; Michal Komorowski (2019), "Information-theoretic analysis of multivariate single-cell signaling responses", PLOS Computational Biology 15 (7): e1007132, doi:10.1371/journal.pcbi.1007132, PMID 31299056, Bibcode2019PLSCB..15E7132J 
  6. Naiss, Iddo; Permuter, Haim H. (January 2013). "Extension of the Blahut–Arimoto Algorithm for Maximizing Directed Information". IEEE Transactions on Information Theory 59 (1): 204–222. doi:10.1109/TIT.2012.2214202. 
  7. Cover, T. M. (2006). Elements of information theory. Joy A. Thomas (2nd ed.). Hoboken, N.J.: Wiley-Interscience. ISBN 0-471-24195-4. OCLC 59879802. https://www.worldcat.org/oclc/59879802. 
  8. Arimoto, Suguru (1972), "An algorithm for computing the capacity of arbitrary discrete memoryless channels", IEEE Transactions on Information Theory 18 (1): 14–20, doi:10.1109/TIT.1972.1054753 .
  9. Blahut, Richard (1972), "Computation of channel capacity and rate-distortion functions", IEEE Transactions on Information Theory 18 (4): 460–473, doi:10.1109/TIT.1972.1054855 .
  10. Yeung, Raymond W. (2008). Information theory and network coding. New York: Springer. ISBN 978-0-387-79234-7. OCLC 288469056. https://www.worldcat.org/oclc/288469056.