군집은 언제나 승리한다: 군집 지능(Swarm Intelligence)이 AI를 무너뜨리는 방법
요약
자연 모방 최적화 알고리즘인 군집 지능(Swarm Intelligence)을 활용한 블랙박스 적대적 공격 기법을 분석합니다. 그래디언트 정보가 없는 환경에서도 PSO, DE, ABC 등의 알고리즘이 어떻게 신경망의 취약점을 찾아내는지 설명합니다.
핵심 포인트
- 군집 알고리즘은 그래디언트가 필요 없는 최적화 방식을 사용함
- API 엔드포인트만 접근 가능한 블랙박스 공격 시나리오에 매우 효과적임
- PSO, DE, ABC 등 다양한 알고리즘이 각기 다른 탐색 전략을 가짐
- 이미지 및 오디오 등 다양한 모달리티에 적용 가능한 공격 방식임
이전 포스트에서 저는 차분 진화 (Differential Evolution, DE)가 이미지 분류기를 속이는 단 하나의 픽셀 변화를 찾아내는 '1픽셀 공격 (one-pixel attack)'에 대해 다루었습니다. DE는 효과적이지만, 이는 훨씬 더 큰 알고리즘 군집 중 하나일 뿐입니다. 연구자들은 최소 다섯 가지의 서로 다른 자연 모방 최적화 알고리즘 (nature-inspired optimization algorithms)을 신경망에 대한 블랙박스 적대적 공격 (black-box adversarial attacks)으로 변형해 왔으며, 각 알고리즘은 근본적으로 다른 탐색 전략을 활용합니다.
입자 군집 최적화 (Particle Swarm Optimization, PSO)는 새 떼의 움직임을 모방합니다. 인공 벌 군집 (Artificial Bee Colony, ABC) 알고리즘은 꿀벌의 먹이 활동을 시뮬레이션합니다. 물고기 군집 (Fish swarm) 알고리즘은 군집 행동을 모델링합니다. 유전 알고리즘 (Genetic algorithms)은 다윈의 선택 이론을 따릅니다. 각 알고리즘은 서로 다른 공격 특성, 서로 다른 쿼리 비용 (query costs), 그리고 서로 다른 섭동 패턴 (perturbation patterns)을 생성합니다. 그리고 이 중 그 어떤 것도 그래디언트 (gradients)를 필요로 하지 않습니다.
마지막 지점이 바로 이 공격 군집을 실질적으로 위험하게 만드는 요소입니다. 대부분의 적대적 머신러닝 (Adversarial ML) 연구는 FGSM이나 PGD와 같은 그래디언트 기반 공격에 집중되어 있으며, 이는 모델 내부 구조에 대한 화이트박스 (white-box) 접근 권한을 요구합니다. 실제 배포 환경에서 공격자는 예측값을 반환하는 API 엔드포인트만을 얻게 됩니다. 군집 알고리즘은 정확히 이러한 제약 조건에 맞춰 제작되었습니다. 즉, 미분할 수는 없지만 평가할 수는 있는 함수를 최적화하는 것입니다. 자연은 우리가 신경망을 구축하기 훨씬 전부터 그래디언트가 필요 없는 최적화 (gradient-free optimization) 방법을 찾아냈습니다. 그리고 바로 그 해결책들이 이제 신경망을 공격하고 있습니다.
이 포스트에서는 적대적 공격 도구로 발표된 세 가지 군집 및 진화 알고리즘 (PSO, DE, ABC)을 조사하고, 이들의 탐색 역학 (search dynamics)이 어떻게 서로 다른 공격 특성을 만들어내는지 설명하며, 작동 데모를 포함합니다. 이미지 분류에 대한 PSO 공격과 오디오에 대한 단순화된 PSO 공격을 통해 이 접근 방식이 모달리티에 구애받지 않음 (modality-agnostic)을 보여줍니다.
왜 군집 지능이 적대적 공격에 효과적인가
실제 배포된 모델을 대상으로 하는 공격 시나리오는 다음과 같습니다. API에 쿼리를 보내면 예측 결과(신뢰도 점수 또는 단순 레이블 형태)를 받게 되며, 사용자는 오분류를 유발하는 입력 섭동(input perturbation)을 찾아내고자 합니다. 이때 사용자는 모델의 아키텍처(architecture), 가중치(weights), 학습 데이터(training data) 또는 그래디언트(gradients)를 전혀 알 수 없습니다. 당신이 가진 것이라고는 건드려 볼 수 있는 블랙박스(black box)뿐입니다.
이러한 상황에서는 그래디언트 기반 공격(Gradient-based attacks)이 무용지물입니다. FGSM, PGD, C&W는 모두 입력에 대한 손실(loss)의 그래디언트를 계산한 뒤 이를 따라갑니다. 모델에 대한 접근 권한이 없다는 것은 그래디언트가 없음을 의미하며, 이는 곧 공격이 불가능함을 의미합니다. 전이 공격(Transfer attacks, 로컬 대리 모델(surrogate model)에서 적대적 예시를 제작하여 일반화되기를 기대하는 방식)은 때때로 작동하지만, 아키텍처 간의 신뢰성이 떨어지며 타겟 모델의 로컬 근사치(local approximation)를 구축해야 하는 번거로움이 있습니다.
군집 알고리즘(Swarm algorithms)과 진화 알고리즘(evolutionary algorithms)은 다른 종류의 문제를 해결합니다. 즉, 미분은 할 수 없지만 평가(evaluate)는 가능한 함수를 최적화하는 것입니다. 이들은 세 가지가 필요합니다. 후보 섭동을 생성하는 방법(무작위 초기화), 적합도(fitness)를 평가하는 방법(타겟 모델에 쿼리), 그리고 후보를 반복적으로 개선하기 위한 개체군 기반 탐색 전략(population-based search strategy)입니다.
적대적 예시(adversarial example) 문제는 이 프레임워크에 직접적으로 매핑됩니다. 탐색 공간(search space)은 가능한 픽셀(또는 파형, 또는 특징(feature)) 섭동의 집합입니다. 적합도 함수(fitness function)는 "이 섭동이 정답 클래스에 대한 신뢰도를 얼마나 감소시키는가?"입니다. 제약 조건은 인지 불가능성(imperceptibility)이며, 이는 통상적으로 $L_2$ 또는 $L_ ext{infinity}$ 노름(norm) 예산으로 측정됩니다.
이러한 환경에서 개체군 기반 탐색 (population-based search)이 강력한 이유는 여러 후보군을 동시에 유지하기 때문입니다. 한 후보가 지역 최적점 (local optimum)에 갇혀 있는 동안, 다른 후보는 완전히 다른 취약 영역을 발견할 수 있습니다. 개체군은 병렬적으로 탐색하며, 좋은 해(solution)에 대한 정보는 집단을 통해 전파될 수 있습니다 (PSO에서는 사회적 학습 (social learning)을 통해, ABC에서는 관찰자 벌 선택 (onlooker bee selection)을 통해, DE에서는 성공적인 후보들을 결합하는 변이 (mutation)를 통해 전파됩니다). 신경망의 손실 지형 (loss landscapes)은 수많은 지역 최적점을 가진 매우 비볼록 (non-convex)한 특성을 지니는데, 이는 바로 이러한 알고리즘들이 탐색하도록 진화해 온 지형과 정확히 일치합니다.
도구 모음: 세 가지 알고리즘, 세 가지 탐색 전략
차분 진화 (Differential Evolution): 베이스라인
'one-pixel attack' 포스트를 읽은 독자라면 이미 DE [1]를 알고 있을 것이므로 짧게 언급하겠습니다. DE는 후보 해의 개체군을 유지하며, 변이 (mutation, 기존 후보들 간의 스케일링된 차이를 더함)와 교차 (crossover, 부모와 자식 간의 파라미터 혼합)를 통해 새로운 후보를 생성합니다. 선택 규칙은 간단합니다. 자식이 부모보다 나을 경우에만 유지합니다.
Su 등 (2019)은 오분류를 유발하는 단일 픽셀을 찾기 위해 DE를 사용하였으며, CIFAR-10에서 70.97%, ImageNet에서 52.40%의 성공률을 달학했습니다 [1]. DE는 이산 변수 (discrete variables, 픽셀 좌표는 정수임)를 자연스럽게 처리하고 변이 메커니즘이 광범위하게 탐색하기 때문에 희소 섭동 (sparse perturbations)에 효과적입니다.
주요 한계점: DE 후보들은 독립적으로 진화합니다. 각 후보는 무작위 변이와 부모와의 비교를 통해 개선됩니다. 후보들이 탐색 공간의 유망한 영역에 대한 정보를 공유하는 메커니즘이 없습니다. 이는 DE가 광범위하게 탐색하지만 수렴 (convergence)은 느리다는 것을 의미합니다. 쿼리 비용이 발생하고 호출 제한 (rate limits)이 걸리는 적대적 공격 (adversarial attacks) 상황에서 느린 수렴은 유의미한 단점입니다.
입자 군집 최적화 (Particle Swarm Optimization): 사회적 학습
PSO는 1995년 Kennedy와 Eberhart에 의해 새 떼나 물고기 떼의 이동 패턴에서 영감을 받아 소개되었습니다 [2]. 핵심 아이디어는 매우 우아합니다. 각 입자 (candidate solution, 후보 해)는 위치(position)와 속도(velocity)를 가집니다. 속도는 세 가지 힘을 기반으로 업데이트됩니다.
관성 (Inertia): 동일한 방향으로 계속 이동하게 합니다. 이는 운동량을 제공하며 입자가 너무 급격하게 경로를 변경하는 것을 방지합니다.
인지적 끌림 (Cognitive pull): 입자를 자기 자신이 알고 있는 최적의 위치 (personal best)로 끌어당깁니다. 이는 개별적인 기억으로, 입자가 좋은 해를 찾았던 위치를 기억하는 것입니다.
사회적 끌림 (Social pull): 입자를 군집 전체가 알고 있는 최적의 위치 (global best)로 끌어당깁니다. 이는 집단 지성 (collective intelligence)으로, 입자가 군집 내 누군가가 찾아낸 최적의 해에 영향을 받는 것을 의미합니다.
속도 업데이트 방정식은 이 세 가지를 모두 결합합니다:
v_new = w * v_current
+ c1 * rand() * (personal_best - position)
+ c2 * rand() * (global_best - position)
여기서 w는 관성 가중치 (inertia weight), c1은 인지 계수 (cognitive coefficient), c2는 사회적 계수 (social coefficient)이며, rand()는 확률성 (stochasticity)을 도입합니다.
이는 차분 진화 (DE)와 근본적으로 다른 탐색 역학을 생성합니다. 한 입자가 좋은 적대적 섭동 (adversarial perturbation)을 찾으면, 군집 전체가 해당 영역으로 끌려갑니다. 정보가 유전적 (genetically) 방식이 아닌 사회적 (socially) 방식으로 전파됩니다. 그 결과, PSO는 일반적으로 DE보다 더 빠르게 수렴하는데, 이는 좋은 해가 돌연변이 (mutation)와 선택 (selection)을 통해 점진적으로 퍼지는 대신 즉각적으로 방송되기 때문입니다.
Mosli 등은 그들의 AdversarialPSO 시스템 (ESORICS 2020) [3]에서 적대적 공격을 위해 PSO를 변형했습니다. 그들은 이미지를 블록으로 나누고 입자들에게 서로 다른 블록 조합을 탐색하도록 할당하여, 거친 탐색에서 정밀한 탐색으로 이어지는 (coarse-to-fine) 탐색 구조를 만들었습니다. 결과는 다음과 같습니다: CIFAR-10에서 94.9%, MNIST에서 98.5%, ImageNet에서 96.9%의 성공률을 기록했으며, 쿼리 횟수는 이전 연구들과 유사했습니다. 코드는 GitHub에 오픈 소스로 공개되어 있습니다.
PSO는 오디오 적대적 공격 (audio adversarial attacks)에도 적용되어 왔습니다. Mun 등(2022)은 음성 인식 시스템을 대상으로 적대적 예시 (adversarial examples)를 제작하기 위해 PSO를 사용하였으며, 유전 알고리즘 (genetic algorithm) 기반 방식보다 쿼리 횟수를 71% 줄이면서도 96%의 공격 성공률을 달성했습니다 [4]. 동일한 알고리즘 프레임워크, 다른 모달리티 (modality), 동일한 효과성입니다.
주요 약점은 조기 수렴 (premature convergence)입니다. 만약 전역 최적해 (global best)가 지역 최적해 (local optimum)에 갇히게 되면, 군집 전체가 그곳으로 붕괴됩니다. 다중 그룹 PSO 변형 모델들은 주기적인 재분배를 통해 별도의 하위 군집 (sub-swarms)을 유지함으로써 이 문제를 해결하지만 [5], 적대적 영역이 좁고 찾기 어려운 이미지 데이터에서는 기본 PSO가 실패할 수 있습니다.
인공 벌 군집 (Artificial Bee Colony): 분업
2005년 Karaboga가 도입한 ABC [6]는 PSO보다 더 정교한 구조로 꿀벌의 먹이 탐색 (foraging)을 시뮬레이션합니다. 세 그룹의 벌이 서로 다른 역할을 수행합니다.
**고용 벌 (Employed bees)**은 알려진 먹이원 (기존의 후보 해)을 활용합니다. 각 고용 벌은 자신에게 할당된 해의 이웃 영역을 탐색하며 개선 사항을 찾습니다. 이는 이미 유망한 것을 정교화하는 집중화 (intensification) 과정입니다.
**방관 벌 (Onlooker bees)**은 고용 벌의 결과를 관찰하고 확률적으로 어떤 해를 강화할지 선택합니다. 더 나은 해일수록 더 많은 방관 벌을 끌어들입니다. 이는 약한 해를 즉시 버리지 않으면서도 선택 압력 (selection pressure)을 생성합니다. 즉, 약한 해는 단지 관심을 덜 받게 될 뿐입니다.
**정찰 벌 (Scout bees)**은 핵심적인 혁신 요소입니다. 정해진 반복 횟수 (limit 파라미터) 이후에도 해가 개선되지 않으면, 해당 해를 담당하던 고용 벌은 이를 포기하고 정찰 벌이 되어 새로운 해를 무작위로 탐색합니다. 이는 기본 형태의 PSO에는 결여된, 지역 최적해로부터 벗어나기 위한 내장된 탈출 기제 (escape mechanism)입니다.
ABCAttack (2022)은 이를 적대적 예제 생성 (adversarial example generation)에 적용하여, 비표적 공격 (untargeted attacks) [7]에서 MNIST 100%, CIFAR-10 98.6%, ImageNet 90%의 성공률을 달성했습니다. 이 공격은 그래디언트 프리 (gradient-free) 방식이며, 적대적 학습 (adversarial training) (설정에 따라 62-88%의 성공률 달성) 및 입력 변환 방어 (input transformation defenses) (JPEG 압축 적용 시 ImageNet에서 78% 성공률)를 포함한 여러 방어 기제에 대해 효과적임이 입증되었습니다.
정찰 벌 (scout bee) 메커니즘은 ABC를 공격 도구로서 PSO와 차별화하는 요소입니다. PSO의 군집은 지역 최적해 (local optimum)로 붕괴되어 그 상태에 머물 수 있습니다. 반면 ABC의 정찰 벌들은 솔루션이 정체될 때 자동으로 탐색을 재시작합니다. 적대적 공격의 관점에서 이는, 실제 문제가 적대적 예제의 부재가 아니라 조기 수렴 (premature convergence)인 경우에도 ABC가 "공격 실패"를 보고할 가능성이 더 낮음을 의미합니다.
탐색 역학 (Search Dynamics) 비교
세 알고리즘은 최적화에 대한 세 가지 서로 다른 철학을 나타냅니다:
DE (진화, evolution): 무작위 변이 (random mutation)와 적자생존. 후보들 간의 통신 없음. 광범위한 탐색, 느린 수렴. 희소한, 건초더미 속 바늘 찾기 식의 탐색 (one-pixel attacks)에 최적.
PSO (사회적 학습, social learning): 입자들이 전역 최적해 방송 (global best broadcasting)을 통해 좋은 영역에 대한 정보를 공유함. 빠른 수렴, 조기 붕괴 위험. 쿼리 (query) 비용이 높고 결과를 빠르게 얻어야 할 때 최적.
ABC (분업, division of labor): 내장된 정체 탐지 기능을 갖춘 구조화된 역할. 중간 정도의 수렴 속도, 강력한 지역 최적해 탈출 능력. 적대적 지형 (adversarial landscape)에 함정이 많고 더 큰 쿼리 예산을 감당할 수 있을 때 최적.
| DE | PSO | ABC | |
|---|---|---|---|
| 정보 공유 | 없음 (독립적 진화) | 전역 최적해 방송 | 관찰 벌 선택 (Onlooker bee selection) |
| ... |
데모 1: 이미지 분류에 대한 PSO 공격
다음은 CIFAR-10 분류기에 대한 독립적인 PSO 공격입니다. 만약 이전 포스트의 one-pixel 공격에서 DE 공격을 실행해 보셨다면, 이 데모는 동일한 모델과 데이터셋을 사용하므로 탐색 역학을 직접 비교해 볼 수 있습니다.
"""
pso_adversarial_attack.py
...
이 공격은 세 개의 픽셀을 수정합니다 (DE 포스트의 한 개와 비교했을 때). 이는 PSO의 탐색 역학 (search dynamics)이 다중 픽셀 섭동 (multi-pixel perturbations)에 더 적합하기 때문입니다. 속도 메커니즘 (velocity mechanism)은 반복 (iterations) 과정에서 관성을 유지하므로, 유망한 픽셀 위치를 찾은 입자 (particles)들은 무작위로 점프하는 대신 근처의 색상 값을 계속해서 탐색합니다. DE의 단일 픽셀 공격과 함께 실행하여 비교해 보세요: PSO는 일반적으로 성공적인 섭동을 찾는 데 더 적은 쿼리 (queries)를 사용하지만, 섭동에 포함되는 픽셀의 수는 더 많습니다.
교차 모달 (Cross-Modal): 오디오에서의 PSO
이미지 데모는 PSO가 픽셀 값을 공격하는 것을 보여줍니다. 하지만 알고리즘은 자신이 이미지를 공격하고 있다는 사실을 알지 못합니다. 알고리즘은 섭동 (perturbation)을 매개변수화 (parameterize)하고, 모델에 쿼리하며, 최적화 (optimize)할 뿐입니다. 동일한 프레임워크는 섭동 공간 (perturbation space)을 정의하고 적합도 (fitness)를 평가할 수 있는 모든 모달리티 (modality)에 적용됩니다.
오디오의 경우, 적응 과정은 간단합니다. 픽셀 좌표와 RGB 값을 최적화하는 대신, 오디오 신호에 추가되는 섭동 파형 (perturbation waveform)을 최적화합니다. 탐색 공간 (search space)을 다룰 수 있는 수준으로 유지하기 위해, 각 파형을 주파수 (frequency), 진폭 (amplitude), 위상 (phase)으로 정의되는 사인파 성분 (sinusoidal components)의 합으로 매개변수화합니다. 그런 다음 PSO는 섭동 예산 (perturbation budget, 일반적으로 신호 대 잡음비 (signal-to-noise ratio)로 측정됨) 내에 머물면서 오분류 (misclassification)를 유발하는 조합을 찾기 위해 이러한 매개변수들을 탐색합니다.
# 오디오 공격 매개변수화 (개념적)
# 픽셀당 [x, y, r, g, b] 대신, 각 입자는 다음을 인코딩합니다:
# [freq1, amp1, phase1, freq2, amp2, phase2, ...]
...
속도 업데이트 (velocity update), 개인/전역 최적값 추적 (personal/global best tracking), 그리고 수렴 역학 (convergence dynamics)은 이미지 공격과 동일합니다. 알고리즘은 진정으로 모달리티에 신경 쓰지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기