Serveur d'exploration sur les dispositifs haptiques

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Simultaneous learning and filtering without delusions: a Bayes-optimal combination of Predictive Inference and Adaptive Filtering

Identifieur interne : 003939 ( Ncbi/Merge ); précédent : 003938; suivant : 003940

Simultaneous learning and filtering without delusions: a Bayes-optimal combination of Predictive Inference and Adaptive Filtering

Auteurs : Jan Kneissler [Allemagne] ; Jan Drugowitsch [Suisse] ; Karl Friston [Royaume-Uni] ; Martin V. Butz [Allemagne]

Source :

RBID : PMC:4415408

Abstract

Predictive coding appears to be one of the fundamental working principles of brain processing. Amongst other aspects, brains often predict the sensory consequences of their own actions. Predictive coding resembles Kalman filtering, where incoming sensory information is filtered to produce prediction errors for subsequent adaptation and learning. However, to generate prediction errors given motor commands, a suitable temporal forward model is required to generate predictions. While in engineering applications, it is usually assumed that this forward model is known, the brain has to learn it. When filtering sensory input and learning from the residual signal in parallel, a fundamental problem arises: the system can enter a delusional loop when filtering the sensory information using an overly trusted forward model. In this case, learning stalls before accurate convergence because uncertainty about the forward model is not properly accommodated. We present a Bayes-optimal solution to this generic and pernicious problem for the case of linear forward models, which we call Predictive Inference and Adaptive Filtering (PIAF). PIAF filters incoming sensory information and learns the forward model simultaneously. We show that PIAF is formally related to Kalman filtering and to the Recursive Least Squares linear approximation method, but combines these procedures in a Bayes optimal fashion. Numerical evaluations confirm that the delusional loop is precluded and that the learning of the forward model is more than 10-times faster when compared to a naive combination of Kalman filtering and Recursive Least Squares.


Url:
DOI: 10.3389/fncom.2015.00047
PubMed: 25983690
PubMed Central: 4415408

Links toward previous steps (curation, corpus...)


Links to Exploration step

PMC:4415408

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Simultaneous learning and filtering without delusions: a Bayes-optimal combination of Predictive Inference and Adaptive Filtering</title>
<author>
<name sortKey="Kneissler, Jan" sort="Kneissler, Jan" uniqKey="Kneissler J" first="Jan" last="Kneissler">Jan Kneissler</name>
<affiliation wicri:level="1">
<nlm:aff id="aff1">
<institution>Chair of Cognitive Modeling, Department of Computer Science, Faculty of Science, Eberhard Karls University of Tübingen</institution>
<country>Tübingen, Germany</country>
</nlm:aff>
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
<author>
<name sortKey="Drugowitsch, Jan" sort="Drugowitsch, Jan" uniqKey="Drugowitsch J" first="Jan" last="Drugowitsch">Jan Drugowitsch</name>
<affiliation wicri:level="1">
<nlm:aff id="aff2">
<institution>Départment des Neurosciences Fondamentales, Université de Genève</institution>
<country>Geneva, Switzerland</country>
</nlm:aff>
<country xml:lang="fr">Suisse</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
<author>
<name sortKey="Friston, Karl" sort="Friston, Karl" uniqKey="Friston K" first="Karl" last="Friston">Karl Friston</name>
<affiliation wicri:level="1">
<nlm:aff id="aff3">
<institution>The Wellcome Trust Centre for Neuroimaging, Institute of Neurology, University College London</institution>
<country>London, UK</country>
</nlm:aff>
<country xml:lang="fr">Royaume-Uni</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
<author>
<name sortKey="Butz, Martin V" sort="Butz, Martin V" uniqKey="Butz M" first="Martin V." last="Butz">Martin V. Butz</name>
<affiliation wicri:level="1">
<nlm:aff id="aff1">
<institution>Chair of Cognitive Modeling, Department of Computer Science, Faculty of Science, Eberhard Karls University of Tübingen</institution>
<country>Tübingen, Germany</country>
</nlm:aff>
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">25983690</idno>
<idno type="pmc">4415408</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4415408</idno>
<idno type="RBID">PMC:4415408</idno>
<idno type="doi">10.3389/fncom.2015.00047</idno>
<date when="2015">2015</date>
<idno type="wicri:Area/Pmc/Corpus">000161</idno>
<idno type="wicri:Area/Pmc/Curation">000161</idno>
<idno type="wicri:Area/Pmc/Checkpoint">000333</idno>
<idno type="wicri:Area/Ncbi/Merge">003939</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">Simultaneous learning and filtering without delusions: a Bayes-optimal combination of Predictive Inference and Adaptive Filtering</title>
<author>
<name sortKey="Kneissler, Jan" sort="Kneissler, Jan" uniqKey="Kneissler J" first="Jan" last="Kneissler">Jan Kneissler</name>
<affiliation wicri:level="1">
<nlm:aff id="aff1">
<institution>Chair of Cognitive Modeling, Department of Computer Science, Faculty of Science, Eberhard Karls University of Tübingen</institution>
<country>Tübingen, Germany</country>
</nlm:aff>
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
<author>
<name sortKey="Drugowitsch, Jan" sort="Drugowitsch, Jan" uniqKey="Drugowitsch J" first="Jan" last="Drugowitsch">Jan Drugowitsch</name>
<affiliation wicri:level="1">
<nlm:aff id="aff2">
<institution>Départment des Neurosciences Fondamentales, Université de Genève</institution>
<country>Geneva, Switzerland</country>
</nlm:aff>
<country xml:lang="fr">Suisse</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
<author>
<name sortKey="Friston, Karl" sort="Friston, Karl" uniqKey="Friston K" first="Karl" last="Friston">Karl Friston</name>
<affiliation wicri:level="1">
<nlm:aff id="aff3">
<institution>The Wellcome Trust Centre for Neuroimaging, Institute of Neurology, University College London</institution>
<country>London, UK</country>
</nlm:aff>
<country xml:lang="fr">Royaume-Uni</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
<author>
<name sortKey="Butz, Martin V" sort="Butz, Martin V" uniqKey="Butz M" first="Martin V." last="Butz">Martin V. Butz</name>
<affiliation wicri:level="1">
<nlm:aff id="aff1">
<institution>Chair of Cognitive Modeling, Department of Computer Science, Faculty of Science, Eberhard Karls University of Tübingen</institution>
<country>Tübingen, Germany</country>
</nlm:aff>
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea></wicri:regionArea>
<wicri:regionArea># see nlm:aff region in country</wicri:regionArea>
</affiliation>
</author>
</analytic>
<series>
<title level="j">Frontiers in Computational Neuroscience</title>
<idno type="eISSN">1662-5188</idno>
<imprint>
<date when="2015">2015</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<p>Predictive coding appears to be one of the fundamental working principles of brain processing. Amongst other aspects, brains often predict the sensory consequences of their own actions. Predictive coding resembles Kalman filtering, where incoming sensory information is filtered to produce prediction errors for subsequent adaptation and learning. However, to generate prediction errors given motor commands, a suitable temporal forward model is required to generate predictions. While in engineering applications, it is usually assumed that this forward model is known, the brain has to learn it. When filtering sensory input and learning from the residual signal in parallel, a fundamental problem arises: the system can enter a delusional loop when filtering the sensory information using an overly trusted forward model. In this case, learning stalls before accurate convergence because uncertainty about the forward model is not properly accommodated. We present a Bayes-optimal solution to this generic and pernicious problem for the case of linear forward models, which we call Predictive Inference and Adaptive Filtering (PIAF). PIAF filters incoming sensory information and learns the forward model simultaneously. We show that PIAF is formally related to Kalman filtering and to the Recursive Least Squares linear approximation method, but combines these procedures in a Bayes optimal fashion. Numerical evaluations confirm that the delusional loop is precluded and that the learning of the forward model is more than 10-times faster when compared to a naive combination of Kalman filtering and Recursive Least Squares.</p>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct>
<analytic>
<author>
<name sortKey="Bar, M" uniqKey="Bar M">M. Bar</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Bishop, C M" uniqKey="Bishop C">C. M. Bishop</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Blakemore, S J" uniqKey="Blakemore S">S. J. Blakemore</name>
</author>
<author>
<name sortKey="Wolpert, D" uniqKey="Wolpert D">D. Wolpert</name>
</author>
<author>
<name sortKey="Frith, C" uniqKey="Frith C">C. Frith</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Bridgeman, B" uniqKey="Bridgeman B">B. Bridgeman</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Chang, S W C" uniqKey="Chang S">S. W. C. Chang</name>
</author>
<author>
<name sortKey="Papadimitriou, C" uniqKey="Papadimitriou C">C. Papadimitriou</name>
</author>
<author>
<name sortKey="Snyder, L H" uniqKey="Snyder L">L. H. Snyder</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Crapse, T B" uniqKey="Crapse T">T. B. Crapse</name>
</author>
<author>
<name sortKey="Sommer, M A" uniqKey="Sommer M">M. A. Sommer</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Deneve, S" uniqKey="Deneve S">S. Denève</name>
</author>
<author>
<name sortKey="Pouget, A" uniqKey="Pouget A">A. Pouget</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Ernst, M O" uniqKey="Ernst M">M. O. Ernst</name>
</author>
<author>
<name sortKey="Banks, M S" uniqKey="Banks M">M. S. Banks</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Friston, K" uniqKey="Friston K">K. Friston</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Friston, K" uniqKey="Friston K">K. Friston</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Friston, K" uniqKey="Friston K">K. Friston</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Friston, K" uniqKey="Friston K">K. Friston</name>
</author>
<author>
<name sortKey="Kilner, J" uniqKey="Kilner J">J. Kilner</name>
</author>
<author>
<name sortKey="Harrison, L" uniqKey="Harrison L">L. Harrison</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gauss, C" uniqKey="Gauss C">C. Gauss</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Goodwin, G" uniqKey="Goodwin G">G. Goodwin</name>
</author>
<author>
<name sortKey="Sin, K" uniqKey="Sin K">K. Sin</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Helmholtz, H V" uniqKey="Helmholtz H">H. V. Helmholtz</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kalman, R E" uniqKey="Kalman R">R. E. Kalman</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kilner, J M" uniqKey="Kilner J">J. M. Kilner</name>
</author>
<author>
<name sortKey="Friston, K J" uniqKey="Friston K">K. J. Friston</name>
</author>
<author>
<name sortKey="Frith, C D" uniqKey="Frith C">C. D. Frith</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kneissler, J" uniqKey="Kneissler J">J. Kneissler</name>
</author>
<author>
<name sortKey="Stalph, P O" uniqKey="Stalph P">P. O. Stalph</name>
</author>
<author>
<name sortKey="Drugowitsch, J" uniqKey="Drugowitsch J">J. Drugowitsch</name>
</author>
<author>
<name sortKey="Butz, M V" uniqKey="Butz M">M. V. Butz</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kneissler, J" uniqKey="Kneissler J">J. Kneissler</name>
</author>
<author>
<name sortKey="Stalph, P O" uniqKey="Stalph P">P. O. Stalph</name>
</author>
<author>
<name sortKey="Drugowitsch, J" uniqKey="Drugowitsch J">J. Drugowitsch</name>
</author>
<author>
<name sortKey="Butz, M V" uniqKey="Butz M">M. V. Butz</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Konig, P" uniqKey="Konig P">P. König</name>
</author>
<author>
<name sortKey="Kruger, N" uniqKey="Kruger N">N. Krüger</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kording, K P" uniqKey="Kording K">K. P. Körding</name>
</author>
<author>
<name sortKey="Wolpert, D M" uniqKey="Wolpert D">D. M. Wolpert</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Murphy, K P" uniqKey="Murphy K">K. P. Murphy</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Plackett, R L" uniqKey="Plackett R">R. L. Plackett</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Pynn, L K" uniqKey="Pynn L">L. K. Pynn</name>
</author>
<author>
<name sortKey="Desouza, J F" uniqKey="Desouza J">J. F. DeSouza</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Rao, R P" uniqKey="Rao R">R. P. Rao</name>
</author>
<author>
<name sortKey="Ballard, D H" uniqKey="Ballard D">D. H. Ballard</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Sommer, M A" uniqKey="Sommer M">M. A. Sommer</name>
</author>
<author>
<name sortKey="Wurtz, R H" uniqKey="Wurtz R">R. H. Wurtz</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Sperry, R W" uniqKey="Sperry R">R. W. Sperry</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Von Holst, E" uniqKey="Von Holst E">E. von Holst</name>
</author>
<author>
<name sortKey="Mittelstaedt, H" uniqKey="Mittelstaedt H">H. Mittelstaedt</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Weisberg, S" uniqKey="Weisberg S">S. Weisberg</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article">
<pmc-dir>properties open_access</pmc-dir>
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Front Comput Neurosci</journal-id>
<journal-id journal-id-type="iso-abbrev">Front Comput Neurosci</journal-id>
<journal-id journal-id-type="publisher-id">Front. Comput. Neurosci.</journal-id>
<journal-title-group>
<journal-title>Frontiers in Computational Neuroscience</journal-title>
</journal-title-group>
<issn pub-type="epub">1662-5188</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="pmid">25983690</article-id>
<article-id pub-id-type="pmc">4415408</article-id>
<article-id pub-id-type="doi">10.3389/fncom.2015.00047</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Simultaneous learning and filtering without delusions: a Bayes-optimal combination of Predictive Inference and Adaptive Filtering</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Kneissler</surname>
<given-names>Jan</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:type="simple" xlink:href="http://community.frontiersin.org/people/u/194972"></uri>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Drugowitsch</surname>
<given-names>Jan</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:type="simple" xlink:href="http://community.frontiersin.org/people/u/195928"></uri>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Friston</surname>
<given-names>Karl</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:type="simple" xlink:href="http://community.frontiersin.org/people/u/20407"></uri>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Butz</surname>
<given-names>Martin V.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:type="simple" xlink:href="http://community.frontiersin.org/people/u/58395"></uri>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Chair of Cognitive Modeling, Department of Computer Science, Faculty of Science, Eberhard Karls University of Tübingen</institution>
<country>Tübingen, Germany</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Départment des Neurosciences Fondamentales, Université de Genève</institution>
<country>Geneva, Switzerland</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>The Wellcome Trust Centre for Neuroimaging, Institute of Neurology, University College London</institution>
<country>London, UK</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Florentin Wörgötter, University of Göttingen, Germany</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: J. Michael Herrmann, University of Edinburgh, UK; Simon Reich, University of Göttingen, Germany</p>
</fn>
<corresp id="fn001">*Correspondence: Jan Kneissler and Martin V. Butz, Chair of Cognitive Modeling, Department of Computer Science, Faculty of Science, University of Tübingen, Sand 14, 72074 Tübingen, Germany
<email xlink:type="simple">jan.kneissler@uni-tuebingen.de</email>
;
<email xlink:type="simple">martin.butz@uni-tuebingen.de</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>30</day>
<month>4</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="collection">
<year>2015</year>
</pub-date>
<volume>9</volume>
<elocation-id>47</elocation-id>
<history>
<date date-type="received">
<day>17</day>
<month>11</month>
<year>2014</year>
</date>
<date date-type="accepted">
<day>05</day>
<month>4</month>
<year>2015</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright © 2015 Kneissler, Drugowitsch, Friston and Butz.</copyright-statement>
<copyright-year>2015</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<p>Predictive coding appears to be one of the fundamental working principles of brain processing. Amongst other aspects, brains often predict the sensory consequences of their own actions. Predictive coding resembles Kalman filtering, where incoming sensory information is filtered to produce prediction errors for subsequent adaptation and learning. However, to generate prediction errors given motor commands, a suitable temporal forward model is required to generate predictions. While in engineering applications, it is usually assumed that this forward model is known, the brain has to learn it. When filtering sensory input and learning from the residual signal in parallel, a fundamental problem arises: the system can enter a delusional loop when filtering the sensory information using an overly trusted forward model. In this case, learning stalls before accurate convergence because uncertainty about the forward model is not properly accommodated. We present a Bayes-optimal solution to this generic and pernicious problem for the case of linear forward models, which we call Predictive Inference and Adaptive Filtering (PIAF). PIAF filters incoming sensory information and learns the forward model simultaneously. We show that PIAF is formally related to Kalman filtering and to the Recursive Least Squares linear approximation method, but combines these procedures in a Bayes optimal fashion. Numerical evaluations confirm that the delusional loop is precluded and that the learning of the forward model is more than 10-times faster when compared to a naive combination of Kalman filtering and Recursive Least Squares.</p>
</abstract>
<kwd-group>
<kwd>predictive coding</kwd>
<kwd>Bayesian information processing</kwd>
<kwd>Kalman filtering</kwd>
<kwd>recursive least squares</kwd>
<kwd>illusions</kwd>
<kwd>forward model</kwd>
</kwd-group>
<counts>
<fig-count count="10"></fig-count>
<table-count count="1"></table-count>
<equation-count count="18"></equation-count>
<ref-count count="29"></ref-count>
<page-count count="12"></page-count>
<word-count count="7390"></word-count>
</counts>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1. Introduction</title>
<p>There is wide agreement that a major function of the brain is to generate predictions about future events based on observations made in the past. This predictive coding principle is now considered by many as the universal guiding principle in explaining the majority of brain activities (Rao and Ballard,
<xref rid="B25" ref-type="bibr">1999</xref>
; Friston,
<xref rid="B9" ref-type="bibr">2003</xref>
; König and Krüger,
<xref rid="B20" ref-type="bibr">2006</xref>
; Kilner et al.,
<xref rid="B17" ref-type="bibr">2007</xref>
; Bar,
<xref rid="B1" ref-type="bibr">2009</xref>
). Friston et al. (
<xref rid="B12" ref-type="bibr">2006</xref>
) expands this framework under a free-energy principle, which can also explain action selection by considering the (desired) effects of actions on the sensory inputs (cf. also Friston,
<xref rid="B11" ref-type="bibr">2010</xref>
). Indeed, the free-energy principle entails the Kalman filter and many other learning, adaptation, and inference schemes under appropriate forward or generative models (Friston,
<xref rid="B10" ref-type="bibr">2009</xref>
,
<xref rid="B11" ref-type="bibr">2010</xref>
). In this paper, we derive a Bayes-optimal scheme for learning a predictive, forward velocity (kinematics) model and simultaneously using this model to filter sensory information. The resulting scheme effectively combines predictive encoding with the learning of a forward model by carefully separating system state estimates from the encoding of the forward model.</p>
<p>A large portion of the variability that we encounter in our sensory inputs can be directly attributed to our motor activities (movements of the parts of the body, self propulsion, saccades, uttered sounds, etc.). The existence of neural pathways that send
<italic>efference copies</italic>
of motor commands back to sensory areas and other regions has been confirmed in primates but also in many species with much simpler nervous systems. Helmholtz (
<xref rid="B15" ref-type="bibr">1925</xref>
) coined the term
<italic>corollary discharge</italic>
for this feedback loop relaying motor outputs from motor areas to other brain regions (cf. also Sperry,
<xref rid="B27" ref-type="bibr">1950</xref>
and a recent review by Crapse and Sommer,
<xref rid="B6" ref-type="bibr">2008</xref>
). Corollary discharge represents the physiological basis for the reafference principle of von Holst and Mittelstaedt (
<xref rid="B28" ref-type="bibr">1950</xref>
), stating that self-induced effects on sensory inputs are suppressed and do not lead to the same level of surprise or arousal as exafferent stimulation. This has been interpreted by Blakemore et al. (
<xref rid="B3" ref-type="bibr">2000</xref>
) for the curious fact that we are not able to tickle ourselves. Failures of the efference copy mechanism have been proposed as a basis for some schizophrenic symptoms (Pynn and DeSouza,
<xref rid="B24" ref-type="bibr">2013</xref>
). It has been argued whether the stability of the visual percept—despite the perpetual movements of the eye balls—relies on efference copies (Sommer and Wurtz,
<xref rid="B26" ref-type="bibr">2006</xref>
), or if other mechanism play the crucial role (Bridgeman,
<xref rid="B4" ref-type="bibr">2007</xref>
).</p>
<p>The suppression of sensory information related to one's own motor actions has great similarity to the way in which noise is suppressed in Kalman filtering—a technique developed by Kalman (
<xref rid="B16" ref-type="bibr">1960</xref>
), which has an enormous range of technical applications. The basic approach of Kalman filtering is to interpolate between the new measurement and predictions of the new state based on its estimate in the previous time step. The mixing coefficient (Kalman gain) is adapted online and represents a balance between confidence in the prediction and the precision (or reliability) of new information. Assumptions about the nature of sensory noise allow to optimally determine the mixing coefficient using Bayesian information fusion. It has been demonstrated in several contexts that the brain can perform Bayes-optimal fusion of information sources with different precision (Ernst and Banks,
<xref rid="B8" ref-type="bibr">2002</xref>
; Körding and Wolpert,
<xref rid="B21" ref-type="bibr">2004</xref>
). It can be assumed that (amongst other uses) the information of corollary discharges is employed to optimize the information gain supplied by sensory feedback (in terms of a Kalman gain).</p>
<p>However, unlike in engineered systems, in biological systems the relationship between motor commands and their sensory consequences is not known a priori. The brain has to learn and continuously adapt this mapping. This mapping from motor commands to state changes is called
<italic>forward velocity kinematics</italic>
. In general, forward velocity kinematics can take the form of a highly non-linear but nevertheless smooth function, which may be approximated adequately by locally linear maps. Learning the kinematics thus amounts to a regression task within each local approximator.</p>
<p>It can be proven (under mild assumptions) that the optimal linear unbiased regression estimator is given by the least squares approach that dates back to Gauss (
<xref rid="B13" ref-type="bibr">1821</xref>
). An online, iterative version called recursive least squares (RLS) was developed by Plackett (
<xref rid="B23" ref-type="bibr">1950</xref>
). It might thus appear that a straightforward combination of RLS with Kalman filtering could easily solve the problem of learning the forward model, while filtering sensory input. Our previous work (Kneissler et al.,
<xref rid="B18" ref-type="bibr">2012</xref>
,
<xref rid="B19" ref-type="bibr">2014</xref>
) has shown that the combination can indeed accelerate learning when compared with RLS-learning given unfiltered sensory information. To perform optimal Bayesian information fusion, the precision of the predicted state (relative to sensory information) has to be estimated. This estimate, however, is influenced by the filtering implicit in the previous time steps. If the sensory signal was too strongly filtered by the prediction, an overly strong confidence in the predictions can develop. As a result, the system falls into a delusional state due to unduly high self-confidence: ultimately, in this case, the system will completely ignore all new incoming information.</p>
<p>The contribution of this paper is to provide a rigorous (Bayes optimal) mathematical basis for learning a linear motor-sensor relationship and simultaneously using the learned model for filtering noisy sensory information. Formally, our method becomes equivalent to a joint Kalman filter (Goodwin and Sin,
<xref rid="B14" ref-type="bibr">1984</xref>
), in which both states and the forward model are learned and tracked simultaneously by a global Kalman filter; thereby solving a dual estimation problem. In contrast to previous applications of this approach, however, we derive separate, interacting update equations for both state estimation and the forward model, thus making their interaction explicit. We empirically confirm that the ensuing Predictive Inference and Adaptive Filtering (PIAF) does not fall into self-delusion and speeds-up learning of the forward model more than 10-fold, when compared to naive RLS learning combined with Kalman filtering.</p>
<p>In Section 2, we provide a mathematical formulation of the problem, outline the derivation of the solution (details are given in the Supplementary Material) and present the resulting update equations. In Section 3 we mathematically detail the relation of PIAF to a joint generalization of Kalman filtering and RLS. Finally, in Section 4 we present experimental results comparing PIAF with several other possible model combinations, confirming robust, fast, and accurate learning. A discussion of implications and future work conclude the paper.</p>
</sec>
<sec id="s2">
<title>2. Methods</title>
<p>Our formulation assumes the presence of a body or system with particular, unobservable system states
<italic>z
<sub>n</sub>
</italic>
at a certain iteration point in time
<italic>n</italic>
(see Table
<xref ref-type="table" rid="T1">1</xref>
for an overview of mathematical symbols). The body state can be inferred by sensors, which provide noisy sensory measurements
<italic>x
<sub>n</sub>
</italic>
. Formally, each of the measurements relates to the system state by</p>
<disp-formula id="E1">
<label>(1)</label>
<mml:math id="M1">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>ϵ</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where ϵ
<sub>
<italic>s,n</italic>
</sub>
~
<inline-graphic xlink:href="fncom-09-00047-i0001.jpg"></inline-graphic>
(0, σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
) is Gaussian sensory noise with zero mean and sensory noise variance of inverse precision, σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
. Clearly, the smaller this variance is, the more precise information each measurement reveals about the true system state.</p>
<table-wrap id="T1" position="float">
<label>Table 1</label>
<caption>
<p>
<bold>Mathematical symbols used</bold>
.</p>
</caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">
<italic>z
<sub>n</sub>
</italic>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">System state at time step
<italic>n</italic>
(scalar)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">
<italic>x
<sub>n</sub>
</italic>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Sensor measurement at time step
<italic>n</italic>
(scalar)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">
<inline-formula>
<mml:math id="M2">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Motor command at time step
<italic>n</italic>
(vector)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">
<italic>
<bold>w</bold>
</italic>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Linear model mapping motor commands to state change (vector)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">σ
<sub>
<italic>s</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Standard deviation of sensor noise (scalar)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">σ
<sub>
<italic>p</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Standard deviation of process noise (scalar)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">μ
<sub>
<italic>z</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Mean of state estimate (scalar)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">μ
<sub>
<italic>w</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Mean of control parameter estimate (vector)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">Σ
<sub>
<italic>zz</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Variance of state estimate (scalar)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">Σ
<sub>
<italic>ww</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Covariance of control parameter estimate (matrix)</td>
</tr>
<tr>
<td valign="top" align="left" rowspan="1" colspan="1">Σ
<sub>
<italic>zw</italic>
</sub>
</td>
<td valign="top" align="left" rowspan="1" colspan="1">Covariance between state and control parameter estimate (vector)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We further model body or system control by iterative motor commands. Formally, we assume that at each point
<italic>n</italic>
in time a motor command
<inline-formula>
<mml:math id="M3">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
is executed, causing a noisy change of the system state that is linearly related to the motor command by</p>
<disp-formula id="E2">
<label>(2)</label>
<mml:math id="M4">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>w</mml:mi>
</mml:mstyle>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>ϵ</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In the above, the motor command
<inline-formula>
<mml:math id="M5">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
is a
<italic>D
<sub>q</sub>
</italic>
-dimensional vector, and its effect on the system state is modulated by the unknown control parameter
<italic>
<bold>w</bold>
</italic>
of the same size. Additionally, zero-mean Gaussian process noise ϵ
<sub>
<italic>p,n</italic>
</sub>
~
<inline-graphic xlink:href="fncom-09-00047-i0001.jpg"></inline-graphic>
(0, σ
<sup>2</sup>
<sub>
<italic>p</italic>
</sub>
) with variance σ
<sup>2</sup>
<sub>
<italic>p</italic>
</sub>
perturbs the state transition. This noise captures imperfections in the motor command execution, as well as possible deviations from linearity.</p>
<p>Overall, this results in the complete system model (Figure
<xref ref-type="fig" rid="F1">1</xref>
)</p>
<graphic xlink:href="fncom-09-00047-e0001.jpg" position="float"></graphic>
<graphic xlink:href="fncom-09-00047-e0002.jpg" position="float"></graphic>
<graphic xlink:href="fncom-09-00047-e0003.jpg" position="float"></graphic>
<graphic xlink:href="fncom-09-00047-e0004.jpg" position="float"></graphic>
<p>where μ
<sub>
<italic>z</italic>
,0|0</sub>
, Σ
<sub>
<italic>zz</italic>
,0|0</sub>
, μ
<sub>
<italic>w</italic>
,0|0</sub>
, and Σ
<sub>
<italic>ww</italic>
,0|0</sub>
are prior parameters and the control command
<inline-formula>
<mml:math id="M6">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
as well as the sensory signal
<italic>x
<sub>n</sub>
</italic>
are the observables at each iteration. In terms of notation, ·
<sub>.,
<italic>n</italic>
|
<italic>n</italic>
−1</sub>
denotes the prediction prior after having measured
<italic>x</italic>
<sub>1:
<italic>n</italic>
−1</sub>
and having applied motor commands
<inline-formula>
<mml:math id="M7">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>1:
<italic>n</italic>
</sub>
, but before measuring
<italic>x
<sub>n</sub>
</italic>
. Once this
<italic>x
<sub>n</sub>
</italic>
is measured, the posterior parameters change to ·
<sub>.,
<italic>n</italic>
|
<italic>n</italic>
</sub>
.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption>
<p>
<bold>Directed acyclic graph (e.g., Bishop,
<xref rid="B2" ref-type="bibr">2006</xref>
) of our system model</bold>
. Empty and filled circles represent unobserved and observed random variables, respectively, and arrows indicate dependencies between them. As can be seen, the unobserved system state sequence
<italic>z</italic>
<sub>0</sub>
,
<italic>z</italic>
<sub>1</sub>
,
<italic>z</italic>
<sub>2</sub>
, … depends on both the observed sequence of motor commands
<inline-formula>
<mml:math id="M8">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>1</sub>
,
<inline-formula>
<mml:math id="M9">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>2</sub>
, …, and the unobserved control parameters
<italic>
<bold>w</bold>
</italic>
. The sensory measurements,
<italic>x</italic>
<sub>1</sub>
,
<italic>x</italic>
<sub>2</sub>
, …, only depend on the corresponding system state.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0001"></graphic>
</fig>
<p>Technically, the problem of estimating or learning the parameters of a forward model, while estimating states is a dual estimation problem—estimating both, the system states
<italic>z
<sub>n</sub>
</italic>
as well as the forward model parameters
<italic>
<bold>w</bold>
</italic>
. Crucially, the (Bayes) optimal state estimates need to accommodate uncertainty about the parameters and vice versa. This means one has to treat the dual estimation problem using a single model inversion—such that conditional dependencies between estimates of states and parameters are properly accommodated. Heuristically, this means that the precision (inverse variance) assigned to state prediction errors has to incorporate uncertainty about the parameters (and vice versa). In what follows, we will illustrate how the optimum precision (implicit in the Kalman gain that is applied to prediction errors) can be augmented to accommodate this uncertainty. We show that a rigorous mathematical treatment of the dual estimation problem using Bayesian inference leads to a stable learning and filtering algorithm, using the forward model knowledge to filter sensory information and concurrently using the resulting residual for optimizing the forward model online.</p>
<p>The optimal way to identify the control parameters
<italic>
<bold>w</bold>
</italic>
and, simultaneously, the sequence of system states,
<italic>z</italic>
<sub>1</sub>
,
<italic>z</italic>
<sub>2</sub>
, …, corresponds to updating the joint posterior belief
<italic>p</italic>
(
<italic>z
<sub>n</sub>
</italic>
,
<italic>
<bold>w</bold>
</italic>
|
<italic>x</italic>
<sub>1:
<italic>n</italic>
</sub>
,
<inline-formula>
<mml:math id="M10">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>1:
<italic>n</italic>
</sub>
) over both quantities with every applied motor command
<inline-formula>
<mml:math id="M11">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
and measurement
<italic>x
<sub>n</sub>
</italic>
, where we have used the shorthand notation
<italic>x</italic>
<sub>1:
<italic>n</italic>
</sub>
= {
<italic>x</italic>
<sub>1</sub>
, …
<italic>x
<sub>n</sub>
</italic>
} and
<inline-formula>
<mml:math id="M12">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>1:
<italic>n</italic>
</sub>
= {
<inline-formula>
<mml:math id="M13">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>1</sub>
, …,
<inline-formula>
<mml:math id="M14">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
}. According to the assumption of the Markov property and due to the linear Gaussian structure of our system model, this posterior will be jointly Gaussian, such that we can parameterize it by</p>
<graphic xlink:href="fncom-09-00047-e0005.jpg" position="float"></graphic>
<p>In the above, μ
<sub>
<italic>z</italic>
</sub>
and Σ
<sub>
<italic>zz</italic>
</sub>
is the mean and variance of our belief about the system state
<italic>z</italic>
, and μ
<sub>
<italic>w</italic>
</sub>
and Σ
<sub>
<italic>ww</italic>
</sub>
the mean vector and covariance of our belief about the control parameters
<italic>
<bold>w</bold>
</italic>
. Furthermore, Σ
<sub>
<italic>zw</italic>
</sub>
is a
<italic>D
<sub>q</sub>
</italic>
-element row vector that denotes the covariance between
<italic>z</italic>
and
<italic>
<bold>w</bold>
</italic>
. It essentially captures the belief about how these two quantities are related.</p>
<p>Note that generally one could apply a global Kalman filter to jointly track
<italic>z</italic>
and
<italic>
<bold>w</bold>
</italic>
, leading to what is known as a
<italic>joint Kalman filter</italic>
over an augmented state space (Goodwin and Sin,
<xref rid="B14" ref-type="bibr">1984</xref>
). However, this would obfuscate the interaction between simultaneously tracking the system's state and inferring its forward model parameters. For this reason, we derive the update equations for the posterior over
<italic>z</italic>
and
<italic>
<bold>w</bold>
</italic>
separately, thus making their interactions explicit (and enforcing our a-priori beliefs that the true forward model parameters do not change with time).</p>
<p>In the following, we describe how the posterior parameter estimates change once a motor command
<inline-formula>
<mml:math id="M15">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
is applied and we measure
<italic>x
<sub>n</sub>
</italic>
. As in the standard Kalman filter, this change is decomposed into a
<italic>prediction step</italic>
, which relates to the prediction of
<italic>z
<sub>n</sub>
</italic>
based on our belief about
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
and the applied motor command
<inline-formula>
<mml:math id="M16">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
, and an
<italic>update step</italic>
, which updates this prediction in the light of the measured
<italic>x
<sub>n</sub>
</italic>
. Moreover, an additional
<italic>update step</italic>
is necessary to infer the new forward model parameter
<italic>
<bold>w</bold>
</italic>
estimates.</p>
<sec>
<title>2.1. Adaptive filtering: prediction step</title>
<p>Before the prediction step, we assume to have measured
<italic>x</italic>
<sub>1:
<italic>n</italic>
−1</sub>
after applying motor commands
<inline-formula>
<mml:math id="M17">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>1:
<italic>n</italic>
−1</sub>
. At this point, we have formed a posterior belief
<italic>p</italic>
(
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
,
<italic>
<bold>w</bold>
</italic>
<sub>
<italic>n</italic>
−1|
<italic>n</italic>
−1</sub>
, Σ
<sub>
<italic>n</italic>
−1|
<italic>n</italic>
−1</sub>
) that decomposes into
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
and
<italic>
<bold>w</bold>
</italic>
-related components as in Equation (7). The prediction step describes how the posterior parameters change in the light of applying a motor command
<inline-formula>
<mml:math id="M18">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
, which leads to a transition in the system state from
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
to
<italic>z
<sub>n</sub>
</italic>
, but before measuring the new system state via
<italic>x
<sub>n</sub>
</italic>
.</p>
<p>Computing the requisite first and second-order moments of
<italic>z</italic>
after the transition step (see Supplementary Material) results in the following computation of the updated prior belief about
<italic>z
<sub>n</sub>
</italic>
:</p>
<disp-formula id="E3">
<label>(8)</label>
<mml:math id="M19">
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>μ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="E4">
<label>(9)</label>
<mml:math id="M20">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>              </mml:mtext>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
</disp-formula>
<p>As can be seen, the mean parameter is updated in line with the system state transition model, Equation (2). The variance (inverse precision) parameter accommodates the process noise ϵ
<sub>
<italic>p,n</italic>
</sub>
through σ
<sup>2</sup>
<sub>
<italic>p</italic>
</sub>
and, through the remaining terms, our uncertainty about the control parameters
<italic>
<bold>w</bold>
</italic>
and how it relates to the uncertainty about the system state
<italic>z
<sub>n</sub>
</italic>
. Due to the uncertainty in the control model and the process noise, the prior prediction of
<italic>z
<sub>n</sub>
</italic>
will always be less precise than the posterior belief about
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
.</p>
<p>Moreover, a change in the state
<italic>z
<sub>n</sub>
</italic>
changes how
<italic>
<bold>w</bold>
</italic>
and
<italic>z
<sub>n</sub>
</italic>
are correlated, which is taken into account by</p>
<disp-formula id="E5">
<label>(10)</label>
<mml:math id="M21">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This completes the adaptive filtering parameter updates for the prediction step.</p>
</sec>
<sec>
<title>2.2. Adaptive filtering: update step</title>
<p>In the update step, we gain information about the prior predicted system state
<italic>z
<sub>n</sub>
</italic>
by measuring
<italic>x
<sub>n</sub>
</italic>
. By Bayes' rule (see Supplementary Material), this leads the parameters describing the belief about
<italic>z
<sub>n</sub>
</italic>
to be updated by</p>
<disp-formula id="E6">
<label>(11)</label>
<mml:math id="M22">
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> </mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="E7">
<label>(12)</label>
<mml:math id="M23">
<mml:mrow>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> </mml:mtext>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In the above, the mean parameter is corrected by the prediction error
<italic>x
<sub>n</sub>
</italic>
− μ
<sub>
<italic>z,n</italic>
|
<italic>n</italic>
−1</sub>
in proportion to how our previous uncertainty Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
−1</sub>
relates to the predictive uncertainty σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
+ Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
−1</sub>
about
<italic>x
<sub>n</sub>
</italic>
. Thus, the belief update accounts for deviations from our predictions that could arise from a combination of our uncertainty about the control parameters
<italic>
<bold>w</bold>
</italic>
and the process noise ϵ
<sub>
<italic>p,n</italic>
</sub>
. This update is guaranteed to increase our certainty about
<italic>z
<sub>n</sub>
</italic>
, which is reflected in a Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
</sub>
that is guaranteed to be smaller than Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
−1</sub>
before having observed
<italic>x
<sub>n</sub>
</italic>
. Note that the ratio of variances in Equations (11, 12) corresponds to the Kalman gain and represents a Bayes optimal estimate of how much weight should be afforded the (state) prediction errors.</p>
<p>In parallel, the covariance of our belief about
<italic>
<bold>w</bold>
</italic>
is updated and the mapping is re-scaled by:</p>
<disp-formula id="E8">
<label>(13)</label>
<mml:math id="M24">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>to reflect the additional information provided by
<italic>x
<sub>n</sub>
</italic>
. Thus, the a-posteriori state expectations μ
<sub>
<italic>z,n</italic>
|
<italic>n</italic>
</sub>
and covariances Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
</sub>
and Σ
<sub>
<italic>zw,n</italic>
|
<italic>n</italic>
</sub>
are determined.</p>
</sec>
<sec>
<title>2.3. Predictive inference: prediction and update step</title>
<p>Predictive inference adjusts the forward model control parameters
<italic>
<bold>w</bold>
</italic>
.</p>
<p>Applying a motor command reveals nothing about the control parameters
<italic>
<bold>w</bold>
</italic>
and its parameters remain unchanged,</p>
<disp-formula id="E9">
<label>(14)</label>
<mml:math id="M25">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>μ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>μ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>   </mml:mtext>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The control parameter priors are thus equal to the previous posteriors.</p>
<p>The measured state information
<italic>x
<sub>n</sub>
</italic>
, on the other hand, provides information about the control parameters
<italic>
<bold>w</bold>
</italic>
, leading to the following parameter updates:</p>
<disp-formula id="E10">
<label>(15)</label>
<mml:math id="M26">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>μ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> </mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>μ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="E11">
<label>(16)</label>
<mml:math id="M27">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> </mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Its expectation is, as the mean estimate associated with
<italic>z
<sub>n</sub>
</italic>
, modulated by the prediction error
<italic>x
<sub>n</sub>
</italic>
− μ
<sub>
<italic>z,n</italic>
|
<italic>n</italic>
−1</sub>
. This prediction error is mapped into a prediction error about
<italic>
<bold>w</bold>
</italic>
by multiplying it by (an appropriately re-scaled) Σ
<sub>
<italic>zw,n</italic>
|
<italic>n</italic>
−1</sub>
, which is our current, prior best guess for how
<italic>z
<sub>n</sub>
</italic>
and
<italic>
<bold>w</bold>
</italic>
depend on each other. Thus, mean and variance estimates of the control parameters are updated, taking into account the residual between the measurement and the prior state estimate (
<italic>x
<sub>n</sub>
</italic>
− μ
<sub>
<italic>z,n</italic>
|
<italic>n</italic>
−1</sub>
), the certainty in the measurement σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
, the prior certainty in the state estimate Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
−1</sub>
, and the prior covariance estimate between state estimate and control parameters Σ
<sub>
<italic>zw,n</italic>
|
<italic>n</italic>
−1</sub>
.</p>
<p>If one examines (Equations 11, 12, 15, 16) one can see a formal similarity, which suggests that both states and parameters are being updated in a formally equivalent fashion. In fact, one approach to parameter estimation in the context of Kalman filtering is to treat the parameters as auxiliary states that have no dynamics. In other words, one treats the parameters as hidden states that have constant (time invariant) values. Goodwin and Sin (
<xref rid="B14" ref-type="bibr">1984</xref>
) exploit this in their
<italic>joint Kalman filter</italic>
technique. However, as intimated above, this approach obscures the different nature of the system's state and forward model parameters, while our approach clearly separates the two. Technically, this separation can be interpreted as an extended form of mean field approximation that matches both mean and variance of the posterior probability distribution over the states and forward model parameters. As the exact posterior is Gaussian, matching these two moments causes this approximation to perfectly coincide with the exact solution. However, the interpretation of this solution might guide approaches to handle non-linear rather than linear relations between control and state changes. This may be especially important if we consider the scheme in this paper as a metaphor for neuronal processing.</p>
</sec>
<sec>
<title>2.4. Illustration of information flow</title>
<p>To clarify the interaction between adaptive filtering and predictive inference further, the Bayesian graph in Figure
<xref ref-type="fig" rid="F2">2</xref>
shows the paths along which the information estimates and certainties influence each other.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption>
<p>
<bold>Influence of variables on each other in prediction step (dotted arrows) and update step (solid arrows)</bold>
.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0002"></graphic>
</fig>
<p>In the prediction step of the adaptive filtering component, information is transferred from μ
<sub>
<italic>w</italic>
</sub>
to μ
<sub>
<italic>z</italic>
</sub>
and along Σ
<sub>
<italic>ww</italic>
</sub>
→ Σ
<sub>
<italic>zw</italic>
</sub>
→ Σ
<sub>
<italic>zz</italic>
</sub>
. In the update step of the adaptive filtering component, this information flow is reversed: the issued control signal
<inline-formula>
<mml:math id="M28">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
leads to updates of the variance estimate Σ
<sub>
<italic>zz</italic>
</sub>
, the covariance Σ
<sub>
<italic>zw</italic>
</sub>
, and the state estimate μ
<sub>
<italic>z</italic>
</sub>
in the adaptive filtering component.</p>
<p>Moreover, in the predictive inference component, the residual (
<italic>x
<sub>n</sub>
</italic>
− μ
<sub>
<italic>z,n</italic>
|
<italic>n</italic>
−1</sub>
) leads to updates of the control parameter means μ
<sub>
<italic>w</italic>
</sub>
as well as the covariance estimate Σ
<sub>
<italic>ww</italic>
</sub>
.</p>
</sec>
</sec>
<sec>
<title>3. Relation to Kalman filter and RLS</title>
<p>The method described above describes how to track the state while simultaneously inferring the control parameters in a Bayes optimal sense. In this section, we show how our approach relates to uncoupled (naive) Kalman filtering for state tracking and RLS for parameter inference.</p>
<sec>
<title>3.1. Relation to Kalman filter</title>
<p>We can relate the above to the Kalman filter by assuming that the control parameters
<italic>
<bold>w</bold>
</italic>
are known rather than inferred (Figure
<xref ref-type="fig" rid="F3">3A</xref>
). Then, the only parameters to be updated are μ
<sub>
<italic>z</italic>
</sub>
and Σ
<sub>
<italic>zz</italic>
</sub>
.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption>
<p>
<bold>Graphical representation of the Kalman filter and the RLS algorithm</bold>
. Empty and filled circles represent unobserved and observed random variables, respectively, and arrows indicate dependencies between them.
<bold>(A)</bold>
Shows that, in contrast to our full model (Figure
<xref ref-type="fig" rid="F1">1</xref>
), the Kalman filter assumes the control parameters
<italic>
<bold>w</bold>
</italic>
to be known.
<bold>(B)</bold>
Shows that, in contrast to our model (Figure
<xref ref-type="fig" rid="F1">1</xref>
), RLS does not take the sequential dependencies between consecutive changes in
<italic>x</italic>
into account. Here, ẋ
<sub>
<italic>n</italic>
</sub>
=
<italic>x
<sub>n</sub>
</italic>
<italic>x</italic>
<sub>
<italic>n</italic>
−1</sub>
and ż
<sub>
<italic>n</italic>
</sub>
=
<italic>z
<sub>n</sub>
</italic>
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0003"></graphic>
</fig>
<p>In this case, the prediction step is given by (see Supplementary Material)</p>
<disp-formula id="E12">
<label>(17)</label>
<mml:math id="M29">
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>w</mml:mi>
</mml:mstyle>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="E13">
<label>(18)</label>
<mml:math id="M30">
<mml:mrow>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The only different to the prediction step of our model, Equations (8, 9), is that
<italic>
<bold>w</bold>
</italic>
now replaces Equation (17) μ
<sub>
<italic>w</italic>
</sub>
and Σ
<sub>
<italic>zz</italic>
</sub>
does not include the uncertainty about
<italic>
<bold>w</bold>
</italic>
in its update.</p>
<p>The update step for
<italic>z
<sub>n</sub>
</italic>
is found by Bayes' rule (see Supplementary Material), resulting in</p>
<disp-formula id="E14">
<label>(19)</label>
<mml:math id="M31">
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> </mml:mtext>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="E15">
<label>(20)</label>
<mml:math id="M32">
<mml:mrow>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext> </mml:mtext>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Thus, the update step for μ
<sub>
<italic>z</italic>
</sub>
and Σ
<sub>
<italic>zz</italic>
</sub>
remains unchanged (cf. Equations 11, 12), showing that the main difference to the full model is the lack of considering the uncertainty in the estimate of
<italic>
<bold>w</bold>
</italic>
.</p>
</sec>
<sec>
<title>3.2. Relation to recursive least squares</title>
<p>As was shown elsewhere, RLS is a special case of the Kalman filter with a stationary state (e.g., Murphy,
<xref rid="B22" ref-type="bibr">2012</xref>
). It does not consider sequential dependencies between successive system states (compare Figures
<xref ref-type="fig" rid="F1">1</xref>
,
<xref ref-type="fig" rid="F3">3B</xref>
). RLS is very suitable for estimating
<italic>
<bold>w</bold>
</italic>
by transforming the transition model,
<italic>z
<sub>n</sub>
</italic>
= z
<sub>
<italic>n</italic>
−1</sub>
+
<inline-formula>
<mml:math id="M33">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<italic>
<sup>T</sup>
<sub>n</sub>
<bold>w</bold>
</italic>
+ ϵ
<sub>
<italic>p</italic>
</sub>
(Equation 2) into ż
<sub>
<italic>n</italic>
</sub>
=
<italic>z
<sub>n</sub>
</italic>
<italic>z</italic>
<sub>
<italic>n</italic>
−1</sub>
=
<inline-formula>
<mml:math id="M34">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<italic>
<sup>T</sup>
<sub>n</sub>
<bold>w</bold>
</italic>
+ ϵ
<sub>p</sub>
, in which the different ż
<sub>1</sub>
, ż
<sub>2</sub>
, … are, in fact, independent. In its usual form, RLS would assume that these ż
<sub>
<italic>n</italic>
</sub>
's are observed directly, in which case its estimate of
<italic>
<bold>w</bold>
</italic>
would be Bayes-optimal. However, the ż
<sub>
<italic>n</italic>
</sub>
's are in our case only observable through ẋ
<sub>
<italic>n</italic>
</sub>
=
<italic>x
<sub>n</sub>
</italic>
<italic>x</italic>
<sub>
<italic>n</italic>
−1</sub>
= ż
<sub>
<italic>n</italic>
</sub>
+ ϵ
<sub>
<italic>s,n</italic>
</sub>
− ϵ
<sub>
<italic>s,n</italic>
−1</sub>
. Furthermore, two consecutive ẋ
<sub>
<italic>n</italic>
</sub>
and ẋ
<sub>
<italic>n</italic>
+1</sub>
are correlated as they share the same sensory noise ϵ
<sub>
<italic>s,n</italic>
</sub>
. Therefore, RLS applied to our problem suffers from two shortcomings. First, the sensory noise appears twice in each RLS “observation” ẋ
<sub>
<italic>n</italic>
</sub>
. Second, the observations are correlated, contrary to the assumptions underlying RLS.</p>
<p>In terms of update equations, RLS applied to ẋ
<sub>1</sub>
, ẋ
<sub>2</sub>
, … features the same prediction step as the full model (see Supplementary Material), except for the covariance terms Σ
<sub>
<italic>zz</italic>
</sub>
and Σ
<sub>
<italic>zw</italic>
</sub>
, which are updated according to</p>
<disp-formula id="E16">
<label>(21)</label>
<mml:math id="M35">
<mml:mrow>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>Σ</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>p</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="E17">
<label>(22)</label>
<mml:math id="M36">
<mml:mrow>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext> </mml:mtext>
<mml:msubsup>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Σ</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>|</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Compared to Equations (9, 10), this prediction step effectively assumes Σ
<sub>
<italic>zw,n</italic>
−1|
<italic>n</italic>
−1</sub>
= 0, which reflects RLS's independence assumption about consecutive observations. The RLS update step is the same as for the full model, see Equations (11–13, 15, 16); however, σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
are now replaced by the inflated variance 2σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
.</p>
</sec>
</sec>
<sec id="s3">
<title>4. Results</title>
<p>The complete scheme for Predictive Inference and Adaptive Filtering (PIAF), which is given by Equations (8–13), was tested numerically using one-dimensional control signals
<inline-formula>
<mml:math id="M37">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
. We assumed a constant, but unknown proportionality factor
<italic>w</italic>
= 1 (the prior estimate was set to μ
<sub>
<italic>w</italic>
,0|0</sub>
= 0).</p>
<p>In one series of experiments, we applied a continuous control of the form
<inline-formula>
<mml:math id="M38">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
= ω · cos(ω ·
<italic>n</italic>
+ ϕ)with
<inline-formula>
<mml:math id="M39">
<mml:mrow>
<mml:mi>ω</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
, where the period was chosen
<italic>T</italic>
= 50 time steps. The starting state was set to
<italic>z</italic>
<sub>0</sub>
= sin(ϕ) such that the resulting signal
<italic>z
<sub>n</sub>
</italic>
oscillates periodically between −1 and 1. The start phase ϕ was chosen randomly, without giving PIAF any information about it (μ
<sub>
<italic>z</italic>
,0|0</sub>
= 0). The variance priors were chosen as follows: Σ
<sub>
<italic>zz</italic>
,0|0</sub>
= 10
<sup>4</sup>
(range of unknown signal), Σ
<sub>
<italic>ww</italic>
,0|0</sub>
= 1 (control commands and signal have same order of magnitude), Σ
<sub>
<italic>zw</italic>
,0|0</sub>
= 0 (prior covariance is a diagonal matrix).</p>
<p>In the second set of experiments the control commands
<inline-formula>
<mml:math id="M40">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
where sampled randomly from the Gaussian distribution
<inline-graphic xlink:href="fncom-09-00047-i0001.jpg"></inline-graphic>
<inline-formula>
<mml:math id="M41">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:msup>
<mml:mi>ω</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
with same mean and variance like the sinusoidal control in the first set of experiments.</p>
<p>In all experiments presented in this paper, the standard deviation of the sensory noise was set to σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
= 4 corresponding to an MSE signal-to-noise ratio of 1 : 8 (with respect to
<italic>z</italic>
).</p>
<p>As Figure
<xref ref-type="fig" rid="F4">4A</xref>
shows, PIAF converged very quickly to a good estimate close to the true signal in the absence of process noise. Despite the large amount of noise present in the samples, the deviation of the estimated signal is below 0.1 after a few 100 time steps. In Figure
<xref ref-type="fig" rid="F4">4B</xref>
, the experiment was repeated with a considerable level of process noise (σ
<sub>
<italic>p</italic>
</sub>
= 0.1). The estimated signal is struggling to keep up with the jittery signal, which is reflected in the estimated variance, which does not decrease further after the first couple of steps. Nonetheless, the variance estimates appear warranted as the shaded area of width ±2 σ
<sub>
<italic>z</italic>
</sub>
around the estimate μ
<sub>
<italic>z</italic>
</sub>
encloses the true signal.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption>
<p>
<bold>Example of filtering showing the true signal (blue line), samples (black crosses), estimated signal (red line with dots), and the 2σ confidence interval (area shaded in yellow)</bold>
. [σ
<sub>
<italic>s</italic>
</sub>
= 2 in all panels].
<bold>(A,B)</bold>
continuous control;
<bold>(C,D)</bold>
random control;
<bold>(A,C)</bold>
without process noise;
<bold>(B,D)</bold>
with process noise.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0004"></graphic>
</fig>
<p>In Figures
<xref ref-type="fig" rid="F4">4C,D</xref>
, we illustrate that also in the case of irregular, random control, PIAF is working fine when there is no process noise. In the case with process noise (σ
<sub>
<italic>p</italic>
</sub>
= 0.1), it produces an “apparently reasonable” posterior variance estimate (we investigate this quantitatively further in Section 4.3).</p>
<sec>
<title>4.1. Dependence of performance on process noise</title>
<p>In Figure
<xref ref-type="fig" rid="F5">5</xref>
we compare different levels of process noise. There is no qualitative difference between continuous and random control commands in this experiment, so we show only the plots for the case of the sinusoidal control signals. The
<italic>z</italic>
-estimate, shown in Figure
<xref ref-type="fig" rid="F5">5A</xref>
, is obviously limited by the amount of process noise that contaminates the true signal at every time step. Nevertheless, as it can be seen in Figure
<xref ref-type="fig" rid="F5">5B</xref>
, PIAF can estimate
<italic>w</italic>
well for moderate process noise levels.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption>
<p>
<bold>PIAF accuracy for different settings of σ
<sub>
<italic>p</italic>
</sub>
in the case of continuous control. (A)</bold>
Mean squared error of μ
<sub>
<italic>w</italic>
</sub>
<bold>(B)</bold>
mean squared error of μ
<sub>
<italic>z</italic>
</sub>
<sub>
<italic>s</italic>
</sub>
= 2, σ
<sub>
<italic>p</italic>
</sub>
= 0, 0.001, 0.01, 0.1, 0.2, 0.5, 1].</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0005"></graphic>
</fig>
</sec>
<sec>
<title>4.2. Comparing with RLS</title>
<p>In order to compare the performance of PIAF (with respect to its
<italic>w</italic>
-estimation capability, neglecting its filtering component) with the classical RLS algorithm, we measured the mean squared errors of the
<italic>w</italic>
-estimate μ
<sub>
<italic>w</italic>
</sub>
, as shown in Figure
<xref ref-type="fig" rid="F6">6</xref>
in a double-logarithmic plot over the number of time steps (shown is the average of the MSE-s of 1000 individual runs). In case of the PIAF algorithm, the variance estimate σ
<sup>2</sup>
<sub>
<italic>w</italic>
</sub>
is also shown (dashed line); it coincides well with the observed quadratic error. The process noise level was set to σ
<sub>
<italic>p</italic>
</sub>
= 0.1, so the PIAF curves in Figure
<xref ref-type="fig" rid="F6">6</xref>
correspond to Figures
<xref ref-type="fig" rid="F4">4B,D</xref>
.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption>
<p>
<bold>Comparison of performance of
<italic>w</italic>
-estimation provided by PIAF (blue) and RLS (red)</bold>
. The accuracy is measured using the mean squared error. The variance estimate σ
<sup>2</sup>
<sub>
<italic>w</italic>
</sub>
of PIAF is also shown (dashed line). [σ
<sub>
<italic>s</italic>
</sub>
= 2, σ
<sub>
<italic>p</italic>
</sub>
= 0.1].
<bold>(A)</bold>
Continuous control;
<bold>(B)</bold>
Random control.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0006"></graphic>
</fig>
<p>The input to the classical RLS algorithm was given by the pairs (
<inline-formula>
<mml:math id="M42">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
,
<italic>x
<sub>n</sub>
</italic>
<italic>x</italic>
<sub>
<italic>n</italic>
−1</sub>
) consisting of control values and the differences of consecutive observations. The difference of samples is according to Equations (1, 2) given by</p>
<disp-formula id="E18">
<label>(23)</label>
<mml:math id="M43">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>ϵ</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>ϵ</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo></mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>w</mml:mi>
<mml:mo>·</mml:mo>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>ϵ</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where the noise terms ϵ
<sub>ẋ,
<italic>n</italic>
</sub>
are all identically distributed (but not independent) with variance 2σ
<sup>2</sup>
<sub>
<italic>s</italic>
</sub>
+ σ
<sup>2</sup>
<sub>
<italic>p</italic>
</sub>
. Since this difference signal is extremely noisy (in our setting the variance is more than 20 times larger than the amplitude of ẋ
<sub>
<italic>n</italic>
</sub>
, corresponding to a MSE SNR of approximately 1:1000), the initial estimates produced by RLS are very far away from the true value. The strength of the PIAF filter (seen as
<italic>w</italic>
-estimator) can be thus seen in the fact that it is not distracted by the noisiness of the samples and produces good
<italic>w</italic>
-estimates already early on. As Figure
<xref ref-type="fig" rid="F6">6A</xref>
shows, in the case of continuous control (as described in the previous subsection), RLS is nevertheless able to correct its wrong initial
<italic>w</italic>
-estimates. Within approximately 100 time steps its performance is henceforth comparable to that of the PIAF filter. The reason for that is that two consecutive errors ϵẋ,
<italic>n</italic>
and ϵẋ,
<italic>n</italic>
+1 are not independent: According to Equation (23) they both contain ϵ
<sub>
<italic>s,n</italic>
</sub>
; the first with a positive, the second with negative sign. If
<inline-formula>
<mml:math id="M44">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
and
<inline-formula>
<mml:math id="M45">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
+1</sub>
are very similar, the noise term ϵ
<sub>
<italic>s,n</italic>
</sub>
almost completely cancels out in the RLS' estimate for
<italic>w</italic>
.</p>
<p>In contrast, panel (B) shows that when the control signal
<inline-formula>
<mml:math id="M46">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
is irregular, RLS cannot benefit from this “accidental” noise cancelation and its performance never catches up with PIAF.</p>
</sec>
<sec>
<title>4.3. Comparison with Kalman filtering</title>
<p>Finally, we compared the performance of PIAF (with respect to its
<italic>z</italic>
-estimation capability) with a classical Kalman filter that knew
<italic>w</italic>
. Note that PIAF must perform worse because it is not provided with the true value of
<italic>w</italic>
—but has to estimate it over time. The question is, if and how fast it can catch up.</p>
<p>In Figure
<xref ref-type="fig" rid="F7">7</xref>
we show that irrespective of the type of control (continuous or random), the performance lags behind until the level of the process noise σ
<sub>
<italic>p</italic>
</sub>
is reached, which corresponds to best possible performance. The lack of knowledge of the control weight
<italic>w</italic>
comes at a cost of requiring more samples to arrive at best possible accuracy. At an MSE level of 0.1, for example, the overhead to infer
<italic>w</italic>
amounted roughly to requiring twice the number of samples in our experiments.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption>
<p>
<bold>Performance of
<italic>z</italic>
-estimation of PIAF (blue) and classical Kalman filter, but provided with knowledge of the true
<italic>w</italic>
(red)</bold>
. The accuracy is measured using the mean squared error. The variance estimates are shown using dashed lines. [σ
<sub>
<italic>s</italic>
</sub>
= 2, σ
<sub>
<italic>p</italic>
</sub>
= 0.01].
<bold>(A)</bold>
Continuous control;
<bold>(B)</bold>
Random control.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0007"></graphic>
</fig>
<p>As expected from the mathematical derivation, PIAF reaches the best possible performance, which is limited by the level of process noise σ
<sup>2</sup>
<sub>
<italic>p</italic>
</sub>
. By comparing corresponding dotted lines (variance estimates of the algorithms) with the solid lines (actually observed mean squared error), it can be seen that in both cases the variance is initially under-estimated (by a factor of maximally 2) and finally a slightly overestimated (by a factor of ≈ 1.5). The difference between pairs of corresponding curves in Figure
<xref ref-type="fig" rid="F7">7</xref>
is statistically significant in the intermediate range (from a few tens to a few thousands of iterations).</p>
</sec>
<sec>
<title>4.4. Comparing with
<italic>ad-hoc</italic>
combinations of Kalman and RLS</title>
<p>In this section, we consider some
<italic>ad-hoc</italic>
combinations of Kalman filtering and maximum likelihood estimation using RLS. Our aim is to show the drawbacks of these schemes in relation to Kalman filtering. Figure
<xref ref-type="fig" rid="F8">8</xref>
sketches out the three considered systems schematically. Note that only PIAF exchanges posterior, conditional covariances (i.e., uncertainty) reciprocally between the state and forward model parameter estimations (cf. Figure
<xref ref-type="fig" rid="F8">8C</xref>
).</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption>
<p>
<bold>Possible ways of combining the classical Kalman filtering algorithm and RLS in comparison with the combined system for prediction-based inference and adaptive filtering. (A)</bold>
RLS → Kalman: RLS obtains the difference of consecutive noisy measurements, Kalman is provided with
<italic>w</italic>
-estimates from RLS.
<bold>(B)</bold>
Kalman ↔ RLS: The Kalman filtered signal is used as input for RLS, which returns
<italic>w</italic>
-estimates. The feedback loop of this setup (indicated by black arrows) leads to self-delusional spiralling.
<bold>(C)</bold>
PIAF: Control signals and
<italic>w</italic>
-estimates are passed to the adaptive filter in the prediction step (dotted arrows). The deviation of the resulting prediction for the signal in the current time step μ
<sub>
<italic>z</italic>
</sub>
from the new measurement x is used in the update step (solid arrows).</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0008"></graphic>
</fig>
<p>In the approach shown in Figure
<xref ref-type="fig" rid="F8">8A</xref>
, RLS is used to estimate
<italic>w</italic>
based on control signals
<inline-formula>
<mml:math id="M47">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
and differences of consecutive unfiltered samples ẋ
<sub>
<italic>n</italic>
</sub>
=
<italic>x
<sub>n</sub>
</italic>
<italic>x</italic>
<sub>
<italic>n</italic>
−1</sub>
(setting “RLS→Kalman”). In order to allow the Kalman filter to determine the optimal mixing coefficient, RLS must be extended to produce a variance estimate σ
<sup>2</sup>
<sub>
<italic>w</italic>
</sub>
in addition to its estimation of
<italic>w</italic>
. We use the expected standard error of the
<italic>w</italic>
estimate of RLS as calculated for example in Weisberg (
<xref rid="B29" ref-type="bibr">2014</xref>
) (see Supplementary Material for details). In this setup, RLS essentially assumes independent information sampling and cannot profit from the noise cancelation by the Kalman filter.</p>
<p>The second possibility (Figure
<xref ref-type="fig" rid="F8">8B</xref>
) attempts to benefit from Kalman filtering by using the difference of consecutive estimates μ
<sub>
<italic>z</italic>
</sub>
produced by Kalman as the input to RLS (setting “Kalman↔RLS”). We will show that RLS will indeed initially learn slightly faster but will eventually end up in a delusional loop due to overconfidence in its learned forward model.</p>
<p>For comparison and illustration purposes, Figure
<xref ref-type="fig" rid="F8">8C</xref>
shows how PIAF can be split up into a subsystem for Adaptive Filtering (AF), during which the state estimate is adapted, and a subsystem for Predictive Inference (PI), during which the forward model is adjusted. This information loop resembles the one indicated by black arrows in Figure
<xref ref-type="fig" rid="F8">8B</xref>
. However, the information flow through the loop is augmented by variance estimates about the state estimates, the forward model parameter estimates, and their interdependencies: The AF component receives updates from the PI component about the forward model including the certainty about the forward model. Vice versa, the PI component receives updates from AF about the current state estimate, its certainty, and its interdependence with the forward model.</p>
<p>As a consequence, the control signal
<inline-formula>
<mml:math id="M48">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:math>
</inline-formula>
is used only in the AF component directly. It is passed to the PI component indirectly via the prior variance and covariance estimates Σ
<sub>
<italic>zz,n</italic>
|
<italic>n</italic>
−1</sub>
and Σ
<sub>
<italic>zw,n</italic>
|
<italic>n</italic>
−1</sub>
and the residual between state signal and prior state estimate (
<italic>x
<sub>n</sub>
</italic>
− μ
<sub>
<italic>z,n</italic>
|
<italic>n</italic>
−1</sub>
). In this way, PIAF's adaptation of its forward model benefits from the current forward model knowledge and the interdependence of successive state signals, but it prevents overconfidence in its forward model-based state priors.</p>
<sec>
<title>4.4.1. Comparison with RLS→Kalman</title>
<p>Compared with the straightforward
<italic>ad-hoc</italic>
system of Figures
<xref ref-type="fig" rid="F8">8A</xref>
,
<xref ref-type="fig" rid="F9">9</xref>
shows that the PIAF system reduces the number of samples required to reach a certain target performance by a factor of 5–100 (horizontal offset between the curves PIAF and RLS→Kalman in Figure
<xref ref-type="fig" rid="F9">9C</xref>
). When applying random control commands, the RLS→Kalman system suffers further from an even slower convergence of the RLS-based forward model values
<italic>
<bold>w</bold>
</italic>
(cf. Figure
<xref ref-type="fig" rid="F9">9B</xref>
). As a consequence, Figure
<xref ref-type="fig" rid="F9">9D</xref>
shows that the
<italic>ad-hoc</italic>
combination has not yet reached the theoretically achievable target error performance even after 100k learning iterations (the theoretical optimum is bounded by σ
<sub>
<italic>p</italic>
</sub>
, as was also experimentally confirmed in Figure
<xref ref-type="fig" rid="F5">5</xref>
).</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption>
<p>
<bold>Performance of the RLS → Kalman system (red, solid line), Kalman ↔ RLS (green, dashed lines) and PIAF (blue)</bold>
. [σ
<sub>
<italic>s</italic>
</sub>
= 2, σ
<sub>
<italic>p</italic>
</sub>
= 0.01].
<bold>(A)</bold>
Continuous control, mean squared error of μ
<sub>
<italic>w</italic>
</sub>
,
<bold>(B)</bold>
Random control, mean squared error of μ
<sub>
<italic>w</italic>
</sub>
,
<bold>(C)</bold>
Continuous control, mean squared error of μ
<sub>
<italic>z</italic>
</sub>
,
<bold>(D)</bold>
Random control, mean squared error of μ
<sub>
<italic>z</italic>
</sub>
.</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0009"></graphic>
</fig>
<p>Figure
<xref ref-type="fig" rid="F10">10</xref>
shows 50 individual runs of the PIAF system and the
<italic>ad-hoc</italic>
systems RLS→Kalman and Kalman↔RLS in the continuous control setup. All runs have identical settings, except for the seed value of the random generator that was used to produce the sensor and process noise samples. The average of each group of runs is shown by a thick line. While all runs of RLS→Kalman converge to the optimum, eventually, PIAF is significantly faster (compare with Figures
<xref ref-type="fig" rid="F9">9A,C</xref>
).</p>
<fig id="F10" position="float">
<label>Figure 10</label>
<caption>
<p>
<bold>Comparison of individual runs with continuous control of PIAF (blue) and RLS → Kalman (red) and Kalman ↔ RLS system (green)</bold>
. [σ
<sub>
<italic>s</italic>
</sub>
= 2, σ
<sub>
<italic>p</italic>
</sub>
= 0.01].</p>
</caption>
<graphic xlink:href="fncom-09-00047-g0010"></graphic>
</fig>
</sec>
<sec>
<title>4.4.2. The self-delusional loop: comparison with Kalman↔RLS</title>
<p>The
<italic>ad-hoc</italic>
system Kalman↔RLS of Figure
<xref ref-type="fig" rid="F8">8B</xref>
does not reach the theoretically achievable performance (determined by σ
<sub>
<italic>p</italic>
</sub>
). In the case of continuous control, it levels off at roughly 10 times higher mean squared error. In the case of random control signals, the estimates actually destabilize and estimated values become completely useless. This is due to the effect of the information feedback loop that leads to the self-delusional loop (cf. black arrows in Figure
<xref ref-type="fig" rid="F8">8B</xref>
). This insight was investigated in much more detail already elsewhere (Kneissler et al.,
<xref rid="B18" ref-type="bibr">2012</xref>
,
<xref rid="B19" ref-type="bibr">2014</xref>
).</p>
<p>To illustrate the self-delusional loop further, the individual runs in Figure
<xref ref-type="fig" rid="F10">10</xref>
show that the feedback loop of Kalman↔RLS can be initially advantageous for a certain fraction of runs, compared to RLS→Kalman and even reach the PIAF performance in a few cases. Nevertheless, sooner or later all of the Kalman↔RLS runs end up in stagnation, where the
<italic>w</italic>
estimates do not improve further. It is characteristic for the self-delusional loop that the stagnation occurs at an arbitrary point in time and the resulting end performances are widely spread.</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>5. Discussion</title>
<p>Any neural system that learns by predictive encoding principles inevitably faces the problem of learning to predict the effects of its own actions on itself and on its environment. Meanwhile, such a system will attempt to utilize current predictive knowledge to filter incoming sensory information—learning from the resulting residuals. In this paper, we have shown that a system can learn its forward model more than 10 times faster when using the filtered residual. However, we have also shown that a scheme composed of independent learning and prediction components with decoupled confidence estimation tends to become overly self-confident. When trapped in such a “delusional loop,” the system essentially overly trusts its internal forward model, disregarding residual information as noise and consequently prematurely preventing further learning.</p>
<p>To achieve the learning speed-up and to avoid the self-delusional loop, we have derived a Bayes-optimal solution to optimally combine the forward model knowledge with the incoming sensory feedback. The resulting Predictive Inference and Adaptive Filtering (PIAF) scheme learns the forward model and filters sensory information optimally, iteratively, and concurrently on the fly. PIAF was shown to be closely related to the recursive least squares (RLS) online linear regression technique as well as to Kalman filtering—combining both techniques in a Bayes-optimal manner by considering the covariances between the forward model parameters and the state estimates. In contrast to joint Kalman filtering approaches, which add the forward model parameters to the state estimate, PIAF separates the two components explicitly. Technically, PIAF rests on separating the exact posterior distribution over states and model parameters into these parameter groups. This statistical separation requires the exchange of sufficient statistics (in our Gaussian case, expectations, and covariances) between the Bayesian updates to ensure that uncertainty about the parameters informs state estimation and vice versa. The alternative would be to assume a joint posterior over both states and parameters and use a joint or global Kalman filter. However, this comes at a price of obfuscating the interaction between these two parameters.</p>
<p>Another generalization would be to repeat our experiments with a higher dimensional control space, where control commands
<inline-formula>
<mml:math id="M49">
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>˙</mml:mo>
</mml:mover>
</mml:mstyle>
</mml:math>
</inline-formula>
<sub>
<italic>n</italic>
</sub>
are vectors. More importantly, at the moment the derivation is limited to linear models. In the non-linear case, Extended Kalman Filtering (EKF) methods or Unscented Kalman Filtering (UKF) techniques with augmented states are applicable. In our previous work, we have investigated locally linear mappings to approximate the underlying non-linear forward velocity kinematics model of a simulated robot arm (Kneissler et al.,
<xref rid="B18" ref-type="bibr">2012</xref>
,
<xref rid="B19" ref-type="bibr">2014</xref>
), preventing self-delusional loops by means of thresholds. A general (Bayes optimal) solution for learning such locally linear mappings and possibly gain-field mappings, as identified in the brain in various cortical areas (Denève and Pouget,
<xref rid="B7" ref-type="bibr">2004</xref>
; Chang et al.,
<xref rid="B5" ref-type="bibr">2009</xref>
), seems highly desirable. The main challenge in this respect is the estimation of dependencies between the forward model and the internal state estimates, when combining partially overlapping, locally linear forward model approximations and when traversing the local forward models. Our work shows that it is essential to prevent an overestimation of the forward model confidence—since overconfidence can lead to delusion. However, our work also shows that filtering the sensory signal and learning from the filtered signal is clearly worthwhile, because it has the potential to speed up learning by an order of magnitude and to provide more efficient inference.</p>
<sec>
<title>Conflict of interest statement</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
</sec>
</body>
<back>
<sec sec-type="supplementary-material" id="s5">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at:
<ext-link ext-link-type="uri" xlink:href="http://journal.frontiersin.org/article/10.3389/fncom.2015.00047/abstract">http://journal.frontiersin.org/article/10.3389/fncom.2015.00047/abstract</ext-link>
</p>
<p>Please refer to the Supplementary Material for the full mathematical derivations and the relations to Kalman filtering and RLS.</p>
<supplementary-material content-type="local-data">
<media xlink:href="Presentation1.PDF">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bar</surname>
<given-names>M.</given-names>
</name>
</person-group>
(
<year>2009</year>
).
<article-title>Predictions: a universal principle in the operation of the human brain</article-title>
.
<source>Philos. Trans. R. Soc. Lond. B Biol. Sci</source>
.
<volume>364</volume>
,
<fpage>1181</fpage>
<lpage>1182</lpage>
.
<pub-id pub-id-type="doi">10.1098/rstb.2008.0321</pub-id>
<pub-id pub-id-type="pmid">19527998</pub-id>
</mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Bishop</surname>
<given-names>C. M.</given-names>
</name>
</person-group>
(
<year>2006</year>
).
<source>Pattern Recognition and Machine Learning</source>
.
<publisher-loc>Secaucus, NJ</publisher-loc>
:
<publisher-name>Springer-Verlag New York, Inc</publisher-name>
.</mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Blakemore</surname>
<given-names>S. J.</given-names>
</name>
<name>
<surname>Wolpert</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Frith</surname>
<given-names>C.</given-names>
</name>
</person-group>
(
<year>2000</year>
).
<article-title>Why can't you tickle yourself?</article-title>
<source>Neuroreport</source>
<volume>11</volume>
,
<fpage>11</fpage>
<lpage>16</lpage>
.
<pub-id pub-id-type="doi">10.1097/00001756-200008030-00002</pub-id>
<pub-id pub-id-type="pmid">10943682</pub-id>
</mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bridgeman</surname>
<given-names>B.</given-names>
</name>
</person-group>
(
<year>2007</year>
).
<article-title>Efference copy and its limitations</article-title>
.
<source>Comput. Biol. Med</source>
.
<volume>37</volume>
,
<fpage>924</fpage>
<lpage>929</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.compbiomed.2006.07.001</pub-id>
<pub-id pub-id-type="pmid">16987505</pub-id>
</mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chang</surname>
<given-names>S. W. C.</given-names>
</name>
<name>
<surname>Papadimitriou</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Snyder</surname>
<given-names>L. H.</given-names>
</name>
</person-group>
(
<year>2009</year>
).
<article-title>Using a compound gain field to compute a reach plan</article-title>
.
<source>Neuron</source>
<volume>64</volume>
,
<fpage>744</fpage>
<lpage>755</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.neuron.2009.11.005</pub-id>
<pub-id pub-id-type="pmid">20005829</pub-id>
</mixed-citation>
</ref>
<ref id="B6">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Crapse</surname>
<given-names>T. B.</given-names>
</name>
<name>
<surname>Sommer</surname>
<given-names>M. A.</given-names>
</name>
</person-group>
(
<year>2008</year>
).
<article-title>Corollary discharge circuits in the primate brain</article-title>
.
<source>Curr. Opin. Neurobiol</source>
.
<volume>18</volume>
,
<fpage>552</fpage>
<lpage>557</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.conb.2008.09.017</pub-id>
<pub-id pub-id-type="pmid">18848626</pub-id>
</mixed-citation>
</ref>
<ref id="B7">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Denève</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Pouget</surname>
<given-names>A.</given-names>
</name>
</person-group>
(
<year>2004</year>
).
<article-title>Bayesian multisensory integration and cross-modal spatial links</article-title>
.
<source>J. Physiol</source>
.
<volume>98</volume>
,
<fpage>249</fpage>
<lpage>258</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.jphysparis.2004.03.011</pub-id>
<pub-id pub-id-type="pmid">15477036</pub-id>
</mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ernst</surname>
<given-names>M. O.</given-names>
</name>
<name>
<surname>Banks</surname>
<given-names>M. S.</given-names>
</name>
</person-group>
(
<year>2002</year>
).
<article-title>Humans integrate visual and haptic information in a statistically optimal fashion</article-title>
.
<source>Nature</source>
<volume>415</volume>
,
<fpage>429</fpage>
<lpage>433</lpage>
.
<pub-id pub-id-type="doi">10.1038/415429a</pub-id>
<pub-id pub-id-type="pmid">11807554</pub-id>
</mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Friston</surname>
<given-names>K.</given-names>
</name>
</person-group>
(
<year>2003</year>
).
<article-title>Learning and inference in the brain</article-title>
.
<source>Neural Netw</source>
.
<volume>16</volume>
,
<fpage>1325</fpage>
<lpage>1352</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.neunet.2003.06.005</pub-id>
<pub-id pub-id-type="pmid">14622888</pub-id>
</mixed-citation>
</ref>
<ref id="B10">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Friston</surname>
<given-names>K.</given-names>
</name>
</person-group>
(
<year>2009</year>
).
<article-title>The free-energy principle: a rough guide to the brain?</article-title>
<source>Trends Cogn. Sci</source>
.
<volume>13</volume>
,
<fpage>293</fpage>
<lpage>301</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.tics.2009.04.005</pub-id>
<pub-id pub-id-type="pmid">19559644</pub-id>
</mixed-citation>
</ref>
<ref id="B11">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Friston</surname>
<given-names>K.</given-names>
</name>
</person-group>
(
<year>2010</year>
).
<article-title>The free-energy principle: a unified brain theory?</article-title>
<source>Nat. Rev. Neurosci</source>
.
<volume>11</volume>
,
<fpage>127</fpage>
<lpage>138</lpage>
.
<pub-id pub-id-type="doi">10.1038/nrn2787</pub-id>
<pub-id pub-id-type="pmid">20068583</pub-id>
</mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Friston</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Kilner</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Harrison</surname>
<given-names>L.</given-names>
</name>
</person-group>
(
<year>2006</year>
).
<article-title>A free energy principle for the brain</article-title>
.
<source>J. Physiol</source>
.
<volume>100</volume>
,
<fpage>70</fpage>
<lpage>87</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.jphysparis.2006.10.001</pub-id>
<pub-id pub-id-type="pmid">17097864</pub-id>
</mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gauss</surname>
<given-names>C.</given-names>
</name>
</person-group>
(
<year>1821</year>
).
<article-title>Theory of the combination of observations which leads to the smallest errors</article-title>
.
<source>Gauss Werke</source>
,
<volume>4</volume>
,
<fpage>1</fpage>
<lpage>93</lpage>
.</mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Goodwin</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Sin</surname>
<given-names>K.</given-names>
</name>
</person-group>
(
<year>1984</year>
).
<source>Adaptive Filtering Prediction and Control</source>
.
<publisher-loc>Englewood Cliffs, NJ</publisher-loc>
:
<publisher-name>Prentice-Hall</publisher-name>
.</mixed-citation>
</ref>
<ref id="B15">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Helmholtz</surname>
<given-names>H. V.</given-names>
</name>
</person-group>
(
<year>1925</year>
).
<article-title>Physiological optics</article-title>
.
<source>Opt. Soc. Am</source>
.
<volume>3</volume>
,
<fpage>318</fpage>
.</mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kalman</surname>
<given-names>R. E.</given-names>
</name>
</person-group>
(
<year>1960</year>
).
<article-title>A new approach to linear filtering and prediction problems</article-title>
.
<source>Trans. ASME J. Basic Eng</source>
.
<volume>82(Series D)</volume>
,
<fpage>35</fpage>
<lpage>45</lpage>
.</mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kilner</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Friston</surname>
<given-names>K. J.</given-names>
</name>
<name>
<surname>Frith</surname>
<given-names>C. D.</given-names>
</name>
</person-group>
(
<year>2007</year>
).
<article-title>Predictive coding: an account of the mirror neuron system</article-title>
.
<source>Cogn. Process</source>
.
<volume>8</volume>
,
<fpage>159</fpage>
<lpage>166</lpage>
.
<pub-id pub-id-type="doi">10.1007/s10339-007-0170-2</pub-id>
<pub-id pub-id-type="pmid">17429704</pub-id>
</mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Kneissler</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Stalph</surname>
<given-names>P. O.</given-names>
</name>
<name>
<surname>Drugowitsch</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Butz</surname>
<given-names>M. V.</given-names>
</name>
</person-group>
(
<year>2012</year>
).
<article-title>Filtering sensory information with xcsf: improving learning robustness and control performance</article-title>
, in
<source>Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference</source>
(
<publisher-loc>Philadelphia, PA</publisher-loc>
:
<publisher-name>ACM</publisher-name>
),
<fpage>871</fpage>
<lpage>878</lpage>
.</mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kneissler</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Stalph</surname>
<given-names>P. O.</given-names>
</name>
<name>
<surname>Drugowitsch</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Butz</surname>
<given-names>M. V.</given-names>
</name>
</person-group>
(
<year>2014</year>
).
<article-title>Filtering sensory information with xcsf: improving learning robustness and robot arm control performance</article-title>
.
<source>Evolut. Comput</source>
.
<volume>22</volume>
,
<fpage>139</fpage>
<lpage>158</lpage>
.
<pub-id pub-id-type="doi">10.1162/EVCO_a_00108</pub-id>
<pub-id pub-id-type="pmid">23746295</pub-id>
</mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>König</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Krüger</surname>
<given-names>N.</given-names>
</name>
</person-group>
(
<year>2006</year>
).
<article-title>Symbols as self-emergent entities in an optimization process of feature extraction and predictions</article-title>
.
<source>Biol. Cybern</source>
.
<volume>94</volume>
,
<fpage>325</fpage>
<lpage>334</lpage>
.
<pub-id pub-id-type="doi">10.1007/s00422-006-0050-3</pub-id>
<pub-id pub-id-type="pmid">16496197</pub-id>
</mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Körding</surname>
<given-names>K. P.</given-names>
</name>
<name>
<surname>Wolpert</surname>
<given-names>D. M.</given-names>
</name>
</person-group>
(
<year>2004</year>
).
<article-title>Bayesian integration in sensorimotor learning</article-title>
.
<source>Nature</source>
<volume>427</volume>
,
<fpage>244</fpage>
<lpage>247</lpage>
.
<pub-id pub-id-type="doi">10.1038/nature02169</pub-id>
<pub-id pub-id-type="pmid">14724638</pub-id>
</mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Murphy</surname>
<given-names>K. P.</given-names>
</name>
</person-group>
(
<year>2012</year>
).
<source>Machine Learning: a Probabilistic Perspective</source>
.
<publisher-loc>Cambridge, MA</publisher-loc>
:
<publisher-name>MIT press</publisher-name>
.</mixed-citation>
</ref>
<ref id="B23">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Plackett</surname>
<given-names>R. L.</given-names>
</name>
</person-group>
(
<year>1950</year>
).
<article-title>Some theorems in least squares</article-title>
.
<source>Biometrika</source>
<volume>37</volume>
,
<fpage>149</fpage>
<lpage>157</lpage>
.
<pub-id pub-id-type="pmid">15420260</pub-id>
</mixed-citation>
</ref>
<ref id="B24">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pynn</surname>
<given-names>L. K.</given-names>
</name>
<name>
<surname>DeSouza</surname>
<given-names>J. F.</given-names>
</name>
</person-group>
(
<year>2013</year>
).
<article-title>The function of efference copy signals: implications for symptoms of schizophrenia</article-title>
.
<source>Vis. Res</source>
.
<volume>76</volume>
,
<fpage>124</fpage>
<lpage>133</lpage>
.
<pub-id pub-id-type="doi">10.1016/j.visres.2012.10.019</pub-id>
<pub-id pub-id-type="pmid">23159418</pub-id>
</mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rao</surname>
<given-names>R. P.</given-names>
</name>
<name>
<surname>Ballard</surname>
<given-names>D. H.</given-names>
</name>
</person-group>
(
<year>1999</year>
).
<article-title>Predictive coding in the visual cortex: a functional interpretation of some extra-classical receptive-field effects</article-title>
.
<source>Nat. Neurosci</source>
.
<volume>2</volume>
,
<fpage>79</fpage>
<lpage>87</lpage>
.
<pub-id pub-id-type="pmid">10195184</pub-id>
</mixed-citation>
</ref>
<ref id="B26">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sommer</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Wurtz</surname>
<given-names>R. H.</given-names>
</name>
</person-group>
(
<year>2006</year>
).
<article-title>Influence of the thalamus on spatial visual processing in frontal cortex</article-title>
.
<source>Nature</source>
<volume>444</volume>
,
<fpage>374</fpage>
<lpage>377</lpage>
.
<pub-id pub-id-type="doi">10.1038/nature05279</pub-id>
<pub-id pub-id-type="pmid">17093408</pub-id>
</mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sperry</surname>
<given-names>R. W.</given-names>
</name>
</person-group>
(
<year>1950</year>
).
<article-title>Neural basis of the spontaneous optokinetic response produced by visual inversion</article-title>
.
<source>J. Comp. Physiol. Psychol</source>
.
<volume>43</volume>
,
<fpage>482</fpage>
.
<pub-id pub-id-type="pmid">14794830</pub-id>
</mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>von Holst</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Mittelstaedt</surname>
<given-names>H.</given-names>
</name>
</person-group>
(
<year>1950</year>
).
<article-title>Das Reafferenzprinzip</article-title>
.
<source>Naturwissenschaften</source>
<volume>37</volume>
,
<fpage>464</fpage>
<lpage>476</lpage>
.</mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Weisberg</surname>
<given-names>S.</given-names>
</name>
</person-group>
(
<year>2014</year>
).
<source>Applied Linear Regression</source>
.
<publisher-loc>Hoboken, NJ</publisher-loc>
:
<publisher-name>John Wiley & Sons</publisher-name>
.</mixed-citation>
</ref>
</ref-list>
</back>
</pmc>
<affiliations>
<list>
<country>
<li>Allemagne</li>
<li>Royaume-Uni</li>
<li>Suisse</li>
</country>
</list>
<tree>
<country name="Allemagne">
<noRegion>
<name sortKey="Kneissler, Jan" sort="Kneissler, Jan" uniqKey="Kneissler J" first="Jan" last="Kneissler">Jan Kneissler</name>
</noRegion>
<name sortKey="Butz, Martin V" sort="Butz, Martin V" uniqKey="Butz M" first="Martin V." last="Butz">Martin V. Butz</name>
</country>
<country name="Suisse">
<noRegion>
<name sortKey="Drugowitsch, Jan" sort="Drugowitsch, Jan" uniqKey="Drugowitsch J" first="Jan" last="Drugowitsch">Jan Drugowitsch</name>
</noRegion>
</country>
<country name="Royaume-Uni">
<noRegion>
<name sortKey="Friston, Karl" sort="Friston, Karl" uniqKey="Friston K" first="Karl" last="Friston">Karl Friston</name>
</noRegion>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/HapticV1/Data/Ncbi/Merge
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 003939 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Ncbi/Merge/biblio.hfd -nk 003939 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Ticri/CIDE
   |area=    HapticV1
   |flux=    Ncbi
   |étape=   Merge
   |type=    RBID
   |clé=     PMC:4415408
   |texte=   Simultaneous learning and filtering without delusions: a Bayes-optimal combination of Predictive Inference and Adaptive Filtering
}}

Pour générer des pages wiki

HfdIndexSelect -h $EXPLOR_AREA/Data/Ncbi/Merge/RBID.i   -Sk "pubmed:25983690" \
       | HfdSelect -Kh $EXPLOR_AREA/Data/Ncbi/Merge/biblio.hfd   \
       | NlmPubMed2Wicri -a HapticV1 

Wicri

This area was generated with Dilib version V0.6.23.
Data generation: Mon Jun 13 01:09:46 2016. Site generation: Wed Mar 6 09:54:07 2024