<?xml version="1.0" encoding="UTF-8"?>
<?latexml searchpaths="/home/japhy/scienceReplication.artiswrong.com/paper_files/arxiv/2406.12147/latex_extracted"?>
<?latexml class="llncs" options="runningheads"?>
<?latexml package="fontenc" options="T1"?>
<?latexml package="graphicx"?>
<?latexml RelaxNGSchema="LaTeXML"?>
<document xmlns="http://dlmf.nist.gov/LaTeXML" class="ltx_authors_1line">
  <resource src="LaTeXML.css" type="text/css"/>
  <resource src="ltx-article.css" type="text/css"/>
  <title>Metacognitive AI: Framework and the Case for a Neurosymbolic Approach</title>
  <creator role="author">
    <personname>Hua Wei </personname>
    <contact role="institute">1Arizona State University <break/></contact>
    <contact role="email">1{hua.wei, pshak02}@asu.edu</contact>
  </creator>
  <creator before="  " role="author">
    <personname>Paulo Shakarian </personname>
    <contact role="institute">1Arizona State University <break/></contact>
    <contact role="email">1{hua.wei, pshak02}@asu.edu</contact>
  </creator>
  <creator before="  " role="author">
    <personname>Christian Lebiere </personname>
    <contact role="institute">2Carnegie Mellon University <break/></contact>
    <contact role="email">2cl@cmu.edu</contact>
  </creator>
  <creator before="  " role="author">
    <personname>Bruce Draper </personname>
    <contact role="institute">3Colorado State University <break/></contact>
    <contact role="email">3{bruce.draper, nkrishna}@colostate.edu, </contact>
  </creator>
  <creator before="  " role="author">
    <personname><break/>Nikhil Krishnaswamy </personname>
    <contact role="institute">3Colorado State University <break/></contact>
    <contact role="email">3{bruce.draper, nkrishna}@colostate.edu, </contact>
  </creator>
  <creator before="  " role="author">
    <personname>Sergei Nirenburg</personname>
    <contact role="institute">4Rensselaer Polytechnic Institute <break/></contact>
    <contact role="email">4zavedomo@gmail.com</contact>
  </creator>
  <abstract name="Abstract">
<!--  %****␣paper.tex␣Line␣50␣**** -->    <p>Metacognition is the concept of reasoning about an agent’s own internal processes and was originally introduced in the field of developmental psychology. In this position paper, we examine the concept of applying metacognition to artificial intelligence. We introduce a framework for understanding metacognitive artificial intelligence (AI) that we call TRAP: transparency, reasoning, adaptation, and perception. We discuss each of these aspects in-turn and explore how neurosymbolic AI (NSAI) can be leveraged to address challenges of metacognition.</p>
  </abstract>
  <keywords name="Keywords">Metacognition Neurosymbolic AI.</keywords>
<!--  %\titlerunning{Abbreviated␣paper␣title} 
     %If␣the␣paper␣title␣is␣too␣long␣for␣the␣running␣head,␣you␣can␣set
     %an␣abbreviated␣paper␣title␣here
     %****␣paper.tex␣Line␣25␣****
     %Sarath␣Sreedharan\inst{3}␣\and
     %First␣names␣are␣abbreviated␣in␣the␣running␣head.
     %If␣there␣are␣more␣than␣two␣authors,␣’et␣al.’␣is␣used.
     %typeset␣the␣header␣of␣the␣contribution-->  <section inlist="toc" xml:id="S1">
    <tags>
      <tag>1</tag>
      <tag role="refnum">1</tag>
      <tag role="typerefnum">§1</tag>
    </tags>
    <title><tag close=" ">1</tag>Introduction</title>
    <para xml:id="S1.p1">
      <p>Metacognition is the concept of reasoning about an agent’s own internal processes and was originally introduced in the field of developmental psychology <cite class="ltx_citemacro_cite">[<bibref bibrefs="flavell1979metacognition" separator="," yyseparator=","/>]</cite> as a description of higher-order cognition. This “cognition about cognition” is regarded by some as a self-monitoring process that is integral to the functioning of the human mind <cite class="ltx_citemacro_cite">[<bibref bibrefs="demetriou1993architecture" separator="," yyseparator=","/>]</cite>. It has been studied extensively in the fields of manufacturing <cite class="ltx_citemacro_cite">[<bibref bibrefs="li2017applications" separator="," yyseparator=","/>]</cite>, aerospace <cite class="ltx_citemacro_cite">[<bibref bibrefs="izzo2019survey" separator="," yyseparator=","/>]</cite>, transportation <cite class="ltx_citemacro_cite">[<bibref bibrefs="caesar2020nuscenes,abduljabbar2019applications,grigorescu2020survey" separator="," yyseparator=","/>]</cite>, and military applications <cite class="ltx_citemacro_cite">[<bibref bibrefs="svenmarck2018possibilities" separator="," yyseparator=","/>]</cite>. We argue for the study of metacognitive artificial intelligence which deals with the reasoning about an artificial agent’s own processes. This idea actually has been studied on and off in the history of AI <cite class="ltx_citemacro_cite">[<bibref bibrefs="cox2011metareasoning,cox2005metacognition" separator="," yyseparator=","/>]</cite>, but recent developments indicate that this area deserves a renewed focus. Specifically, despite large scale industry investments in AI, major failures still occur – which indicates that pure engineering solutions are unlikely to solve these fundamental failures. Consider the following examples:</p>
    </para>
    <para xml:id="S1.p2">
      <itemize xml:id="S1.I1">
        <item xml:id="S1.I1.i1">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">1st item</tag>
          </tags>
          <para xml:id="S1.I1.i1.p1">
            <p>Large language model falsely accuses a professor of sexual harassment <cite class="ltx_citemacro_cite">[<bibref bibrefs="Mok" separator="," yyseparator=","/>]</cite>.</p>
          </para>
        </item>
        <item xml:id="S1.I1.i2">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">2nd item</tag>
          </tags>
          <para xml:id="S1.I1.i2.p1">
            <p>Autonomous robot taxi in San Francisco accidentally drags a woman for 20 feet causing major injury <cite class="ltx_citemacro_cite">[<bibref bibrefs="Farivar_2023" separator="," yyseparator=","/>]</cite>.</p>
          </para>
        </item>
        <item xml:id="S1.I1.i3">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">3rd item</tag>
          </tags>
          <para xml:id="S1.I1.i3.p1">
            <p>Reinforcement learning model has to be retrained to play with slight changes in the environment <cite class="ltx_citemacro_cite">[<bibref bibrefs="jayawardana2022impact,wei2022honor" separator="," yyseparator=","/>]</cite>.</p>
          </para>
        </item>
        <item xml:id="S1.I1.i4">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">4th item</tag>
          </tags>
          <para xml:id="S1.I1.i4.p1">
            <p>Robot mistakes a man for a box in South Korea and crushes him to death <cite class="ltx_citemacro_cite">[<bibref bibrefs="Atkinson_2023" separator="," yyseparator=","/>]</cite>.</p>
          </para>
        </item>
      </itemize>
    </para>
    <para xml:id="S1.p3">
      <p>Each of these case studies exhibits a different modality of AI failure.
The first item illustrates a failure of <text font="bold" framed="underline">T</text><text font="bold">ransparency</text> – the system generated information that was false and could not provide a way to check itself on the facts.
The second illustrates a failure in <text font="bold" framed="underline">R</text><text font="bold">easoning</text> – how the system synthesizes information and ultimately produces a decision.
The third illustrates a failure of <text font="bold" framed="underline">A</text><text font="bold">daptation</text> – the system could not accommodate itself in a new environment.
The fourth illustrates a failure in <text font="bold" framed="underline">P</text><text font="bold">erception</text> – how the system recognizes entities in its environment.
In this introduction, which stemmed from the <emph font="italic">2023 ARO-sponsored Workshop on Metacognitive Prediction of AI Behavior</emph>, we argue that the study of metacognitive AI should encompass these four areas (<text font="bold" framed="underline">TRAP</text>), as is shown in Figure <ref labelref="LABEL:fig:intro:trap"/>. In this paper, we build on our recent ARO-sponsored workshop event <cite class="ltx_citemacro_cite">[<bibref bibrefs="wei2024metaai" separator="," yyseparator=","/>]</cite> and examine each of these aspects and then discuss how neurosymbolic AI can be used as an approach to address challenges in metacognition.</p>
    </para>
<!--  %****␣paper.tex␣Line␣75␣**** -->    <figure inlist="lof" labels="LABEL:fig:intro:trap" xml:id="S1.F1">
      <tags>
        <tag>Figure 1</tag>
        <tag role="refnum">1</tag>
        <tag role="typerefnum">Figure 1</tag>
      </tags>
      <graphics candidates="figs/trap.pdf" class="ltx_centering" graphic="figs/trap.pdf" options="width=216.81pt" xml:id="S1.F1.g1"/>
      <toccaption class="ltx_centering"><tag close=" ">1</tag>Four aspects of metacognitive AI (TRAP) and approaches to achieve metacognition.</toccaption>
      <caption class="ltx_centering"><tag close=": ">Figure 1</tag>Four aspects of metacognitive AI (TRAP) and approaches to achieve metacognition.</caption>
    </figure>
  </section>
  <section inlist="toc" xml:id="S2">
    <tags>
      <tag>2</tag>
      <tag role="refnum">2</tag>
      <tag role="typerefnum">§2</tag>
    </tags>
    <title><tag close=" ">2</tag>The TRAP Framework for Metacognition</title>
    <para xml:id="S2.p1">
      <p>A traditional artificial intelligence (AI) system could be simplified as <Math mode="inline" tex="y=f_{\theta}(x)" text="y = f _ theta * x" xml:id="S2.p1.m1">
          <XMath>
            <XMApp>
              <XMTok meaning="equals" role="RELOP">=</XMTok>
              <XMTok font="italic" role="UNKNOWN">y</XMTok>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMApp>
                  <XMTok role="SUBSCRIPTOP" scriptpos="post1"/>
                  <XMTok font="italic" role="UNKNOWN">f</XMTok>
                  <XMTok font="italic" fontsize="70%" name="theta" role="UNKNOWN">θ</XMTok>
                </XMApp>
                <XMDual>
                  <XMRef idref="S2.p1.m1.1"/>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.p1.m1.1">x</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMApp>
          </XMath>
        </Math>, where <Math mode="inline" tex="x" text="x" xml:id="S2.p1.m2">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">x</XMTok>
          </XMath>
        </Math> is the input for the AI system; <Math mode="inline" tex="y" text="y" xml:id="S2.p1.m3">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">y</XMTok>
          </XMath>
        </Math>, depending on applications, could be a description, prediction, or actions to take; and <Math mode="inline" tex="f_{\theta}" text="f _ theta" xml:id="S2.p1.m4">
          <XMath>
            <XMApp>
              <XMTok role="SUBSCRIPTOP" scriptpos="post1"/>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
              <XMTok font="italic" fontsize="70%" name="theta" role="UNKNOWN">θ</XMTok>
            </XMApp>
          </XMath>
        </Math> is the operational function in most AI systems with parameters <Math mode="inline" tex="\theta" text="theta" xml:id="S2.p1.m5">
          <XMath>
            <XMTok font="italic" name="theta" role="UNKNOWN">θ</XMTok>
          </XMath>
        </Math>. A metacognitive AI system could be an additional function <Math mode="inline" tex="g" text="g" xml:id="S2.p1.m6">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">g</XMTok>
          </XMath>
        </Math>. With different metacognitive areas, <Math mode="inline" tex="g" text="g" xml:id="S2.p1.m7">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">g</XMTok>
          </XMath>
        </Math> is in different locations concerning <Math mode="inline" tex="f" text="f" xml:id="S2.p1.m8">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">f</XMTok>
          </XMath>
        </Math>. With this framing in mind, we examine each aspect of the TRAP framework below.</p>
    </para>
    <paragraph inlist="toc" xml:id="S2.SS0.SSS0.Px1">
      <title>Transparency</title>
      <para xml:id="S2.SS0.SSS0.Px1.p1">
        <p>While traditional AI can sometimes be perceived as a ‘black box’, metacognitive AI enhances trust and transparency by making the decision-making process in black-box AI more understandable to users. This is achieved through the function <Math mode="inline" tex="g(f(x),\theta)" text="g * open-interval@(f * x, theta)" xml:id="S2.SS0.SSS0.Px1.p1.m1">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMDual>
                  <XMApp>
                    <XMTok meaning="open-interval"/>
                    <XMRef idref="S2.SS0.SSS0.Px1.p1.m1.3"/>
                    <XMRef idref="S2.SS0.SSS0.Px1.p1.m1.2"/>
                  </XMApp>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMApp xml:id="S2.SS0.SSS0.Px1.p1.m1.3">
                      <XMTok meaning="times" role="MULOP">⁢</XMTok>
                      <XMTok font="italic" role="UNKNOWN">f</XMTok>
                      <XMDual>
                        <XMRef idref="S2.SS0.SSS0.Px1.p1.m1.1"/>
                        <XMWrap>
                          <XMTok role="OPEN" stretchy="false">(</XMTok>
                          <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p1.m1.1">x</XMTok>
                          <XMTok role="CLOSE" stretchy="false">)</XMTok>
                        </XMWrap>
                      </XMDual>
                    </XMApp>
                    <XMTok role="PUNCT">,</XMTok>
                    <XMTok font="italic" name="theta" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p1.m1.2">θ</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> or the function <Math mode="inline" tex="g|f" text="conditional@(g, f)" xml:id="S2.SS0.SSS0.Px1.p1.m2">
            <XMath>
              <XMApp>
                <XMTok meaning="conditional" role="MODIFIEROP" stretchy="false">|</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
              </XMApp>
            </XMath>
          </Math>. The function <Math mode="inline" tex="g(f(x),\theta)" text="g * open-interval@(f * x, theta)" xml:id="S2.SS0.SSS0.Px1.p1.m3">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMDual>
                  <XMApp>
                    <XMTok meaning="open-interval"/>
                    <XMRef idref="S2.SS0.SSS0.Px1.p1.m3.3"/>
                    <XMRef idref="S2.SS0.SSS0.Px1.p1.m3.2"/>
                  </XMApp>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMApp xml:id="S2.SS0.SSS0.Px1.p1.m3.3">
                      <XMTok meaning="times" role="MULOP">⁢</XMTok>
                      <XMTok font="italic" role="UNKNOWN">f</XMTok>
                      <XMDual>
                        <XMRef idref="S2.SS0.SSS0.Px1.p1.m3.1"/>
                        <XMWrap>
                          <XMTok role="OPEN" stretchy="false">(</XMTok>
                          <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p1.m3.1">x</XMTok>
                          <XMTok role="CLOSE" stretchy="false">)</XMTok>
                        </XMWrap>
                      </XMDual>
                    </XMApp>
                    <XMTok role="PUNCT">,</XMTok>
                    <XMTok font="italic" name="theta" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p1.m3.2">θ</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> represents the process of generating explanations based on both the input <Math mode="inline" tex="x" text="x" xml:id="S2.SS0.SSS0.Px1.p1.m4">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">x</XMTok>
            </XMath>
          </Math> and the parameters <Math mode="inline" tex="\theta" text="theta" xml:id="S2.SS0.SSS0.Px1.p1.m5">
            <XMath>
              <XMTok font="italic" name="theta" role="UNKNOWN">θ</XMTok>
            </XMath>
          </Math> of the model <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px1.p1.m6">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math>, while the function <Math mode="inline" tex="g|f" text="conditional@(g, f)" xml:id="S2.SS0.SSS0.Px1.p1.m7">
            <XMath>
              <XMApp>
                <XMTok meaning="conditional" role="MODIFIEROP" stretchy="false">|</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
              </XMApp>
            </XMath>
          </Math> represents the function <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px1.p1.m8">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math> with a series of <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px1.p1.m9">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math>. This function allows metacognitive AI to explain its decisions in terms of both the input data and its internal parameters, catering to different user expectations and motivations for seeking explanations.</p>
      </para>
      <para xml:id="S2.SS0.SSS0.Px1.p2">
        <p>On one hand, the nature of the explanation can vary significantly depending on whether it’s intended for an expert with technical knowledge or a layperson. If they are looking to understand why certain outputs come from a global perspective, then the focus is to have <Math mode="inline" tex="g(\theta)" text="g * theta" xml:id="S2.SS0.SSS0.Px1.p2.m1">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMDual>
                  <XMRef idref="S2.SS0.SSS0.Px1.p2.m1.1"/>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" name="theta" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p2.m1.1">θ</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> to make the <Math mode="inline" tex="\theta" text="theta" xml:id="S2.SS0.SSS0.Px1.p2.m2">
            <XMath>
              <XMTok font="italic" name="theta" role="UNKNOWN">θ</XMTok>
            </XMath>
          </Math> transparent; if users are looking to understand certain cases, then the focus is to have <Math mode="inline" tex="g(f(x))" text="g * f * x" xml:id="S2.SS0.SSS0.Px1.p2.m3">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMDual>
                  <XMRef idref="S2.SS0.SSS0.Px1.p2.m3.2"/>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMApp xml:id="S2.SS0.SSS0.Px1.p2.m3.2">
                      <XMTok meaning="times" role="MULOP">⁢</XMTok>
                      <XMTok font="italic" role="UNKNOWN">f</XMTok>
                      <XMDual>
                        <XMRef idref="S2.SS0.SSS0.Px1.p2.m3.1"/>
                        <XMWrap>
                          <XMTok role="OPEN" stretchy="false">(</XMTok>
                          <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p2.m3.1">x</XMTok>
                          <XMTok role="CLOSE" stretchy="false">)</XMTok>
                        </XMWrap>
                      </XMDual>
                    </XMApp>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> to understand a certain prediction <Math mode="inline" tex="f(x)" text="f * x" xml:id="S2.SS0.SSS0.Px1.p2.m4">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
                <XMDual>
                  <XMRef idref="S2.SS0.SSS0.Px1.p2.m4.1"/>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px1.p2.m4.1">x</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> on <Math mode="inline" tex="x" text="x" xml:id="S2.SS0.SSS0.Px1.p2.m5">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">x</XMTok>
            </XMath>
          </Math>. On the other hand, the purpose behind an explanation necessitates a different approach to how explanations are formulated and presented: is the explanation for enhancing the performance of the system, reducing bias, increasing fairness, or simply deriving a clearer understanding of the AI’s decision-making process? Enhancing the performance of the system through transparency could involve using the explanations to correct predictions or induce actions <Math mode="inline" tex="g|f" text="conditional@(g, f)" xml:id="S2.SS0.SSS0.Px1.p2.m6">
            <XMath>
              <XMApp>
                <XMTok meaning="conditional" role="MODIFIEROP" stretchy="false">|</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
              </XMApp>
            </XMath>
          </Math> where the understanding outputted from <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px1.p2.m7">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math> is then processed by the AI system to better learn <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px1.p2.m8">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math>. <!--  %For␣example,␣in␣a␣transportation␣AI␣application,␣a␣metacognitive␣system␣could␣involve␣several␣submodular␣components,␣with␣image␣processing␣components␣explaining␣the␣traffic␣condition,␣detailing␣the␣risk␣assessments␣and␣traffic␣predictions,␣which␣could␣be␣then␣used␣by␣downstream␣control␣components␣for␣better␣adaptive␣control.␣This␣level␣of␣transparency␣not␣only␣builds␣trust␣among␣users␣but␣also␣allows␣for␣more␣effective␣human-AI␣collaboration,␣as␣users␣can␣provide␣informed␣feedback␣or␣override␣decisions␣with␣a␣deeper␣understanding␣of␣the␣AI’s␣reasoning␣process. --> <cite class="ltx_citemacro_cite">[<bibref bibrefs="mitsopoulos2022toward" separator="," yyseparator=","/>]</cite> argued building cognitive models of both the AI and the human user that could be introspected upon to adapt explanations according to the discrepancy between the two models, e.g., when the AI decision does not conform to the human model’s expectations. <cite class="ltx_citemacro_cite">[<bibref bibrefs="wang2019designing" separator="," yyseparator=","/>]</cite> applied explainable AI framework to a real-world clinical machine learning (ML) use case, i.e., an explainable diagnostic tool for intensive care phenotyping. Co-designing with 14 clinicians, they provided five explanation strategies to mitigate decision biases and moderate trust. They implemented an early decision aid system to diagnose patients in an Intensive Care Unit (ICU) and found that users employed a diverse range of explainable AI facilities to reason.</p>
      </para>
    </paragraph>
    <paragraph inlist="toc" xml:id="S2.SS0.SSS0.Px2">
      <title>Reasoning</title>
      <para xml:id="S2.SS0.SSS0.Px2.p1">
        <p>Traditional AI systems <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px2.p1.m1">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math> often rely on predefined algorithms and data sets for reasoning or decision-making, which can limit their effectiveness in dynamic or unfamiliar scenarios. In contrast, metacognitive AI incorporates self-reflection and self-awareness into its logic, represented by <Math mode="inline" tex="f(x;g(\theta))" text="f * list@(x, g * theta)" xml:id="S2.SS0.SSS0.Px2.p1.m2">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
                <XMDual>
                  <XMApp>
                    <XMTok meaning="list"/>
                    <XMRef idref="S2.SS0.SSS0.Px2.p1.m2.2"/>
                    <XMRef idref="S2.SS0.SSS0.Px2.p1.m2.3"/>
                  </XMApp>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px2.p1.m2.2">x</XMTok>
                    <XMTok role="PUNCT">;</XMTok>
                    <XMApp xml:id="S2.SS0.SSS0.Px2.p1.m2.3">
                      <XMTok meaning="times" role="MULOP">⁢</XMTok>
                      <XMTok font="italic" role="UNKNOWN">g</XMTok>
                      <XMDual>
                        <XMRef idref="S2.SS0.SSS0.Px2.p1.m2.1"/>
                        <XMWrap>
                          <XMTok role="OPEN" stretchy="false">(</XMTok>
                          <XMTok font="italic" name="theta" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px2.p1.m2.1">θ</XMTok>
                          <XMTok role="CLOSE" stretchy="false">)</XMTok>
                        </XMWrap>
                      </XMDual>
                    </XMApp>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math>. This indicates how the AI’s self-reflection (through <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px2.p1.m3">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math>) informs its decision-making process (through <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px2.p1.m4">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math>), enhancing its reasoning capabilities. For instance, a metacognitive AI in healthcare could use this approach to evaluate and refine its diagnostic criteria over time, learning to differentiate between complex cases and refining its diagnostic criteria based on outcomes. This leads to decisions that are not only based on data but also enriched by the AI’s growing experiential knowledge, resulting in more accurate and reliable outcomes.</p>
      </para>
      <para xml:id="S2.SS0.SSS0.Px2.p2">
        <p>In <cite class="ltx_citemacro_cite">[<bibref bibrefs="ulam2005using" separator="," yyseparator=","/>]</cite>, the authors showed that model-based reflection may guide reinforcement learning with two benefits: The first is a reduction in learning time as compared to an agent that learns the task via pure reinforcement learning. Secondly, the reflection-guided RL agent shows benefits over the pure model-based reflection agent, matching the performance of that agent in the metrics measured in addition to converging to a solution in fewer trials. In addition, the augmented agent eliminates the need for an explicit adaptation library such as is used in the pure-model-based agent and thus reduces the knowledge engineering burden on the designer significantly.
In <cite class="ltx_citemacro_cite">[<bibref bibrefs="andrychowicz2017hindsight" separator="," yyseparator=","/>]</cite>, a novel technique called Hindsight Experience Replay was introduced, whose intuition is to re-examine the trajectories with a different goal — while a trajectory may not help learn how to achieve the desired goal, it tells us something about how to achieve the state in the actual trajectory. They demonstrated this approach on the task of manipulating objects with a robotic arm on three different tasks: pushing, sliding, and pick-and-place, while the vanilla RL algorithm fails to solve these tasks.
<!--  %****␣paper.tex␣Line␣100␣**** --></p>
      </para>
    </paragraph>
    <paragraph inlist="toc" xml:id="S2.SS0.SSS0.Px3">
      <title>Adaptability</title>
      <para xml:id="S2.SS0.SSS0.Px3.p1">
        <p>Adaptation in metacognitive AI encapsulates the system’s ability to detect and correct errors of internal conditions and to flexibly adapt its behavior and strategies. This is represented by <Math mode="inline" tex="f^{\prime}(x;g(f(x),\theta))" text="f ^ prime * list@(x, g * open-interval@(f * x, theta))" xml:id="S2.SS0.SSS0.Px3.p1.m1">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMApp>
                  <XMTok role="SUPERSCRIPTOP" scriptpos="post1"/>
                  <XMTok font="italic" role="UNKNOWN">f</XMTok>
                  <XMTok fontsize="70%" name="prime" role="SUPOP">′</XMTok>
                </XMApp>
                <XMDual>
                  <XMApp>
                    <XMTok meaning="list"/>
                    <XMRef idref="S2.SS0.SSS0.Px3.p1.m1.3"/>
                    <XMRef idref="S2.SS0.SSS0.Px3.p1.m1.4"/>
                  </XMApp>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m1.3">x</XMTok>
                    <XMTok role="PUNCT">;</XMTok>
                    <XMApp xml:id="S2.SS0.SSS0.Px3.p1.m1.4">
                      <XMTok meaning="times" role="MULOP">⁢</XMTok>
                      <XMTok font="italic" role="UNKNOWN">g</XMTok>
                      <XMDual>
                        <XMApp>
                          <XMTok meaning="open-interval"/>
                          <XMRef idref="S2.SS0.SSS0.Px3.p1.m1.4.1"/>
                          <XMRef idref="S2.SS0.SSS0.Px3.p1.m1.2"/>
                        </XMApp>
                        <XMWrap>
                          <XMTok role="OPEN" stretchy="false">(</XMTok>
                          <XMApp xml:id="S2.SS0.SSS0.Px3.p1.m1.4.1">
                            <XMTok meaning="times" role="MULOP">⁢</XMTok>
                            <XMTok font="italic" role="UNKNOWN">f</XMTok>
                            <XMDual>
                              <XMRef idref="S2.SS0.SSS0.Px3.p1.m1.1"/>
                              <XMWrap>
                                <XMTok role="OPEN" stretchy="false">(</XMTok>
                                <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m1.1">x</XMTok>
                                <XMTok role="CLOSE" stretchy="false">)</XMTok>
                              </XMWrap>
                            </XMDual>
                          </XMApp>
                          <XMTok role="PUNCT">,</XMTok>
                          <XMTok font="italic" name="theta" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m1.2">θ</XMTok>
                          <XMTok role="CLOSE" stretchy="false">)</XMTok>
                        </XMWrap>
                      </XMDual>
                    </XMApp>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math>, where <Math mode="inline" tex="f^{\prime}" text="f ^ prime" xml:id="S2.SS0.SSS0.Px3.p1.m2">
            <XMath>
              <XMApp>
                <XMTok role="SUPERSCRIPTOP" scriptpos="post1"/>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
                <XMTok fontsize="70%" name="prime" role="SUPOP">′</XMTok>
              </XMApp>
            </XMath>
          </Math> is the adapted model based on the metacognitive assessment <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px3.p1.m3">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math> of the original model’s output <Math mode="inline" tex="f(x)" text="f * x" xml:id="S2.SS0.SSS0.Px3.p1.m4">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
                <XMDual>
                  <XMRef idref="S2.SS0.SSS0.Px3.p1.m4.1"/>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m4.1">x</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> and parameters <Math mode="inline" tex="\theta" text="theta" xml:id="S2.SS0.SSS0.Px3.p1.m5">
            <XMath>
              <XMTok font="italic" name="theta" role="UNKNOWN">θ</XMTok>
            </XMath>
          </Math>. This notation reflects how metacognitive AI adapts by reassessing its outputs and parameters, allowing for more effective decision-making in the face of uncertainty and changing environments <cite class="ltx_citemacro_cite">[<bibref bibrefs="da2023uncertainty,Ye_Chen_Wei_Zhan_2024" separator="," yyseparator=","/>]</cite>.
Additional adaptations could also be implemented with <Math mode="inline" tex="g(x)?f(x)\colon h(x)" text="g * x * ? * f * x colon h * x" xml:id="S2.SS0.SSS0.Px3.p1.m6">
            <XMath>
              <XMApp>
                <XMTok name="colon" role="METARELOP">:</XMTok>
                <XMApp>
                  <XMTok meaning="times" role="MULOP">⁢</XMTok>
                  <XMTok font="italic" role="UNKNOWN">g</XMTok>
                  <XMDual>
                    <XMRef idref="S2.SS0.SSS0.Px3.p1.m6.1"/>
                    <XMWrap>
                      <XMTok role="OPEN" stretchy="false">(</XMTok>
                      <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m6.1">x</XMTok>
                      <XMTok role="CLOSE" stretchy="false">)</XMTok>
                    </XMWrap>
                  </XMDual>
                  <XMTok role="UNKNOWN">?</XMTok>
                  <XMTok font="italic" role="UNKNOWN">f</XMTok>
                  <XMDual>
                    <XMRef idref="S2.SS0.SSS0.Px3.p1.m6.2"/>
                    <XMWrap>
                      <XMTok role="OPEN" stretchy="false">(</XMTok>
                      <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m6.2">x</XMTok>
                      <XMTok role="CLOSE" stretchy="false">)</XMTok>
                    </XMWrap>
                  </XMDual>
                </XMApp>
                <XMApp>
                  <XMTok meaning="times" role="MULOP">⁢</XMTok>
                  <XMTok font="italic" role="UNKNOWN">h</XMTok>
                  <XMDual>
                    <XMRef idref="S2.SS0.SSS0.Px3.p1.m6.3"/>
                    <XMWrap>
                      <XMTok role="OPEN" stretchy="false">(</XMTok>
                      <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px3.p1.m6.3">x</XMTok>
                      <XMTok role="CLOSE" stretchy="false">)</XMTok>
                    </XMWrap>
                  </XMDual>
                </XMApp>
              </XMApp>
            </XMath>
          </Math>, where the metacognitive process <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px3.p1.m7">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math> decides whether to use the main function <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px3.p1.m8">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math> or an alternative function <Math mode="inline" tex="h" text="h" xml:id="S2.SS0.SSS0.Px3.p1.m9">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">h</XMTok>
            </XMath>
          </Math> based on its analysis of the input <Math mode="inline" tex="x" text="x" xml:id="S2.SS0.SSS0.Px3.p1.m10">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">x</XMTok>
            </XMath>
          </Math>. This could model AI systems that choose different processing paths based on metacognitive assessment without modifying <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px3.p1.m11">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math>. Such systems can adapt to new environments and tasks by understanding their learning process and limitations.
 <cite class="ltx_citemacro_cite">[<bibref bibrefs="leibig2017leveraging" separator="," yyseparator=","/>]</cite> showed that uncertainty-informed decision referral can improve diagnostic performance. <!--  %Experiments␣across␣different␣networks,␣tasks␣and␣datasets␣show␣robust␣generalization.␣Depending␣on␣network␣capacity␣and␣task/dataset␣difficulty,␣it␣surpasses␣85\%␣sensitivity␣and␣80\%␣specificity␣as␣recommended␣by␣the␣National␣Health␣Service␣when␣referring␣0-20\%␣of␣the␣most␣uncertain␣decisions␣for␣further␣inspection.␣By␣analyzing␣the␣causes␣of␣uncertainty,␣they␣found␣it␣is␣related␣to␣2D␣visualizations␣to␣the␣high-dimensional␣image␣space. -->More recently, another metacognitive approach allowing for adaptability known as <text font="italic">error detection and correction rules</text> (EDCR) was introduced <cite class="ltx_citemacro_cite">[<bibref bibrefs="xi2023rulebased" separator="," yyseparator=","/>]</cite>. In this framework, function <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px3.p1.m12">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math> results in a set of learned rules that characterize the failure modes of <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px3.p1.m13">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math> and how to correct on those failure modes while <Math mode="inline" tex="f^{\prime}" text="f ^ prime" xml:id="S2.SS0.SSS0.Px3.p1.m14">
            <XMath>
              <XMApp>
                <XMTok role="SUPERSCRIPTOP" scriptpos="post1"/>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
                <XMTok fontsize="70%" name="prime" role="SUPOP">′</XMTok>
              </XMApp>
            </XMath>
          </Math> is an inference process conducted using these rules to erase or change the results of the underlying model <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px3.p1.m15">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math>. In <cite class="ltx_citemacro_cite">[<bibref bibrefs="xi2023rulebased" separator="," yyseparator=","/>]</cite> the authors applied this technique to the classification of geospatial movement trajectories and examined performance improvement on <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px3.p1.m16">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math>, where the current state-of-the-art is neural architecture known as LRCN <cite class="ltx_citemacro_cite">[<bibref bibrefs="kim2022gps" separator="," yyseparator=","/>]</cite>. EDCR was able to both improve over the state-of-the-art as well as exhibit the ability to improve performance when exposed to out-of-distribution data.</p>
      </para>
    </paragraph>
    <paragraph inlist="toc" xml:id="S2.SS0.SSS0.Px4">
      <title>Perception</title>
      <para xml:id="S2.SS0.SSS0.Px4.p1">
        <p>Perception refers to the ability to interpret sensory information to understand the environment. Perception in metacognitive AI involves the system’s ability to interpret and understand sensory information, such as visual and auditory data, in a context-aware manner, represented by <Math mode="inline" tex="f(g(x),x)" text="f * open-interval@(g * x, x)" xml:id="S2.SS0.SSS0.Px4.p1.m1">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">f</XMTok>
                <XMDual>
                  <XMApp>
                    <XMTok meaning="open-interval"/>
                    <XMRef idref="S2.SS0.SSS0.Px4.p1.m1.3"/>
                    <XMRef idref="S2.SS0.SSS0.Px4.p1.m1.2"/>
                  </XMApp>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMApp xml:id="S2.SS0.SSS0.Px4.p1.m1.3">
                      <XMTok meaning="times" role="MULOP">⁢</XMTok>
                      <XMTok font="italic" role="UNKNOWN">g</XMTok>
                      <XMDual>
                        <XMRef idref="S2.SS0.SSS0.Px4.p1.m1.1"/>
                        <XMWrap>
                          <XMTok role="OPEN" stretchy="false">(</XMTok>
                          <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px4.p1.m1.1">x</XMTok>
                          <XMTok role="CLOSE" stretchy="false">)</XMTok>
                        </XMWrap>
                      </XMDual>
                    </XMApp>
                    <XMTok role="PUNCT">,</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px4.p1.m1.2">x</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math>, where context is a metacognitive assessment of the AI’s own capacity rather than an external context. Here, <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px4.p1.m2">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math> represents the primary perceptual processing function, interpreting sensory data like visuals or audio, while the metacognitive function <Math mode="inline" tex="g" text="g" xml:id="S2.SS0.SSS0.Px4.p1.m3">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">g</XMTok>
            </XMath>
          </Math> specifically evaluates the accuracy and limitations of the AI’s own sensory processing. The primary perceptual function <Math mode="inline" tex="f" text="f" xml:id="S2.SS0.SSS0.Px4.p1.m4">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
            </XMath>
          </Math> then uses both the original sensory input <Math mode="inline" tex="x" text="x" xml:id="S2.SS0.SSS0.Px4.p1.m5">
            <XMath>
              <XMTok font="italic" role="UNKNOWN">x</XMTok>
            </XMath>
          </Math> and the metacognitive assessment <Math mode="inline" tex="g(x)" text="g * x" xml:id="S2.SS0.SSS0.Px4.p1.m6">
            <XMath>
              <XMApp>
                <XMTok meaning="times" role="MULOP">⁢</XMTok>
                <XMTok font="italic" role="UNKNOWN">g</XMTok>
                <XMDual>
                  <XMRef idref="S2.SS0.SSS0.Px4.p1.m6.1"/>
                  <XMWrap>
                    <XMTok role="OPEN" stretchy="false">(</XMTok>
                    <XMTok font="italic" role="UNKNOWN" xml:id="S2.SS0.SSS0.Px4.p1.m6.1">x</XMTok>
                    <XMTok role="CLOSE" stretchy="false">)</XMTok>
                  </XMWrap>
                </XMDual>
              </XMApp>
            </XMath>
          </Math> to refine its interpretation. This dual-input model allows the AI to recognize and compensate for any inherent biases or weaknesses in its perception.
This could include AI in autonomous vehicles that must interpret complex visual environments, in medical imaging distinguishing subtle diagnostic details, or in environmental monitoring systems that detect and analyze changes through sensory data.</p>
      </para>
    </paragraph>
  </section>
  <section inlist="toc" xml:id="S3">
    <tags>
      <tag>3</tag>
      <tag role="refnum">3</tag>
      <tag role="typerefnum">§3</tag>
    </tags>
    <title><tag close=" ">3</tag>Neurosymbolic AI for Metacognition</title>
    <para xml:id="S3.p1">
      <p>In the previous section, we introduced the TRAP framework of metacognitive AI , which provides a structured approach to understanding how metacognitive elements augment traditional AI systems. Building upon this foundation, in this section, we explore the emerging field of neurosymbolic AI (NSAI) and its profound implications for metacognition. NSAI refers to the integration of connections (e.g., neural) with symbolic (e.g., logical) systems. This term was coined in the early 2000’s and has gained wider prominence in recent years <cite class="ltx_citemacro_cite">[<bibref bibrefs="nsaiBook23,kautz22,thirdWave2020,DBLP:series/faia/369" separator="," yyseparator=","/>]</cite>. The key relationships between NSAI and metacognition relate to the ability to use symbolic knowledge and perceptual models to detect and correct errors in each other (adaptability) and the use of symbolic languages to express information about error modes of a perceptual model (transparency).</p>
    </para>
    <para xml:id="S3.p2">
      <p>With the introduction of Logic Tensor Networks <cite class="ltx_citemacro_cite">[<bibref bibrefs="ltn22" separator="," yyseparator=","/>]</cite> the canonical paradigm for NSAI has consisted of guiding gradient descent with the addition of soft logical constraints in the loss function - and this was followed by related work <cite class="ltx_citemacro_cite">[<bibref bibrefs="giunchiglia2020coheren,xu2018semantic" separator="," yyseparator=","/>]</cite>. In general, these loss-based approaches would not fit the metacognitive paradigm, as in these incarnations of NSAI, the symbolic logic is used as an additional optimization criteria - in much the same way as one would a regularization term. However, more recent views on NSAI do lend themselves to metacognition - in particular with respect to adaptability and transparency.</p>
    </para>
    <para xml:id="S3.p3">
      <p>The key intuition in the use of NSAI for metacognitive adaptability is to leverage symbolic domain knowledge to explicitly identify errors in a neural model, allowing for some corrective action to be performed. One well-known approach for NSAI metacognitive adaptability is abductive learning (ABL) <cite class="ltx_citemacro_cite">[<bibref bibrefs="dai2019bridging" separator="," yyseparator=","/>]</cite>. Using the paradigm of adaptability introduced in this paper, function <Math mode="inline" tex="f^{\prime}" text="f ^ prime" xml:id="S3.p3.m1">
          <XMath>
            <XMApp>
              <XMTok role="SUPERSCRIPTOP" scriptpos="post1"/>
              <XMTok font="italic" role="UNKNOWN">f</XMTok>
              <XMTok fontsize="70%" name="prime" role="SUPOP">′</XMTok>
            </XMApp>
          </XMath>
        </Math> returns a result based on the combination of a perceptual model, a-priori domain knowledge (i.e., a logic program), and abduced error information (function <Math mode="inline" tex="g" text="g" xml:id="S3.p3.m2">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">g</XMTok>
          </XMath>
        </Math> in our framework). Here, function <Math mode="inline" tex="g" text="g" xml:id="S3.p3.m3">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">g</XMTok>
          </XMath>
        </Math> is abduced based on inconsistencies between the perceptual model and domain knowledge and can take the form of additional symbolic structures added to the logic program and/or updates to the perceptual model (<Math mode="inline" tex="f" text="f" xml:id="S3.p3.m4">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">f</XMTok>
          </XMath>
        </Math> in our framework). ABL has been shown to provide SOTA performance on combined perception-reasoning tasks as well as application to the identification of new concepts as shown in <cite class="ltx_citemacro_cite">[<bibref bibrefs="huang2023enabling" separator="," yyseparator=","/>]</cite>. More recent applications of NSAI to metacognitive adaptability have sought to disentangle perceptual updates from the base perceptual model. Specifically, <cite class="ltx_citemacro_cite">[<bibref bibrefs="cornelio2022learning" separator="," yyseparator=","/>]</cite> introduces a framework where an additional transformer model (<Math mode="inline" tex="g" text="g" xml:id="S3.p3.m5">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">g</XMTok>
          </XMath>
        </Math> in our framework) is used to predict errors in the underlying neural (<Math mode="inline" tex="f" text="f" xml:id="S3.p3.m6">
          <XMath>
            <XMTok font="italic" role="UNKNOWN">f</XMTok>
          </XMath>
        </Math>) using symbolic knowledge and reinforcement learning to detect and correct perceptual errors. The work of <cite class="ltx_citemacro_cite">[<bibref bibrefs="xi2023rulebased" separator="," yyseparator=","/>]</cite> also addresses perceptual errors but using a rule-learning approach - here rules are learned about the results of the neural model that allow for error detection and correction while providing the byproduct of an explanation of the errors.</p>
    </para>
    <para xml:id="S3.p4">
      <p>Complementary to the NSAI work relevant to metacognitive adaptability is NSAI work relating to metacognitive transparency. Here, NSAI is used to reason directly about the inner workings of a perceptual model, often for a downstream task involving an explanation of the perceptual results. One example of such work is <cite class="ltx_citemacro_cite">[<bibref bibrefs="EVANS2021103521" separator="," yyseparator=","/>]</cite> where a binarized neural network is used to produce a symbolic theory of perception used in a downstream task of appreciation, providing an explanation of the perceptual results. Another application of NSAI to transparency deals with the use of concept induction <cite class="ltx_citemacro_cite">[<bibref bibrefs="dalal2023explaining" separator="," yyseparator=","/>]</cite> to map activations in a neural network to an explanation using description logic - thereby providing transparency.
<!--  %****␣paper.tex␣Line␣125␣**** --></p>
    </para>
  </section>
  <section inlist="toc" xml:id="S4">
    <tags>
      <tag>4</tag>
      <tag role="refnum">4</tag>
      <tag role="typerefnum">§4</tag>
    </tags>
    <title><tag close=" ">4</tag>Challenges</title>
    <para xml:id="S4.p1">
      <p>The idea of metacognitive AI leads to many open questions. In the application of NSAI to metacognition, there are several such as the challenge of creating symbolic structures to reason about (e.g., using inductive logic programming to obtain a knowledgebase <cite class="ltx_citemacro_cite">[<bibref bibrefs="evans2018learning" separator="," yyseparator=","/>]</cite>, leveraging common sense knowledge <cite class="ltx_citemacro_cite">[<bibref bibrefs="du-etal-2021-learning" separator="," yyseparator=","/>]</cite> - both still have major challenges). More broadly, there are challenges that apply to metacognitive AI in general, which include the following:</p>
    </para>
    <para xml:id="S4.p2">
      <itemize xml:id="S4.I1">
        <item xml:id="S4.I1.i1">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">1st item</tag>
          </tags>
          <para xml:id="S4.I1.i1.p1">
            <p><text font="italic">Generalization to Diverse Dynamic Environments.</text> Metacognitive AI must be capable of adapting to rapidly changing and unpredictable environments, or at least know when it is incapable.</p>
          </para>
        </item>
        <item xml:id="S4.I1.i2">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">2nd item</tag>
          </tags>
          <para xml:id="S4.I1.i2.p1">
            <p><text font="italic">Designing for Continuous Self-Improvement.</text> Enabling AI systems to not only identify their weaknesses or errors but also to autonomously modify their behavior and learning strategies for continuous improvement.</p>
          </para>
        </item>
        <item xml:id="S4.I1.i3">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">3rd item</tag>
          </tags>
          <para xml:id="S4.I1.i3.p1">
            <p><text font="italic">Ensuring Ethical and Responsible Metacognition.</text> As metacognitive AI systems will have a higher level of autonomy in decision-making, ensuring that these decisions are ethically and morally responsible.</p>
          </para>
        </item>
        <item xml:id="S4.I1.i4">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">4th item</tag>
          </tags>
          <para xml:id="S4.I1.i4.p1">
            <p><text font="italic">Interpreting Metacognitive Processes.</text> While explainability in AI is already a challenge, making the metacognitive processes of AI interpretable and understandable to humans adds an extra layer of complexity.</p>
          </para>
        </item>
        <item xml:id="S4.I1.i5">
          <tags>
            <tag>•</tag>
            <tag role="typerefnum">5th item</tag>
          </tags>
          <para xml:id="S4.I1.i5.p1">
            <p><text font="italic">Benchmarking Datasets and Baselines.</text> Such benchmarks would afford validation of an AI’s self-assessment and adaptive learning capabilities are functioning as intended, which requires human assessment.</p>
          </para>
        </item>
      </itemize>
      <p>While the ideas of metacognitive AI are still very new, the ideas of error correction have previously been used to establish the foundations for technologies such as computer networking and digital signal processing. We believe a formal study of the topic with respect to AI may yield similar advances in the future.</p>
    </para>
    <ERROR class="undefined">{credits}</ERROR>
    <subsubsection inlist="toc" xml:id="S4.SS0.SSS1">
      <tags>
        <tag>4.0.1</tag>
        <tag role="refnum">4.0.1</tag>
        <tag role="typerefnum">§4.0.1</tag>
      </tags>
      <title><tag close=" ">4.0.1</tag>Acknowledgements</title>
      <para xml:id="S4.SS0.SSS1.p1">
        <p>This work was funded by the Army Research Office (ARO) under grants W911NF2310345 and W911NF2410007.</p>
      </para>
    </subsubsection>
    <subsubsection inlist="toc" xml:id="S4.SS0.SSS2">
      <tags>
        <tag>4.0.2</tag>
        <tag role="refnum">4.0.2</tag>
        <tag role="typerefnum">§4.0.2</tag>
      </tags>
      <title><tag close=" ">4.0.2</tag><ERROR class="undefined">\discintname</ERROR></title>
      <para xml:id="S4.SS0.SSS2.p1">
        <p>The authors have no competing interests.</p>
      </para>
    </subsubsection>
  </section>
  <bibliography bibstyle="splncs04" citestyle="numbers" files="bibtemp" xml:id="bib">
    <title>References</title>
  </bibliography>
</document>
