<사는이야기>

2021년 한전 전력데이터 활용 신서비스 개발대회 수상!

gosoeungduk 2021. 11. 24. 04:59
반응형

#한국전력 #전력데이터활용 신서비스 개발경진대회


글을 굉장히 오랜만에 쓴다... 써야지 써야지 다짐하지만 글 하나쓸때 대충쓰고싶지 않다는 핑계로 계속미루는 듯하다. ㅋㅋ

정말 바쁜 2학기를 보내고 있는데, 하반기 시작하면서 진행했던 대회 수상 소식을 매~우 늦게나마 적어본다.

7월 말에 전역하고 좀 쉬어볼까 하다가 접수마감이 얼마 남지 않은 대회에 대해서 듣게 되었다.

접수기간이 04/15 ~ 06/14 였는데, 아마 6월 1일 쯤에? 소식을 듣고 부랴부랴 프로젝트 컨셉을 준비했던 것 같다.

정확히는 재생에너지 발전량 예측제도 를 시행할 때 쓰일 서비스를 제작하는 것이었다.

제도 시행의 배경에는 재생에너지(풍력, 태양열, 수력 등등)의 과발전(?)으로 인해서 설비를 설치하고도 가동을 안하는 날이 많은 것과 재생에너지 발전 사업자를 늘리려는 여러가지 이유가 있는 것으로 안다.

이제 막 시작하는 사업이기에 이러한 제도를 보조해주는 서비스가 있다면 좋을 것 같았다.

결과물 메인 화면은 아래와 같다.


(아래 잘린 부분은 스크롤 내리면 나오는 발전량 통계)

레이아웃을 일일히 신경써준 디자인 담당 누님에게 감사한다 ㅜㅜ

짧은 기간 동안 회원가입 화면 부터 마이페이지 등등 레이아웃과 로고 구상을 재촉 아닌 재촉을 하게 되었던 것 같은데, 그 기간내에 다 구상했다는게 정말 대단한 것 같다.

아무튼 기능 구성은 다음 날 발전을 얼마 할건지 수동으로 예측값 기입, 한달 간의 통계, SMP/REC 예상치 등등 많은데 사실 이 프로젝트는 백엔드가 핵심이었다.

일단 repository 구성을 mono repo 라는 굉장히 초단기 개발하는 입장에서 효율적이었던 포맷으로 구성하고, 그런 이점을 통해 일일히 api endpoint 를 만들어준 Tekiter 행님께도 감사하다.

그리고 본 프로젝트는 Typescript + React 를 활용해서 프론트를 개발하게 되었는데, Typescript 에 무지했던 나는 React 에서 Typescript 를 활용하는 방법을 원문으로 학습하면서 프로젝트를 진행해야했고 갓 전역한 순수한 뇌가 합쳐져서 더욱 고역이었다.

어찌저찌 scss 까지 활용해서 만들어준 레이아웃을 잘 적용하고 차트같은 것들은 기존 npm template 을 잘 활용하면서 진행했는데, 결론적으로는 react 프레임워크 뿐만 아니라 pure js 요소들에 대해서도 알아보게 되면서 웹 구성에 대해서 다시금 많은 공부를 할 수 있게 되었던 것 같다.


(한달 간의 예측발전량과 실제 발전량의 오차율)

하지만, 프론트엔드 같은 경우에는 그리 큰 벽이 되지 못했다.

사실상 나를 해뜰때 자고 해질때 일어나도록 만든건 내 욕심이 만들어낸 머신러닝을 활용한 풍력발전량 예측 시스템 이다.

일개 컴공 2학년 학부생이 머신러닝을 뭘 안다고 하겠다고 했는지 지금으로썬 좀 이해가 안되긴 하지만 뭔가 될 것 같긴했나보다.


(개발초기에 팀원들도 머신러닝 진짜 쓰는건지 긴가민가하는 모습)

부랴부랴 그럴듯한 제목의 책을 사서 회귀알고리즘에 대해서 파악해나갔는데, 생각보다 책이 좋아서(?) 어렵지 않게 흉내는 내볼 수 있었다.

아래 책인데 지금 데이터마이닝 수업 들으면서도 종종 참고할 정도로 학부생 수준에서 가독성과 이해하기가 좋다.

그렇게 해서 data.go.kr 에서 성산풍력의 일단위 풍력발전량 데이터를 3~4 개년치를 얻어와서 머신을 돌리는데 여기서 또 느낀건 머신러닝+딥러닝 분야는 데이터 개수가 깡패라는 것이다.

월단위 데이터도 있었는데 어떻게든 표본을 늘려보고자 일단위 데이터를 꾸역꾸역 가져와서 사용했는데 텐서플로우로 계속 학습시켜도 오차율이 30%에서 당췌 줄지를 않는 것이었다. 일단 여기서 거의 1주일을 꼬박 밤샜던 것 같고, 어찌어찌 효율적인 학습알고리즘을 가져와서 모델 오차율을 13% 까지 줄일 수 있었다.

시간상 13%에서 만족해야했긴 하지만 이 부분은 아쉬움이 많이 남았다. 여기서 또 다양한 분야에 대한 공부의 필요성을 여실히 느꼈다. 좀 더 좋은 알고리즘이 있었으려나..? 싶다.

아무튼 이렇게 아둥바둥 해서 결국은 한전으로 부터 상을 따냈고, 협업의 재미와 참맛을 또 한번 느낄 수 있어서 좋았다.

여담 : 해킹대회보다 더 재미있는 부분도 많은 것 같기도하다..?

반응형