Cognitive Architectures , Issues and Challenges
Cognitive Architectures
Date:4th Feb 2020/Tuesday
Date:4th Feb 2020/Tuesday
Lets begin this blog post by understanding what is a cognitive architecture. My little understanding is that it is similar to a buildings architecture, just like a building had floor, it has rooms, the rooms have cabinets installed, they have furniture which can be moved in and out, appliances installed or movable and so on.Similarly, a mind has an architecture which needs to be explored and understood. So, cognitive architecture is a theory , framework which looks at the structure of the human mind and how they work together to manage intelligent behavior in a complex environment. Cognitive computing looks at simulating human problem solving and processing skills. These basically include those aspects of the system that remain constant over time, these include the short term and long term memories that hold the knowledge, beliefs and goals. But what needs to be understood is that the content in the memory changes, so it cannot be part of the architecture.
Understanding cognitive architecture is important because it can help build better artificially intelligent systems. This article shares 4 different frameworks, including ACT-R, SOAR, PRODIGY and ICARUS. ACT- R is a cognitive architecture for understanding how the human cognition works. Its like a programming language, programmers create their own models for different tasks, they add their own assumptions about the tasks. These are then compared with how humans perform these tasks.It collects quantitative measures that can be compared with quantitative measures obtained from humans when they perform these tasks. ACT - R basically has 3 components, buffers, modules and a pattern matcher. The modules are of two types i.e perceptual motor modules (act as the interface with the real world) and memory modules. Memory hold different memories, these include procedural (how things are done) and declarative (facts). ACT -R accesses the modules through buffers. The pattern matcher searches for a production (knowledge of how we do things) with the current state of the buffer, on successful execution the buffers are modified. Tower of Hanoi is an example of how ACT- R works, the system completes the moving of devices in a limited number of moves, a human takes more time and effort to complete the same action, which can help understand how the human works and how the machine arrives at a decision.
The second architecture Soar is a little more advanced cognitive architecture as compared to ACT-R. Soar tries to create a computational system that has the same cognition abilities as humans, it does so through reasoning, reaction execution, planning and learning from experience. Most Artificial Intelligent systems solve one specific problem, where as like playing a chess game or suggesting a medical treatment based on diagnosis etc. Soar includes reinforcement learning, semantic memory, episodic memory , mental imagery and an appraisal based model of emotions.
Similarly, ICARUS makes links with memories, representations and cognitive processes. Its different then the previously defined cognitive architectures that it works in an external environment and it focuses on the use, organization and acquisition of hierarchical structures. ICARUS work is based on 5 different principals i.e. cognition is grounded in perception and action, concepts and skills are different structures, long term memory is organized in an hierarchical fashion, short term and long term memory have a strong correspondence and skills/concepts are acquired in a commulative manner. ICARUS has a learning module which creates a new skill whenever problem solving and execution achieve a goal. The last architecture Prodigy has multiple learning methods. Learning in Prodigy occurs at all decision points, integration is at the knowledge level, the learning and reasoning modules produce knowledge structures. It uses search control rules to guide means-end analysis, and learns new rules from success and failures. It focuses on planning tasks rather then on high level cognition.
Cognitive architectures have various capabilities, these include recognition and categorization, decision making and choice, perception and situation assessment, prediction and monitoring, problem solving and planning. To support recognition and categorization, an architecture must provide some way to represent patterns and situations in memory. For example a reader should be able to recognize letters in order to form words. Both recognition and categorization are linked to perception. One is a lower level primitive function the latter is a higher level function. Recognition is about assigning objects, events, situations to known concepts or categories. An intelligent system should also be able to make decisions and choices. For example a speaker must identify what to speak next in his speech based on recognition of the situation. It improves its decision through learning.
Another capability is use of perception and situation assessment. An intelligent system should be able to move beyond perception. For example a fire control officer on ship must understand the location, circumstances and trajectory of fires in order to respond effectively. An intelligent system must be able to predict future situations, just like a student who knows how much to study to get the highest score, or the driver knows when the car will run out of fuel, so he keeps it updated and so on. An intelligent system should store some mapping info in the memory and retrieve when needed. Cognitive architectures must be able to solve problems. An intelligent system should be able to reason, draw conclusion from existing knowledge. A cognitive architecture must be able to represent and store motor skills. For example a ground robot should be able to navigate itself. In doing so it keeps refining its knowledge. An intelligent system must be able to interact with the other system. Not the least an intelligent system should be able to reflect, remember and learn.
Lets begin exploring some properties of the cognitive architectures. These include representation of knowledge, organization of knowledge, utilization of knowledge, acquisition and refinement of knowledge. The basic architecture involves whether the encoding of knowledge is in singular form or in multiple forms. A cognitive architecture can support both declarative and procedural knowledge. Another important property is how the cognitive architecture organizes knowledge in its memory, does it use a flat or a more structured approach. Production systems and first order logic are examples of flat structures, the stored elements in the memory make no contact with each other. Where as in a structured form, the elements interact with each other. Its like a task hierarchy. Third property involves looking at how the contents in the long term memory are utilized. These include activities like recognition and decision making, to high level activities like reflection and communication. Utilization of knowledge looks into cognition and action. Closed loop approaches are often associated with reactive systems and open loop are often associated with deliberative ones. The last property then looks into how does a cognitive architecture learn and acquire knew knowledge. This can be done through production rules, we have discussed above in case of ACT -R and Soar. Soar learns a new selection, rejection and preference when it achieves a goal. Learning can take place in an easy manner of lazy manner, it can be incremental or non incremental.
So, how do we evaluate cognitive architectures. The first way to gauge a cognitive architecture ability is to test it across diverse domains. The more environments in which it supports intelligent behavior, the more the system is generalization. Versatility of a system is gauged by the difficulty encountered while doing different tasks. Third is taskability, which says that the long term knowledge is not the detriment of agents behavior in a domain. A frameworks rationality can be measured by looking at the relationship between it goals, knowledge and actions. If the agent has knowledge that one of his actions will lead to the goals, he will pursue the action. Cognitive architectures must be able to perform tasks in specified time and space constraints. Efficiency can be measured in quantitative terms. Cognitive architectures must handle tasks and situations of different levels of difficulty. This is a concern with architectures that learn over time. Many cognitive architectures support agents that work in unpredictable situations in external environments. The architectures reactivity can be measured by the speed with which it responds to the situations or events. Intelligent agents improve their behavior over time. This can be measured by the agents ability to perform tasks that it could not perform with the addition of new knowledge. Cognitive architectures must perform on instructions as well as create their own goals and tasks. An architectures autonomy could be gauged by placing the agent in an autonomous situation where they make decisions.
The last we look at some of the open issues in cognitive architectures. The most important issue is the introduction of new capabilities. More research is needed on architectures that support both episodic and reflective processes. We also need extended frameworks that could encode knowledge in different ways. Physical agents have limited resources for perceiving the world and affecting it, yet few architectures address the issue. Many systems do not account for the emotions. Most architectures incorporate some form of learning but not all.
In the light of the article skimmed through, my understanding is that for developing artificially intelligent systems that could take decisions in diverse situations and circumstances the above factors need to be considered. How much memory needs to be stored in the systems, how would the system process new information, how will the system respond to diverse and unpredictable situations that it encounters, does it perform one specific task at a time or multiple tasks? for example expert systems are designed to handle one specific problem, their knowledge base has facts about one particular situation, they solve problems using if then else rules, reason and then make suggestions. How would such systems design to handle one specific problem handle additional knowledge of the disease in the system, does it need to be re- programmed completely? How can you then measure the effectiveness of these systems?
My little understanding is that IBM Watson could be programmed but it needs a lot of effort for every new skill or concept that we want the IBM Watson assistant to learn and acquire. One has to create a dialogue skill, add intents, build a dialog and so on. But it needs to be trained, once it starts recognizing the key words and then responds to the users query. Google Home, Alexa, Siri might have some capabilities discussed above but not at all, and therefore cannot be categorized as completely cognitive systems.
The article was dense to comprehend but it does help understand the underlying architecture of these systems, how do these actually function and what could be done to further improve and enhance their performance. What I could grasp is that by looking how the human mind works and arrives at decisions in adverse circumstances, similar cognitive ability could be built into computer systems, so that they can make similar decisions. But due to the complexity of the human minds architecture, it gets tougher. The tower of hanoi shed some insight of how the human mind arrives at decisions and how effectively and effeciently does the machine that mimics human behavior arrives at the same decision.
A dense but an interesting read so far.
Regards and prayers
Sheeba Ajmal
So, how do we evaluate cognitive architectures. The first way to gauge a cognitive architecture ability is to test it across diverse domains. The more environments in which it supports intelligent behavior, the more the system is generalization. Versatility of a system is gauged by the difficulty encountered while doing different tasks. Third is taskability, which says that the long term knowledge is not the detriment of agents behavior in a domain. A frameworks rationality can be measured by looking at the relationship between it goals, knowledge and actions. If the agent has knowledge that one of his actions will lead to the goals, he will pursue the action. Cognitive architectures must be able to perform tasks in specified time and space constraints. Efficiency can be measured in quantitative terms. Cognitive architectures must handle tasks and situations of different levels of difficulty. This is a concern with architectures that learn over time. Many cognitive architectures support agents that work in unpredictable situations in external environments. The architectures reactivity can be measured by the speed with which it responds to the situations or events. Intelligent agents improve their behavior over time. This can be measured by the agents ability to perform tasks that it could not perform with the addition of new knowledge. Cognitive architectures must perform on instructions as well as create their own goals and tasks. An architectures autonomy could be gauged by placing the agent in an autonomous situation where they make decisions.
The last we look at some of the open issues in cognitive architectures. The most important issue is the introduction of new capabilities. More research is needed on architectures that support both episodic and reflective processes. We also need extended frameworks that could encode knowledge in different ways. Physical agents have limited resources for perceiving the world and affecting it, yet few architectures address the issue. Many systems do not account for the emotions. Most architectures incorporate some form of learning but not all.
In the light of the article skimmed through, my understanding is that for developing artificially intelligent systems that could take decisions in diverse situations and circumstances the above factors need to be considered. How much memory needs to be stored in the systems, how would the system process new information, how will the system respond to diverse and unpredictable situations that it encounters, does it perform one specific task at a time or multiple tasks? for example expert systems are designed to handle one specific problem, their knowledge base has facts about one particular situation, they solve problems using if then else rules, reason and then make suggestions. How would such systems design to handle one specific problem handle additional knowledge of the disease in the system, does it need to be re- programmed completely? How can you then measure the effectiveness of these systems?
My little understanding is that IBM Watson could be programmed but it needs a lot of effort for every new skill or concept that we want the IBM Watson assistant to learn and acquire. One has to create a dialogue skill, add intents, build a dialog and so on. But it needs to be trained, once it starts recognizing the key words and then responds to the users query. Google Home, Alexa, Siri might have some capabilities discussed above but not at all, and therefore cannot be categorized as completely cognitive systems.
The article was dense to comprehend but it does help understand the underlying architecture of these systems, how do these actually function and what could be done to further improve and enhance their performance. What I could grasp is that by looking how the human mind works and arrives at decisions in adverse circumstances, similar cognitive ability could be built into computer systems, so that they can make similar decisions. But due to the complexity of the human minds architecture, it gets tougher. The tower of hanoi shed some insight of how the human mind arrives at decisions and how effectively and effeciently does the machine that mimics human behavior arrives at the same decision.
A dense but an interesting read so far.
Regards and prayers
Sheeba Ajmal
Comments
Post a Comment