⚖️ AI 규제/윤리

수인불가 위험 AI

Unacceptable Risk AI

EU AI Act에서 전면 금지하는 AI. 사회적 점수화, 무차별 안면인식, 감정 조작 AI 등이 해당.

상세 설명

수인불가 위험 AI(Unacceptable Risk AI)는 EU AI Act에서 EU 시장 내 출시 및 사용이 전면 금지되는 AI 시스템입니다. 제5조에서 규정하며, 기본권 침해 위험이 너무 커서 어떤 규제 조건으로도 허용할 수 없다고 판단된 AI 유형입니다. 위반 시 최대 3,500만 유로 또는 전 세계 매출의 7% 과징금이 부과됩니다.

금지 대상 AI는 크게 4가지 범주입니다. 첫째, 잠재의식 조작(subliminal manipulation) AI로 사람이 인지하지 못하는 방식으로 행동을 조작하는 시스템. 둘째, 취약계층 착취 AI로 아동, 장애인 등의 취약성을 이용하는 시스템. 셋째, 사회적 점수화(social scoring) AI로 개인의 사회적 행동을 평가하여 불이익을 주는 시스템. 넷째, 실시간 공공장소 안면인식 AI(법집행 목적 제외)입니다.

2024년 개정으로 추가된 금지 대상에는 감정 인식 AI(직장, 학교), 생체인식 분류 AI(인종, 성적 지향 추론), 예측 치안(predictive policing) AI, 무차별적 안면 이미지 수집 AI 등이 포함됩니다.

금지 AI와 고위험 AI의 경계가 모호한 경우가 있어 주의가 필요합니다. 예를 들어 감정 인식 AI는 직장/학교에서는 금지이지만, 의료 목적이나 안전 목적에서는 고위험 AI로 허용될 수 있습니다. 사용 맥락이 판단 기준이 됩니다.

코드 예제

# EU AI Act 금지 AI 검증 체크리스트 예제
from dataclasses import dataclass
from typing import List, Dict, Optional
from enum import Enum

class ProhibitedCategory(Enum):
    """EU AI Act 제5조 금지 AI 범주"""
    SUBLIMINAL_MANIPULATION = "subliminal_manipulation"
    VULNERABILITY_EXPLOITATION = "vulnerability_exploitation"
    SOCIAL_SCORING = "social_scoring"
    REAL_TIME_BIOMETRIC = "real_time_biometric_public"
    EMOTION_RECOGNITION_WORKPLACE = "emotion_recognition_workplace"
    BIOMETRIC_CATEGORIZATION = "biometric_categorization"
    PREDICTIVE_POLICING = "predictive_policing"
    FACIAL_SCRAPING = "facial_image_scraping"

@dataclass
class ProhibitionCheckResult:
    """금지 AI 검증 결과"""
    is_prohibited: bool
    matched_categories: List[ProhibitedCategory]
    risk_factors: List[str]
    recommendation: str

class UnacceptableRiskChecker:
    """EU AI Act 제5조 금지 AI 검증기"""

    def __init__(self):
        self.prohibition_rules = self._define_rules()

    def _define_rules(self) -> Dict[ProhibitedCategory, Dict]:
        """금지 규칙 정의"""
        return {
            ProhibitedCategory.SUBLIMINAL_MANIPULATION: {
                "description": "사람이 인지하지 못하는 방식으로 행동 조작",
                "indicators": ["무의식적 영향", "인지 불가능한 자극", "행동 조작"],
                "exceptions": []
            },
            ProhibitedCategory.SOCIAL_SCORING: {
                "description": "사회적 행동 기반 점수화 및 불이익",
                "indicators": ["시민 점수", "행동 평가", "사회적 신뢰도"],
                "exceptions": ["금융 신용평가(별도 규제)", "범죄 위험 평가(법원 명령)"]
            },
            ProhibitedCategory.REAL_TIME_BIOMETRIC: {
                "description": "공공장소 실시간 원격 생체인식",
                "indicators": ["실시간", "공공장소", "안면인식", "원격"],
                "exceptions": ["실종자 수색", "테러 방지", "중범죄 용의자 추적(법원 승인)"]
            },
            ProhibitedCategory.EMOTION_RECOGNITION_WORKPLACE: {
                "description": "직장/학교에서의 감정 인식",
                "indicators": ["감정 분석", "직장", "학교", "교육기관"],
                "exceptions": ["의료 목적", "안전 목적(예: 졸음 감지)"]
            },
            ProhibitedCategory.BIOMETRIC_CATEGORIZATION: {
                "description": "생체 데이터로 민감 속성 추론",
                "indicators": ["인종 추론", "성적 지향", "정치 성향", "종교 추론"],
                "exceptions": []
            },
            ProhibitedCategory.PREDICTIVE_POLICING: {
                "description": "개인 프로파일링 기반 범죄 예측",
                "indicators": ["범죄 예측", "개인 프로파일", "치안"],
                "exceptions": ["객관적 검증 사실 기반 분석"]
            }
        }

    def check_system(self, system_description: str,
                      use_context: Dict) -> ProhibitionCheckResult:
        """AI 시스템 금지 여부 검증"""
        matched = []
        risk_factors = []

        for category, rule in self.prohibition_rules.items():
            # 인디케이터 매칭
            indicator_match = any(
                ind.lower() in system_description.lower()
                for ind in rule["indicators"]
            )

            if indicator_match:
                # 예외 조건 확인
                exception_applies = any(
                    exc.lower() in use_context.get("purpose", "").lower()
                    for exc in rule.get("exceptions", [])
                )

                if not exception_applies:
                    matched.append(category)
                    risk_factors.append(rule["description"])
                else:
                    risk_factors.append(f"{rule['description']} - 예외 적용 가능")

        is_prohibited = len(matched) > 0

        if is_prohibited:
            recommendation = (
                "이 시스템은 EU AI Act 제5조 금지 대상입니다. "
                f"EU 시장 출시 불가. 위반 시 최대 3,500만 유로 또는 매출 7% 과징금. "
                f"금지 범주: {', '.join(c.value for c in matched)}"
            )
        else:
            recommendation = (
                "금지 대상은 아니지만, 고위험 AI 해당 여부를 추가 검토하세요."
            )

        return ProhibitionCheckResult(
            is_prohibited=is_prohibited,
            matched_categories=matched,
            risk_factors=risk_factors,
            recommendation=recommendation
        )

# 사용 예시
checker = UnacceptableRiskChecker()

# 테스트 케이스 1: 직장 감정 분석
result1 = checker.check_system(
    system_description="직원의 얼굴 표정을 분석하여 감정 상태를 측정하는 AI",
    use_context={"purpose": "생산성 모니터링", "location": "사무실"}
)
print(f"직장 감정 분석: 금지={result1.is_prohibited}")

# 테스트 케이스 2: 의료 감정 분석 (예외)
result2 = checker.check_system(
    system_description="환자의 표정을 분석하여 통증 수준을 평가하는 AI",
    use_context={"purpose": "의료 목적 통증 평가", "location": "병원"}
)
print(f"의료 감정 분석: 금지={result2.is_prohibited}")

실무 대화

사업개발: 직원 생산성 측정을 위해 감정 인식 AI를 도입하려고 하는데 가능한가요?

법무팀: EU AI Act 제5조에서 직장 내 감정 인식 AI는 전면 금지입니다. EU 시장에서 사용 불가하고, 위반 시 매출 7% 과징금이에요.

사업개발: 예외는 없나요?

법무팀: 안전 목적(예: 운전자 졸음 감지)이나 의료 목적은 예외가 될 수 있어요. 하지만 생산성 모니터링은 해당 안 됩니다.

면접관: EU AI Act에서 금지하는 AI 유형을 설명해주세요.

지원자: 제5조에서 4가지 주요 범주를 금지합니다. 잠재의식 조작 AI, 취약계층 착취 AI, 사회적 점수화 AI, 실시간 공공장소 안면인식 AI입니다. 2024년 개정으로 직장/학교 감정 인식, 생체 기반 민감 속성 추론, 예측 치안 AI도 추가되었습니다. 위반 시 3,500만 유로 또는 매출 7% 과징금으로, AI Act에서 가장 강력한 제재입니다.

시니어: 이 모듈이 사용자 행동 패턴을 분석해서 점수화하는 것 같은데, 사회적 점수화에 해당하지 않나요?

주니어: 서비스 개인화 목적인데도요?

시니어: 점수에 따라 서비스 접근을 제한하거나 불이익을 주면 문제가 될 수 있어요. 법무팀 검토를 받아보세요. 특히 EU 사용자 대상이라면 민감합니다.

주의사항

더 배우기