Tsetlin machine

From HandWiki
Short description: Artificial intelligence algorithm
A simple block diagram of the Tsetlin machine

A Tsetlin machine is an Artificial Intelligence algorithm based on propositional logic.

Background

A Tsetlin machine is a form of learning automaton collective for learning patterns using propositional logic. Ole-Christoffer Granmo gave the method its name after Michael Lvovitch Tsetlin, who invented the Tsetlin automaton[1] and worked on Tsetlin automata collectives and games.[2] Collectives of Tsetlin automata were originally constructed, implemented, and studied theoretically by Vadim Stefanuk in 1962.

The Tsetlin machine uses computationally simpler and more efficient primitives compared to more ordinary artificial neural networks.[3]

As of April 2018 it has shown promising results on a number of test sets.[4][5]

Types

  • Original Tsetlin machine[3]
  • Convolutional Tsetlin machine[6]
  • Regression Tsetlin machine[7]
  • Relational Tsetlin machine[8]
  • Weighted Tsetlin machine[9][10]
  • Arbitrarily deterministic Tsetlin machine[11]
  • Parallel asynchronous Tsetlin machine[12]
  • Coalesced multi-output Tsetlin machine[13]
  • Tsetlin machine for contextual bandit problems[14]
  • Tsetlin machine autoencoder[15]
  • Tsetlin machine composites: plug-and-play collaboration between specialized Tsetlin machines[16][17]

Applications

Original Tsetlin machine

A detailed block diagram of the original Tsetlin Machine
A detailed block diagram of the original Tsetlin machine
List of hyperparameters[32]
Description Symbol
Number of binary inputs [math]\displaystyle{ N_\text{Inputs} }[/math]
Number of classes [math]\displaystyle{ N_\text{Classes} }[/math]
Number of clauses per class [math]\displaystyle{ N_\text{Clauses} }[/math]
Number of automaton states [math]\displaystyle{ 2n }[/math]
Automaton decision boundary n
Automaton initialization state [math]\displaystyle{ \varnothing_\text{Init} }[/math]
Feedback threshold T
Learning sensitivity s

Tsetlin automaton

A six states TA.png

The Tsetlin automaton is the fundamental learning unit of the Tsetlin machine. It tackles the multi-armed bandit problem, learning the optimal action in an environment from penalties and rewards. Computationally, it can be seen as a finite-state machine (FSM) that changes its states based on the inputs. The FSM will generate its outputs based on the current states.

  • A quintuple describes a two-action Tsetlin automaton:

[math]\displaystyle{ \{\underline{\Phi}, \underline{\alpha}, \underline{\beta}, F(\cdot,\cdot), G(\cdot)\}. }[/math]

  • A Tsetlin automaton has [math]\displaystyle{ 2n }[/math] states, here 6:

[math]\displaystyle{ \underline{\Phi} = \{\phi_1, \phi_2, \phi_3, \phi_4, \phi_5, \phi_6\} }[/math]

  • The FSM can be triggered by two input events

[math]\displaystyle{ \underline{\beta} = \{\beta_{\mathrm{Penalty}}, \beta_{\mathrm{Reward}}\} }[/math]

  • The rules of state migration of the FSM are stated as

[math]\displaystyle{ F(\phi_u, \beta_v) = \begin{cases} \phi_{u+1},& \text{if}~ 1 \le u \le 3 ~\text{and}~ v = \text{Penalty}\\ \phi_{u-1},& \text{if}~ 4 \le u \le 6 ~\text{and}~ v = \text{Penalty}\\ \phi_{u-1},& \text{if}~ 1 \lt u \le 3 ~\text{and}~ v = \text{Reward}\\ \phi_{u+1},& \text{if}~ 4 \le u \lt 6 ~\text{and}~ v = \text{Reward}\\ \phi_{u},& \text{otherwise}. \end{cases} }[/math]

  • It includes two output actions

[math]\displaystyle{ \underline{\alpha} = \{\alpha_1, \alpha_2\} }[/math]

  • Which can be generated by the algorithm

[math]\displaystyle{ G(\phi_u) = \begin{cases} \alpha_1, & \text{if}~ 1 \le u \le 3\\ \alpha_2, & \text{if}~ 4 \le u \le 6. \end{cases} }[/math]

Boolean input

A basic Tsetlin machine takes a vector [math]\displaystyle{ X=[x_1,\ldots,x_o] }[/math] of o Boolean features as input, to be classified into one of two classes, [math]\displaystyle{ y=0 }[/math] or [math]\displaystyle{ y=1 }[/math]. Together with their negated counterparts, [math]\displaystyle{ \bar{x}_k = {\lnot} {x}_k = 1-x_k }[/math], the features form a literal set [math]\displaystyle{ L = \{x_1,\ldots,x_o,\bar{x}_1,\ldots,\bar{x}_o\} }[/math].

Clause computing module

A Tsetlin machine pattern is formulated as a conjunctive clause [math]\displaystyle{ C_j }[/math], formed by ANDing a subset [math]\displaystyle{ L_j {\subseteq} L }[/math] of the literal set:

Script error: No such module "in5".[math]\displaystyle{ C_j (X)=\bigwedge_{{{l}} {\in} L_j} l = \prod_{{{l}} {\in} L_j} l }[/math].

For example, the clause [math]\displaystyle{ C_j(X)=x_1\land{\lnot}x_2=x_1 \bar{x}_2 }[/math] consists of the literals [math]\displaystyle{ L_j = \{x_1,\bar{x}_2\} }[/math] and outputs 1 iff [math]\displaystyle{ x_1 = 1 }[/math] and [math]\displaystyle{ x_2 = 0 }[/math].

Summation and thresholding module

The number of clauses employed is a user-configurable parameter n. Half of the clauses are assigned positive polarity. The other half is assigned negative polarity. The clause outputs, in turn, are combined into a classification decision through summation and thresholding using the unit step function [math]\displaystyle{ u(v) = 1 ~\text{if}~ v \ge 0 ~\text{else}~ 0 }[/math]:

[math]\displaystyle{ \hat{y} = u\left(\sum_{j=1}^{n/2} C_j^+(X) - \sum_{j=1}^{n/2} C_j^-(X)\right). }[/math] In other words, classification is based on a majority vote, with the positive clauses voting for [math]\displaystyle{ y=1 }[/math] and the negative for [math]\displaystyle{ y=0 }[/math]. The classifier

Script error: No such module "in5".[math]\displaystyle{ \hat{y} = u\left(x_1 \bar{x}_2 + \bar{x}_1 x_2 - x_1 x_2 - \bar{x}_1 \bar{x}_2\right) }[/math],

for instance, captures the XOR-relation.

Feedback module

Type I feedback

Type I Feedback
Action Clause 1 0
Literal 1 0 1 0
Include literal P(reward) [math]\displaystyle{ \frac{s-1}{s} }[/math] N/A 0 0
P(inaction) [math]\displaystyle{ \frac{1}{s} }[/math] N/A [math]\displaystyle{ \frac{s-1}{s} }[/math] [math]\displaystyle{ \frac{s-1}{s} }[/math]
P(penalty) 0 N/A [math]\displaystyle{ \frac{1}{s} }[/math] [math]\displaystyle{ \frac{1}{s} }[/math]
Exclude literal P(reward) 0 [math]\displaystyle{ \frac{1}{s} }[/math] [math]\displaystyle{ \frac{1}{s} }[/math] [math]\displaystyle{ \frac{1}{s} }[/math]
P(inaction) [math]\displaystyle{ \frac{1}{s} }[/math] [math]\displaystyle{ \frac{s-1}{s} }[/math] [math]\displaystyle{ \frac{s-1}{s} }[/math] [math]\displaystyle{ \frac{s-1}{s} }[/math]
P(penalty) [math]\displaystyle{ \frac{s-1}{s} }[/math] 0 0 0

Type II feedback

Type II Feedback
Action Clause 1 0
Literal 1 0 1 0
Include literal P(reward) 0 N/A 0 0
P(inaction) 1.0 N/A 1.0 1.0
P(penalty) 0 N/A 0 0
Exclude literal P(reward) 0 0 0 0
P(inaction) 1.0 0 1.0 1.0
P(penalty) 0 1.0 0 0

Resource allocation

Resource allocation dynamics ensure that clauses distribute themselves across the frequent patterns, rather than missing some and overconcentrating on others. That is, for any input X, the probability of reinforcing a clause gradually drops to zero as the clause output sum

[math]\displaystyle{ v = \sum_{j=1}^{n/2} C_j^+(X) - \sum_{j=1}^{n/2} C_j^-(X) }[/math] approaches a user-set target T for [math]\displaystyle{ y=1 }[/math] ([math]\displaystyle{ -T }[/math] for [math]\displaystyle{ y=0 }[/math]).

If a clause is not reinforced, it does not give feedback to its Tsetlin automata, and these are thus left unchanged. In the extreme, when the voting sum v equals or exceeds the target T (the Tsetlin Machine has successfully recognized the input X), no clauses are reinforced. Accordingly, they are free to learn new patterns, naturally balancing the pattern representation resources.

Implementations

Software

Hardware

  • One of the first FPGA-based hardware implementation[41][42] of the Tsetlin Machine on the Iris dataset was developed by the µSystems (microSystems) Research Group at Newcastle University.
  • They also presented the first ASIC[43][44] implementation of the Tsetlin Machine focusing on energy frugality, claiming it could deliver 10 trillion operation per Joule.[45] The ASIC design had demoed on DATA2020.[46]

Additional Read

Books

  • An Introduction to Tsetlin Machines [47]

Conferences

  • International Symposium on the Tsetlin Machine (ISTM) [48][49]

Videos

Papers

  • On the Convergence of Tsetlin Machines for the XOR Operator [57]
  • Learning Automata based Energy-efficient AI Hardware Design for IoT Applications [32]
  • On the Convergence of Tsetlin Machines for the IDENTITY- and NOT Operators [58]
  • The Tsetlin Machine - A Game Theoretic Bandit Driven Approach to Optimal Pattern Recognition with Propositional Logic [3]

Publications/news/articles

References

  1. Tsetlin, Michael L. (1961). "On behaviour of finite automata in random medium". Avtomat. i Telemekh. 22 (10). https://m.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=at&paperid=12417&option_lang=eng. "
  2. Krylov, V. U.; Tsetlin, Michael L. (1963). "On games for automata". Avtomatika i Telemekhanika 24 (7). https://www.mathnet.ru/eng/at/v24/i7/p975. 
  3. 3.0 3.1 3.2 Granmo, Ole-Christoffer (2018-04-04). "The Tsetlin Machine - A Game Theoretic Bandit Driven Approach to Optimal Pattern Recognition with Propositional Logic". arXiv:1804.01508 [cs.AI].
  4. Christiansen, Atle. "The Stefanuk Machine outperforms neural networks - Center for Artificial Intelligence Research". https://cair.uia.no/milestones-and-discoveries/the-tsetlin-machine-outperforms-neural-networks/. 
  5. Øyvann, Stig (23 March 2018). "AI-gjennombrudd i Agder | Computerworld" (in no). http://www.cw.no/artikkel/forskning/ai-gjennombrudd-agder. 
  6. 6.0 6.1 6.2 Granmo, Ole-Christoffer; Glimsdal, Sondre; Jiao, Lei; Goodwin, Morten; Omlin, Christian W.; Berge, Geir Thore (2019-12-27). "The Convolutional Tsetlin Machine". arXiv:1905.09688 [cs.LG].
  7. Abeyrathna, K. Darshana; Granmo, Ole-Christoffer; Zhang, Xuan; Jiao, Lei; Goodwin, Morten (2020). "The regression Tsetlin machine: a novel approach to interpretable nonlinear regression" (in en). Philosophical Transactions of the Royal Society A 378 (2164). doi:10.1098/rsta.2019.0165. PMID 31865880. Bibcode2020RSPTA.37890165D. https://royalsocietypublishing.org/doi/10.1098/rsta.2019.0165. "
  8. Saha, Rupsa; Granmo, Ole-Christoffer; Zadorozhny, Vladimir; Goodwin, Morten (2022). "A relational Tsetlin machine with applications to natural language understanding". Journal of Intelligent Information Systems (Springer) 59: 121–148. doi:10.1007/s10844-021-00682-5. https://rdcu.be/cEgqi. 
  9. Phoulady, Adrian; Granmo, Ole-Christoffer; Gorji, Saeed Rahimi; Phoulady, Hady Ahmady (2019-11-28). "The Weighted Tsetlin Machine: Compressed Representations with Weighted Clauses". arXiv:1911.12607 [cs.LG].
  10. Abeyrathna, K. Darshana; Granmo, Ole-Christoffer; Goodwin, Morten (2021). "Extending the Tsetlin Machine With Integer-Weighted Clauses for Increased Interpretability" (in en). IEEE Access 9: 8233–8248. doi:10.1109/ACCESS.2021.3049569. "
  11. Abeyrathna, K. Darshana; Granmo, Ole-Christoffer; Shafik, Rishad; Yakovlev, Alex; Wheeldon, Adrian; Lei, Jie; Goodwin, Morten (2021). "A multi-step finite-state automaton for arbitrarily deterministic Tsetlin Machine learning". Expert Systems (Wiley): exsy.12836. doi:10.1111/exsy.12836. 
  12. Abeyrathna, K. Darshana; Bhattarai, Bimal; Goodwin, Morten; Gorji, Saeed; Granmo, Ole-Christoffer; Jiao, Lei; Saha, Rupsa; Yadav, Rohan K. (2021). "Massively Parallel and Asynchronous Tsetlin Machine Architecture Supporting Almost Constant-Time Scaling". Thirty-eighth International Conference on Machine Learning (ICML 2021). http://proceedings.mlr.press/v139/abeyrathna21a/abeyrathna21a.pdf. 
  13. Glimsdal, Sondre; Granmo, Ole-Christoffer (2021-08-17). "Coalesced Multi-Output Tsetlin Machines with Clause Sharing". arXiv:2108.07594 [cs.AI].
  14. Seraj, Raihan; Sharma, Jivitesh; Granmo, Ole-Christoffer (2022). "Tsetlin Machine for Solving Contextual Bandit Problems". Thirty-sixth Conference on Neural Information Processing Systems (NeurIPS 2022). https://openreview.net/pdf?id=b-WnRS7kSEN. 
  15. 15.0 15.1 Bhattarai, Bimal; Granmo, Ole-Christoffer; Jiao, Lei; Yadav, Rohan; Sharma, Jivitesh (2023-01-03). "Tsetlin Machine Embedding: Representing Words Using Logical Expressions". arXiv:2301.00709 [cs.CL].
  16. Granmo, Ole-Christoffer (2023-09-09). "TMComposites: Plug-and-Play Collaboration Between Specialized Tsetlin Machines". arXiv:2309.04801 [cs.CV].
  17. Plug-and-play collaboration between specialized Tsetlin machines, Centre for Artificial Intelligence Research (CAIR), 2023-08-29, https://github.com/cair/Plug-and-Play-Collaboration-Between-Specialized-Tsetlin-Machines, retrieved 2023-08-29 
  18. Lei, Jie; Shafik, Rishad; Wheeldon, Adrian; Yakovlev, Alex; Granmo, Ole-Christoffer; Kawsar, Fahim; Akhil, Mathur (2021-04-09). "Low-Power Audio Keyword Spotting using Tsetlin Machines". Journal of Low Power Electronics and Applications 11 (2): 18. doi:10.3390/jlpea11020018. 
  19. Yadav, Rohan Kumar; Jiao, Lei; Granmo, Ole-Christoffer; Goodwin, Morten (2021). "Human-Level Interpretable Learning for Aspect-Based Sentiment Analysis". The Thirty-Fifth AAAI Conference on Artificial Intelligence (AAAI-21). AAAI. 
  20. Yadav, Rohan Kumar; Jiao, Lei; Granmo, Ole-Christoffer; Goodwin, Morten (2021). "Interpretability in Word Sense Disambiguation using Tsetlin Machine". 13th International Conference on Agents and Artificial Intelligence (ICAART 2021). INSTICC. 
  21. Bhattarai, Bimal; Granmo, Ole-Christoffer; Jiao, Lei (2022). "Word-level human interpretable scoring mechanism for novel text detection using Tsetlin Machines". Applied Intelligence (Springer) 52 (15): 17465–17489. doi:10.1007/s10489-022-03281-1. 
  22. Abeyrathna, K. Darshana; Pussewalage, Harsha S. Gardiyawasam; Ranasinghea, Sasanka N.; Oleshchuk, Vladimir A.; Granmo, Ole-Christoffer (2020). "Intrusion Detection with Interpretable Rules Generated Using the Tsetlin Machine". 2020 IEEE Symposium Series on Computational Intelligence (SSCI). IEEE. 
  23. Saha, Rupsa; Granmo, Ole-Christoffer; Goodwin, Morten (2021). "Using Tsetlin Machine to discover interpretable rules in natural language processing applications". Expert Systems (Wiley). doi:10.1111/exsy.12873. 
  24. Berge, Geir Thore; Granmo, Ole-Christoffer; Tveit, Tor O.; Goodwin, Morten; Jiao, Lei; Matheussen, Bernt Viggo (2019). "Using the Tsetlin Machine to Learn Human-Interpretable Rules for High-Accuracy Text Categorization with Medical Applications" (in en). IEEE Access 7: 115134–115146. doi:10.1109/ACCESS.2019.2935416. "
  25. Bhattarai, Bimal; Granmo, Ole-Christoffer; Jiao, Lei (2022). "Explainable Tsetlin Machine framework for fake news detection with credibility score assessment". 13th Conference on Language Resources and Evaluation (LREC 2022). http://www.lrec-conf.org/proceedings/lrec2022/pdf/2022.lrec-1.523.pdf. 
  26. Giri, Charul; Granmo, Ole-Christoffer; Hoof, Herke van; Blakely, Christian D. (2022-03-10). "Logic-based AI for Interpretable Board Game Winner Prediction with Tsetlin Machine". The 2022 International Joint Conference on Neural Networks (IJCNN 2022). 
  27. Bakar, Abu; Rahman, Tousif; Shafik, Rishad; Kawsar, Fahim; Montanari, Alessandro (2023-01-24). "Adaptive Intelligence for Batteryless Sensors Using Software-Accelerated Tsetlin Machines". ACM SenSys 2022. pp. 236–249. doi:10.1145/3560905.3568512. https://dl.acm.org/doi/pdf/10.1145/3560905.3568512. 
  28. Borgersen, Karl Audun; Goodwin, Morten; Sharma, Jivitesh (2023). "A comparison between Tsetlin machines and deep neural networks in the context of recommendation systems". Proceedings of the Northern Lights Deep Learning Workshop 4. doi:10.7557/18.6807. 
  29. Zhang, Jinbao; Zhang, Xuan; Jiao, Lei; Granmo, Ole-Christoffer; Qian, Yongjun; Pan, Fan (2023-01-25). "Interpretable Tsetlin Machine-based Premature Ventricular Contraction Identification". arXiv:2301.10181 [eess.SP)].
  30. Maheshwari, Sidharth; Rahman, Tousif; Shafik, Rishad; Yakovlev, Alex; Rafiev, Ashur; Jiao, Lei; Granmo, Ole-Christoffer (2023). "REDRESS: Generating Compressed Models for Edge Inference Using Tsetlin Machines" (in en). IEEE Transactions on Pattern Analysis and Machine Intelligence. doi:10.1109/TPAMI.2023.3268415. https://ieeexplore.ieee.org/document/10105493. 
  31. Blakely, Christian D. (2023-05-17). "Generating Bayesian Network Models from Data Using Tsetlin Machines". arXiv:2305.10538 [cs.AI)].
  32. 32.0 32.1 Wheeldon, A.; Shafik, R.; Rahman, T.; Lei, J.; Yakovlev, A.; Granmo, O. C. (2020). "Learning Automata based Energy-efficient AI Hardware Design for IoT Applications" (in en). Philosophical Transactions of the Royal Society A 378 (2182). doi:10.1098/rsta.2019.0593. PMID 32921236. PMC 7536019. Bibcode2020RSPTA.37890593W. https://eprint.ncl.ac.uk/268038. 
  33. cair/TsetlinMachineC, Centre for Artificial Intelligence Research (CAIR), 2019-04-18, https://github.com/cair/TsetlinMachineC, retrieved 2020-07-27 
  34. cair/FastTsetlinMachineC, Centre for Artificial Intelligence Research (CAIR), 2019-02-15, https://github.com/cair/fast-tsetlin-machine-with-mnist-demo, retrieved 2021-02-15 
  35. cair/pyTsetlinMachine, Centre for Artificial Intelligence Research (CAIR), 2020-07-07, https://github.com/cair/pyTsetlinMachine, retrieved 2020-07-27 
  36. cair/TsetlinMachine, Centre for Artificial Intelligence Research (CAIR), 2020-07-27, https://github.com/cair/TsetlinMachine, retrieved 2020-07-27 
  37. cair/pyTsetlinMachineParallel, Centre for Artificial Intelligence Research (CAIR), 2020-07-07, https://github.com/cair/pyTsetlinMachineParallel, retrieved 2020-07-27 
  38. cair/PyTsetlinMachineCUDA, Centre for Artificial Intelligence Research (CAIR), 2020-07-27, https://github.com/cair/PyTsetlinMachineCUDA, retrieved 2020-07-27 
  39. "cair/convolutional-tsetlin-machine-tutorial" (in en). https://github.com/cair/convolutional-tsetlin-machine-tutorial. 
  40. Phoulady, Adrian (2020-04-13), adrianphoulady/weighted-tsetlin-machine-cpp, https://github.com/adrianphoulady/weighted-tsetlin-machine-cpp, retrieved 2020-07-27 
  41. 41.0 41.1 JieGH (2020-03-22), JieGH/Hardware_TM_Demo, https://github.com/JieGH/Hardware_TM_Demo, retrieved 2020-07-22 
  42. 42.0 42.1 JieGH. "Tsetlin Machine on Iris Data Set Demo, Handheld #MignonAI". https://www.youtube.com/watch?v=BzaPGByX-hg&feature=youtu.be. 
  43. "Logic-based AI Everywhere: Tsetlin Machines in Hardware" (in en). https://twitter.com/olegranmo/status/1279045633916182528. 
  44. "mignon". http://www.mignon.ai/. 
  45. 45.0 45.1 Bush, Steve (2020-07-27). "A low-power AI alternative to neural networks" (in en-GB). https://www.electronicsweekly.com/news/research-news/low-power-ai-alternative-neural-networks-2020-07/. 
  46. 46.0 46.1 "Tsetlin Machine -- A new paradigm for pervasive AI". https://www.youtube.com/watch?v=TaspuovmSR8. 
  47. Granmo, Ole-Christoffer (2021) (in en). An Introduction to Tsetlin Machines. https://tsetlinmachine.org. 
  48. "International Symposium on the Tsetlin Machine (ISTM)". https://istm.no. 
  49. "Proceedings of the 2022 International Symposium on the Tsetlin Machine (ISTM)". https://ieeexplore.ieee.org/xpl/conhome/9923753/proceeding. 
  50. "Keyword Spotting Using Tsetlin Machines". https://www.youtube.com/watch?v=JW0tztpjX8k. 
  51. "IOLTS Presentation: Explainability and Dependability Analysis of Learning Automata based AI hardware". https://www.youtube.com/watch?v=IjzZY0fDYiA&feature=youtu.be. 
  52. "The-Ruler-of-Tsetlin-Automaton". https://www.youtube.com/watch?v=LltDhg4ZuWo. 
  53. "Interpretable Clustering & Dimension Reduction with Tsetlin Automata machine learning". https://www.youtube.com/watch?v=5-09LOGLcV8&feature=youtu.be. 
  54. "Predicting and explaining economic growth using real-time interpretable learning". https://www.youtube.com/watch?v=J6K7V7V7ayo&feature=youtu.be. 
  55. "Early detection of breast cancer from a simple blood test". https://www.youtube.com/watch?v=FrHN_aRLRug&feature=youtu.be. 
  56. "Recent advances in Tsetlin Machines". https://www.youtube.com/watch?v=GHelDh3bN00&feature=youtu.be. 
  57. Jiao, Lei; Zhang, Xuan; Granmo, Ole-Christoffer; Abeyrathna, K. Darshana (2022). "On the Convergence of Tsetlin Machines for the XOR Operator" (in en). IEEE Transactions on Pattern Analysis and Machine Intelligence PP: 1. doi:10.1109/TPAMI.2022.3203150. PMID 36070276. https://ieeexplore.ieee.org/document/9881240. 
  58. Zhang, Xuan; Jiao, Lei; Granmo, Ole-Christoffer; Goodwin, Morten (2021). "On the Convergence of Tsetlin Machines for the IDENTITY- and NOT Operators" (in en). IEEE Transactions on Pattern Analysis and Machine Intelligence PP (10): 6345–6359. doi:10.1109/TPAMI.2021.3085591. PMID 34077353. https://ieeexplore.ieee.org/document/9445039.