<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://gracebrazil28.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="http://gracebrazil28.github.io/" rel="alternate" type="text/html" /><updated>2024-08-28T17:59:31+00:00</updated><id>http://gracebrazil28.github.io/feed.xml</id><title type="html">Grace Brazil</title><subtitle>DREAM Project</subtitle><entry><title type="html">Week 10</title><link href="http://gracebrazil28.github.io/week10/" rel="alternate" type="text/html" title="Week 10" /><published>2020-07-01T00:00:00+00:00</published><updated>2020-07-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week10</id><content type="html" xml:base="http://gracebrazil28.github.io/week10/"><![CDATA[<h2 id="tmk-evaluation-metric">TMK Evaluation Metric</h2>
<p>In the world of online education, getting human-centric feedback is key to making sure these virtual agents really enhance the learning experience.</p>

<p>From an interesting study by Qiaosi Wang et al., from CHI 2020, they introduced a virtual agent called Jill Watson (same DILab), designed to help students connect by matching them based on shared interests like location and hobbies. They gathered feedback through a few short surveys to see how well Jill Watson SA was doing and how it could be improved. This study highlighted how important it is to consider user feedback and community building when developing educational AI tools.</p>

<p>When it comes to evaluating Ivy’s text-based responses, we’ve followed a similar human-centric approach. Here’s a quick rundown of the metrics we’re using:</p>

<ul>
  <li>Correctness: Does the response provide accurate and relevant information?</li>
  <li>Completeness: Is the response thorough and does it cover all aspects of the question?</li>
  <li>Confidence: How confident does the model appear in its response?</li>
  <li>Comprehensibility: Is the response clear and easy to understand?</li>
  <li>Compactness: Is the response concise and to the point?</li>
</ul>

<p>These metrics help ensure that Ivy not only gives accurate and complete answers but also communicates them in a way that’s clear and confident. Plus, they help me refine the model to make sure it’s hitting all the right notes for users.</p>

<h2 id="tmk-evaluation">TMK Evaluation</h2>
<p>I formulated 12 verification questions to thoroughly assess Ivy (List_of_questions_for_MCM_eval txt). To make sure we’re getting a well-rounded view, I had three different reviewers involved:</p>
<ul>
  <li>A Data Scientist: They crafted three questions from a student’s perspective to ensure we’re considering how Ivy might be perceived in a real-world educational setting.</li>
  <li>An Ivy Developer: Someone not directly involved in TMK development brought an unbiased perspective, focusing on the technical aspects of Ivy’s responses.</li>
  <li>The TMK Modeler (That’s Me!): I provided my own ratings and insights to ensure we’re looking at Ivy’s performance from all angles.</li>
  <li>How We Do It: The 5-Point Scale</li>
</ul>

<p>For the evaluation, I used a 5-point scale to get nuanced opinions on Ivy’s responses. Here’s a quick rundown of what that looks like:</p>
<ul>
  <li>1: Strongly Disagree</li>
  <li>2: Disagree</li>
  <li>3: Neutral</li>
  <li>4: Agree</li>
  <li>5: Strongly Agree</li>
</ul>

<p>This scale helps capture a range of feedback, so we don’t just get yes or no answers, but rather a spectrum of opinions on how well Ivy performs. We considered whether mean (average) or modal (most common) values were more suitable for analyzing the feedback. By incorporating perspectives from different stakeholders—like the TMK modeler, Ivy developer, and students—I aimed to get a comprehensive understanding of Ivy’s performance.</p>

<p>The evaluation involved 15 question-answer pairs, with scores for each metric averaged to derive an overall score. This approach ensures that every aspect of Ivy’s responses is considered, from accuracy to clarity.</p>

<h2 id="evaluation-data-analysis">Evaluation Data Analysis</h2>
<p>To get a clear picture of how my TMK is performing, I used a few different types of visualizations:</p>

<ul>
  <li>
    <ol>
      <li>Bar Charts:  I created bar charts to visualize the average scores for different question types. This was super helpful in seeing which categories were doing well and which ones needed improvement. For example, the “Knowledge” and “Task” question types scored the highest, while “Method” and “Student Questions” lagged behind. You can see this in Figure 2 in the paper, where the varying performance levels across these question types are clearly laid out.</li>
    </ol>
  </li>
  <li>
    <ol>
      <li>Box Plots: I used box plots to dive deeper into the distribution of scores. This type of chart helps us understand the range and variation in scores for each question type. Figure 3 in the paper shows that while the “Knowledge” category generally performed well, other areas like “Task” had a wider spread in scores. This means that while some responses were great, others didn’t quite hit the mark. Box plots also highlighted that the “Method” and “Student Questions” categories consistently scored lower, which suggests room for improvement.</li>
    </ol>
  </li>
  <li>
    <ol>
      <li>Heatmaps: To explore the relationships between different metrics, I used a heatmap. This visualizes how various scoring categories, like confidence and correctness, are related to each other. Figure 4 in the paper reveals some interesting patterns. For example, “Correctness” and “Completeness” are strongly correlated, meaning that answers that are correct are also usually complete. On the other hand, “Confidence” and “Compactness” showed moderate correlations, indicating that while more confident answers are often more compact, this isn’t always the case.</li>
    </ol>
  </li>
</ul>

<h2 id="incorporating-results-to-paper">Incorporating Results to Paper</h2>
<p>I summarized the main findings from the bar charts, box plots, and heatmaps. For instance, I pointed out that Ivy excels in “Knowledge” and “Task” questions but struggles with “Method” and “Student Questions.” This provided a clear picture of where Ivy performs well and where it needs more work. Then, the box plots revealed significant variability in scores, especially for the “Task” category. I discussed how this variability indicates inconsistent performance and suggested areas where targeted improvements could enhance Ivy’s overall effectiveness. Then finally, the heatmap was crucial for understanding the relationships between different scoring metrics. I highlighted how some metrics, like “Correctness” and “Completeness,” are closely related, while others, like “Confidence,” have weaker correlations with the rest. This insight helped refine the scoring system and suggested potential simplifications.</p>

<h2 id="finishing-the-final-paper-and-website">Finishing the Final Paper and Website</h2>
<p>The abstract is like the movie trailer for my paper—short and sweet, but packed with essential information. It needed to capture the essence of my research in a few concise paragraphs. I started by outlining the core objectives: enhancing autonomous coaching agents in online education by integrating Generative AI with learning theory. I highlighted the problem of current evaluation methods and how my Task-Model-Knowledge (TMK) model aims to bridge this gap. I wrapped it up by mentioning the evaluation framework and the key findings, including the model’s strengths and areas for improvement. The goal was to provide a snapshot that grabs attention and invites readers to dive deeper. Meanwhile, the introduction sets the stage for the entire paper. I began by discussing the importance of effective feedback in online education and the limitations of traditional methods. To wrap it up, I outlined the significance of this research and the expected impact on educational technology.
The big part that took a lot of time: In the results section, I presented the findings from my evaluation of Ivy using various metrics and question types. I included visualizations like bar charts, box plots, and heatmaps to illustrate the performance across different categories. Each visualization was paired with a clear explanation to make the data understandable. In the discussion, I reflected on the broader impact of these findings on educational technology and outlined potential future directions for research.</p>

<p>With the paper drafted, it was time to update the research blog to reflect the latest findings and developments. Updating the blog was about ensuring that all the information was current. I aimed to make the blog a comprehensive resource that complements the paper and offers additional context and insights.</p>

<h2 id="next-steps-and-future-work">Next Steps and Future Work</h2>
<p>I’m thrilled to share final updates and future directions for the TMK model and the IVY project. I’ve learned a lot from my recent analyses, and pinpointed some key areas that will really take our model to the next level.</p>

<p>First, I’ve noticed that the model can struggle with complex and open-ended questions. This is definitely something I’m focusing on improving. My goal is to make the model more robust and adaptable when faced with diverse and tricky questions. I might need to tweak the model’s architecture or bring in some advanced techniques to handle these questions better. It’s all about making sure the model can tackle any challenge that comes its way. Next, I found that the metrics for Correctness and Completeness are quite closely linked. This overlap means that the current metrics might not be giving me the full picture. So, I’m planning to suggest to the IVY team to develop new, more distinct metrics that will provide unique insights into different aspects of the model’s performance. This way, we’ll be able to evaluate the model more comprehensively and get a clearer understanding of how it’s doing.</p>

<p>On a bigger scale, the IVY project is making great progress. I’m on track to finish system testing by mid-October, which is super exciting. After that, I’m gearing up to deploy IVY in the Knowledge Based AI (KBAI) OMSCS class at Georgia Tech in Spring 2025. This will be a fantastic opportunity to get real-world feedback and see how the model performs in an actual academic setting.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Evaluation Metric In the world of online education, getting human-centric feedback is key to making sure these virtual agents really enhance the learning experience.]]></summary></entry><entry><title type="html">Week 1</title><link href="http://gracebrazil28.github.io/week1/" rel="alternate" type="text/html" title="Week 1" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week1</id><content type="html" xml:base="http://gracebrazil28.github.io/week1/"><![CDATA[<p>I met with the Interactive Video (IVY) from the Design Intelligence (DI) for the very first time. I was ecstatic to finally meet the group!</p>

<p>In the beginning, before the main meeting begins, the group discussed the latest developments in AI technology, particularly GPT 4.0, and its potential applications in tutoring and education. Dr. Ashok introduces the IVY project and its aim to combine understanding of in-video context with generative AI to generate explanations. Then the GRAs who worked with IVY previously gave a quick presentation on the overall cognitive model framework and the current updates on the paper that will be produced by the group. Then, Dr. Ashok has set an ambitious and challenging timeline for accomplishing IVY by end of summer for use in January 2025 classes. On my end, my goal is to start the onboarding process, starting with the TMKL2 documentation and the Project IVY onboarding documents.</p>

<h2 id="project-ivy-onboarding-documents">Project IVY Onboarding Documents</h2>
<p>I’ve reviewed the documents with IVY’s research questions, hypotheses and assumptions. As well as the poster for the IVY project which has a good overview of the current work and progress of the project.  I’ve also watched the video <strong>“AI-ALOE Webinar with Professor Mairead Pratschke”</strong>. The video discussed learning theories of AI, which are derived from established learning theories (of humans). She delved into the digital ecosystem – from Web 1.0, the Read-write web to now Web 3.0, Semantic Web (Meta Data + Personalization) and then finally, to the future Web 4.0, Symbiotic Web (human + computer). I thought this was an interesting point, I never really thought about the direction of our digital ecosystem. I can see the need to further research and understand human-machine interaction and collaboration, especially in the field of education. The speaker also highlighted the “Community of Inquiry” as a learning model that is more collaborative and constructivist that really ties to the research questions and hypotheses of the project.</p>

<h2 id="literature-review-on-learning-theory">Literature Review on Learning Theory</h2>
<p>As advised, I started reading the paper titled <strong>“The ICAP Framework: Linking Cognitive Engagement to Active Learning Outcomes”</strong> by Michelene T. H. Chi and Ruth Wylie. This paper illuminated the critical concept of cognitive engagement and its relationship to active learning outcomes. It became apparent that doing anything else but receiving learning materials isn’t enough (passive learning); students must ascend to a state of cognitive engagement characterized by overtly active behaviors during learning activities. The ICAP framework introduced in the paper outlines four modes of engagement: <strong>I</strong>nteractive, <strong>C</strong>onstructive, <strong>A</strong>ctive, and <strong>P</strong>assive, with a hierarchy of engagement levels from Interactive to Passive <strong>(I&gt;C&gt;A&gt;P)</strong>.</p>

<p>Each mode has its own definition that can be used to distinguish it from the others. Interactive engagement involves discourse with constructive dialogs, while Constructive engagement entails generating externalized output and fostering new ideas beyond given information. Active engagement, on the other hand, requires some form of manipulation while receiving information, coupled with focused attention, whereas Passive engagement involves merely receiving information without overtly engaging in additional activities. I have understood that the levels of engagement of say, P is encompassed in I, C and A.</p>

<p>I’ve also contemplated on the dichotomy between Constructionism and Instructionism in educational paradigms. Constructionism advocates for learning through discovery and the generation of new ideas from one’s own understanding, rather than following strict instructions. Tutoring tactics aligned with Constructionism often involve prompting, encouragement to construct, and hinting, fostering an environment conducive to active learning. These are the type of tutoring tactic that we want to come from the coaching Agent. However, truly interactive learning goes beyond this. It needs a mutual exchange of novel ideas beyond the given information, with equal participation from all parties involved. This is where the coaching Chatbot really hammers home the message. Ultimately, we want to be able to create a human-machine interaction wherein it sufficiently begets interactive learning.</p>

<h2 id="literature-review-on-tmkl2">Literature Review on TMKL2</h2>
<p>This week I started reading and getting familiar with the programming language that is being used to model the Agent in our Lab.  The TMKL language, developed by Bill Murdock, serves as a crucial tool for the Design Intelligence Lab in modeling knowledge representations. Building upon its predecessor, TMKL, TMKL2 is designed to facilitate reasoning and adaptation within software agents. At its core, TMKL2 retains the teleological nature of TMKL, establishing direct connections between agent goals and the mechanisms required to achieve them. This teleological approach ensures a clear alignment between agent objectives and the means to realize them. TMKL2 comprises three main subnotations: Goals, Mechanisms, and Environment, which are akin to TMKL’s Tasks, Methods, and Knowledge, respectively. Each subnotation provides a framework for defining and organizing essential components within the agent’s operational context.</p>

<h2 id="creation-of-the-dream-web-page">Creation of the DREAM Web Page</h2>
<p>This week I started to work on the summer research webpage, populating the index.html with descriptions about myself, my project, and my advisor. With this post, I’ve created my first blog entry to this website as well. With a few more tweaks, I will be complete here and then I’ll send this over to my advisor for his review.</p>

<h2 id="other-reading">Other Reading</h2>
<p>I started reading the book titled <strong>“How to Read a Book: The Classic Guide to Intelligent”</strong> by Adler and Van Doren. There are different levels of reading: Elementary, Inspectional, Analytical and Comparative. The authors compare properly reading as catching a baseball, it is a skill. Passively reading is akin to low-effort ball catching and higher levels like analytically and comparatively reading is like catching the baseball but taking into the account the wind direction, analyzing the balance and strength of the pitcher and anticipating the amount of adjustments needed as the ball gets closer etc. I’ve contemplated on the first few chapters and I think this concept is similar to the different levels of cognitive engagements in the ICAP Learning Theory. I’ve also realized how I need to improve my own reading ability, to really dig deep when I don’t understand what the author is saying and what they actually mean and not just what I can interpret from it and leave from there. There needs to be an improvement of merely “kinda” getting it to <em>really</em> getting it.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I met with the Interactive Video (IVY) from the Design Intelligence (DI) for the very first time. I was ecstatic to finally meet the group!]]></summary></entry><entry><title type="html">Week 2</title><link href="http://gracebrazil28.github.io/week2/" rel="alternate" type="text/html" title="Week 2" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week2</id><content type="html" xml:base="http://gracebrazil28.github.io/week2/"><![CDATA[<h2 id="dilab-onboarding">DILab Onboarding</h2>
<p>Thankfully one of my labmates, Erin,  helped Tim and I get acquainted with TMK model creation and has shown us the list of all skills that needed a TMK model. She also gave us tips on picking what topics to choose first before going on and doing more complicated models. She also has shown the json representation and touched on repository. I also got access to DI Lab’s MCM Repository in Gatech Github Enterprise and started to look through the files and try to familiarize myself with the lab’s codebase.</p>

<p>At our weekly meeting, professor Ashok led the discussion about Google’s initiative in EdTech, learnLM. In the classical AI point of view, generative AI can be further enhanced when models have deep understanding of its output. In contrast, we can have AI models rely on the probabilistic nature of current transformer based architectures.</p>

<h2 id="dream-program">DREAM Program</h2>
<p>I’m so excited to hear from Kathleen about meeting with the DREAM cohort this year and my DREAM mentor. The former happens next Thursday while the latter occurs next Wednesday, I cannot wait to meet with my DREAM mentor and colleagues!</p>

<h2 id="literature-review-on-learning-theory">Literature Review on Learning Theory</h2>
<p>Continuing where I’ve left off, for each mode of learning, there is an associated knowledge change process that can be expected cognitively. Starting from the lowest level in ICAP, in passive learning, we expect for new information or skill to be stored. <em>For now, I will refer to knowledge and skill synonymously.</em> When a new skill is stored, it is characterized to be isolated when it can only be retrieved if the same and specific context is given. So this means that, when a question is rehashed with a different context, the learner is unable to retrieve the new skill needed to solve the problem. In the next mode, active learning, the new skill is integrated with prior experience. Now, the learner is able to relate the skill with prior experience and is able to work with it in combination to what they have learned before. In the next mode, constructive learning, new technique is generated from the integrated skill that they have learned. Finally, with interactive learning, now the learner has a partner which then help them iteratively learn from each other as both generate new knowledge and skill from the integrated knowledge of both partners. Below is the summary of the knowledge change process of each mode of learning:</p>

<ul>
  <li>Passive -&gt; New isolated skill is stored</li>
  <li>Active -&gt; New skill is integrated with prior experience</li>
  <li>Constructive -&gt; New knowledge is inferred from integrated knowledge or skill</li>
  <li>Interactive -&gt; Learning iteratively via inference of new knowledge through dialogs</li>
</ul>

<p>Reflecting on my own educational experiences, I realized that true learning occurred during interactive activities, such as studying with my group or working as an undergraduate TA. The interactiveness and constant updating of my knowledge significantly enhanced my skill acquisition. Therefore, for the IVY Agent, embodying interactive learning will be crucial, enabling each student to infer new knowledge through interaction.</p>

<h2 id="literature-review-on-generative-ai">Literature Review on Generative AI</h2>
<p>During my literature review, technical background on generative AI (Gen AI) architecture is needed in order for me to understand more advanced topics such as taxonomy of XAI techniques, its challenges and future research agenda. I learned about how generative AI is the next level of AI, coming from AI that classifies to an AI that creates. Additionally, I reviewed several Gen AI methods such as transformers, diffusion models, Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs) from the paper titled <strong>“Explainable Generative AI (GenXAI): A Survey, Conceptualization, and Research Agenda”</strong> by J. Schneider.</p>

<p><strong>Transformer models</strong>, prevalent in LLMs such as GPT models, are known for their flexibility due to their reliance on extensive training data. While transformer implementations can vary, a fundamental structure typically consists of an encoder and a decoder, each processing input tokens. Encoders utilize vector embeddings to extract information from their input data, with embeddings representing tokens in a latent space. Tokens in this sense is a way for a computer to understand and manipulate words which captures human semantic understanding.  Additionally, positional encoding, an important component of attention-based encoding, provides information about the relative positions of tokens in the input sequence, which help capture sequential relationships. Then, these are processed through layers of self-attention mechanisms to be fed into a feedforward network for further processing. Once the encoding phase is complete, the decoder generates the output sequence from the encoded information from the encoder. Decoding involves an autoregressive process where the model predicts one token at a time, based on the previously generated tokens. This process continues until the desired output sequence is generated.</p>

<p>Meanwhile, <strong>diffusion models</strong> are used by generative AI to create images. Its main aim is to learn to reconstruct noisy data. It operates in two phases: the forward pass, where input distortion happens, and the reverse pass, where the output image is generated.  During the forward pass, a technique called Denoising Diffusion Probabilistic Model (DDPM) acts like a Markov chain. This means that only the current input is important for determining the next one. The model distorts the input by adding noise until it resembles a specific distribution, like a Gaussian distribution, which is commonly used in image generation. In the reverse pass, the model is supposed to generate images that match the true data distribution.</p>

<p>The next two Gen AI methods are more widely used and primarily designed for generative modeling: Variational Autoencoders (VAEs) and Generative adversarial Networks (GANs). Both methods generate new data that resembles a given training datasets, both use the concept of latent space and both primarily learns through a probabilistic framework.</p>

<p><strong>Variational Autoencoders (VAEs)</strong> aims to generate an output similar to what it was trained on by organizing the data of the input into a hidden space or what they mathematically call ‘latent space’. The latent space acts as a blueprint based on the distribution of the data. The latent space representation is explicitly modeled through the encoder-decoder architecture. From here, VAEs learn a probabilistic model of the data; then, the output is generated from this learned distribution called ‘sample generation’.</p>

<p><strong>Generative adversarial Network (GAN)</strong> has two key players: generator and discriminator. The generator creates an output based on a random vector, while the discriminator acts as an adversary, distinguishing between the generated output and real samples from the true data distribution.  GANs implicitly learn the data distribution through this adversarial training process. Additionally in GANs, this latent space is learned implicitly through the generator and discriminator networks.</p>

<h2 id="literature-review-on-llm-methods-rag">Literature Review on LLM Methods: RAG</h2>
<p>It has dawned on me that the Meta Cognitive Model (MCM), a library developed by DI Lab’s SAMI Team uses the RAG method to generate explanations and I do not have any background knowledge about it. I read the paper titled <strong>“Retrieval-Augmented Generation for Large Language Models: A Survey”</strong> by Yunfan Gao et.al, giving an overview of what RAG is and how it works.</p>

<p><strong>Retrieval-Augmented Generation (RAG)</strong> from its name has three parts: retrieval, augmentation and generation. It aims to enhance LLM output by adding a context to the prompt by retrieving relevant information from an external knowledge base. Historically, RAG initially focused on the inference stage and then began to also permeate in fine-tuning stages in generating output. RAG evolves from Naive RAG to Advanced RAG and finally to Modular RAG.</p>

<p>The three main steps are indexing, retrieval and generation. Indexing involves splitting the external data into chunks, which are encoded into vectors in a vector database. Next is Retrieval where it retrieves top k chunks which are the most relevant to the query based on semantic similarity. Then finally Generation where the original question and retrieved chunks are put together into LLM to generate the final answer. Advanced RAG has added optimized strategies: pre-retrieval and post retrieval in Step 2. Meanwhile the next evolution, Modular RAG, has implemented a more flexible structure within RAG, adding new modules like Search, Memory, Predict and these modules can interact with one another at any step. In short, Modular RAG goes beyond fixed RAG structures and processes, making it the most flexible and adaptable architecture.</p>

<h2 id="other-reading">Other Reading</h2>
<p>This week, I read the chapter <em>“What Is Consciousness, and Could Machines Have It?”</em> by Dehaene et.al from this book <strong>“Robotics, AI and Humanity”</strong> by von Broun et al. <a href="https://link.springer.com/book/10.1007/978-3-030-54173-6">Open Source textbook link</a>. In this chapter, the authors argue that consciousness can be defined with first sense C1 and second sense C2 of consciousness. C1 pertains to the idea of information processing that is globally available for higher level processing such as storage and retrieval. In C1, they defined consciousness as the selection and holding of an instance (a thought) from a stream of parallel information processing in a probabilistic distribution by the unconscious. The unconscious is referred to C0, where many tasks can be done by AI now like recognition/classification tasks. Reading about the bottle neck in serial processing of conscious thought within humans as shown by experimental results was very interesting. I wonder if our bias for faces is due to the fact that infants needed to recognize their parents’ faces as survival instinct and due to this overexposure (and I argue, reinforcement learning), we are better face recognizers than we are at checkers recognizers.</p>

<p>Meanwhile, C2 is the concept of metacognition or  the awareness of how the entity thinks, which is the source of reflection, introspection and error correction. Hallucinations in humans arise from the inability to detect if a thought is generated by own self vs the world. Comparing with hallucinations in AI, hallucinations arise from overconfidence in its output. With this, generative methods like GAN has exhibited AI self correction mechanisms. This lead me to ponder upon what would an Error Related Negativity (ERN) system look like in AI. Additionally, I wonder how can it also use the common currency of how humans establish its own confidence in their own decisions and outputs. What self correcting mechanisms can we model from human cognition that will be helpful to try with AI?</p>

<p>I’ll have to catch up on the book I started reading last week for next week, as I left it back in San Francisco. I’m spending the whole week in Minneapolis until I travel again, so this book is one of few books I’ve stashed here and there for purposes like this.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[DILab Onboarding Thankfully one of my labmates, Erin, helped Tim and I get acquainted with TMK model creation and has shown us the list of all skills that needed a TMK model. She also gave us tips on picking what topics to choose first before going on and doing more complicated models. She also has shown the json representation and touched on repository. I also got access to DI Lab’s MCM Repository in Gatech Github Enterprise and started to look through the files and try to familiarize myself with the lab’s codebase.]]></summary></entry><entry><title type="html">Week 3</title><link href="http://gracebrazil28.github.io/week3/" rel="alternate" type="text/html" title="Week 3" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week3</id><content type="html" xml:base="http://gracebrazil28.github.io/week3/"><![CDATA[<h2 id="my-first-tmk-model">My First TMK Model</h2>
<p>The first task assigned to me is to create a drawio TMK model for the Means-Ends Analysis skill, specifically for Problem 2, where the student is asked to identify the number of differences from a given state to the goal state. My draft TMK model is below:
<img src="https://github.com/gracebrazil28/gracebrazil28.github.io/assets/29846072/0804d494-1f96-47ea-8168-3bd6d24b2eb0" alt="image" /></p>

<p>During the IVY Team sync-up, I received feedback to break down the method even more and explicitly decompose it to the simplest operator possible. We were also given a point of contact to ask for help to ensure the model uses precise language and semantics, aiming to standardize all project models. Dr. Goel emphasizes consistency in terminology across models, explaining that branding and tradition influence which papers are successful, not just scientific merit. Additionally, the IVY team is working on standardizing the cognitive models to natural language to facilitate smoother integration into the chain of thought for generative AI.</p>

<h3 id="other-dilab-activities">Other DILab Activities</h3>
<p>In addition to the weekly meeting with the IVY team, the whole DILab Group also meets every week to discuss and share our opinions, thoughts, and comments on various expository papers around generative AI and how we can possibly use it for our research projects. This week, we’ve discussed how LLMs like ChatGPT work. Last week, I read about how the transformer works in the context of LLMs, and one of the presenters, who is also one of my DI Labmates, talked about how transformer-based LLMs became so much more successful for tasks like text generation and how they evolved from early classification tasks. Next week, we will be talking about transformers in detail and have Chapter 11: Transformers assigned for reading based on the textbook <strong><em>“Deep Learning: Foundations and Concepts”</em></strong> by Christopher Bishop, which can be found <a href="https://www.bishopbook.com">here</a>.</p>

<h2 id="dream-meeting-with-mentor-and-cohort">DREAM Meeting with Mentor and Cohort</h2>
<p>This week, I met with my DREAM Mentor, Dr. Tom Williams, head of the <a href="https://mirrorlab.mines.edu/">MIRROR Lab</a> in the CU School of Mines’ <a href="https://cs.mines.edu">Computer Science Department</a>. I was excited after reading about his research interests, which span computer science, robotics, cognitive science, social science, and art history. I had briefly read about his research on robot morality entitled <strong><em>“Developing a Quantification System for Robot Moral Agency
“</em></strong>. I found it particularly interesting that a computer scientist explores such questions. We discussed the background he seeks in prospective PhD students and the diverse career outcomes they can achieve, including academia, research, and venture capital. Despite traveling and facing connectivity issues, I was able to ask about the lab’s research and the role of PhD students. Although I had trouble joining the DREAM cohort meeting, I reviewed the video recoding of the meeting and was pleased to see the students’ openness to networking. I look forward to the next meeting and joining the slack group that will be created soon.</p>

<h2 id="literature-review-on-learning-theory">Literature Review on Learning Theory</h2>
<p>In the next sections of the paper, assumptions about the ICAP taxonomy and the knowledge change processes are discussed. First, when behaviors are addressed for each learning mode, they are considered relevant to the learning activity, excluding behaviors that are not related. Next, for the intended behavior, overt behaviors are studied while covert processes are not. This is because overt manifestations are non-invasive and covert behaviors can be misleading. Moreover, the authors believe overt behaviors are good approximations of actual engagement levels. Another assumption for the ICAP taxonomy is that engagement activities are independent and orthogonal to instructional tasks. This means students can engage in multiple activities simultaneously, regardless of how they are delivered by the instructor. Finally, these engagement activities may have intermode boundaries, meaning a student may exhibit overt behaviors that are both active and constructive, indicating that mode classification is not rigid.</p>

<p>It is important to note that learning causes change, and in this context, change refers to personal knowledge change in a student rather than changes in behavior, habits, or systemic level changes. For passive learning, the associated knowledge change is ‘store,’ meaning that knowledge is isolated and accessed only when the same specific cue is given, usually referred to as shallow learning. For active learning, the knowledge change is ‘integrate,’ where new information is assimilated with other relevant knowledge, filling gaps in existing knowledge and making access to it more frequent. ‘Infer’ is the next higher knowledge change for constructive learning, where knowledge has more details, is revised when existing knowledge is incorrect, and typically has been reflected on by the student. This stage involves applying reasoning to the newly integrated knowledge. Finally, the highest level is ‘co-infer,’ where the student applies interactive learning to new knowledge, accumulating new knowledge and incorporating inferences from both partners and themselves.</p>

<p>Reflecting on this literature review has made me consider my own learning experiences from grade school to undergraduate and now graduate school. It has strengthened my belief that learning and co-inferring with a study buddy has been the most effective learning tool for me. I believe that the Autonomous Coaching Agent IVY that we are working on at <a href="https://dilab.gatech.edu">DILAB</a> will enable us to simulate the interactive learning and knowledge change process of co-inference within the realm of human-computer interaction.</p>

<h2 id="literature-review-on-mechanistic-interpretability">Literature Review on Mechanistic Interpretability</h2>
<p>In the section titled “Mechanistic Interpretability” under the broader category of “Global Explanation” in the paper “Explainability for Large Language Models: A Survey” by H. Zhao et al., I encountered an exploration of how individual neurons in a neural network are examined and their connections to each neuron are understood in terms of circuits. Essentially, the paper views a neural network model as a collection of functional components. This perspective resonates with me due to my background in electrical engineering, where I often analyze concepts such as voltage, current, and resistance, and consider components that utilize these concepts to understand electrical systems from a functional standpoint. Making connections between the electrical circuits and neural networks can be challenging because transformer architectures differ significantly from electrical circuits. But by examining neural networks from the perspective of functional sub-components, such as individual layers of attention heads, I can begin to see how they can be similar. For example, viewing one layer as responsible for the copy mechanism and another for deduction, we can see both attention layers as the foundation of in-context learning.</p>

<p>In further exploration of this topic, I came across a <a href="https://transformer-circuits.pub/2023/monosemantic-features/index.html">detailed demonstration</a>  by Anthropic of a sparse autoencoder, which compellingly succeeded in extracting interpretable features from superposition and enabling basic circuit analysis. This approach sheds light on several intriguing aspects of mechanistic interpretability. For example, neurons are described as polysemantic, meaning they respond to mixtures of seemingly unrelated inputs. This phenomenon arises due to superposition, where the neural network represents more independent features of the data by assigning each feature its own linear combinations of neurons, presumably to pack more features into the limited number of neurons available.</p>

<p>Another interesting point raised is the idea that if we view each feature as a vector over the neurons, then the set of features forms an overcomplete linear basis for the activations of the network neurons. This notion introduces the concept of basis vectors, where any vector in a space can be represented as a linear combination of the basis vectors. When this set of vectors is “overcomplete,” it contains more vectors than necessary to span the space. This overcompleteness offers pros such as redundancy and robustness to noise but also presents cons such as issues of interpretation and transparency.</p>

<h2 id="other-reading">Other Reading</h2>
<p>I recently traveled again, this time from San Francisco to Lisbon, the capital of Portugal. During the long flight, I caught up on my reading from Week 1, titled <strong><em>“How to Read a Book: The Classic Guide to Intelligent Reading”</em></strong> by Adler and Van Doren. This time, I read the chapters on elementary reading and inspectional reading. The chapter on elementary reading introduced the history of how it has been taught throughout history with various philosophies and methodologies. It also discussed how children learn to read, highlighting different prerequisites and milestones for each level. Chapter 3 emphasized the importance of moving beyond elementary reading to achieve higher reading competency. The authors suggested that most people stop at elementary reading, which involves basic and functional reading skills. Analytical reading and comparative argumentation between texts on similar topics are skills that many do not pursue. The authors also emphasized that one must strive to go above and beyond to become a competent reader – this has become a goal of mine.</p>

<p>Chapter 4, on inspectional reading, offers six tips on skimming or “pre-reading” and explains why having a general idea of a book’s content is helpful for deeper understanding later. One tip that resonated with me is checking the table of contents and the index section. Following this advice, I examined the table of contents and gained insights from it. The author sets the foundation for why we need to be competent readers in Part 1 (chapters 1-6), provides a proper guide in Part 2 (chapters 7-14), and explains how to extend this reading habit and tackle challenging books in Part 3 (chapters 15-17). I also checked the index and found that the book discusses many great authors and classic works, as well as contemporary philosophy and pivotal books.
Finally, I tried to identify the chapter which is important to the book’s argument about what it means to be a good reader. I believe it is in chapters 10-12: “Coming to Terms,” “What’s the Proposition,” and “The Etiquette of Talking Back.” These chapters seem to discuss how the reader interprets the text, understands the author’s intentions, and determines whether they agree or disagree. I will revisit these chapters once I get to them. Overall,  chapter 4 has given me the insight not to be afraid to skim or pre-read challenging books. I often avoid books that seem too complex, but now I understand the value of adjusting my reading speed. Skimming for an overview and not fixating on every detail can help me grasp the book’s content more effectively.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[My First TMK Model The first task assigned to me is to create a drawio TMK model for the Means-Ends Analysis skill, specifically for Problem 2, where the student is asked to identify the number of differences from a given state to the goal state. My draft TMK model is below:]]></summary></entry><entry><title type="html">Week 4</title><link href="http://gracebrazil28.github.io/week4/" rel="alternate" type="text/html" title="Week 4" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week4</id><content type="html" xml:base="http://gracebrazil28.github.io/week4/"><![CDATA[<h2 id="tmk-modeling-progress">TMK Modeling Progress</h2>
<p>As advised, I tried decomposing the method model even further. 
The method model was created to define the specific operations and transitions involved in comparing a given state to a goal state, detailing the steps for breaking down block positions, extracting individual positions, comparing these positions, and counting differences. The task model refers to this method model by specifying the conditions, inputs, outputs, and the corresponding methods to be used for each task, ensuring that the transitions in the method model align with the task names. On the other hand, the method model was created to outline sequential operations based on tasks, forming a simple one-directional state machine.Finally, the knowledge model was constructed by first identifying the individual instances, representing each block in both the goal and given sets. Triples were then created to define the possible positions of blocks in relation to each other and to surfaces. Finally, concepts to encapsulate the overarching categories of blocks, states, and surfaces, while relations were to interconnect these concepts together.</p>
<ul>
  <li><a href="https://gracebrazil28.github.io/files/Task_Model_BlockWorld2_v1.json">Task Model v1 json file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/Method_Model_BlockWorld2_v1.json">Method Model v1 json file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/Knowledge_Model_BlockWorld2_v1.json">Knowledge Model v1 json file</a></li>
</ul>

<!-- Sync with Erin Notes -->
<p>After my sync with Erin, I’ve realized I needed to tie the TMK model back to the skill that the learner is needing to acquire. This means that the knowledge model will have the concepts for means end analysis and how it is achieved through the block world problem. I also needed to edit the knowledge model so that it will have the specific wordings that the problem is using. This was emphasized last team meeting where standardization is one of the key goals this semester. Similarly, I’ve written 1:1 mapping between tasks and methods, Erin has mentioned that a task can have multiple methods and suddenly I start thinking about this problem in a different manner. I’ve mentioned that I will approach this with two tasks: (1) Evaluating the means end difference between given and goal state and then (2) Choosing the best block arrangement that will satisfy the means end analysis. From there, I can create methods that will achieve this task. The method model seems to be the most complicated one to create since I have to think about the state transitions between them. She also recommended looking at the current Block Problem presentation and how state transitions were expressed and go from there. Her feedback gave me multiple things to work on.</p>

<!-- Sync with DILAB IVY Group Notes -->
<h3 id="dilab-meeting-and-knowledge-share">DILab Meeting and Knowledge Share</h3>
<p>During the meeting, Rochan proposed rewriting the Task-Method-Knowledge (TMK) representation to improve its hierarchy and structure, emphasizing the need to link task and knowledge components hierarchically and to structure keywords comprehensively within the TMK system. Rahul discussed the potential of multimodal models in natural language processing to enhance the hierarchical representation of task-oriented knowledge, noting that the IVY framework currently limits knowledge questions to the baseline models while using different models for method and task questions. The discussion also covered challenges in mapping tasks to methods, with Rahul highlighting difficulties in one-to-one mappings and the need for ranking methods. With this in mind, Erin and I have decided to keep the Task and Method 1:1 mapping the same. I will still work on making sure that the high level skill is reflected on the TMK model next.</p>

<p>Sashank presented on Iterative Task Learning (ITL), explaining its goal of enabling machines to learn general tasks through natural language interactions. He described a hierarchical task network (HTN) used by a digital assistant to decompose tasks into smaller subtasks. The HTN is built through interactions, with algorithms integrated into a central interaction manager to perform multi-step reasoning. These algorithms interpret natural language by segmenting sentences into commands, mapping them to actions, and verifying their validity. The process includes identifying arguments using word knowledge, reconstructing sentences for accuracy, and employing error checking and paraphrasing. This has lead me to look for another approach that can also accomplish the same thing, being problem oriented rather than task oriented (see literature review below).</p>

<h3 id="dilab-summer-reading-transformers">DILab Summer Reading: Transformers</h3>
<p>I started to take a stab at Chapter 12: Transformers in <a href="https://www.bishopbook.com">“Deep Learning: Foundations and Concepts”</a> by Christopher Bishop. I learned about the concept of attention, transformer operation, self-attention, and soft attention.</p>
<h4 id="concept-of-attention">Concept of Attention</h4>
<p>The concept of attention in neural networks is important, particularly in predicting the next word in a sequence by heavily relying on certain key words. Unlike standard neural networks, where the weights are fixed once the network is trained, attention mechanisms dynamically adjust weighting factors based on the specific input word or data. In natural language processing (NLP), words are mapped to vectors in an embedding space, capturing their semantic meaning.</p>
<h4 id="basic-transformer-operation">Basic Transformer Operation</h4>
<p>Transformers operate on a data matrix, XX, with dimensions N (tokens) x D (features). This matrix represents a set of input tokens. The fundamental building block of a transformer takes X as input and produces a transformed matrix X~. Transformers consist of multiple layers, each with its own weights and biases, which are learned using gradient descent via a cost function. Attention coefficients play a crucial role in this process. Input tokens x1 ,x2 ,…,xn  in the embedding space are transformed into output tokens y1 ,y2 ,…,yn , with yn  being a linear combination of input vectors, weighted by attention weights anm . These weights determine the influence of each input token on the output token, with significant tokens receiving higher weights.</p>
<h4 id="concept-of-self-attention-and-soft-attention">Concept of Self Attention and Soft Attention</h4>
<p>Self-attention, an important mechanism in transformers, determines these weights by computing a measure of similarity, such as the dot product, between tokens. Soft attention, which uses continuous variables for matching queries and keys, allows for differentiable computations suitable for gradient descent. The softmax function is used to normalize these weights, ensuring they form a valid probability distribution. This mechanism allows the model to effectively capture dependencies and relationships within the input sequence.</p>
<h3 id="dilab-summer-reading-discussion">DILab Summer Reading Discussion</h3>
<p>Steven Bryant discussed the capabilities and limitations of generative AI, particularly transformers. Steven demonstrated how transformers can be used to create music and videos, while Dr. Ashok raised concerns about their consciousness and intelligence. The discussion also delved into the mechanics of transformer models, attention mechanisms, and their impact on sequential data. This raises questions about the trustworthiness of implicit representations and the power of attention in changing word representations and relationships. I was also quite pleased that we talked about the limitations of LLMs. What stood out to me was the “token problem”, so once an LLM generates a token, it cannot go back and fix it if it turns out to be incorrect. Thus, this makes LLMs prone to propagating errors.</p>

<h2 id="literature-review-on-llm-based-cognitive-agents-for-problem-specification">Literature Review on LLM-based Cognitive Agents for Problem Specification</h2>
<p>In exploring the implementation of a Large Language Model (LLM) enabled task analyst agent, this literature (<strong><em>“Eliciting Problem Specifications via Large Language Models”</em></strong> by Ray et al. ) review delves into how LLMs can be leveraged beyond their traditional role as natural language generators to produce detailed problem specifications. The primary aim is to solve instances of problems within the same problem class and potentially disintermediate the problem formulation process. The agent operates by using prompts designed around problem spaces, extracting task knowledge from the LLM. This approach differs from Interactive Task Learning (ITL), where an LLM agent generates descriptions of operators and their effects, rather than learning through human interactions. The design of the agent follows four high-level directions: defining characteristics of the problem, defining characteristics of problem-solving, formulating the problem space, and assessing the quality of the solution. Key definitions include a problem as a set of initial states, goals, and path constraints, and a problem space as a set of symbolic structures and operators. The review also mentiones concepts such as translating human knowledge into AI system representations, the Agentic LLM approach, and methods like Tree of Thoughts (ToT) which use natural language rather than formal representations.</p>

<p>To me this approach is interesting because of how DILab’s approach for cognitive agent is on the side of ITL implementation. Both share the goal of enhancing Cognitive Agent’s task understanding and execution through natural language interactions. However, they differ in approach and focus. ITL emphasizes constructing hierarchical task networks (HTNs) that decompose tasks into subtasks, using algorithms for multi-step reasoning, error checking, and direct interactions to refine task performance. In contrast, the LLM-enabled task analyst agent focuses on generating detailed problem specifications from structured prompts, leveraging LLMs to extract task knowledge and create comprehensive problem spaces. The LLM-enabled task analyst agent focuses on being a bit more independent from human intervention and interaction. This made me think of exploring the use of problem specification modularization to implement transfer learning, where Agents can use the same problem solving methods for problems in the same classification.</p>

<h2 id="literature-review-on-icap-theory">Literature Review on ICAP Theory</h2>
<p>The cognitive outcomes from knowledge change processes vary with the level in the ICAP Theory. For passive learning, understanding is minimal, while for active learning, it remains shallow. Constructive learning, however, enables knowledge revision, linking with other schemas, and self-explanation, enhancing the potential for transfer. In the procedural domain, this allows procedures to be transferred and applied in new contexts. Our goal for the cognitive agent IVY is to learn and teach skills and transfer them to problem-solving contexts, such as moving from Guards and Prisoners to solving Raven’s Progressive Matrices. As the authors acknowledge, this is challenging, but it remains our aim. Finally, interactive activities, through dialogue, expand both peers’ knowledge and skills, leading to innovations more powerful than independent learning. This deep understanding is what we aspire to achieve with human-computer interaction, fostering rich and beneficial learning and skill transfer between students and cognitive AI agents.</p>

<h2 id="other-reading">Other Reading</h2>
<p>Since I got to Porto, of course I had to pick up a book at the world famous <a href="https://www.livrarialello.pt"><strong>Livraria Lello</strong></a>, so I started reading <strong><em>Animal Farm by George Orwell</em></strong>. Yes yes, I will need to pick up my other book but I have now been enticed in completing and contemplating this satirical allegorical novel for entertainment. I learned from the How to Read book to classify each book you are about to read. My purpose here is to be entertained and likewise correlate the allegory to a more humanist and sociological point of view. During the train ride, I have read the chapter in <strong><em>How to Read a Book: The Classic Guide to Intelligent Reading</em></strong> about the importance of being a demanding reader and pigeonholing a book. I also tried skimming some bits on the mentioned pages for Plato from the index page, a technique for pre-reading and gaining some structural and conceptual idea of the book mentioned by the very same book.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Modeling Progress As advised, I tried decomposing the method model even further. The method model was created to define the specific operations and transitions involved in comparing a given state to a goal state, detailing the steps for breaking down block positions, extracting individual positions, comparing these positions, and counting differences. The task model refers to this method model by specifying the conditions, inputs, outputs, and the corresponding methods to be used for each task, ensuring that the transitions in the method model align with the task names. On the other hand, the method model was created to outline sequential operations based on tasks, forming a simple one-directional state machine.Finally, the knowledge model was constructed by first identifying the individual instances, representing each block in both the goal and given sets. Triples were then created to define the possible positions of blocks in relation to each other and to surfaces. Finally, concepts to encapsulate the overarching categories of blocks, states, and surfaces, while relations were to interconnect these concepts together. Task Model v1 json file Method Model v1 json file Knowledge Model v1 json file]]></summary></entry><entry><title type="html">Week 5</title><link href="http://gracebrazil28.github.io/week5/" rel="alternate" type="text/html" title="Week 5" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week5</id><content type="html" xml:base="http://gracebrazil28.github.io/week5/"><![CDATA[<h2 id="tmk-modeling-progress">TMK Modeling Progress</h2>
<p>Earlier this week, I started integrating the means-end analysis concept into both the knowledge, the task and the method model. Additionally, I got the idea to implement a finite state machine (FSM) in the method model from the classification method model example from here: <a href="https://github.gatech.edu/Dilab/MCM-TMK/blob/ivy_classification/mcm/TMKs/Ivy/Classification/Method.json">GitHub Link</a>. In the current setup, the task still has a 1:1 mapping with the methods, and the method “Means-End Analysis” now includes the FSM and transitions. But I’m unsure about my use of the “type”: “data condition” and the specific condition needed for the transition, which I’ve referred to as “datacondition” in the FSM. I’ve raised this with Erin and hopefully I can get some guidance on the following.</p>

<ul>
  <li><a href="https://gracebrazil28.github.io/files/Task_Model_BlockWorld2_v2.json">Task Model v2 json file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/Method_Model_BlockWorld2_v2.json">Method Model v2 json file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/Knowledge_Model_BlockWorld2_v2.json">Knowledge Model v2 json file</a></li>
</ul>

<p>After the sync-up with the IVY Team on Wednesday, I decided to add another transition in order to do an iteration of the means-end problem solving until delta is zero. The transition “answer selected” directs the flow from “Answer Selection” method back to “Set Up Problem” method if the delta counter is not zero, indicating that the problem hasn’t been fully solved and another set of block arrangements needs to be processed. Conversely, the transition “problem solved” moves from “Answer Selection” to “Success” when the delta counter is zero, signifying that the problem has been solved successfully. These transitions ensure the process iterates until an optimal solution is found.</p>
<ul>
  <li><a href="https://gracebrazil28.github.io/files/Method_Model_BlockWorld2_v3.json">Method Model v3 json file</a></li>
</ul>

<p>Since Rahul’s suggestion of incorportating this for Ravens Progressive Matrices (RPM) problem, I can see some parallels of the FSM in the method model that can be adapted from Blocks World (BW) to Raven’s (RPM):</p>

<ul>
  <li><strong><em>Set Up The Problem (BW) -&gt; Set Up The Problem (RPM)</em></strong>  - validate and create an instance of the problem setup, define the initial state and goal state for each problem</li>
  <li><strong><em>Individual Position Extraction (BW) -&gt; Attribute Extraction (RPM)</em></strong> - extract and identify key transformations between figures in the RPM</li>
  <li><strong><em>Position Check (BW)</em></strong> -&gt; Attribute Comparison (RPM) - compare the extracted attributes of each figure to identify patterns and transformations</li>
  <li><strong><em>Delta Counter (BW) -&gt; Delta Counter (RPM)</em></strong> - quantify the differences (delta) between the current figure and the goal figure using transformation distance</li>
  <li><strong><em>Answer Selection (BW) -&gt; Pattern Selection (RPM)</em></strong> - select the correct answer based on the lowest delta, identifying the figure that best completes the matrix</li>
</ul>

<p>For RPM I can see the need for individual operators for the transformation and transformation distance calculator. 
Individual Operators: to define and apply operators (like rotation, scaling) iteratively to move closer to the goal figure
Transformation Distance Calculator Operator: to get a numerical value of the current distance – still unsure of how to engineer this, but maybe modeling this might be okay.</p>

<h2 id="di-lab-meeting-and-knowledge-share">DI Lab Meeting and Knowledge Share</h2>
<p>The team reviewed my labmate’s presentation to the NSF and provided updates. There was discussion around standardizing TMK models, developing a modular architecture, addressing challenges like hierarchical decomposition, and assigning more complex skills to build understanding. My action item is to peer review the block world TMK models that have been developed to ensure clarity and consistency with standards.</p>

<p>The knowledge sharing session revolved around the use of generative AI in planning and supply chain management, with the presenter highlighting the limitations and opportunities in autonomous planning. Audrey (presenter) also discussed the challenges of using language models (LLMs) for planning tasks, while others joined in and explored various approaches to integrating generative AI with knowledge representations. The conversation also touched on the basis of planning in logic and the potential applications of LLMs in education, naturally since the DI Lab focuses on EduTech. Surprisingly, Generative AI like GPT-4 performed poorly as an autonomous planner, with an average success rate of only 12% across domains. Fine-tuning and using other models did not significantly improve performance. I thought it was interesting that generative AI still struggled in situations where the input was abnormal or unexpected, like when block or action names were obfuscated in the “Mystery Blocks World” experiments. At the end, we discussed the potential and limitations of AI in decision-making and planning, and the need for further research in this area.</p>

<h2 id="literature-review-on-task-method-knowledge-tmk-and-hierarchical-transfer-network-htn">Literature Review on Task-Method-Knowledge (TMK) and Hierarchical Transfer Network (HTN)</h2>
<p>Similarly, as suggested by Dr. Ashok, I read the paper <strong><em>“A Study of Process Languages for Planning Tasks”</em></strong> by Stephen Lee-Urban, Héctor Muñoz-Avila. It briefly discusses the definition of a process and the importance of reuse and modification of processes to achieve knowledge transfer. TMK is both a process language and a process model. Its downfall, which is the lack of clear semantics, can be remedied by conversion to HTNs. HTN stands for Hierarchical Task Network and uses high-level tasks decomposed into simpler ones until reduced to primitive actions. HTN planning is encompassed in the Methods of TMK. The expressivity of two languages is demonstrated when there is a polynomial or Turing computable transformation between them. 
The translation from TMK to HTN starts with the translation process, which converts TMKs to HTNs by processing each TMK method recursively, translating statements, and constructing HTN methods from the results. To handle nested statements, recursive calls are implemented, breaking them down from the most to the least deeply nested. This method ensures a clear equivalence between TMKs and HTNs, but more compact translation can be achieved with PDDL (a STRIPS-based planning language).
The <strong>toHTNs</strong> procedure translates TMK statements into HTN methods. It starts with a sequence of TMK statements and processes them in reverse order. For a single statement with no body, a new task is created and appended as the last subtask. If the statement has a body, a recursive call is made to process it. For multiple statements, each is translated in reverse order with recursive calls, updating the task for each iteration. The result is a collection of HTN methods and the final task.</p>

<h2 id="other-reading">Other Reading</h2>
<p>I continued reading <strong><em>Animal Farm by George Orwell</em></strong> and last week I stopped at the point where the animal manor got their independence from humans, established their own society, and had been initially enjoying the things that have changed since the revolution. This week, I got to a point where things started to get dark. Two of the original leaders, who were debating in a civilized manner, were no more. Napoleon (leader 1) manipulated the animals into accepting the violent expulsion of Snowball (leader 2). It seemed to me that the story is akin to a frog in slowly increasing hot water to boil. I get some chills seeing that this happens to the world time and time again.</p>

<p>Personally, this week I have traveled from Porto, Portugal, to Santiago de Compostela in northern Spain, specifically in the autonomous region of Galicia. This means some hours have been spent in a long bus ride and thus, some time to read, ponder on the things I have learned while traveling, and anticipate a language and culture change at the new city.</p>

<p>I began the analytical reading section in <strong><em>How to Read a Book: The Classic Guide to Intelligent Reading</em></strong>. Again, it was emphasized that classifying a book is akin to the author waving flags and clues to tell the reader where the wind blows, or what kind of knowledge can be had with it. An interesting point was the spotlight on why readers eschew paying attention to titles and reading prefaces; it is because classifying a book is not attained nor contemplating the question “What is this book about?” is not done. Another thing was how expository books can be classified as either theoretical and practical – mainly theoretical answers what is the case and practical shows how it is done. A person could deem a practical book “unpractical” because he thinks it doesn’t work, but that shouldn’t be the case, because the classification term doesn’t concern if one thinks it works or not.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Modeling Progress Earlier this week, I started integrating the means-end analysis concept into both the knowledge, the task and the method model. Additionally, I got the idea to implement a finite state machine (FSM) in the method model from the classification method model example from here: GitHub Link. In the current setup, the task still has a 1:1 mapping with the methods, and the method “Means-End Analysis” now includes the FSM and transitions. But I’m unsure about my use of the “type”: “data condition” and the specific condition needed for the transition, which I’ve referred to as “datacondition” in the FSM. I’ve raised this with Erin and hopefully I can get some guidance on the following.]]></summary></entry><entry><title type="html">Week 6</title><link href="http://gracebrazil28.github.io/week6/" rel="alternate" type="text/html" title="Week 6" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week6</id><content type="html" xml:base="http://gracebrazil28.github.io/week6/"><![CDATA[<h2 id="tmk-modeling-progress">TMK Modeling Progress</h2>
<p>Re-iterating on TMK v3 on Blocks World from peer feedback, I added the initial validation in the beginning of problem solving to check whether any given block arrangement already matches the goal block arrangement and then followed with validating if the given block arrangement is legal. Adding a ‘while loop condition-like” statement feedback came from Erin, so I added these to the FSM transition.</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">      </span><span class="nl">"transitions"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nl">"begin problem solving"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
          </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"validation"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"source subtask to target subtask"</span><span class="p">:</span><span class="w"> </span><span class="p">[[</span><span class="s2">"Solve using means ends analysis"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Validate Block Arrangement"</span><span class="p">]],</span><span class="w">
          </span><span class="nl">"validation condition"</span><span class="p">:</span><span class="w"> </span><span class="s2">"None of the given block arrangement completely match the goal block arrangement."</span><span class="w">
        </span><span class="p">},</span><span class="w">
        </span><span class="nl">"given arrangement matches the goal"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
            </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"validation"</span><span class="p">,</span><span class="w">
            </span><span class="nl">"source subtask to target subtask"</span><span class="p">:</span><span class="w"> </span><span class="p">[[</span><span class="s2">"Solve using means ends analysis"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Success"</span><span class="p">]],</span><span class="w">
            </span><span class="nl">"validation condition"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Else"</span><span class="w">
        </span><span class="p">},</span><span class="w">
        </span><span class="nl">"validate block arrangement"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
          </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"validation"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"source subtask to target subtask"</span><span class="p">:</span><span class="w"> </span><span class="p">[[</span><span class="s2">"Validate Block Arrangement"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Individual Position Extraction"</span><span class="p">]],</span><span class="w">
          </span><span class="nl">"validation condition"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"Each block must occupy a unique position."</span><span class="p">,</span><span class="w"> 
          </span><span class="s2">"If a block is on the table, it can have at most one block directly on top of it."</span><span class="p">,</span><span class="w"> 
          </span><span class="s2">"If a block is on top of another block, it should not have more than one block directly above it."</span><span class="p">,</span><span class="w">
          </span><span class="s2">"A block can only be moved if it is free, no other blocks are stacked on it."</span><span class="w">
          </span><span class="p">]</span><span class="w">
        </span><span class="p">},</span><span class="w">
</span></code></pre></div></div>
<p>Other things done are changing “datacondition” to simply “condition”, changing some nuianced terminologies like “select answer” to “select move” and defining legalities in “validate block arrangement”. The inputs and outputs within the method model were made less granular since those were explicit in the task model in order to follow the given condition and the post condition of the sub-task within the transitions.</p>

<ul>
  <li><a href="https://gracebrazil28.github.io/files/Task_Model_BlockWorld2_v4.json">Task Model v4 json file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/Method_Model_BlockWorld2_v4.json">Method Model v4 json file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/Knowledge_Model_BlockWorld2_v4.json">Knowledge Model v4 json file</a></li>
</ul>

<p>I tried to do sanity check with TMK v4 model with both GPT-4o and Gemini 1.5. In the first test with Chat GPT (GPT-4o) using prompt-chaining, the initial prompt yielded a very detailed response, but subsequent answers were less detailed. In the second test, Chat GPT responded with detailed and correct answers without needing prompt-chaining. Gemini (Gemini1.5), when using prompt-chaining, used unfamiliar terminology and showed uncertainty, suggesting it relied more on its training data than the provided json file. This was further evident in the second prompt, where Gemini expressed uncertainty and did not utilize the TMK files effectively.</p>

<p><a href="https://sway.cloud.microsoft/jDWXBLovAf8UhLUS?ref=Link">LLM Testing Results for TMK v4</a></p>

<p>Next, I reviewed the WIP Standardization document and tried to modify the Method model again order to make use of ‘makes’ and ‘requires’. Also from this document, I created the text file that describes the TMK similar to Figure 3 in the TMK Standardization file – with v1 before and v2 after the first peer feedback. The comment blocks on v2 will be the point of modification for v3 after the second peer feedback.</p>

<ul>
  <li><a href="https://gracebrazil28.github.io/files/BlockWorld_v1.txt">Block World TMK v1 txt file</a></li>
  <li><a href="https://gracebrazil28.github.io/files/BlockWorld_v2.txt">Block World TMK v2 txt file</a></li>
</ul>

<p>Later in the week, I was able to get some comments and reviews on v4 of the Method model. Another restructuring has occured to make the flow better.</p>

<p>The top level transition will be: Compare Current to Goal -&gt; Generate Possible Block Moves -&gt; Select Next Block Move -&gt; Update Current Arrangement.</p>

<p>Top Level FSM:
<img width="1124" alt="image" src="https://github.com/gracebrazil28/gracebrazil28.github.io/assets/29846072/f499de25-3136-401e-9e46-358759b8fc37" /></p>

<p>The next level within Generate Possible Block moves will be Generate Move List -&gt; Apply and Validate Move -&gt; Count Delta Difference.
In the first iteration we have possible block moves given, but in the next iterations it will generate the next possible move, validate the legality of the move and  count the delta difference  for that move.</p>

<p>Last week, I started translating Block World methods into applicable terms for re-use in Ravens Progressive Matrices (RPM) problem. While that was a nice mental exercise, I got the clarification from our post doc/project lead that I should look into Semantic Networks skill for Guards and Prisoners (GPP) problem next and explore to what extent can a TMK model capturing the skill of semantic network for GPP can be applied to RPM. I plan to pick this up once I wrap up on the BW Means End Analysis TMK modeling.</p>

<h2 id="literature-review-on-interactive-task-learning">Literature Review on Interactive Task Learning</h2>

<p>Two weeks ago, Sashank has presented the paper, <strong><em>“VAL: Interactive Task Learning with GPT Dialog Parsing”</em></strong> by Lawley and MacLellan <a href="https://arxiv.org/pdf/2310.01627">(acccess here)</a>. This paper discussed enabling AI systems to learn tasks through iterative natural language interactions. We reviewed this paper since it implements HTN as its knowledge representation, which is also what we are doing with DILAB’s IVY Agent. I wanted to go in detail now with the methodology and evaluation.</p>

<p>From the review, I’ve learned that the GPT subroutines are not involved in the overall task learning algorithm and when users want to audit the knowledge base. The GPT subroutines are mostly used in translating user input and symbolic knowledge structures. VAL was intended for LLMs to capitalize on the large language fluency on extracting symbolic information, rather than using it to directly learn the task itself. The authors noted that this can be considered as a hybrid neuro-symbolic systems.</p>

<p>In the evaluation, the researchers implemented a user study to evaluate the user experience and the objective performance of VAL’s components. I found it interesting how the opinions on sessions for each user dictated the success rate of the GPT subroutine, which is pretty much central to any HCI research paper. Other details on this section points to VAL’s usability – we aim to do the same thing for IVY. In the discussion section of the paper, the section on Theory of the Mind really piqued my interest. It emphasized the importance of knowing the intent of AI agents for humans to trust it as much as how the AI agent needs to know what task the human user intends for it to learn.</p>

<h2 id="other-reading">Other Reading</h2>
<p>Earlier in the week, I finished reading <strong>Animal Farm by George Orwell</strong>. There is so much to unpack here because the main themes of the book are relevant to our current sociopolitical landscape. Other than the last and most provocative modifications of the Animal Farm constitution (<strong><em>“All animals are equal, but some animals are more equal than others”</em></strong>), the one that stuck with me most is this quote:</p>
<blockquote>
  <p>“Several of them would have protested if they could have found the right arguments.”</p>
</blockquote>

<p>To me, this seems like a bad headspace to be in. You know something fundamentally wrong has taken place but you can’t seem to state why it is so. Being able to express what is wrong and the capacity to make logical reasoning from point A to point B should be straightforward. This just means that one needs to make logical leaps to understand why something is flawed and that somewhere in the logical flow of thoughts and rationalization has gone awry. Was some deduction accepted so easily that went uninspected and neglected? When this happens to me, I try to figure out why I get stuck and work backwards and investigate the logical flow of my arguments. Zooming out, this book really emphasized how one can become complacent with the current power structure and the overall inability to obtain and retain knowledge as opressed members of society. Literacy is a powerful tool that can be used for the good or for bringing out the worst of their kind.</p>

<p>Again, I’ve been trotting around Northern Spain and I’ve come from Galicia (A coruna and Lugo) to Leon this week. Because of the long bus rides, I have completed Chapter 7 and 8 in <strong><em>How to Read a Book: The Classic Guide to Intelligent Reading</em></strong>. Chapter 7 emhasized the “bones” and Chapter 8 “flesh”, as the author has been comparing writing to covering up the skeleton with flesh and reading to uncovering the skeleton from seeing through the flesh. An analytic reader should be able to state the unity of the book, know the major parts and how it is organized and ordered to form the unity of the whole. This corresponds to the skeleton or structure of the book. Chapter 8 goes through the process of examining the flesh as it relates to the bones. It was a great revelation for me that the most important words are usually the ones that give me a hard time. This goes hand in hand with the an important rule for analytic reading: Find the important words, and through them come to terms with the author. The author explains what it means to “come to terms” with an author, it is to properly understand the context and the meaning of a specific word through how it is specially used. Because the word is not being used ordinarily, the word becomes technical and sometimes may be hard for the reader to <em>really</em> understand. From here on, I will try to apply the things I have learned from this book with my literature reviews.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Modeling Progress Re-iterating on TMK v3 on Blocks World from peer feedback, I added the initial validation in the beginning of problem solving to check whether any given block arrangement already matches the goal block arrangement and then followed with validating if the given block arrangement is legal. Adding a ‘while loop condition-like” statement feedback came from Erin, so I added these to the FSM transition.]]></summary></entry><entry><title type="html">Week 7</title><link href="http://gracebrazil28.github.io/week7/" rel="alternate" type="text/html" title="Week 7" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week7</id><content type="html" xml:base="http://gracebrazil28.github.io/week7/"><![CDATA[<h2 id="tmk-modeling-progress">TMK Modeling Progress</h2>

<p>I initiated setting up the date and time for my first peer review of my Means End Analysis TMK. Following the standardization document, there needs to be a TMK text file that will be the basis of the TMK json files as well as a UML Class diagram to supplement the text file.</p>

<p>For the text file:</p>
<ul>
  <li><a href="https://gracebrazil28.github.io/files/BlockWorld_v2.txt">Block World TMK Txt File</a></li>
</ul>

<p>Resolving the stative verbs I chose as indicated in TMKL2 Step 5 page 8, <strong><em>has other blocks on top, free</em></strong>, I added the concept movable to the block class like this:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>block description:
Concept(movable) //Boolean property of a block, related to stative verbs
Concept(block {Property(name), Property(movable});
Instance(block, BlockA, True);
Instance(block, BlockB), True;
Instance(block, BlockC), True;
Instance(block, BlockD), True;
</code></pre></div></div>

<p>For the objects/classes in the Block World Problem, here is the corresponding UML Class diagram (first draft) incorporated in the Knowledge base:
 <img src="https://github.com/gracebrazil28/gracebrazil28.github.io/assets/29846072/b8c4a353-fd98-4d68-8bc3-d16274fa4248" alt="BlockWorld" /></p>

<p>For the method base, the organizer is divided into two FSM, the sub-level being a child of the top level FSM.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Organizer/FSM:
Top Level Transition:
- Compare Current to Goal -&gt; Generate Valid Block Moves* -&gt; Select Next Block Move -&gt; Update Current Arrangement.

Sub Level Transition(Generate Valid Block Moves*):
- Generate Move List -&gt; Apply and Validate Move -&gt; Count Delta Difference
</code></pre></div></div>

<p>It should be able to follow this state transitons:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Initial
  |
  V
begin_problem_solving
  |
  V
Compare_Current_to_Goal
  |--(if matches)--&gt; Success
  |--(if differs)--&gt; Generate_Valid_Block_Moves*
                           |
                           V
      +-----------------Sub-Level FSM-----------------+
      | Generate_Move_List                            |
      |   |                                           |
      |   V                                           |
      | Apply_and_Validate_Move                       |
      |   |                                           |
      |   V                                           |
      | Count_Delta_Difference                        |
      +-----------------------------------------------+
                           |
                           V
Select_Next_Block_Move
  |
  V
Update_Current_Arrangement
  |
  V
Compare_Current_to_Goal (loop back)

</code></pre></div></div>

<p>Lastly, I was able to develop a list of Task, Method, Knowledge, and Can’t answer questions for Block World TMK for verification as recommended by the Project Lead.</p>

<ul>
  <li><a href="https://gracebrazil28.github.io/files/List_of_questions_for_MCM_eval.txt">List_of_questions_for_MCM_eval txt</a></li>
</ul>

<h2 id="dilab-meeting-and-dilab-summer-reading">DILab Meeting and DILab Summer Reading</h2>
<p>In our IVY Project meeting, we started our agenda with the NSF Feedback on our IVY Project. NSF evaluators praised IVY project’s AI and human AI interaction, with recommendations focused on education and learning. Dr. Goal suggests understanding educational goals, learning needs, pedagogical strategies, and instructional design to improve AI-assisted learning. Next, it was discussed that the IVY project needs to be reorganized due to Rochan’s departure and Jeanette’s potential inability to join as a full-time research scientist. In designing interactive exercises for IVY, we look to the perspective of a teacher, they may ask student to provide solution to problem and critique it, they may also identify common misconceptions and test the students on it. Dr. Rugaber highlights importance of distinguishing misconceptions from missteps in teaching. Our post doc Rahul adds that the approach is not limited to tackling student mistakes, but also includes answering a range of questions students might have about a particular skill. These were identified in order for us to better create a learning platform that are aligned with well known instructional designs in education. The rest of the time were spent on evaluating TMK models using various metrics and standardizing the process. Finally, the group plans to reorganize the IVY branches in MCM to simplify the infrastructure and improve the development process.</p>

<p>One of my labmates Samanita presented the paper “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models” by the Google Deepmind Team and Jason Wei et al. The main idea is that using chain of thought prompting improves language model performance in solving complex problems by mimicking human reasoning. Moreover, the paper shows that chain of thought prompting can significantly improve language model performance, especially for more complicated problems. With CoT, the model can break down complex problems into steps and arrive at an answer using natural language prompts. For example, CoT prompting outperformed an unaided human sports enthusiast on sports-related questions, demonstrating the potential value of this technique for improving language model performance. Samanita also presented that CoT can be effective for complex problems with multi-step reasoning, but model scale and prompt quality matter. During the discussion, we quickly touched upon transfer learning in machine learning and cognitive science, with a focus on the idea of derivational trace. Dr. Ashok highlights the importance of transferring knowledge from one problem to another and mentions derivational trace. Derivational trace, an idea from the 1980s, is mentioned as a way to make transfer work effectively, involving the steps taken to solve a problem. At the end, it was interesting to note that CoT and prompt engineering did not really help planning tasks. It is because of the nature of planning, which emphasized the importance of understanding relationships between different goals and the interdependence between sub-goals.</p>

<h2 id="dream-cohort-meet-up-and-presentation">DREAM Cohort Meet-Up and Presentation</h2>
<p>This week, I got to meet with the DREAM Cohort Team where we discussed the steps to pursuing a PhD. We discussed the importance of contacting the faculty that we are interested to join to gauge interest and availability. This can help potential students avoid unnecessary application expenses if the faculty is not accepting new students. Then, we discussed the financial challenges faced by prospective students, such as application fees and other costs. Naturally, the conversation covered the importance of exploring funding options and grants to support these expenses. Finally, finding the right research fit was highlighted and the importance of aligning interests with potential advisors. At the end, Kathleen mentioned plans for another session in late July or early August, focusing on industry versus academia research. I am thankful for these discussions because these are the things that I also take into consideration. Starting a PhD journey takes a lot of time, effort and dare I say, financial risks. The opportunity costs are blatant especially in the field of Computer Science, where one can attain a bachelors degree (in our case, Masters) and bag a six figure income, then begin saving for retirement and live with financial security. I think that there are many highly driven and very intelligent students that are dissuaded from this path because of this exact predicament. However today, I rest my case.</p>

<h2 id="literature-review-on-chain-of-thought">Literature Review on Chain of Thought</h2>
<p>Interestingly, during the Summer Reading discussion session, Prof. Rugaber has raised the question of asking, <strong><em>“What is a chain of thought?”</em></strong>. In my head, I just recalled that the paper literally said that it is ‘a series of intermediate steps’. When thinking about it carefully, every word in this definition is more nuanced than I initially thought. <strong>Series</strong> means that there is an order to each chain and implies it has linear qualities to it. <strong>Intermediate</strong> means that there are levels of progression between related things and <strong>steps</strong> means there could be stages to the progression. In the context of reasoning, this definition really means each ordered step deliberately reinforces a ‘thought’ or set of ideas and meanings (in my opinion).</p>

<p>Piggybacking on the Summer DILab discussion, I read the paper further and with a focus on common sense reasoning. First, what is ‘common sense reasoning’? Common means that some reasoning is shared and reoccuring to many entities. It is an important benchmark for artificial intelligence because humans interact with the physical world while using and developing common sense knowledge. If artificial intelligence has to interact with humans and its physical world, then it also has to understand ‘common sense’.</p>

<p>Results showed that larger models like PaLM 540B benefited significantly from chain-of-thought prompting in common sense reasoning, outperforming previous state-of-the-art models on StrategyQA and demonstrating superior performance on sports understanding. The authors also emphasized the linguistic nature of chain of thought reasoning makes it an ideal way to solve common sense reasoning, which mimics human thought process. However, the study acknowledges that chain-of-thought prompting does not guarantee correct reasoning paths, which can result in both correct and incorrect answers. This is in contrast with humans being able to use a teacher, reference and peers to correct its own reasoning path.  Improving factual accuracy in language models remains a key area for future research. I wonder if we are able to correct reasoning path (similar to how humans do it) using reinforcement learning, we would be able to achieve an even better results and findings.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Modeling Progress]]></summary></entry><entry><title type="html">Week 8</title><link href="http://gracebrazil28.github.io/week8/" rel="alternate" type="text/html" title="Week 8" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week8</id><content type="html" xml:base="http://gracebrazil28.github.io/week8/"><![CDATA[<h2 id="tmk-modeling-progress">TMK Modeling Progress</h2>

<p>In the latest update, the state transition diagram has been further refined. Specifically, the sub-level FSM for Generating New Move has been broken down in more detail. This sub-level now includes steps for:</p>

<ul>
  <li>Checking the top block</li>
  <li>Removing the top block if necessary</li>
  <li>Placing the top block in a new position</li>
  <li>Validating the move immediately after placement</li>
</ul>

<p>This breakdown enhances the granularity of the FSM, ensuring each action is clearly defined and can be individually validated for correctness. This can be illustrated in the state diagram below:</p>

<p><img src="https://github.com/gracebrazil28/gracebrazil28.github.io/assets/29846072/bb753659-67e6-4f87-8f52-bd219fa978ab" alt="PNG image" /></p>

<p>Implementing the configuration for block arrangements has been organized more systematically. Here’s a detailed look at the conceptual and instance definitions:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Concept(position, {Property(block: block), Property(on: block|table)});

Concept(block_arrangement, {Property(name: string), Property(configuration: [position]), Property(delta_name, delta: string, integer});
Instance(block_arrangement, ‘GoalArrangement’, 
     configuration: [
         {block: BlockA, on: BlockB}, 
         {block: BlockB, on: BlockC}, 
         {block: BlockC, on: BlockD}, 
         {block: BlockD, on: Table1}
     ],
     {delta_goal, 0}
   );

</code></pre></div></div>
<p>This structured approach defines each block’s position and its relationships, facilitating easier manipulation and validation of different block configurations.</p>

<p>Previously, the block arrangement configuration was described as follows:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>block arrangement description:
Concept(block_arrangement, block_arrangement_name, [block instances], table_instance, [block_table_triples]);

Relations and Triples:
on description:
Relation(on, block, block);
Relation(on, block, table);

goal state description:
Instance(block_arrangement, Goal, [BlockA, BlockB, BlockC, BlockD], Table1, 
	[on(BlockA, BlockB), on(BlockB, BlockC), on(BlockC, BlockD), on(BlockD, Table)])

</code></pre></div></div>
<p>Additionally, operations for generating the move list have been defined to streamline the problem-solving process. These operations ensure that each action taken is logical and valid within the Blocks World context:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Operation(Check_Top_Block(target_block: block), 
    true, 
    target_block is free or has blocks on top);

Operation(Remove_Top_Block(target_block: block), 
    target_block has blocks on top, 
    top block removed and placed on the table);

Operation(Place_Block_on_Another_Block_or_Table(target_block: block, target_position: position), 
    target_block is free, 
    target_block placed on another block or table);
</code></pre></div></div>

<p>These operations ensure that blocks are only moved when they are free and that each move results in a valid block configuration.</p>

<p>Overall, these refinements and structured definitions are significant steps forward in the TMK modeling process, providing a clearer and more robust framework for solving the Blocks World problem.</p>

<h2 id="dilab-cross-project-meeting">DILab Cross Project Meeting</h2>
<p>The main goal of the meeting was to know (atleast for a newbie like me) and reinforce our understanding across teams on how explanations are being generated using our own internal MCM repo. Specifically, Rahul explains how a user’s question is classified into one of four categories using a GPT API call. We discussed challenges in question classification and explainability in AI, particularly in the context of generative and cognitive AI. With this, it was emphasized how our project framework for with the integration of generative AI and cognitive AI, needs to be encompassed through the lens of theory of mind.</p>

<p>Across different projects in DI Lab, there were inconsistencies in TMK models across three teams, with missing values and inconsistent formatting. Additionally, metrics for evaluation were not uniform – SAMI uses correctness, completeness, and confidence, VERA uses recall, precision and accuracy while IVY uses recall, correctness, completeness and precision. Spencer shares a link to a Wikipedia article on GQM (goals, quality, and metrics) to help frame the discussion on metrics for AI explanations. I was able to quickly find a paper that discusses its approach in UMD’s public web domain and quickly review it for my own understanding.</p>

<h2 id="dilab-ivy-meeting">DILab IVY Meeting</h2>
<p>The IVY Team discussed tasks for a pilot study to integrate IVY into EdStem, including creating an IRB protocol, merging TMK models, and evaluating explanations produced. We also exchanged ideas on improving Ivy’s performance in Ed Stem, tracking user questions and answers, fine-tuning the Open AI GPT model, and prioritizing tasks for the pilot study. Additionally, they discussed the incremental progress of a pilot study on automating TMK model creation with natural language processing, explored various approaches to TMK modeling, and discussed automation TMK models.</p>

<h2 id="literature-review-the-goal-question-metric-approach">Literature Review: The Goal Question Metric Approach</h2>
<p>From the paper titled <strong><em>“The Goal Question Metric Approach by “</em></strong> <a href="http://ftp.cs.umd.edu/pub/sel/papers/gqm.pdf">Basili, Caldiera and Rombach</a>. GQM asserts that projects must specify the goals for itself, trace its goals to the data intended to define the goals, then  provide a framework for interpreting the data with respect to the goals. Using the GQM should result to a measurement system that targets a set of issues and rules for interpretation. G stands for Goal, Q for Question and M for Metric. G is at the conceptual level where the goal is defined for an object of measurement such as products, processes and resources. Q is at the operational level where a set of questions is used to characterize the assessment of a specific goal, Finally M is at the quantitative level where a set of data is associated with every question to answer it in a quantitative way. To me, it sounds like GQM is a hierarchical structure that defines Goals with questions relevant to the goal and metrics which answers each questions quantitatively. A successful implementation of GQM model and has methodological steps that a project can follow. The main takeaway for me is that measurement must be defined in a top-down fashion and that it must be focused, based on goals and models.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Modeling Progress]]></summary></entry><entry><title type="html">Week 9</title><link href="http://gracebrazil28.github.io/week9/" rel="alternate" type="text/html" title="Week 9" /><published>2020-06-01T00:00:00+00:00</published><updated>2020-06-01T00:00:00+00:00</updated><id>http://gracebrazil28.github.io/week9</id><content type="html" xml:base="http://gracebrazil28.github.io/week9/"><![CDATA[<h2 id="tmk-modeling-progress">TMK Modeling Progress</h2>
<p>At this point, I’ve already submitted my TMK json files as a pull request (PR) after being peer reviewed by two developers (Erin and Shashank) and it’s now time to test it. 
Github commit:
<img width="1420" alt="image" src="https://github.com/user-attachments/assets/48f8259c-bb07-4f07-a3c7-c2d13e28e632" />
The following is in my task ticket, I am currently blocked in testing my json files since the server is currently migrating from the MCM architect’s own AWS account to the ALOE DILAB IVY’s AWS account.</p>

<ul>
  <li>Task 1 [Completed] Create TMK model for Means-end analysis skill – Available in DILab IVY dropbox</li>
  <li>Task 2 [Completed] Peer review TMK model – Peer reviewed with Erin and Shashank, created branch from ivy-main #21</li>
  <li>Task 3 [Ongoing] Sanity test TMK json files with MCM – Issues in running IVY MCM server</li>
</ul>

<h2 id="mcm-backend-tasks">MCM Backend Tasks</h2>
<p>Since being assigned to this new role in the lab, I have been looking for ways to improve the current architecture. The following is my proposed architecture for the cloud infrastructure:</p>

<p>Customer interfaces with Amazon Route 53 where health checks can be established while the EC2 instance (private subnet) and database (data subnet) which is enveloped by a private VPC. Only Route 53 and the EC2 instance is interacting so the private IP for the EC2 instance is not exposed to the public.
<img src="https://github.com/user-attachments/assets/6deff761-235b-493a-848f-1008b06db511" alt="image" /></p>

<p>In the next sprint, I proposed the following features:</p>
<ul>
  <li>Automated Github Actions Integration for CI/CD pipeline – Push-based with Github actions runner (https://austingil.com/automatically-deploy-from-git/)</li>
  <li>System Security: Implement Health Checks (CloudWatch for AWS)</li>
  <li>System Security: Security Groups and Firewall Configuration</li>
</ul>

<p>The following document is my proposed CI/CD Methodology:</p>
<ul>
  <li><a href="files/Proposed_CI_CD_Methodology.pdf">Proposed CI/CD Methodology</a></li>
</ul>

<h2 id="tmk-evaluation-metric">TMK Evaluation Metric</h2>
<p>When evaluating the explanations generated by the IVY MCM infrastructure using TMK files, I believe that the metrics of completeness and comprehensibility should be given the highest priority. Completeness is crucial because incomplete responses can result in significant gaps in knowledge, misconceptions, or confusion. An educational tool loses its value if it fails to provide thorough and accurate information, as this can lead to further misunderstanding rather than enlightenment. Ensuring that responses are complete means that learners receive all necessary context and details, which is vital for fostering a deep and accurate understanding of the subject matter.</p>

<p>Comprehensibility is equally important because the educational value of the material is significantly diminished if it is difficult to understand. Clear and easily understandable explanations make the content accessible to a broader range of learners, including those for whom English is a second language. By prioritizing comprehensibility, we ensure that our educational tool can effectively support diverse learners, enhancing their engagement and retention of the material. Therefore, in the context of the IVY MCM infrastructure, completeness and comprehensibility must be high-priority metrics to maximize the educational impact and utility of the generated explanations.</p>

<p>My rankings:</p>
<ul>
  <li>High: Soundness, Completeness, Coherence, Comprehensibility</li>
  <li>Medium: Confidence, Compactness, Contrastivity</li>
  <li>Low: Translucence, Anthropomorphism</li>
</ul>

<h2 id="dilab-meeting">DILab Meeting</h2>
<p>During the meeting, Rahul Dass presented on the development of our minimum viable product (MVP) for the machine learning-based question-answering system, focusing on skill classification and roles and responsibilities. He outlined the plans for the MCM, including the alpha release featuring TMK models scheduled for October 7, which will demonstrate these models with specific user scenarios. Rahul proposed alternating 2-week sprints dedicated to demos and MVPs, seeking input on roles and evaluations.</p>

<p>My task centered on testing my TMK files, working on the MCM Database backend and the upcoming sprint. I expressed confidence in meeting the next week’s deadline during a discussion on project feasibility with Rahul and Shashank. Spencer R. suggested organizing sprints around user-visible features supported by infrastructure requirements. In this context, Rahul asked the team to rank metrics for use cases, leading to a debate on using numeric values versus a Likert scale. Erin proposed a 1-4 scale for metrics, which spurred a group discussion on the best evaluation methods.</p>

<p>The summer reading group has been cancelled due to conflicting schedules of the presenters.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[TMK Modeling Progress At this point, I’ve already submitted my TMK json files as a pull request (PR) after being peer reviewed by two developers (Erin and Shashank) and it’s now time to test it. Github commit: The following is in my task ticket, I am currently blocked in testing my json files since the server is currently migrating from the MCM architect’s own AWS account to the ALOE DILAB IVY’s AWS account.]]></summary></entry></feed>