적을수록 더 잘 보인다, 가시성 그래프 침입 탐지가 남긴 3개의 숫자
21개 위상 지표 중 클러스터링 계수 3개만으로 정확도 97.148퍼센트를 달성하고 실행 시간을 96퍼센트 줄인 NVG 기반 사이버 공격 탐지 연구를 해설합니다.
원문 논문 보기
오늘 다룰 논문은 A Multi Method Importance and Performance Efficiency Analysis of Topological Metrics for Natural Visibility Graph Based Cyber Attack Detection이며, arXiv에 2610.02342번으로 공개된 연구입니다. 이 연구가 내세우는 주장은 하나의 문장으로 정리할 수 있는데, Natural Visibility Graph에서 뽑은 21개 위상 지표 가운데 합의된 중요도 상위 3개만 써도 전체를 쓸 때보다 탐지 성능을 유지하거나 오히려 끌어올리면서 계산 비용은 크게 줄일 수 있다는 것입니다. 원문 논문으로 이어지는 링크는 제목 아래에 붙어 있습니다.
보안 탐지 논문을 읽다 보면 묘하게 피로해지는 순간이 있습니다. 정확도가 1퍼센트 올랐다는 말은 많은데, 그래서 운영자가 무엇을 덜 계산해도 되는지, 무엇을 더 봐야 하는지는 잘 안 보이기 때문입니다. 제가 이 논문에서 가장 흥미롭게 본 부분은 바로 그 지점이었습니다. 지표를 늘리는 이야기가 아니라 지표를 덜어내는 이야기였고, 덜어냈는데도 성적이 올랐다는 점이 솔직히 호기심을 자극했죠.
이 논문을 굳이 골라 읽은 이유
안녕하세요, 패트릭입니다.
평소에 네트워크 보안 쪽 논문을 보면 새로운 탐지 모델을 제안했다는 말이 자주 나옵니다. 그런데 이 논문은 모델을 새로 만들었다는 말이 아니라, 이미 있는 재료 가운데 무엇이 진짜로 먹혔는지를 따졌다는 점에서 결이 다릅니다. 저희가 새로운 AI 아키텍처를 볼 때도 benchmark 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 이 논문이 바로 그런 방식으로 접근했기 때문에 손이 갔습니다.
그렇다면 무엇이 그렇게 궁금했을까요. 트래픽을 그래프로 바꾸면 수십 가지 모양 지표가 쏟아지는데, 그중에서 매번 계산할 가치가 있는 것은 몇 개일까 하는 질문이었습니다. 현장에서는 논문에 나온 모든 지표를 계산할 여유가 없으니까요. 밤사이 트래픽이 몰리는 시간대에 탐지 파이프라인이 버거워하는 모습을 떠올리면, 지표 개수는 곧바로 야간 알람의 개수와 연결됩니다. 그래서 저는 이 연구를 일종의 다이어트 실험으로 읽었습니다. 무엇을 빼고도 같은 힘을 낼 수 있는지를 묻는 실험 말이죠. 그리고 그 다이어트의 결과가 생각보다 단호했기 때문에 글로 정리할 가치가 있다고 봤습니다.

패킷 개수가 아니라 트래픽의 모양을 본다는 발상
네트워크 트래픽을 볼 때 가장 쉬운 방법은 개수를 세는 것입니다. 초당 패킷이 몇 개인지, 바이트가 얼마나 오가는지를 재면 되니까요. 그런데 공격자는 바로 그 개수를 흉내 내는 데 능합니다. 정상처럼 보이게 속도를 조절하거나, 여러 대에 나눠서 천천히 두드리기도 하죠. 숫자만 보면 멀쩡해 보이는데 실제로는 공격이 진행 중인 경우가 생기는 이유가 여기에 있습니다.
Natural Visibility Graph, 줄여서 NVG라는 접근은 이 문제를 조금 다른 각도에서 봅니다. 시계열 값을 막대그래프처럼 세워놓고, 서로 보이는 막대끼리 선으로 잇는 방식인데요. 값이 크고 작은 것만 보는 것이 아니라 값이 시간 위에서 어떤 지형을 만드는지를 그래프 모양으로 바꾸는 것이죠. 그러면 트래픽의 리듬이 노드와 간선의 구조로 번역됩니다. 갑자기 치솟았다가 가라앉는 패턴은 허브처럼 연결이 몰리는 모양이 되고, 잔잔하게 이어지는 구간은 길게 늘어진 사슬 같은 모양이 됩니다.
생각해보면 사람도 비슷하게 봅니다. 심전도 그래프를 볼 때 숫자 하나하나를 읽기보다 전체 파형의 모양에서 이상함을 먼저 느끼잖아요. NVG도 그런 셈입니다. 트래픽을 숫자의 나열이 아니라 지형으로 읽겠다는 것이죠. 여기서 재미있는 질문이 생깁니다. 모양으로 바꾸면 무엇이 좋아질까요. 답은 공격의 흔적이 개수에는 안 남아도 리듬에는 남는 경우가 있다는 것입니다. 스캔처럼 규칙적으로 두드리는 행위나, 플러딩처럼 구조를 뭉개는 행위는 그래프의 연결 모양을 바꾸기 때문입니다. 저는 이 발상이 마음에 들었습니다. 탐지기가 바빠지는 이유가 숫자를 더 세서가 아니라 모양을 더 잘 읽어서라면, 그 계산은 쓸 만한 계산이니까요.
21개 지표가 각자 재는 것은 무엇일까
그래프를 하나 만들면 거기서 잴 수 있는 것이 한두 가지가 아닙니다. 이 연구에서는 NVG에서 뽑은 위상 지표 21개를 출발점으로 삼았는데요. 이름만 나열하면 오히려 헷갈리기 때문에 역할을 묶어서 이해하는 편이 좋습니다. 크게 보면 연결의 밀도를 재는 지표, 동네가 얼마나 뭉쳐 있는지를 재는 지표, 그리고 그래프를 가로지르는 길목이나 흐름을 재는 지표로 나뉩니다.
연결의 밀도를 재는 지표는 말 그대로 노드가 평균적으로 몇 개의 선을 갖고 있는지를 봅니다. 트래픽이 활발하게 출렁이면 가시선이 많이 생기면서 그래프가 빽빽해지는데, 그 빽빽함이 공격과 정상에서 다르게 나타날 수 있습니다. 동네의 뭉침을 재는 지표는 내 이웃끼리 서로 아는 사이인지를 봅니다. 이른바 클러스터링 계수 계열인데, 이 논문의 뒷부분에서 계속 등장하므로 미리 눈여겨볼 필요가 있습니다. 마지막으로 길목이나 흐름을 재는 지표는 그래프의 한쪽에서 다른 쪽으로 갈 때 어디를 거쳐야 하는지, 정보가 얼마나 빨리 퍼질 수 있는지를 봅니다.
문제는 그다음입니다. 21개를 다 계산하면 이론적으로는 모양을 풍부하게 볼 수 있지만, 실제로는 서로 비슷한 말을 반복하는 지표가 섞여 있을 가능성이 큽니다. 예컨대 평균을 재는 지표와 중앙값을 재는 지표는 이름은 달라도 같은 현상을 두 번 말하는 경우가 많죠. 게다가 지표마다 계산 부담이 다릅니다. 어떤 것은 그래프를 한 번 훑으면 끝나지만, 어떤 것은 모든 노드 쌍을 따져야 해서 트래픽이 길어질수록 비용이 가파르게 늡니다. 그래서 21개라는 숫자는 출발선으로는 좋지만 운영의 언어로 번역하면 곧바로 질문이 생깁니다. 이 중에서 매번 계산할 자격이 있는 것은 몇 개일까 하는 것이죠. 이 질문에 답하려면 지표의 성격을 아는 것만으로는 부족하고, 중요도를 재는 공정한 잣대가 필요합니다.

중요도를 묻는 방법이 왜 네 가지나 필요했을까
중요한 특성이 무엇이냐는 질문은 생각보다 함정이 많습니다. 하나의 방법으로만 재면 그 방법의 취향이 결과에 섞이기 때문입니다. 예컨대 어떤 방법은 모델의 예측을 직접 흔들어보고 반응을 보는데, 상관관계가 강한 특성들 사이에서는 공을 엉뚱한 쪽에 돌리기도 합니다. 그래서 이 연구는 SHAP, grouped Permutation Importance, Boruta, 그리고 Recursive Feature Elimination이라는 네 가지 방법을 함께 썼습니다. 이름이 낯설 수 있어서 각각의 성격을 풀어보겠습니다.
SHAP는 각 특성이 예측에 얼마나 기여했는지를 게임 이론의 방식으로 나누는 방법입니다. 공을 잘 넣은 선수에게만 박수를 주는 것이 아니라, 어시스트한 선수에게도 기여를 나눠주는 심판 같은 역할이죠. 반면에 Permutation Importance는 특정 특성의 값을 일부러 섞어서 성능이 얼마나 무너지는지를 봅니다. 여기서 grouped라는 말이 붙은 이유가 중요합니다. 서로 닮은 특성들을 한 묶음으로 섞어야 진짜 기여가 드러나기 때문입니다. 하나씩만 섞으면 옆에 있는 쌍둥이 특성이 대신 답을 말해줘서 중요도가 과소평가되거든요.
Boruta는 조금 결이 다릅니다. 진짜 특성들과 무작위로 만든 가짜 특성을 함께 두고 경주를 시킵니다. 가짜보다 꾸준히 잘하는 특성만 살아남는 방식이라서, 우연히 좋아 보이는 특성을 걸러내는 데 강합니다. RFE는 반대로 뒤에서부터 덜어내는 방식입니다. 전체로 시작해서 가장 불필요해 보이는 것을 하나씩 빼면서 성능 변화를 관찰하는데요. 실제로 운영에서 지표를 덜어내는 과정과 닮아 있어서 저는 이 방법이 특히 현실적이라고 봤습니다.
그렇다면 네 가지 결과가 서로 다르면 어떻게 할까요. 이 논문은 Consensus Ranking이라는 합의 순위로 묶었습니다. 심사위원 네 명이 각자 매긴 점수를 합쳐서 최종 순위를 정하는 셈인데, 어느 한 방법의 편향에 끌려가지 않겠다는 선택이죠. 저는 이 대목에서 고개를 끄덕였습니다. 보안 현장에서는 탐지기가 바뀌거나 데이터가 바뀌면 중요도 순서도 흔들리기 마련인데, 여러 잣대의 교집합을 쓰는 편이 훨씬 덜 흔들리기 때문입니다. 물론 합의가 항상 정답이라는 보장은 없습니다. 다만 적어도 특정 모델이나 특정 섞기 방식에만 운 좋게 맞는 특성을 뽑을 위험은 줄여줍니다.

1위부터 3위까지 클러스터링 계수가 차지한 이유
합의 순위의 결과는 꽤 단호했습니다. 1위는 avg_clustering_coeff_median, 2위는 avg_clustering_coeff_std, 3위는 avg_clustering_coeff_mean이 차지했습니다. 이름이 길어서 부담스럽게 느껴지실 텐데, 뜻을 풀면 단순합니다. 클러스터링 계수의 평균과 중앙값과 표준편차가 나란히 상위권을 차지했다는 말이죠. 다시 말해 동네의 뭉침 정도를 재는 지표가 가장 중요했다는 것입니다.
왜 하필 뭉침일까요. 저는 여기서 트래픽의 리듬을 떠올렸습니다. 정상 트래픽은 사용자의 행동이 섞이면서 그래프의 연결이 비교적 고르게 퍼지는 경향이 있습니다. 반면에 스캔이나 플러딩 같은 공격은 특정 리듬을 반복하거나 특정 구간을 뭉개면서 이웃끼리 과하게 연결되거나 반대로 뚝뚝 끊기는 모양을 만듭니다. 클러스터링 계수는 바로 그 뭉침의 정도를 재기 때문에 공격의 손버릇이 드러나기 쉬운 것이죠. 평균은 전체의 무게중심을, 중앙값은 치우침에 덜 흔들리는 중심을, 표준편차는 구간마다 뭉침이 얼마나 들쭉날쭉한지를 말해줍니다. 세 자매가 서로 다른 말을 하는 것처럼 보여도 사실은 하나의 현상을 세 각도에서 비추고 있습니다.
여기서는 조금 조심해서 읽을 필요가 있습니다. 세 지표가 나란히 뽑혔다는 사실은 이 현상이 중요하다는 뜻이기도 하지만, 동시에 세 지표가 서로 겹친다는 뜻이기도 하기 때문입니다. 좋은 건 알겠는데, 겹치는 것을 세 개나 계산해야 할까 하는 질문이 바로 생기죠. 연구진의 답은 뒤에 나오는 축소 실험에 있습니다. 겹쳐 보여도 세 개를 함께 쓸 때 성능이 가장 안정적이었다는 것인데, 이는 평균만으로는 놓치는 치우침과 들쭉날쭉함을 나머지 둘이 붙잡아준다는 해석으로 이어집니다. 개인적으로 인상 깊었던 점은, 화려해 보이는 길목 지표나 전역 흐름 지표가 아니라 가장 직관적인 뭉침 지표가 이겼다는 것입니다. 보안에서는 종종 단순한 신호가 오래 살아남는데, 이번에도 그 격언이 반복된 셈입니다.
21개에서 3개까지 줄여가며 시험한 설계
이제 실험 설계로 들어가 보겠습니다. 연구진은 Full21, Top15, Top10, Top7, Top5, Top3이라는 여섯 가지 구성을 만들었습니다. 합의 순위에서 위에서부터 15개, 10개, 7개, 5개, 3개씩 잘라서 쓰는 방식인데요. 전체를 쓰는 경우와 덜어낸 경우를 같은 조건에서 비교하겠다는 의도입니다. 데이터는 CICIDS2018을 썼고, 분류기는 CNN을 썼으며, 검증은 stratified 5-fold cross validation으로 했습니다.
각 요소가 왜 그렇게 골라졌는지도 생각해볼 만합니다. CICIDS2018은 실제에 가깝게 합성된 침입 탐지용 데이터로, 다양한 공격 시나리오가 시간 흐름 속에 섞여 있어서 모양 기반 방법이 리듬을 읽기에 좋은 무대입니다. CNN은 시계열이나 구조화된 특성에서 패턴을 뽑는 데 익숙한 모델이라서 위상 지표의 조합을 읽기에 무리가 없습니다. 그리고 stratified 5-fold는 데이터를 다섯 조각으로 나눠서 돌려가며 검증하되 공격과 정상의 비율을 매 조각마다 비슷하게 유지하는 방식입니다. 공격 데이터는 희귀한 경우가 많아서 한쪽 조각에 공격이 몰리면 평가가 흔들리는데, 그 흔들림을 막아주는 장치죠.
저는 이 설계에서 Top의 개수를 15, 10, 7, 5, 3으로 둔 대목이 마음에 들었습니다. 절반씩 자르는 기계적인 방식이 아니라, 운영자가 실제로 고민할 만한 지점을 찌른 느낌이기 때문입니다. 15개는 웬만한 것은 다 넣는 절충안이고, 7개나 5개는 계산 부담을 진지하게 줄이는 안이며, 3개는 극단적인 다이어트죠. 이렇게 단계별로 보면 성능이 어디에서 꺾이는지가 보입니다. 만약 3개에서 갑자기 무너지면 그 지표는 아슬아슬한 최소치라는 뜻이고, 3개에서도 버티면 그 지표는 여유가 있다는 뜻이니까요. 실험은 결국 어디까지 덜어내도 되는지를 묻는 눈금자였던 셈입니다.

적게 넣었는데 성적이 더 오른 역설
결과는 예상과 달랐습니다. 흔히 특성을 줄이면 성능이 조금은 희생된다고 생각하는데, 여기서는 Top3가 가장 높은 평균 성능을 기록했습니다. 정확도는 97.148퍼센트, 가중 F1 점수는 97.055퍼센트, MCC는 0.9675였습니다. 반면에 21개를 전부 쓴 Full21은 정확도 95.999퍼센트, 가중 F1 95.521퍼센트, MCC 0.9549로 Top3보다 낮았습니다. 숫자를 나란히 놓으면 차이가 분명해지는데, 정확도는 약 1.15퍼센트포인트, 가중 F1은 약 1.53퍼센트포인트가 Top3 쪽으로 기울었습니다.
이 차이는 생각보다 중요합니다. 왜냐하면 방향이 반대이기 때문입니다. 덜 넣었는데 더 맞췄다는 것은, 나머지 18개가 도움이 되기는커녕 모델을 헷갈리게 했다는 해석으로 이어집니다. 특성 중에 서로 겹치거나 노이즈에 민감한 것이 섞여 있으면 모델은 진짜 신호에 집중하지 못하고 곁가지에 흔들리거든요. 마치 회의실에 사람이 너무 많으면 정작 중요한 의견이 묻히는 것과 비슷합니다. 21개를 다 넣은 모델은 크게 틀리지는 않았지만, 3개로 좁힌 모델이 더 또렷하게 맞춘 셈입니다.
그렇다면 이 흐름은 어디에서 끊을 수 있을까요. 모든 데이터와 모든 모델에서 3개가 항상 이긴다는 말은 아닐 것입니다. 이 결과는 주어진 데이터와 주어진 CNN, 그리고 주어진 합의 순위에서 관찰된 사실로 읽어야 합니다. 저는 그래서 이 숫자를 축소의 성공이라기보다 선택의 성공으로 봅니다. 무작정 3개를 뽑았으면 이런 결과가 안 나왔을 테니까요. 네 가지 방법으로 교차 검증한 합의 순위가 있었기에 3개라는 작은 집합이 힘을 낸 것입니다. 숫자가 말하는 것은 결국 양보다 선별이라는 오래된 교훈인데, 보안 탐지에서는 그 교훈이 곧바로 계산 비용과 야간 장애 대응으로 연결되니 가볍게 볼 일이 아닙니다.

14961초가 589초가 되었다는 말의 무게
성능보다 더 눈에 띄는 숫자는 시간입니다. 전체 실행 시간이 Full21의 14961.39초에서 Top3의 589.22초로 줄었고, 감소율은 96.06퍼센트에 이릅니다. 4시간이 넘던 작업이 10분 안쪽으로 들어온 셈인데요. 이 차이는 단순히 기다림이 짧아졌다는 말이 아닙니다. 탐지 파이프라인의 체질이 바뀌었다는 뜻에 가깝습니다.
실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 14961초짜리 파이프라인은 어디에 둘 수 있을까요. 오프라인 분석이나 하루 한 번 돌리는 배치에는 쓸 수 있어도, 실시간에 가까운 탐지에는 올리기 어렵습니다. 반면에 589초짜리 파이프라인은 이야기가 달라집니다. 재학습 주기를 짧게 가져갈 수 있고, 새로운 공격 패턴이 보이면 그날 바로 반영하는 운영도 꿈이 아닙니다. 하드웨어로 치면 비싼 자원을 오래 붙잡아두지 않아도 되니 같은 예산으로 더 많은 구간을 감시할 수 있죠. 저희 팀 관점에서도 이런 숫자는 익숙합니다. 모델이 좋아졌다는 말보다 파이프라인이 가벼워졌다는 말이 운영 회의에서는 더 크게 들리니까요.
물론 이 시간 단축에는 특성 계산을 덜 하는 효과가 크게 들어 있습니다. 위상 지표는 그래프를 만들고 나서 재는 것이라서, 지표 개수를 줄이면 그래프 탐색과 통계 계산이 함께 줄어듭니다. 특히 길목처럼 비싼 지표를 빼면 체감 효과가 큽니다. 다만 여기서 놓치지 말아야 할 것은, 시간 단축이 정확도 희생 없이 왔다는 점입니다. 보통은 속도를 얻으면 정확도를 잃는데, 이번에는 속도를 얻으면서 정확도도 함께 얻었습니다. 이런 경우는 흔치 않습니다. 그래서 저는 이 96.06퍼센트를 단순한 최적화 숫자가 아니라 설계의 여유로 읽었습니다. 덜어낼 것을 제대로 덜어내면 시스템 전체가 숨을 쉰다는 증거 말이죠.

이 결과를 그대로 믿기 전에 멈칫한 대목
아무리 결과가 좋아도 곧바로 일반화하면 안 됩니다. 여기서는 잠시 속도를 늦추고 싶습니다. 먼저 데이터의 조건을 봐야 합니다. CICIDS2018은 잘 설계된 벤치마크지만, 현실의 트래픽을 그대로 옮겨놓은 것은 아닙니다. 합성된 배경 트래픽과 정해진 공격 시나리오는 모양 기반 방법이 잘 읽을 수 있는 리듬을 갖고 있을 수 있습니다. 현실에서는 암호화된 트래픽, CDN 뒤에 숨은 서비스, 계절성 이벤트 같은 변수가 훨씬 복잡하게 얽히죠. 그래서 Top3의 우세가 다른 네트워크, 다른 시간대에서도 같은 크기로 나타날지는 따로 확인이 필요합니다.
모델의 조건도 마찬가지입니다. CNN이라는 하나의 분류기에서 관찰된 순위이므로, 트리 기반 모델이나 시계열 모델에서는 중요도 순서가 달라질 수 있습니다. SHAP나 Permutation 같은 방법은 모델과 얽혀 있어서 모델이 바뀌면 기여도도 바뀌기 때문입니다. 합의 순위가 그 흔들림을 줄여주기는 하지만 완전히 없애주지는 못합니다. 겉보기에 단단해 보이는 합의도 결국은 같은 데이터 위에서 네 번 물어본 답이라는 점을 기억해야 합니다. 데이터가 바뀌면 합의도 다시 물어야 합니다.
또 하나 짚고 싶은 것은 Top3 내부의 겹침입니다. 평균과 중앙값과 표준편차가 함께 뽑혔다는 것은 안정성의 증거이기도 하지만, 다양성의 부족으로 읽을 여지도 있습니다. 만약 공격의 종류가 바뀌어서 뭉침이 아닌 다른 모양이 중요해지면, 세 자매가 함께 흔들릴 수 있기 때문입니다. 저는 이 대목을 약점이 아니라 다음 실험의 출발점으로 봅니다. 공격 유형별로 중요도가 어떻게 갈라지는지, 정상 트래픽의 분포가 바뀌면 순위가 얼마나 유지되는지를 보면 이 연구의 진짜 강건함이 드러날 테니까요. 지금의 숫자는 끝이 아니라 잘 닦인 출발선에 가깝습니다.
그래서 다음 연구에서 보고 싶은 장면
그렇다면 다음에는 무엇을 보면 좋을까요. 제가 앞으로 보고 싶은 것은 크게 세 가지입니다. 첫째는 공격 유형별 분해입니다. 플러딩과 스캔과 침투 시도가 각기 다른 모양을 남긴다면, Top3가 모든 공격에 고르게 강한지 아니면 특정 공격에 특화된 것인지가 궁금합니다. 운영자는 평균 정확도보다 어떤 공격을 놓치는지를 더 걱정하니까요. 밤 2시에 울리는 알람은 평균이 아니라 특정 실패에서 오기 때문입니다.
둘째는 시간에 따른 안정성입니다. 트래픽은 요일과 이벤트에 따라 리듬이 바뀌는데, 한 달 전에 뽑은 Top3가 다음 달에도 같은 순위를 유지할까요. 만약 순위가 자주 바뀐다면 합의 순위를 주기적으로 다시 계산하는 운영 루틴이 필요할 것입니다. 반대로 순위가 오래 유지된다면 3개짜리 경량 파이프라인을 고정해두고 안심하고 돌릴 수 있겠죠. 이 질문에 답하려면 같은 실험을 시간 조각별로 나눠서 돌려보는 것만으로도 충분합니다.
셋째는 계산 위치의 문제입니다. NVG를 만드는 비용 자체는 여전히 남기 때문입니다. 지표를 3개로 줄여도 그래프를 만드는 과정이 무겁다면 전체 파이프라인의 병목은 다른 곳에 있을 수 있습니다. 그래프 생성부터 특성 계산까지를 한 덩어리로 재고, 스트리밍 환경에서 창 크기를 바꿨을 때 지연이 어떻게 바뀌는지를 보면 이 연구가 실시간 탐지에 얼마나 가까워졌는지가 보일 것입니다. 좋은 건 알겠는데, 이걸 실제로 어디에 올릴지를 묻는 단계죠.
이 논문을 덮으면서 남는 생각은 단순합니다. 탐지기를 키우는 일은 재료를 쌓는 일이 아니라 버릴 것을 고르는 일에 가깝다는 것입니다. 21개에서 3개로 줄였는데 정확도는 97.148퍼센트로 올랐고 시간은 96퍼센트 줄었습니다. 숫자는 그렇게 말하고 있습니다. 물론 조건을 따져야 하고 다음 실험도 필요하지만, 방향은 분명합니다. 모양을 읽되 가볍게 읽는 것, 그리고 가벼움을 성능 희생 없이 얻는 것 말이죠. 다음에 비슷한 다이어트 실험이 다른 데이터에서 반복된다면, 저는 그 결과를 가장 먼저 챙겨볼 생각입니다.