데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      AI 기반 5G 단말 성능/소비 전력 최적화 - 연구과정(2)

      ybgood 22.09.20
      1,201 13 2

      안녕하세요! 지금부터 SKT AI Fellowship 4기 "AI 기반 5G 단말 성능/소비 전력 최적화" 연구과제를 수행중인 Lumos 팀의 중간 연구과정을 소개드립니다.

      1. 연구 과제 소개

      저희 Lumos 팀의 목표는 단말의 성능 저하를 최소화하면서 전력 소모를 줄일 수 있는 동작을 발굴하고 상용 망에서의 예상 효과를 파악하는 것입니다.

      1.1 연구 과제의 필요성

      UE의 RRC의 state에 따라 radio resource 사용량이 결정되고, 이는 UE energy consumption 및 user experience에 많은 영향을 미치게 됩니다. 특히 5G는 LTE 대비 data rate의 증가와 함께 기본적인 UE power 소모량이 예전보다 증가하였습니다. 그러나 RRC connected에서 RRC idle 상태 전환 시, 고정된 시간 이후에 RRC idle 상태로 전환되는 문제가 있습니다.

      즉, 이를 inactivity timer라고 하는데 현재 네트워크 운영자가 fiexd inactivity timer를 설정하기 때문에 UE의 radio resource 및 battery energy를 낭비하게 됩니다 (e.g., tail energy consumption).

      Lumos_1.png

      1.2 연구 과제의 목표

      Inactivity timer 감소 빈도수가 불필요하게 잦아지면 오히려 long delay를 유발할 수 있고, 이는 radio access network에서 추가 processing을 위한 오버헤드를 발생시킵니다. 따라서 본 연구과제에서는 UE의 향후 데이터 트래픽 사용량을 예측하여, long inactivity timer가 발생하는 구간을 선택하여 UE별로 adaptive inactivity timer를 설정 및 power consumption을 줄이는 방법을 제안합니다.

      2. 데이터 수집 및 전처리

      2.1 데이터 수집

      가장 먼저 5G 환경의 urban real world scenario에서 XCAL 솔루션 tool을 사용해 실시간으로 데이터 네트워크 성능 측정을 진행하였습니다.

      크게 아래와 같이 3가지의 경우로 나누어 측정하였는데

      1. (static) 움직이지 않는 정적인 상태에서 유튜브 또는 유튜브 뮤직을 사용했을 때의 네트워크 트래픽 측정

      2. (Low mobility) 즉 10km/h 이내 낮은 속도로 움직이는 환경에서의 트래픽 측정

      3. (High mobility) 자동차 및 대중교통을 이용했을 때 발생하는 트래픽 변화 측정

      각 환경에서의 데이터는 한번 측정할 때마다 약 1시간 동안의 데이터 트래픽을 측정하였습니다.

      Lumos_2.png

      아래 그림과 같이 XCAL 솔루션을 사용하여 5G NR Custom Graph (e.g., RSRP, RSRQ, SNR, PUSCH/PUCCH Tx Power) 등 약 200여개의 dataset을 수집하였습니다.

      Lumos_3.png

      2.2 데이터 전처리

      약 1시간 동안의 네트워크 트래픽을 측정하여, 62개의 항목에 대한 트래픽 analytics 결과를 도출하였고, 결과적으로 총 timestamp별 약 60만개의 dataset 추출하였습니다.

      아래 그림과 같이 측정된 데이터들은 missing data 및 timestamp interval이 불규칙한 raw data로 되어 있습니다. 이러한 raw dataset을 training이 가능한 input data 형태로 만드는 것을 가장 먼저 진행하였습니다.


      Missing data는 일반적으로 imputation, interpolation, delet로 processing 등이 가능합니다. 그러나 각 항목별로 role이 다르기 때문에 각 항목마다 다른 missing data 처리를 해주었습니다.

      • Imputation: dataset 전체의 관측에 기반하여 누락된 데이터를 채워넣는 방법

      • Interpolation: 대치법의 한 형태로 인접한 데이터를 사용하여 누락된 데이터를 추정하는 방법

      • Delete: 누락된 데이터의 기간을 완전히 사용하지 않는 방법

      Lumos_4.png

      우선 time stamp는 일정 주기의 interval로 sampling 필요하나 지금 raw dataset는 0.001sec의 주기를 가지고 있기 때문에 이를 0,1 sec 간격으로 down sampling 하였습니다. 또한 기존 70만개의 raw dataset을 downsampling 거쳐 약 7만개의 input dataset으로 생성하였습니다.


      Input vecto에 있는 missing data는 각 항목마다 다른 방법으로 해결하였습니다.

      • RSRP/RSRQ/SINR 값은 imputation 방법을 사용해 0.1sec 단위로 averag를 계산해서 데이터 보완

      • PUSCH power 및 PDSCH PRB Number 경우, interpolation 방법을 사용해 인접한 데이터의 값을 대치하여 누락된 데이터 추정

      • Throughput과 관련된 데이터는 누락된 timestamp 동안의 값은 사용되지 않았기 때문에 0으로 설정

      이 과정을 통해서 missing data 처리 진행하였고, 아래 그림과 같은 결과를 도출하였습니다.

      Lumos_5.png

      2.3 전처리 데이터 분석

      Inactivity timer를 adaptive하게 조절하기 위해서는 데이터 트래픽의 여부를 확인해야 합니다. 이를 위해서는 62개의 input vector 중에서 data traffic을 파악할 수 있는 input vector를 선택해야 합니다.


      그 중에서 대표적인 항목에 대한 그래프를 아래 그림으로 나타내었습니다.

      LTE Events는 왼쪽 표와 같이 각 항목을 one-hot encoding으로 표현하여 그래프로 표현하였는데 timestamp 전반에 걸쳐 RRC connection 과 setup이 발생함을 확인하였습니다. 이는 불필요한 inactivity timer도 발생할 수 있음을 나타내며, power consumption을 줄이기 위한 연구의 타당성을 뒷받침해 줍니다.

      Lumos_6.png

      앞서 말한 바와 같이 RRC state transition에서 발생하는 불필요한 inactivity timer를 줄이기 위해서는 먼저 과거의 네트워크의 데이터 트래픽 양을 통해 미래의 데이터 트래픽 양을 예측할 수 있습니다. 이와 관련된 데이터로 Tx Byte, UL throughput, PUSCH throughput 등의 항목을 필터링 할 수 있었고, 62개 중에서 아래 그림의 3개 항목을 input vector로 선정하였습니다.

      Lumos_7.png

      마지막으로 input vector 마다 스케일이 크게 차이가 나는 데이터를 입력하면 머신러닝 모델 학습에 문제가 발생할 수 있습니다. 따라서 일반적으로 컬럼 간에 범위가 크게 다를 경우 전처리 과정에서 데이터를 정규화하는 과정이 필요하기 때문에 이상치 값을 제거하고, Z-score를 사용하여 outlier를 설정한 최대/최소 값으로 대체하였습니다. 또한 Min-Max Scaling을 통해 값의 범위를 0~1 사이로 조절하였습니다.

      Lumos_8.png

      3. Model Training

      일반적으로 시계열 데이터의 예측을 위해서는 LSTM 모델을 사용합니다. 그러나 LSTM이 추세를 유지하고 정밀한 시계열 데이터에 대해서는 좋은 성능을 보여주지만, 추세가 유지되지 않고 변화가 심한 데이터(extreme data)에 대해서는 예측값이 특정 상수 값으로 수렴하게 되어 정확도가 저하되는 문제가 있습니다.

      실제로 input data를 가지고 LSTM을 실행해본 결과 모든 예측 결과가 0 으로 수렴하는 문제가 발생했습니다. Throughput은 0.1sec 마다 데이터가 드물게 발생하는 sparse data이기 때문에 예측 결과가 0으로 수렴하게 됩니다. 따라서 이러한 문제를 해결하기 위해 CNN-LSTM 모델을 사용하였습니다.


      CNN-LSTM은 아래 그림과 같이 CNN 모델을 사용하여 인접 잔차 간의 공간적 관계를 추출한 다음 LSTM 모델을 사용하여 CNN 모델에 의해 추출된 이러한 특징의 장기 시간 종속성을 캡처합니다.

      Lumos_9.png


      아래 그림은 CNN-LSTM 모델을 사용하여 추출한 throughput 예측 결과입니다.

      환경은 5G 측정, Youtube 사용, 고정된 위치에서 측정한 데이터를 사용하였고, 총 65,000개의 training dataset과 5,000개의 test dataset으로 구성하였습니다.

      그래프는 0.1sec (x축)마다 측정한 throughput 예측 결과 (y축) 을 나타냅니다.

      Lumos_10.png

      위의 결과를 바탕으로 10sec 이내에 데이터가 발생하는 지를 볼 수 있습니다. 아래 분석 결과를 보면 fixed inactivity timer (i.e.,10sec) 이내에 데이터가 다시 발생하는 확률이 거의 존재하지 않습니다. 즉, inactivity timer를 고정된 10sec로 유지하는건 의미가 없다는 것을 실험 결과로 확인이 가능합니다.

      그러나 한가지 문제는 CNN-LSTM을 사용했음에도 구간 3번과 같이 중간에 정확하게 예측하지 못하는 값이 발생합니다. 이는 추후에 CNN bidirectional LSTM 등을 사용해서 성능을 높일 수 있는 방법을 고민중입니다.

      ybgood_50.png

      4. 제안하는 프레임워크

      우리가 제안하는 프레임워크는 아래 그림과 같습니다. Apps을 통해 들어온 데이터를 APIs를 통해 Monitor로 보내 데이터 전처리를 진행하고 나서 Trainer를 통해 model을 훈련하고, Predictor를 통해 예측 결과를 도출합니다. 그 중에서 가장 중요한 부분은 Coordinator 입니다.

      중간발표 이후에는 Coordinator에서 예측한 throughput을 가지고 inactivity timer를 adaptive하게 만드는 과정을 진행할 예정입니다.

      Lumos_12.png

      Coordinator 부분을 아래 그림으로 자세하게 표현하면 예측된 결과를 바탕으로 throughput의 interval을 계산하여 이전의 inactivity timer와 예측하는 inactivity timer를 비교합니다. 이에 기존의 inactivity timer를 계속 유지할지 변경할지를 결정하는 알고리즘을 개발할 예정입니다.

      Lumos_13.png

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      ybgood 님의 최신 블로그

      더보기
      동영상 기고하기