연구동향
조회수 7057 좋아요 5 댓글 0
2019 우주전파재난 예측 AI경진대회 최우수상 수상기





지난 9월부터 시작된 전국 2019 우주전파재난 예측 AI경진대회에서 105개 팀이 참가한 가운데 1차 예선에서 18개 팀이 선발됐고, 2차 심사의 성적을 바탕으로 6개 수상팀이 결정됐다. 우리는 ASL이라는 팀명으로 참가해 최우수상을 수상했다.


이번 대회는 과학기술정보통신부 산하 국립전파연구원에서 개최한 첫 번째 대회이다.
대회의 목적은 태양활동에 의해 발생하는 우주전파재난을 예측할 새로운 인공지능 모델을 개발하는 것이었다.





 

우주 환경이란 인공위성이 운행되는 우주 공간을 포함하여, 태양의 상층대기(코로나)에서 행성 간 공간을 거쳐 지구의 자기권 및 전리층까지의 공간을 말하며, 이러한 우주 환경은 태양 활동으로 인해 끊임없이 변화한다.
 
대표적인 태양 활동 현상으로 플레어(flare), 코로나물질방출(CoronalMassEjuection, CME), 코로나 홀(Coronalhole) 등이 있다. 플레어는 강한 에너지의 빛(X-ray)을 발산하고, CME은 매우 빠른 속도(수백~수천km/s)의 대전입자로 구성된 플라즈마 덩어리를 방출하는 현상을 말한다. 또한, 코로나 홀은 자기장이 열린 공간으로 고속의 태양풍을 방출시킨다. 태양풍은 태양에서 나오는 플라즈마가 우주 공간으로 퍼져 나가는 현상을 말하며, 평상시 속도는 300~400km/s 수준이나, 코로나 홀에 의한 고속태양풍은 500km/s 이상으로 증가한다.
 
이러한 태양 활동은 지구 주변의 우주 환경을 급격하게 변화시킨다. 특히, 코로나물질방출과 고속태양풍은 지구자기장과 충돌하여 지구 본래의 자기장을 교란하고, 이로 인해 고에너지입자가 지구에 유입되어 극지방에서 오로라가 발생하게 된다. 우주 환경변화는 위성, 항공, 항법, 전력, 통신 등 다양한 산업 분야에 피해를 줄 수 있어 전 세계적으로는 재난으로 분류하여 관리하고 있다.
 
우리나라에서도 전파법(51조)에서 우주전파재난으로 정의하고 있으며, 우주전파재난 대응을 위해 2011년에 국립전파연구원 우주전파센터가 설립되었다. 국립전파연구원 우주전파센터에서는 다양한 관측시설을 운영하고 우주 환경에· 경보서비스를 연중 실시하고 있다.



 

태양풍 변화에 의한 지구 자기장 교란 정도를 예측하기 위해 주로 ACE 태양 관측 위성 자료를 사용한다. ACE 위성은 태양-지구 사이 두 천체가 중력적으로 평형을 이루는 L1 지점 (지구로부터1.5×106)에 위치하여 태양을 상시 관측하고 있다. ACE 위성 데이터는 밀도(Np), 온도(Tp), 속도(Vp), 태양풍 자기장(Bx,By,Bz,Bt) 등으로 구성된다.

또한, 지자기 교란지수(KP)는 전 세계 8개 관측소에서 관측데이터를 평균한 값으로 미국 NOAASWPC에서 제공한다. 지자기 교란지수(Kp)는0~9까지 범위이며, 3시간단위이다.
이번 AI 경진대회에서는 ACE 위성 관측데이터를 활용하여 지자기 교란지수(Kp) 예측모델을 개발하고, 예측모델 결과와 실제 지자기 교란지수(Kp)값의 비교를 통해 모델 성능을 검증한다.







대회에서는 15년 동안 1분 간격으로 측정한 태양풍 데이터와 3시간 간격으로 측정한 지자기 교란지수를 제공했다. 태양풍 데이터는 7가지 변수를 가진 하나의 샘플로 측정되었고 지자기 교란 지수는 0~9 사이의 정수로 측정됐다. csv파일로 제공해 줬기 때문에 python과 Pandas라이프러리를 통해 분석하는 것이 빠르다고 생각하여 사용했다. 데이터를 분석하면서 3가지 문제점을 찾을 수 있었다.


데이터 측정에 이상이 있을 경우를 missing data라고 하는데 대회 측에서는 이를 -9999로 표현했다. Missing data의 비율이 육안으로 보아도 상당한 비율을 차지했기 때문에 이 부분을 어떻게 처리하여 데이터 셋을 구성할 지 고민하기 위해 어느 정도의 missing data가 존재하는지 분석해 보았다.



 

데이터의 7가지 특성 중 Np, Tp부분에서 20~30%의 데이터 손실이 발생함을 확인할 수 있었고 이를 해결하기 위해 2가지 방법을 생각했다. 첫 번째는 mssing data를 제외한 부분의 확률 분포 모델을 알아낸 다음 그 분포에서 추출한 값으로 msising data를 채워 넣는 것이고, 두 번째는 zero padding 방식을 통해 missing data를 모두 0으로 처리하는 방식이었다.



제공 데이터를 살펴보면, 데이터 중간 중간에 몇 분이 빠져 있는 상황을 볼 수 있다. 이 부분은 backstepping 방식을 사용하여 바로 앞 부분의 데이터를 복사해 채워 넣는 방식으로 처리했다.






데이터의 7가지 특성들이 모두 상이한 범위의 측정값을 지녔다. 나노 단위에서부터 수십만 단위까지 차이가 컸기 때문에 심층 신경망을 활용한 학습의 경우, 이는 큰 장애가 될 수 있다. 따라서 해결방안으로 1. Min-Max Normalization 2. Standardization을 사용하는 방법을 생각해냈다.



위 3가지 문제점에 대한 해결을 통해 우리는 4가지 데이터 셋 후보를 얻을 수 있었다.



 

Ace데이터 셋은 15년간의 데이터를 모두 합친 데이터셋이다. distrib키워드와 zero키워드는 각각 어떤 방식으로 missing data를 처리했는 지를 나타낸다. Distrib의 경우 확률 모델로부터, zero의 경우 zero padding방식으로부터 missing data를 채워 넣은 경우이다. std키워드와 norm키워드의 경우 특성값들의 범위를 어떤 방식으로 스케일링해 줬는지를 나타낸다. Std의 경우 standardization을 통해, norm의 경우 normalization으로 통해 스케일링했음을 뜻한다. 이제 준비된 데이터셋들을 이용해 추가적인 전처리를 진행했다.




1. 전체 데이터를3시간씩 중복되도록 6시간 단위로 자름
2. 6시간 단위의 데이터에서 1시간 단위로 각 feature의 최대, 최소, 평균을 계산
3. 계산된 6묶음의 최대, 최소, 평균들을 하나의 batch로 완성: 126개의 data
4. 하나의 kp를 계산하기 위해 하나의 batch를 사용



최종적으로 우리는 훈련용 데이터 셋과 검증용 데이터 셋을 만들어야 한다.
위의 일련의 과정을 거쳐서 만들어진 데이터의 흐름은 다음과 같다.



 

4가지 데이터 셋 후보군들 중 어떤 데이터 셋이 가장 효과적으로 학습가능 한지는 실험을 통해 결정하였다


대회에서 사용한 모델은 심층 신경망 모델과 랜덤 포레스트 모델이었다. 두 모델 후보군은 본 팀이 실험할 당시 모두 다른 AI모델들 보다 뛰어난 정확도를 보여주었기 때문에 두가지 모델의 결과를 평균을 내어 앙상블한 값을 대회에 최종적으로 제출했다. 모델 구현은 심층 신경망의 경우 keras라이브러리를 사용하여 만들었으며, 랜덤 포레스트 모델의 경우  XGBoost라이브러리를 활용해 만들었다. 각각 모델의 세부적은 파라미터 값은 아래와 같다.



 



모델의 성능은 대회에서 규정한 Weighted RMSE 손실 값을 성능 평가의 지표로 사용했다.
평가는 학습에 사용하지 않은 데이터 4000개정도를 사용해 평가를 진행하였고, 앙상블 한경우가 두 모델을 개별적으로 사용했을 때 보다 더욱 좋은 결과를 도출했기 때문에 최종적으로 채택하여 사용하게 됐다.



 



대회에서 제출한 답안의 점수는 우리가 제출전에 산출했던 0.667과 흡사한 결과를 대회 측에서도 산출했기 때문에 우리가 적용한 방식이 예상보다 정확했던 것으로 생각된다.


 

저와 백승호, 김민우 학우는 기계공학과 자율 시스템 연구실에서 함께 연구를 진행하고 있습니다. 특히 무인 이동체의 자율 운용을 위한 인공지능 및 기계학습 분야 연구에 주력하고 있는데요. 이러한 연구 경험이 전파재난 예측모델을 구성하는데 큰 도움이 됐습니다. 예측모델 개발을 위해서는 데이터 분석과 가공이 무엇보다 중요하다고 할 수 있는데, 이런 데이터 처리와 모델링에 대해 평소 논문도 많이 읽고, 연구에 적용해 본 것이 큰 도움이 됐습니다.

최근에는 다양한 학문 분야에서 인공지능을 접목한 연구가 활발하게 진행되고 있습니다. 연구실에서 진행하고 있는 자율 무인 이동체 관련 연구에서도 이는 필수적입니다. 특히 다양한 극한 환경에서 운용되는 드론이나 자율 주행차를 구현하기 위해서는 환경의 변화를 예측하고 이에 대응할 수 있는 시스템을 구성하기 위한 노력이 많이 필요합니다. 기계학습을 통한 예측과 대응 방법은 그 대표적 사례이고요. 평소 기계학습에 대한 연구를 진행하던 차에 이를 활용해볼 수 있는 분야라고 생각해 경진대회에 지원했는데, 예상보다 좋은 결과를 얻었습니다.

1차 예선을 마쳤을 때 저희 팀은 11등이라는 성적을 받았습니다. 본선에 진출하기는 했지만, 예측모델의 정확성은 생각보다 높지 않았습니다. 본선까지 남은 일주일의 기간을 이용해 모델을 보완하기 위해 노력했습니다. 관련 논문과 연구를 찾아보고, 모델의 정확성을 높일 방법을 꾸준히 찾았습니다. 특히 기존 데이터에 대한 깊이 있는 분석을 위해 시간을 투자했습니다. 다소 빠듯한 시간이었지만, 결과적으로 좀 더 나은 모델을 구성할 수 있었습니다.
 

인쇄 Facebook Twitter 스크랩

  전체댓글 0

[로그인]

댓글 입력란
사용자 프로필 이미지
0/500자