f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
235 lines
7.1 KiB
Markdown
235 lines
7.1 KiB
Markdown
---
|
|
id: wiki-2026-0508-embodied-cognition
|
|
title: Embodied Cognition
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [embodied mind, 4E cognition, embodied embedded enacted extended, situated cognition]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.93
|
|
verification_status: applied
|
|
tags: [philosophy, cognitive-science, embodiment, 4e-cognition, phenomenology, ai]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: pending
|
|
tech_stack:
|
|
language: Cognitive Science
|
|
applicable_to: [AI, Robotics, HCI, Therapy]
|
|
---
|
|
|
|
# Embodied Cognition
|
|
|
|
## 매 한 줄
|
|
> **"매 mind 의 brain 의 X — 매 body + environment 의 distributed"**. 매 cognition = embodied + embedded + enacted + extended (4E). 매 Lakoff & Johnson, Varela, Clark. 매 modern AI: 매 LLM 의 disembodied 의 critique → 매 embodied AI / robotics emphasis.
|
|
|
|
## 매 핵심
|
|
|
|
### 매 4E
|
|
- **Embodied**: 매 body 의 structure 의 cognition 의 shape.
|
|
- **Embedded**: 매 environment 의 part.
|
|
- **Enacted**: 매 action 의 perception.
|
|
- **Extended**: 매 tool 의 mind 의 part (Clark).
|
|
|
|
### 매 historical
|
|
- **Merleau-Ponty**: 매 phenomenology of body.
|
|
- **Gibson**: 매 affordance.
|
|
- **Lakoff & Johnson**: 매 conceptual metaphor (UP=GOOD).
|
|
- **Varela / Maturana**: 매 enaction, autopoiesis.
|
|
- **Clark & Chalmers**: 매 extended mind (1998).
|
|
|
|
### 매 evidence
|
|
- **Body posture**: 매 confidence ↑.
|
|
- **Gesture**: 매 speech production.
|
|
- **Mirror neuron**: 매 action understanding.
|
|
- **Numerical line**: 매 left-right space.
|
|
- **Metaphor**: 매 anger = heat.
|
|
|
|
### 매 AI implication
|
|
- **Symbol grounding**: Harnad's problem.
|
|
- **GOFAI critique**: 매 disembodied symbol.
|
|
- **Embodied AI**: 매 robot, sim2real.
|
|
- **LLM critique**: 매 token 의 only — 매 ground X.
|
|
- **Modern**: 매 vision-language-action (RT-2, OpenVLA).
|
|
|
|
### 매 응용
|
|
1. **Robotics**: 매 body 의 use 의 simplify control.
|
|
2. **HCI**: 매 gesture / posture interface.
|
|
3. **Therapy**: 매 somatic experiencing.
|
|
4. **Education**: 매 enactment.
|
|
5. **AI**: 매 embodied agent.
|
|
|
|
## 💻 패턴
|
|
|
|
### Affordance detection (vision)
|
|
```python
|
|
import torch
|
|
from torchvision import models
|
|
|
|
class AffordanceNet(torch.nn.Module):
|
|
"""매 segment 의 graspable / sittable / pushable."""
|
|
def __init__(self, n_affordances):
|
|
super().__init__()
|
|
self.backbone = models.resnet50(pretrained=True)
|
|
self.head = torch.nn.Conv2d(2048, n_affordances, 1)
|
|
|
|
def forward(self, x):
|
|
feat = self.backbone(x)
|
|
return self.head(feat).softmax(1)
|
|
```
|
|
|
|
### Embodied simulation (PyBullet)
|
|
```python
|
|
import pybullet as p
|
|
p.connect(p.GUI)
|
|
robot = p.loadURDF('humanoid.urdf')
|
|
|
|
def policy(obs):
|
|
# 매 body 의 dynamics 의 use 의 task 의 simplify
|
|
com = p.getBasePositionAndOrientation(robot)[0]
|
|
return compute_balance_action(com, obs)
|
|
```
|
|
|
|
### Conceptual metaphor (NLP)
|
|
```python
|
|
METAPHORS = {
|
|
'UP_IS_GOOD': ['rise', 'high spirits', 'up', 'top'],
|
|
'DOWN_IS_BAD': ['fall', 'low', 'down', 'bottom'],
|
|
'WARM_IS_AFFECTIONATE': ['warm welcome', 'cold response'],
|
|
'JOURNEY_IS_LIFE': ['path', 'crossroads', 'road'],
|
|
}
|
|
|
|
def detect_metaphors(text):
|
|
found = []
|
|
for meta, markers in METAPHORS.items():
|
|
if any(m in text.lower() for m in markers):
|
|
found.append(meta)
|
|
return found
|
|
```
|
|
|
|
### Gesture recognition (MediaPipe)
|
|
```python
|
|
import mediapipe as mp
|
|
hands = mp.solutions.hands.Hands()
|
|
|
|
def classify_gesture(landmarks):
|
|
# 매 thumb up: thumb tip y < other tips
|
|
thumb_tip = landmarks[4]
|
|
other_tips = [landmarks[i] for i in [8, 12, 16, 20]]
|
|
if all(thumb_tip.y < t.y for t in other_tips):
|
|
return 'thumbs_up'
|
|
return 'unknown'
|
|
```
|
|
|
|
### Mirror system (action observation)
|
|
```python
|
|
class MirrorSystem:
|
|
"""매 observe 의 reproduce."""
|
|
def __init__(self, action_repertoire):
|
|
self.repertoire = action_repertoire # 매 my own actions
|
|
|
|
def imitate(self, observed_trajectory):
|
|
# 매 best-match 의 own action
|
|
best = min(self.repertoire, key=lambda a: dtw_distance(a, observed_trajectory))
|
|
return self.execute(best)
|
|
```
|
|
|
|
### VLA (Vision-Language-Action) like OpenVLA
|
|
```python
|
|
def vla_policy(image, instruction):
|
|
"""매 robot 의 embodied LLM."""
|
|
img_emb = vision_encoder(image)
|
|
text_emb = text_encoder(instruction)
|
|
fused = transformer(img_emb, text_emb)
|
|
action = action_decoder(fused) # 매 7-dim end-effector
|
|
return action
|
|
```
|
|
|
|
### Body schema (proprioception)
|
|
```python
|
|
class BodySchema:
|
|
def __init__(self, joint_limits):
|
|
self.joints = joint_limits
|
|
self.tool_attached = None
|
|
|
|
def attach_tool(self, tool):
|
|
"""매 extended embodiment."""
|
|
self.tool_attached = tool
|
|
# 매 reachable space 의 tool length 의 extend
|
|
|
|
def reachable(self, target):
|
|
max_reach = self.compute_max_reach()
|
|
if self.tool_attached:
|
|
max_reach += self.tool_attached.length
|
|
return np.linalg.norm(target) < max_reach
|
|
```
|
|
|
|
### Posture-mood feedback (HCI)
|
|
```python
|
|
def posture_suggestion(pose_landmarks):
|
|
"""매 power pose 의 confidence ↑ 의 evidence."""
|
|
shoulder_angle = compute_shoulder_openness(pose_landmarks)
|
|
if shoulder_angle < 30:
|
|
return "Try opening your shoulders — research suggests it improves confidence."
|
|
return None
|
|
```
|
|
|
|
### Symbol grounding via interaction
|
|
```python
|
|
def ground_word(word, sensorimotor_history):
|
|
"""매 word 의 sensory-motor 의 contingencies 의 link."""
|
|
contexts = [h for h in sensorimotor_history if word in h.transcript]
|
|
visual_features = average_visual([c.frame for c in contexts])
|
|
motor_features = average_motor([c.action for c in contexts])
|
|
return {'word': word, 'visual': visual_features, 'motor': motor_features}
|
|
```
|
|
|
|
### Enactive perception
|
|
```python
|
|
def enactive_perception(world, action_capabilities):
|
|
"""매 affordance 의 own capability 의 dependent."""
|
|
perceived_affordances = {}
|
|
for obj in world.objects:
|
|
relevant_actions = [a for a in action_capabilities if a.applicable_to(obj)]
|
|
perceived_affordances[obj] = relevant_actions
|
|
return perceived_affordances
|
|
```
|
|
|
|
## 매 결정 기준
|
|
| 상황 | Approach |
|
|
|---|---|
|
|
| Robot policy | Embodied (use body dynamics) |
|
|
| LLM critique | Add multimodal + grounding |
|
|
| HCI | Gesture + posture |
|
|
| Therapy | Somatic + body schema |
|
|
| AI agent | VLA / VLM-action |
|
|
| Linguistics | Conceptual metaphor |
|
|
|
|
**기본값**: 매 multimodal + 매 grounding (vision + motor) + 매 affordance + 매 sim2real for robot.
|
|
|
|
## 🔗 Graph
|
|
- 변형: [[Embodied-AI]]
|
|
- 응용: [[Robotics]] · [[VLA]]
|
|
- Adjacent: [[Affordance]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: 매 robotics. 매 multimodal AI. 매 grounded language.
|
|
**언제 X**: 매 pure symbolic reasoning.
|
|
|
|
## ❌ 안티패턴
|
|
- **Pure GOFAI**: 매 ground X.
|
|
- **Disembodied LLM 의 only**: 매 physical sense X.
|
|
- **Body 의 ignore**: 매 sim2real gap.
|
|
- **Metaphor 의 literal**: 매 abstraction lose.
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified (Lakoff & Johnson, Varela, Clark, Harnad).
|
|
- 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-04-20 | Auto-reinforced |
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — 4E + 매 affordance / VLA / mirror / body schema code |
|