오랜만에 쓰는 글~
곧 학부 졸업을 앞두고 있어서, 오늘은 나의 학사 졸업 논문 회고 글로 돌아왔다.
논문 제목은
SemiFRL : Semi-Supervised Federated Reinforcement Learning for Clients Selection and Adaptive Pseudo Labeling
논문의 주된 theme을 키워드로 정리해 보면 아래와 같다.
# Semi-Supervised Learning (반지도 학습)
# Federated Learning (연합학습)
# Reinforcement Learning (강화학습)
# Client Selection (클라이언트 선택)
# Adaptive Pseudo Labeling (동적 의사 레이블링)
핫한 키워드도 있고 생소한 것도 있을 듯 하다.
자세한 리뷰 전에 키워드 개념을 하나씩 풀어 보도록 하자~
Semi-Supervised Learning
지도학습과 비지도학습의 중간이라고 생각하면 된다. 비유하자면 시험 답지가 일부만 있는 상황.
100장의 시험지 중 정답이 적힌 답안지가 10장 뿐인 거다.
그렇다면 먼저 정답이 적힌 10장을 보고 채점 기준을 만든 뒤, 그 기준으로 나머지 시험지를 보면서 “이건 거의 확실히 맞은 것 같다” 하며 추정 채점을 할 것이다.
이때 추정 채점으로 90장의 시험지를 정답/오답으로 분류하는 과정을 Pseudo Labeling 이라 한다.
이 추정이 반복될수록 (데이터 샘플을 많이 검토할수록) 채점 기준이 점점 정교해질 것이다. 이를 conficence가 높아진다고 한다. 확실한 정답 처리를 위해 특정 임계치 이상의 confidence를 가진 시험지만 필터링한다고 하면, 이때의 임계치를 confidence threshold라고 한다. 뒤에서 나올 개념이라 짧게 설명했다.
한 마디로 Semi-Supervised Learning (이하 SSL)이란 다음과 같다.
“적은 정답으로 많은 데이터를 이해하려는 학습 방식”
SSL은 현실적으로 중요한 시나리오이다. 넘쳐나는 데이터 샘플에 대한 정답 라벨을 만드는 것은 시간과 인력, 비용이 많이 들기 때문이다. 가령 희귀병 진단을 위해 의료 데이터 샘플을 라벨링 한다면 꽤 오랜 시간 동안 전문가 인력을 고용해 진행해야 할 것이다.
Federated Learning

이번에는 여러 학교가 있다고 가정해 보자.
각 학교는 시험지를 가지고 있지만 보안 문제로 외부 반출이 금지되어 있다.
그렇다면 전국 공통의 채점 기준을 어떻게 만들어야 할까?
1. 우선 입시 본부에서 “초기 채점 기준”을 보낸다. (=model initialization)
2. 각 학교는 자기 시험지만 사용해서 채점 기준을 개선한다. (=local model training)
3. 개선된 기준만 본부로 보낸다. 이때 시험지는 절대 이동하지 않는다. (=upload, 이때 로컬 모델/데이터 전체를 보내는 게 아닌 학습된 모델 파라미터만 보내면, 프라이버시 이슈가 해결된다.)
4. 본부는 여러 학교의 기준을 합쳐서 더 좋은 기준을 만든다. (=global model aggregation & update, 이때 단순히 받은 데이터를 가중평균해 합칠지, 글로벌 데이터로 파인튜닝할지는 설계자 마음!)
1~4의 과정을 반복하면 하나의 성숙한 글로벌 모델과 여러 데이터에 일반화된 동시에 로컬 데이터에 특화된 로컬 모델이 나온다.
Federated Learning (이하 FL)은 아직 산업에 널리 쓰이지 않는 기술이지만, 시간이 지날수록 데이터가 파편화되고 보안이 중요해지면서 효과적인 패러다임으로 작용할 것이다.
앞서 소개한 두 개념을 합친 Semi-Supervised Federated Learning (이하 SSFL)은 좀 더 현실적인 시나리오가 된다.
스마트폰 사용자 데이터, 병원 환자 데이터, IoT 센서 데이터 등은 1) 개인정보 때문에 데이터 공유가 불가하고, 2) 대부분 라벨이 없다. 이렇게 되면 올바른 레이블링을 하기 위해 많은 노력이 든다.
2번에 대한 보충 설명) 스마트폰 유저에게 갤러리 속 사진에 등장하는 사물을 레이블링 하라고 하면 "내가 왜?" 라고 할 것이다.
또는 숙련된 의사나 인프라가 없는 지방 병원에게 10,000장의 암세포 사진을 주고 양성 여부를 판단하라 하면 불가능할 것이다.
이때 각 유저 (로컬 혹은 클라이언트라 명명)의 데이터는 서로 다른 특성을 가질 것이다 (=non-independent and identically distributed, non-IID). 이 non-IID 데이터로 인해 모델 학습 중 client drift, slow convergence, biased updated 등의 문제가 생긴다.
Reinforcement Learning

강화학습 (이하 RL)은 행동을 해보고 결과를 통해 배우는 학습 방식이다. 지도학습처럼 정답을 알려주지 않는 대신, agent가 취한 행동이 좋았는지/나빴는지를 알려준다.
RL을 이해하는 데에는 몇 가지 용어 정의가 필요하다.
- Environment: 그림에서 강아지가 있는 환경을 말한다. 공/간식/장애물이 있는 세상. 즉, 문제가 주어지는 공간이다.
- Agent: 행동하는 주체 (강아지)로, 학습 상황에 따라 로봇, 자율주행차, 추천 시스템, 게임 AI 등이 될 수 있다.
- Observation: 관찰한 결과들로, RL에서는 이것을 state라고 부른다. 그림에서는 강아지가 주변 공의 개수와 위치 등을 파악하는 것이 될 수 있겠다.
- Action: 강아지는 공을 잡으러 갈지, 그냥 앉아 있을지 선택한다. RL의 본질은 '어떤 상태(state)에서 어떤 행동(action)을 해야 하는가?'로 정의된다.
- Reward: 행동 후 이에 따른 결과가 나온다. 가령 공을 가져오면 간식을 주고(positive reward), 엉뚱한 곳을 가면 페널티를 받는다(negative reward).
행동을 반복하며 에이전트는 어떤 행동을 했을 때 보상을 제일 많이 받는지 깨닫게 된다. 이를 Policy Learning이라 한다. 궁극적으로 RL은 정답을 배우는 것이 아닌, 보상을 최대화하는 행동 전략을 배우는 것이다.
FL에서의 client selection & adaptive threshold selection은 이 논문의 main task인데, 다음 글에서 다뤄 보도록 하겠다.
'Project' 카테고리의 다른 글
| 졸업 논문 리뷰: Semi-Supervised Federated Reinforcement Learning (2) (0) | 2026.02.18 |
|---|