프로젝트

[졸업 프로젝트] 프로젝트 첫 발자취 2: 모델 설계

곽곽 2024. 11. 26. 23:42

이전 포스팅

- [Starprint] 프로젝트 첫 발자취 1: Starlink & Website Fingerprinting

 

[Starprint] 프로젝트 첫 발자취 1: Starlink & Website Fingerprinting

Starlink란?한때, 일론 머스크가 어마무시한 규모로 우주선을 쏘아 올린 적이 있었습니다.단순히 SpaceX의 실험으로 보일 수도 있었으나,사실 그 안에는 Starlink 위성이 포함되어 있었습니다. 스타링

blog-501b-21207b.tistory.com

 

앞선 포스팅에서 스타링크와 Website Fingerprinting(WF)에 대해 간략히 소개했습니다.
이번 포스팅에서는 저희 팀이 진행 중인 프로젝트 설계에 대해 구체적으로 이야기해보고자 합니다.


Website Fingerprinting 연구는 보통 아래의 세 가지 단계를 거칩니다.

 

1. Feature 탐색
:
데이터에서 유의미한 패턴이나 특징을 찾아냅니다.

 

2. Classification 모델 설계
:
탐색한 feature를 바탕으로 효과적인 분류 모델을 구축합니다.

 

3. 파라미터 튜닝
:
모델의 성능을 최적화하기 위해 주요 파라미터를 조정합니다.

 

이 과정에서 데이터에서 어떤 feature를 추출하는지,

어떤 방향으로 모델을 발전시키느냐가 연구의 방향을 크게 가릅니다.
예를 들어, TikTok이나 burst 데이터를 분석해 강력한 feature를 발굴하는 것이 좋은 연구가 될 수도,
Deep Fingerprinting(DF)처럼 성능이 뛰어난 모델을 설계하는 것이 좋은 연구가 될 수도 있습니다.

 

현재 스타트 단계인 저희 팀은 일단 한 가지 방향을 포기하기 보다는,

두 가지 방향에서의 모든 가능성을 탐색해보는 데 중점을 두고 있습니다.

 

Starlink vs Fiber Internet (기존 인터넷)

 

스타링크는 기존의 유선 인터넷과는 완전히 다른 방식으로 통신을 하며, 이에 따라 큰 차이점을 보입니다.

기존 인터넷은 물리적이고 고정된 기지국과 end-to-end 경로를 사용하기 때문에 매우 안정적입니다.

하지만 거리가 늘어날수록 지연 시간(latency)이 증가하는 문제를 가지고 있습니다.

반면 스타링크는 지구를 둘러싼 수많은 저궤도 위성을 이용해 패킷을 전송합니다.

이를 통해 먼 거리에서도 빠른 통신이 가능하지만,

공중을 지나가는 패킷이 날씨 등의 외부 환경에 의해 영향을 받을 수 있습니다.

자명하게도 스타링크는 조금 더 불안정한 네트워크 연결 환경을 제공하며,

이로 인해 높은 지연 지터(delay jitter)와 많은 재전송(retransmission)이 발생하는 단점이 있습니다.

 

이러한 단점은 사실, 스타링크의 가장 큰 특징이기도 합니다.

 

저희는 스타링크 환경에서의 Website Fingerprinting을 주제로 연구를 진행하며,

지도 교수님과 멘토님과의 상담을 통해 스타링크의 두 가지 주요 단점인 높은 지연 지터와 재전송을

우리가 포착할 수 있는 특성으로 변환하고,

이를 기반으로 유의미한 feature를 추출하여 높은 성능을 보이는 모델을 설계하는 방향으로

연구를 설정하였습니다.

 

데이터 탐색

저희 는 아래의 데이터셋을 활용하여 연구를 진행하고 있습니다.

https://paperswithcode.com/dataset/starlink-on-the-road-data-set

 

Papers with Code - Starlink-on-the-Road Data Set Dataset

This data contains throughput, RTT, power consumption and speed data measured with Starlink during mobility setups.

paperswithcode.com

 

데이터셋은 총 75개의 클래스(사이트)와

각 클래스마다 80개의 인스턴스(서브페이지)로 이루어져 있습니다.

각 파일에는 timestamp, direction, size라는 3가지 정보만 포함되어 있습니다.

 

실제로 더 raw한 데이터를 얻고자 논문 저자에게 직접 연락을 시도했지만,

용량 문제로 이 데이터셋 외에는 제공할 수 없다는 답변을 받았습니다.

 

기존의 Website Fingerprinting 연구는 일반적으로 Tor 브라우저를 타겟으로 한 경우가 많았습니다.

따라서 스타링크를 대상으로 한 연구는 상대적으로 적었고,

어떤 feature를 사용할지에 대해 고민이 많았습니다.

 

저희는 이번 연구에서 size라는 feature에 집중했습니다.

Tor 브라우저는 패킷의 크기(size)로부터 사용자의 검색 기록이 노출되는 것을 방지하기 위해

항상 512B의 배수로 패킷을 패딩합니다.

이러한 점에서 기존 Website Fingerprinting 연구에서는 size 정보가 거의 무시되었으나,

스타링크에서는 이 feature가 중요한 역할을 할 수 있을 것이라고 확신하였습니다.

 

따라서 저희는 이 size feature를 적극 활용하여

스타링크에서 높은 성능을 보이는 Website Fingerprinting 모델을 연구하기로 하였습니다.

 

모델 설계

저희는 현재 direction, size, TikTok, IPD, TAM 등 다양한 feature를 탐색하며 모델을 설계하고 있습니다.

먼저, 기존 Website Fingerprinting 연구에서 잘 활용되지 않았던 모델을 활용하여,

추출된 feature를 기반으로 classification 성능을 계산해보았습니다.

지금까지 시도한 모델들...

 

위 그래프는 direction feature를 기반으로 VGG-19와 VGG-16을 학습시킨 결과입니다.

눈에 띄는 점은 training accuracy와 validation accuracy 사이의 큰 차이입니다.

이는 모델이 데이터셋에 대해 잘 학습되고 있음을 의미하지만,

1. 큰 intra-class variation

작은 dataset

이 두 가지 이유로 인해 심각한 overfitting이 발생하고 있다는 것을 시사합니다.

 

또한, VGG-16이 VGG-19보다 더 높은 validation accuracy를 보였다는 점도 흥미롭습니다. VGG-16의 정확도가 35%에서 42%로 더 높은 성능을 보였고, 더 많은 레이어를 가진 VGG-19보다 더 나은 결과를 냈습니다.

저희는 이 점에 주목하여, 무거운 모델이 반드시 성능을 보장하지 않는다는 것을 깨달았고,

다른 도메인에서 사용되는 모델을 새롭게 Website Fingerprinting 문제에 적용해보기로 했습니다.

바로 Llama 3.2 1B 모델입니다.

 

생성형 모델의 도입

기존에는 생성형 모델을 활용한 Website Fingerprinting (WF) 연구가 많지 않았습니다.

그 이유는 이미 CNN 기반 모델이 뛰어난 성능을 보이고 있고,

분류 문제에서 높은 cost를 가지는 모델을 적용할 필요가 없었기 때문입니다.

 

하지만 기존의 CNN 기반 모델이 스타링크 환경에서는 기대만큼 성능을 내지 못하고 있는 상황에서,

저희는 다른 도메인에서 사용되는 모델을 적극적으로 활용해보기로 했습니다.

 

저는 Llama 3.2 1B 모델을 활용하여 데이터셋으로부터 임베딩 벡터를 추출하고,

이 임베딩 벡터를 feature로 사용하여 classification 모델에 적용하는 연구를 진행하고 있습니다.

2024년 9월, 메타에서 발표한 Llama 3.2는 압도적으로 경량화된 모델로 주목받고 있습니다.

앞서 언급한 것처럼, 저희 연구에서 가장 큰 문제 중 하나는 overfitting이었고,

오히려 얕은 모델에서 더 높은 성능을 보였다는 점이었습니다.

저희는 바로 이 Llama 3.2 버전의 경량 모델이 우리의 연구에 도움이 될 것이라 예상하며,

direction, TikTok, IPD, burstsize, size와 같은 특성을 기반으로 모델을 학습해 보았습니다.

 

그 결과 놀라운 실험결과를 얻을 수 있었습니다.

안타깝게도 이전에 겪었던 overfitting 문제는 이 모델에서도 여전히 발생했습니다.

그럼에도 불구하고, 몇 가지 중요한 발견을 할 수 있었습니다.

 

먼저, 학습 초반에 validation accuracy의 급격한 변동이 눈에 띄었습니다.

자연어를 임베딩하는 모델에 실수 형태의 데이터를 사용하다 보니,

모델이 새로운 데이터에 적응하는 데 어려움을 겪고 있는 것으로 보입니다.

그러나 학습이 진행됨에 따라 변동 폭이 줄어드는 모습이 확인되었습니다.

 

비록 여전히 overfitting이 심하지만,

accuracy가 약 51%로 증가했다는 점은 긍정적으로 받아들일 수 있습니다.

큰 변화는 아니지만, 성능이 증가하고 있다는 점은 의미 있는 발전이라고 할 수 있습니다.

 

또한, 팀원들이 실험을 진행하면서

normalization과 새로운 optimizer의 도입이 모델 성능 향상에 도움이 된다는 사실을 발견했습니다.

제가 발견한 생성형 모델의 적용 가능성에 더해, 팀원들이 발견한 새로운 접근 방법을 도입함으로써

저희 팀은 더 높은 성능의 feature와 모델을 만들어내는 것을 목표로 열심히 연구에 임하고 있습니다.