인공지능 29

방어 기술: 모델 워터마킹(Model Watermarking)

모델 워터마킹은 머신러닝 모델의 지적 재산권을 보호하고 소유권을 증명하기 위해, 모델 내부에 소유자만 식별할 수 있는 고유한 '디지털 낙인'이나 '서명'을 몰래 삽입하는 기술입니다. 이는 마치 지폐에 숨겨진 위조 방지 장치(워터마크)나 디지털 이미지에 저작권 정보를 심는 것과 유사합니다. 누군가 내 모델을 훔쳐가서 서비스(API)로 제공하거나 파일 자체를 탈취했을 때, "이것이 내 모델"임을 증명하는 결정적인 증거로 사용됩니다. 동작 원리는 크게 '블랙박스 방식'과 '화이트박스 방식'으로 나뉘며, 핵심은 "트리거-반응" 메커니즘입니다.1. 블랙박스 워터마킹가장 일반적인 방식이며, 공격자가 모델의 내부(가중치)는 볼 수 없고 API처럼 입력과 출력만 접근할 수 있는 상황을 가정합니다. "비밀의 입력(트리거..

mAP(mean Average Precision)

mAP(mean Average Precision)는 객체 탐지(Object Detection) 모델의 성능을 평가하는 가장 표준적이고 중요한 지표입니다. 간단히 말해, 모델이 이미지 내의 여러 객체들을 '얼마나 정확하게(Precision)' 그리고 '얼마나 빠짐없이(Recall)' 찾아내는지를 하나의 숫자로 요약한 값입니다. mAP를 이해하기 위해서는 네 가지 구성 요소(IoU, Precision/Recall, AP, mAP)를 순서대로 이해해야 합니다.1. IoU (Intersection over Union) 가장 기본이 되는 개념입니다. 모델이 예측한 박스(Predicted Box)가 실제 정답 박스(Ground Truth Box)와 얼마나 겹치는지를 측정합니다.계산식: 두 박스의 교집합 영역을 합집..

혼동 행렬과 성능 평가 지표

혼동 행렬(Confusion Matrix)진단 장비의 성능을 파악하기 위하여 질병의 유무를 알고 있는 사람들을 대상으로 진단을 수행하고 아래와 같이 혼동 행렬을 작성합니다.A: 진양성(True Positive) 수B: 위양성(False Positive, 1종 오류) 수C: 위음성(False Negative, 2종 오류) 수D: 진음성(True Negative) 수용어의 의미'혼동 행렬'이라는 용어는 그 기능에서 직접 유래했습니다. 이 행렬은 분류 모델이 각 클래스(범주)를 얼마나 '혼동(confuse)'하는지를 한눈에 보여주기 때문입니다.즉, 모델의 예측이 얼마나 헷갈렸는지를 시각적으로 표현한 표입니다.'혼동'의 주체: 모델 (또는 분류기) '혼동'의 내용: 하나의 클래스(실제 값)를 다른 클래스(예측 ..

공격 유형 비교: 모델 역공격, 멤버십 추론 공격, 모델 탈취/추출 공격

모델 역공격과 멤버십 추론은 모델의 '학습 데이터'를 표적으로 삼아 프라이버시를 침해하는 반면, 모델 탈취는 '모델 자체'를 표적으로 삼아 지적 재산을 훔치는 공격입니다. 다음은 세 가지 공격 유형에 대한 비교 설명입니다.공격 유형별 비교 요약공격 유형모델 역공격 (Model Inversion)멤버십 추론 공격 (Membership Inference)모델 탈취/추출 (Model Stealing/Extraction)주요 목표학습 데이터의 특징 또는 원본 복원특정 데이터가 학습에 사용되었는지 확인원본 모델과 동일한 성능의 모델 복제공격 대상모델의 출력값, 신뢰도 점수모델의 신뢰도 점수 차이모델 API의 입력/출력 (질의-응답)핵심 침해데이터 프라이버시데이터 프라이버시지적 재산(IP)1. 모델 역공격 (Mod..

보안 위협: 멤버십 추론 공격(Membership Inference Attack)

인공지능 모델의 보안 위협 중 하나인 멤버십 추론 공격에 대해 소개하고, 실제 적용 사례를 제시합니다.멤버십 추론 공격 소개멤버십 추론 공격은 특정 데이터가 AI 모델의 학습 데이터 세트에 포함되었는지 여부를 알아내려는 프라이버시 공격입니다.1. 공격의 목표와 원리목표: 공격자는 자신이 가진 특정 데이터(예: A라는 사람의 의료 기록, B의 사진)가 이 모델을 학습시키는 데 사용되었는지 '예' 또는 '아니오'로 판별하는 것을 목표로 합니다.핵심 원리: AI 모델, 특히 딥러닝 모델은 학습 데이터에 과적합(overfitting)되는 경향이 있습니다. 즉, 모델은 자신이 학습한 '본 적 있는' 데이터와 '처음 보는' 데이터에 대해 미묘하게 다르게 반응합니다. 학습 데이터(멤버): 모델이 이미 학습한 데이터가..

보안 위협: 모델 탈취/추출 공격(Model Stealing/Extraction Attack)

인공지능(AI) 모델, 특히 딥러닝 모델의 구조(architecture)와 파라미터(parameter, 가중치)는 모델의 핵심 지적 재산(IP)이자 성능을 좌우하는 전부입니다. 이러한 정보가 유출되는 것은 기업이나 연구 기관에 막대한 금전적, 전략적 손실을 초래할 수 있는 심각한 보안 위협입니다. 이러한 위협은 크게 '모델 탈취(Model Stealing)' 또는 '모델 추출(Model Extraction)' 공격의 범주에 속합니다.1. 모델 구조 누출모델 구조 누출은 AI 모델의 '청사진'을 훔치는 행위입니다. 이는 모델이 몇 개의 레이어로 구성되어 있는지, 각 레이어는 어떤 종류(e.g., Convolutional, Recurrent, Transformer)인지, 어떻게 연결되어 있는지 등의 하이퍼파..

보안 위협: 모델 역공격(Model Inversion Attack)

인공지능(AI) 모델의 보안 위협 중 하나인 모델 역공격(Model Inversion Attack)에 대해 소개하고 주요 사례를 설명합니다.모델 역공격 (Model Inversion Attack) 이란? 모델 역공격은 이미 학습이 완료된 AI 모델을 이용하여, 모델이 학습했던 원본 학습 데이터(training data)의 일부 또는 전체를 복원하려는 사이버 공격입니다. 일반적으로 AI 모델은 학습 데이터를 통해 특정 패턴을 학습하며, 이 과정에서 데이터의 민감한 정보가 모델 내부에 '기억'될 수 있습니다. 공격자는 이 점을 악용하여, 모델의 출력값(예: 예측 결과, 신뢰도 점수)을 분석하고 역추적함으로써 원본 데이터를 재구성해냅니다.주요 목표: 모델이 학습한 민감한 정보(개인정보, 의료 기록, 금융 데이..

혼란도(Perplexity, PPL)

혼란도는 언어 모델(LM)이 텍스트를 얼마나 잘 예측하는지 측정하는 표준 지표입니다. 이름 그대로, 모델이 특정 단어 시퀀스(문장)를 보고 얼마나 '당황했는지' 또는 '혼란스러워했는지'를 수치화한 것입니다.PPL이 낮을수록 (Less perplexed) 모델이 해당 텍스트의 구조를 잘 이해하고 다음 단어를 높은 확률로 정확하게 예측했다는 의미입니다. (성능이 좋음)PPL이 높을수록 (More perplexed) 모델이 해당 텍스트를 예측하는 데 어려움을 겪었으며, 실제 정답 단어에 매우 낮은 확률을 할당했다는 의미입니다. (성능이 나쁨)1. 직관적인 이해: "평균적인 선택지의 개수"PPL을 가장 쉽게 이해하는 방법은 "모델이 다음 단어를 예측할 때 평균적으로 느끼는 유효한 선택지의 개수"라고 생각하는 것..

TR-06. 트랜스포머 디코더(Decoder)

트랜스포머의 인코더(Encoder)가 입력 문장 전체를 읽고 문맥적 의미를 풍부하게 담은 '표현(representation)'을 생성하는 역할이라면, 디코더(Decoder)는 이 표현을 참조하여 우리가 원하는 출력 문장을 한 단어씩 순차적으로 생성하는 '생성기' 역할을 합니다. 디코더 역시 인코더와 마찬가지로 동일한 구조의 여러 개 레이어(논문에서는 6개)를 쌓아 올린 형태입니다. 하나의 디코더 레이어는 크게 세 부분으로 구성됩니다.1. 디코더 레이어의 핵심 구성 요소각 디코더 레이어는 다음과 같은 세 개의 하위 레이어(sub-layer)로 이루어져 있습니다.마스크드 멀티-헤드 어텐션 (Masked Multi-Head Attention)역할: 디코더가 '지금까지 생성한' 출력 단어들 간의 관계를 파악합니..

TR-05. 트랜스포머 인코더(Encoder)

트랜스포머 모델의 인코더는 입력 시퀀스(예: "나는 학생이다")를 받아, 각 단어(토큰)의 문맥적 의미를 풍부하게 담은 벡터 시퀀스로 변환하는 역할을 합니다. 이 벡터 시퀀스는 디코더가 번역이나 요약과 같은 작업을 수행하는 데 필요한 핵심 정보를 담고 있습니다. 인코더는 동일한 구조의 '인코더 레이어(Encoder Layer)'가 N개(오리지널 논문에서는 6개) 쌓여 있는 형태입니다.1. 인코더의 시작: 입력 처리본격적으로 인코더 레이어에 들어가기 전에, 입력 텍스트는 두 단계를 거칩니다.입력 임베딩 (Input Embedding):입력 문장의 각 단어(토큰)는 고유한 벡터로 변환됩니다. 예를 들어 "I", "am", "a", "student"라는 단어들이 각각 512차원의 벡터가 됩니다. 이 벡터는 단..