4조

CIVIL capstone
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : AI를 이용한 도림천 유역 침수 위험 알림 시스템 설계

영문 : Design of Notification System of the risk of flooding in the Dorimcheon Area using AI

과제 팀명

너희는 전혀 SWMM하고 있지 않아

지도교수

문영일 교수님

개발기간

2023년 3월 ~ 2023년 6월 (총 4개월)

구성원 소개

서울시립대학교 토목공학부·과 20188600** 정*호(팀장)

서울시립대학교 토목공학부·과 20178600** 박*우

서울시립대학교 토목공학부·과 20178600** 양*현

서울시립대학교 토목공학부·과 20178600** 전*현

서울시립대학교 토목공학부·과 20188600** 이*주

서울시립대학교 토목공학부·과 20188600** 이*혁

서론

개발 과제의 개요

개발 과제의 배경

2022년 8월, 서울에 2일간 강수량이 515mm인 기록적인 폭우가 발생하며 강남역, 도림천 일대에 엄청난 침수 피해가 발생하였다. 행정안전부 중앙재난안전대책본부의 안전관리일일상황에 따르면 서울•경기북부 집중호우로 인한 인명 피해는 사망 14명(서울 8명, 경기 4명, 강원 2명), 실종 4명(경기 2명, 강원 2명), 부상 25명(서울 2명, 경기 23명)이 발생하였다. 재산 피해는, 대표적인 예시로 차량에 대한 피해는, 4대 보험사 기준, 차량 침수와 낙하물 피해 4072건 집계되었고, 추정 손해액 559억 8000만원이었다.

홍수 및 침수로 인해 가장 큰 인명 피해가 발생한 사례는 2011년 7월 27일과 28일이다. 69명의 사망자와 8명의 실종자가 발생했으며, 대부분의 피해는 수도권 지역에서 발생했다. 이 때 서울을 비롯한 수도권 지역에서도 대규모 침수와 토사유출, 산사태 등으로 인한 큰 피해가 발생했다. 특히 서울시 서초구의 우면산에서 발생한 산사태로 인해 우면동 형촌마을이 폐허가 되었다. 7월 27일의 폭우와 그로 인한 우면산 산사태로만 17명의 사망자와 50명의 부상자가 발생했으며 120여 가구 중 60여 가구가 고립되었다. 또한 관악구 도림천 일대는 범람하여 많은 재산 피해를 발생시켰다.

1.png

[그림 7 도림천 범람]

서울시는 도림천 둔치에서의 고립 및 실족사고를 방지하기 위하여 홍수주의, 경보 발령 전 단계인 둔치주의 및 대피 경보 발령을 하고 있다. 이러한 발령은 실제 수위가 상승하고 난 후 이루어진다. 하지만, 도림천의 수위 상승 속도가 최대 2.62cm/min일 정도로 빠르게 수위가 상승한다. 빠르게 상승하는 수위로 인해 사람들이 대피할 수 있는 시간이 충분하지 않아 고립 사고가 발생되어왔다. 따라서 현재의 둔치주의 및 대피 경보 시스템은 한계점이 존재한다.

이외에도 서울시에서는 근본적인 침수 피해를 예방하기 위해 침수 자체를 방지하는 대심도 빗물 터널 설치 공사를 진행하고 있다. 이 터널은 기존에 설치된 하수도와는 별도로 설치되어 지하 50~60m의 깊이에 위치하며, 수용량은 초당 30톤으로, 큰 비가 내리는 상황에서도 빠른 속도로 빗물을 수집해내는 기능을 갖추고 있다. 또한 대심도 빗물터널은 침수 방지뿐 아니라 수계관리, 지하수 보전 등 다양한 활용도가 있기 때문에, 서울시는 지속적으로 대심도 빗물터널의 설치와 확장을 추진하고 있다. 그러나 이는 학부 수준의 졸업 설계 과제로 다루기에는 복잡하고 규모가 큰 과업이다. 따라서 AI를 이용해 미래의 하천 수위를 예측하고 예보 기준을 설정하여 예측 수위에 따른 알림을 하는 시스템 설계를 과제로 결정하였다.

개발 과제의 목표 및 내용

도림천 유역의 강수량과 수위 데이터를 인공지능에 학습시켜 미래의 수위를 예측하게 할 것이다. 예측에 사용할 인공지능 모델은 LSTM이다. 현재 있는 경보 기준을 참고하여 새로이 예보 기준을 설정할 것이다. 그리고 예측 수위가 기준에 해당할 시 문자 메시지를 통해 사람들에게 알리는 시스템을 설계할 것이다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

◇ SWMM

SWMM은 기상, 도심 상하수도 정보 등을 종합하여 침수 여부를 확인하는 시뮬레이션 프로그램으로 실제 침수 상황과 매우 유사하여 정부 관계부처에서 치수 정책 마련 시 사용하고 있다. 시가지/비 시가지의 단일 호우 사상부터 연속적인 장기 호우 사상까지 수질, 수문 모델링에 사용된다. 해당 지역의 실 강우사상에 대해 수리, 수문학적으로 분석이 가능하며, 침수지역 주변의 우수배제 계획과 노면배수 계획이 적절한지의 여부를 분석하는데 활용된다. SWMM을 활용해 유출 및 침수 모델 데이터를 얻을 수 있고, 이 데이터를 ArcGIS 프로그램과 연계시켜 강수량에 따른 침수지역 파악 및 피해규모 산출이 가능하다.

◇ LSTM

LSTM은 자연어 처리, 음성 인식, 시계열 예측, 이미지 처리 등 다양한 분야에서 활용한다. 예를 들어, 자연어 처리에서는 기계 번역, 문장 생성, 감성 분석 등에 LSTM이 사용된다. 음성 인식에서는 음성 데이터를 처리하고 텍스트로 변환하는 데 활용된다. 시계열 예측에서는 주식 시장 예측, 날씨 예보, 트래픽 예측 등에 LSTM이 사용된다. 또한, 이미지 처리에서는 이미지 캡셔닝과 같은 작업에서 이미지와 텍스트 간의 관계를 학습하는 데 활용될 수 있다. LSTM을 이용한 한국어 이미지 캡션 생성(박성재, 2017)에서는 LSTM 모델을 한국어 이미지에 대한 캡션 생성 작업에 효과적으로 활용하였다. 이 연구에서는 LSTM이 이미지와 문장 간의 관계를 학습하여 이미지의 특징을 적절하게 설명하는 자연어 캡션을 생성하였다. LSTM은 이미지의 시각적 정보를 인식하고 문맥을 파악하여 적절한 단어를 예측하는 능력을 갖추고 있어, 한국어 이미지에 대한 캡션 생성 작업에 적합한 모델로 입증되었다. 이를 통해 한국어 이미지의 콘텐츠를 자연어로 자세하게 설명하는 것에 LSTM이 효과적으로 활용될 수 있음을 확인하였다.

하천분석에서 LSTM은 하천의 수위, 유속, 강수량 등과 같은 데이터를 분석하여 예측 및 모니터링에 활용될 수 있다. LSTM을 이용한 댐 유입량 예측 평가(2019, 한국수자원학회, 목지윤 외 4명)에서는 다목적댐의 유입유량 예측을 위해 구글에서 제공하는 딥러닝 오픈소스 라이브러리를 활용하여 LSTM 모형을 구축하고 댐 유입유량을 예측하였다.

◇ 수위 예측 방식

LSTM 기반 딥러닝 기법을 이용한 섬진강 구례교 지점의 홍수위 예측(정재원 외 4명, 2021)에서는 LSTM 모형을 이용하여 섬진강 수계 구례 지점의 하천 수위를 1, 3, 6시간 선행 예측하였다. 또한 기존의 SVM 모형, MLP 모형을 적용한 결과들의 비교 분석을 통해 LSTM 모형이 다른 모형보다 우수한 예측 성능을 보이고 있음을 검증하였다. LSTM을 이용한 하천수위 예측기법(조우진 외 1명, 2020)에서는 수위*유량데이터를 이용하여 목표지점인 충북 영동 양강교의 수위를 예측하였다. 강우자료 학습에 따른 딥러닝 기반 LSTM모형의 수위예측(육지문 외 3명, 2019)에서는 강우자료에 따른 LSTM 모형의 수위예측을 실시하였다.

기술 로드맵

기술로드 맵.png

[그림 8 기술 로드맵]

2023년까지 CCTV와 SNS 등 실시간 데이터를 수집하고 AI 학습 데이터로 이용하여 정확도를 상승시키는 등 재난 감지 및 예측, 데이터 수집 기술을 발전시킬 것이다.

2024년까지 다양한 매체를 이용하여 사람들에게 위험을 알리는 재난 정보 알림 기술을 발전시킬 계획이고, 관할 소방서와 연계하여 인명 및 재산 피해를 저감할 것이다.

2025년에는 사람들이 직접 홍수 및 침수의 전조증상을 플랫폼에 게시하면 실시간 CCTV 화면, SNS 분석 및 AI와 연계하여 침수 및 침수로 인한 피해를 예측하게 하여 지능형 통합관리 플랫폼을 만들 것이다.

시장상황에 대한 분석

  • 경쟁제품 조사 비교

◇ 우리동네 침수알리미

기상청 동네 예보를 기반으로 하여 강원도 삼척시 읍/면/동 단위의 실시간 호우정보, 호우위험도, 예상침수지역, 수위정보를 제공한다. 예상침수지역은 실시간 및 3시간 침수예상 지역을 제공한다.

10003.png

[그림 9 우리동네 침수알리미 & 그림 10 우리동네 침수알리미]

◇ 환경 빅데이터 플랫폼 도시침수 예측서비스

격자기반으로 대전광역시의 도시침수 위험도를 시각화하여 제공하고, 예측 침수량을 선형 차트로 제공한다. 더해서 과거 홍수정보까지 얻을 수 있다.

10004.png

[그림 11 환경 빅데이터 플랫폼 도시침수 예측서비스]

◇ 재난문자

재난(태풍, 산사태, 홍수, 호우 등) 발생 시 신속한 대피를 위해 이동통신회사를 통해 휴대전화로 보내는 긴급 문자 메시지이다. 비교적 덜 위급한 일의 경우 이런 일이 있으니 유의하라는 것을 알려준다. 행정안전부와 송출 권한을 부여받은 지자체, 정부기관에서 “CBS(Cell Broadcasting Service)”란 휴대폰에 특정 수신ID(채널)를 입력시켜 기지국으로부터 전송되는 데이터 정보(문자)를 수신할 수 있도록 만든 이동통신시스템을 응용한 서비스를 이용해 전송한다. 전송 내용으로 재난 알림, 발생 지역 등을 포함한 짧은 문구(한글 90자)가 발송되며 간단한 국민 행동 요령이 포함되기도 한다.

10005.png

[그림 12 재난문자]

  • 시장성 및 사회성 분석

2010년대 이후로만 해도 2011년, 2020년, 2022년에 도림천 유역에 침수로 인한 안전사고가 발생하였다. 서울기술연구원 자문에 따르면, 도림천 유역은 상류부 급경사 지형으로 여름철 돌발강우 발생 시 홍수유출 도달시간이 짧고 수위가 급격히 상승하여 하천 내 안전사고가 빈번히 발생한다. 또한, 최근 기후변화에 따른 국지성 폭우 발생 등 하천 홍수피해가 증가하는 추세이다. 따라서 강우 발생 시 도시하천의 한발 빠른 홍수 예측을 위해 인공지능을 이용한 도림천 홍수 예.경보 시스템 구축이 필요하다.

시스템 구축에 필요한 인공지능을 이용하여 수위를 예측하는 기술은 앞선 관련 기술의 현황과 기존/경쟁 기술/제품 조사 비료에서 볼 수 있듯이 연구되어 있다. 또한, 예측 침수심을 알려주는 기술 및 제품도 있다. 그러나 이를 이용하여 위험이 예상되는 사람들에게 직접적으로 알려주는 것은 많지 않다고 할 수 있다. 어플리케이션 시스템과 인터넷 사이트의 경우 침수심을 예측해서 알려주긴 하지만, 직접 인터넷 사이트를 검색하여 들어가거나 어플리케이션을 설치하지 않는다면 사람들이 알 수 없다는 단점이 있다. 재난문자의 경우에는 주의보와 경보에 대해서 재난문자를 발송하지만 도림천 유역에서 시행 중인 둔치경보에 대해서는 경보 문자를 발송하지 않는다. 그러므로 개발하고자 하는 과제는 기존 시스템의 단점을 보완할 수 있기에 필요성을 가진다.

환경부와 한국수자원공사에 따르면 AI와 과거 도시침수 피해 자료, 관련 CCTV 자료 등을 바탕으로 침수 예보 플랫폼 개발 사업을 진행 중이라고 한다. 이처럼 국가적인 사업도 진행 중이기 때문에 관련된 기술이나 제품 개발이 더욱 진행될 것이라고 예측된다.

개발과제의 기대효과

기술적 기대효과

◇ 기존의 경보 기반 대피 시스템은 수위가 도달한 후에 경보가 발령이 되므로, 비가 내리기 시작하고 30분 이내에 수위 변화가 발생하는 도림천 유역의 특성상 대피 시간 확보에 있어서 한계점이 존재한다. 경보가 발령되고 난 후에도 지시를 따르지 않는 사람들이 존재하고 하천 순찰단이 직접 돌아다니며 대피를 시키기 위해서는 추가적인 시간이 필요하다. 개발 과제인 시스템 설계가 완료 된다면 관측 데이터를 이용한 예보를 통해 사람들이 대피할 수 있는 추가적인 시간을 확보할 수 있을 것이다.

◇ 본 프로젝트에서는 대상 지역이 도림천 유역이다. 하지만 예를 들어 강남역 일대, 광화문 일대처럼 다른 지역의 데이터를 LSTM 모델에 학습시키고 예보 기준을 정한다면, 도림천 유역뿐만 아니라 다른 지역에도 시스템이 적용 가능할 것이다.

경제적, 사회적 기대 및 파급효과

◇ 2010년부터 2019년까지 27회의 고립사고가 발생하였고, 총 106명이 고립되었다. 2020년에는 80대 남성이 갑자기 불어난 하천에 휩쓸려 사망하였고, 대림역 인근 산책로에서 25명이 고립되었다. 2022년 서울ㆍ경기 북부 집중호우로 인한 14명의 사망자가 발생했고, 4대 보험사(삼성화재, 현대해상, KB손해보험, DB 손해보험) 기준 차량 침수, 낙하물 피해로 인한 추청 손해액이 약 560억에 달했다. 이러한 인명 및 재산 피해를 저감하는데 있어서 도움이 될 것이라고 예상된다.

◇ 피해에 대처할 수 있는 계획을 세우고 체계의 원활한 작동을 위한 시간을 확보해줄 것이다. 저지대, 반지하 등 취약 공간 비상대피 계획 수립에 도움이 되는 등 공익적인 효과를 가져다 줄 것으로 예상된다.

설계

개념설계안

시스템 구성도

10006.png

[그림 13 시스템 구성도]

1) 30분 길이의 410, 509 관측소의 10분 단위 강수량과 신림3교 수위 데이터를 통해, 마지막 데이터의 시간으로부터 20분 뒤의 신림3교 수위를 예측한다.

2) 예보기준과 비교하여 예측수위에 해당하는 예보단계를 선정한다.

3) 문자를 발송하는 단계에 해당할 시, 해당 단계에 전달할 내용을 담은 문자 메시지를 발송한다.

기상청 문의 결과, 기상청 기상자료개방포털에서 얻을 수 있는 초단기 예측 자료는 1시간 단위 자료이다. 하지만 LSTM 학습 과정에서는 10분 단위 자료를 이용하였다. 즉, 예측 강수량 자료와 LSTM 입력 자료의 시간 단위가 다르다. 또한 1시간 단위의 강수량을 10분 단위 강수량 자료로 변환하는 것은 불가능하기에 예측 강수량 대신에 관측 강수량을 사용하여 침수를 예측하는 방식으로 결정하였다.

LSTM

LSTM(Long Short-Term Memory)은 일련의 데이터를 처리하도록 설계된 일종의 순환 신경망(RNN)이다. 일반적인 RNN과 달리, LSTM은 입력 시퀀스에서 장기적인 종속성을 모델링하는 기능이 추가되었다. 장기간에 걸쳐 정보를 저장하고 입력에 따라 선택적으로 업데이트할 수 있는 메모리 셀의 사용하여 장기적인 종속성을 판별한다. 이 메모리 셀은 시간이 지남에 따라 숨겨진 상태를 유지하고 업데이트한다. 메모리 셀에는 정보를 선택적으로 저장 및 업데이트하고 더 이상 관련이 없는 정보를 잊어버릴 수 있는 여러 게이팅 메커니즘이 있다.

LSTM의 게이팅 메커니즘은 입력 게이트, 망각 게이트 및 출력 게이트의 세 가지 구성 요소로 구성된다. 이러한 게이트는 0과 1 사이의 출력을 갖는 시그모이드 활성화 함수의 특성을 사용한다. 각 게이트는 시그모이드 활성화 함수로 인하여 얻어진 값을 토대로 정보의 양을 제어하여 처리한다. 입력 게이트는 각 시간 단계에서 메모리 셀에 허용되는 새로운 정보의 양을 제어한다. 망각 게이트는 메모리 셀에 남아 있는 오래된 정보의 양을 제어한다. 그리고 출력 게이트는 현재 메모리 셀 상태가 예측에 사용되는 정도를 제어한다. 이러한 방식으로 정보를 선택적으로 게이팅 함으로써 입력 시퀀스에서 장기적인 종속성을 파악한다.

10007.png

[그림 14 LSTM 구조]

위와 같이 LSTM은 메모리 셀과 게이팅 메커니즘을 통해 장기간에 걸쳐 정보를 선택적으로 저장하고 업데이트할 수 있다. 불규칙한 종속성을 수치화를 통하여 파악할 수 있기에 정량적인 미래 데이터의 예측이 가능하다. 이렇듯 LSTM은 복잡한 장기 종속성이 있는 순차적 데이터를 모델링하는 데 적합하므로 불규칙한 종속성을 지닌 하천의 수위를 예측하는 데 적합한 모델이다.

강우관측소 선정 근거

10008.png

[그림 15 도림천 유역 기상관측소 티센비 (출처 서울기술연구원)]

10009.png

[그림 16 Thiessen method로 도림천 유역면적을 나눈 사진 (출처 서울기술연구원)]

강우데이터를 취합하기에 앞서, 어느 관측소의 강수량을 이용할 것인지를 정하기 위해 도림천 유역의 강우관측소에 대해 조사했다. 그림 15와 같이 도림천 유역에 5개의 기상관측소가 존재한다. 각 관측소의 지배 면적과 티센비를 알 수 있었는데, 티센비가 가장 높은 두 관측소(관악, 기상청)를 이용하기로 결정하였다. 그림 15의 관측소 지배 면적(티센비)을 보면 관악과 기상청 관측소의 지배면적 합이 전체의 78.4%가 된다는 것을 알 수 있다.

강우사상 선택 근거 및 강수량-수위 데이터 취합 방식

10010.png

[그림 17 기상청 기상자료개방포털]

[기상청 날씨누리를 통해 서울(유) 기준으로 2013~2020년, 8개년에서 해당년도 별 일 강수량이 높은 10일을 선별하였다. 기상청 기상자료개방포털에서 각 지점별 자동기상관측장비로 측정된 해당 일자의 1분 단위 강수량 데이터를 얻을 수 있다. 이러한 1분 단위 강수량 데이터를 LSTM에 학습시킬 데이터로 사용하기 위해 10분 단위 강수량 데이터로 가공하였다. 도시홍수연구소 자문을 통해 강우사상 선정 기준을 강우가 시작하는 시간으로부터 1시간 이전 시점, 강우가 끝나는 시간부터 3시간 이후 시점까지로 정할 수 있었다. 하천 수위 데이터는 서울기술연구원에서 2013~2020년의 신림3교의 10분 단위 수위 관측 데이터를 제공 받았다. 선정한 일자에 해당하는 10분 단위 강수량 데이터와 하천 수위 데이터를 엑셀에 그림 18과 같이 도시한다. 정한 기준에 따라 그림 19와 같이 강우 사상을 선정 및 데이터를 추출한다.]

10011.png

[그림 18 2020.08.01.의 10분 단위 강수량, 수위 자료]

10012.png

[그림 19 기준에 따라 추출한 강수량, 수위 데이터]

그림 19는 예시로써 2020년 8월 1일에서 추출한 것인데, 강우 패턴의 다양성에 의해 다른 일자에 대해서는 강우 시간이 그림 19의 시간과 다르다.

예보 기준 선정

10013.png

[그림 20 2021~22년 도림천 둔치경보 기준 (출처 서울기술연구원)]

그림 20은 2021~22년에 시행된 도림천 유역 둔치경보이다. 이를 바탕으로 둔치예보 기준을 만들고자 한다.

그림 20의 둔치경보 기준과 매뉴얼을 참고하여 정한 둔치예보와 기준은 다음과 같다.

100014.png

[표 9 둔치예보]

각 단계에 따른 조치 사항은 다음과 같다.

1) 둔치예보 1단계(관심)

강우에 따른 수위를 예의주시하고, 하천 순찰단을 편성 및 배치한다.

2) 둔치예보 2단계(둔치주의)

둔치예보를 발령하고 문자 메시지를 발송한다. 재난문자방송 기준 및 운영규정의 휴대폰 재난문자방송 표준 문안을 참고한 문자 양식은 다음과 같다.

[사용기관명]오늘 ○○시 서울특별시 도림천(관악구, 구로구, 동작구, 영등포구) 둔치예보 2단계(둔치주의). 둔치, 저지대 등 위험지역에서는 가족, 이웃과 정보를 공유하고 안전한 곳으로 대피하시기 바랍니다.」

3) 둔치예보 3단계(둔치대피)

둔치예보를 발령하고 문자 메시지를 발송한다. 재난문자방송 기준 및 운영규정의 휴대폰 재난문자방송 표준 문안을 참고한 문자 양식은 다음과 같다.

[사용기관명]오늘 ○○시 서울특별시 도림천(관악구, 구로구, 동작구, 영등포구) 둔치예보 3단계(둔치대피). 둔치, 저지대 등 위험지역에서는 가족, 이웃과 정보를 공유하고 안전한 곳으로 대피하시기 바랍니다.」

상세설계 내용

LSTM 학습 방법

1) 강우사상으로 사용할 일자를 선정한다.

2) 선정된 일자의 24시간 강수량, 수위 데이터에서 학습 데이터로 사용할 부분을 기준에 맞춰 추출한다.

3) 1), 2) 작업을 반복하여 총 80일의 강수, 수위 자료를 얻은 후 하나의 시계열 데이터로 만든다.

4) 30분의 강수량과 수위 데이터를 이용해 20분 뒤의 수위를 예측하게 하는 LSTM 모델을 구축한다.

4번에 대해 그림 21과 함께 설명하면, 예를 들어 00:10부터 00:30까지, 00:20부터 00:40 등 30분 동안의 자료를 이용하여 20분 뒤의 수위, 00:50, 01:00 등의 수위를 목표값으로 학습시킨다. 예측 진행시에도 동일한 방식으로 진행한다. 30분 길이의 강수량, 수위 자료를 입력값으로 넣고 마지막 데이터의 시간으로부터 20분 뒤의 수위를 예측한다. 서울기술연구원 자문에 따르면 도림천 유역은 일반적으로 강우가 시작되고 나서 2~30분 후에 수위 변화가 시작된다고 하였다. 따라서 20분 후의 수위를 예측하게 하였다.

10015.png

[그림 21 학습 & 예측 방식에 대한 그림 설명]

총 80개의 강우-수위 세트 중 50개 사상은 훈련, 18개 사상은 검증, 9개 사상은 테스트 데이터로서 사용되었다. 나머지 3개 사상은 최종 발표 때 시연을 하기 위한 데이터로 선정하였다. 강우 사상마다 강우 시간이 달라서 데이터의 개수가 다르기 때문에 데이터의 개수로 설명하면 다음과 같다.

100016.png

[표 11 훈련, 검증, 테스트 데이터 개수]

총 77개 강우사상의 강수량, 수위 데이터를 그림 22, 23, 24와 같이 하나의 시계열 데이터 형태로 합성되었다. 가로축은 시간, 세로축은 그림 22, 23의 경우 강수량(mm), 그림 24의 경우엔 수위(m)이다.

10017.png

[그림 22 Sequence of 410 Rainfall Data]

10018.png

[그림 23 Sequence of 509 Rainfall Data]

10019.png

[그림 24 Sequence of Water level of 신림3교]

LSTM 모형과 로지스틱 회귀를 통한 도시 침수 범위의 예측(김현일 외 2명, 2020)과 서울기술연구원 자문을 통해 제공받은 LSTM 모델을 참고하여 표 12와 같이 매개변수에 따른 LSTM 모형을 구축하였다. 드롭아웃(Dropout) 기능을 사용하였으며, 드롭아웃은 신경망 모델이 복잡해지는 경우 가중치의 감소만으로 학습의 속도가 개선되지 않기에 학습 중에 임의의 뉴런을 삭제하는 것으로 시간에 따른 학습의 정확도를 개선하는 방법이다.

100020.png

[표 12 LSTM 모델과 매개변수]

학습에 앞서 minmax_scaler를 통하여 입력할 숫자 데이터를 최소값 0, 최대값 1로 조정하여 모든 값이 비례적으로 조정되도록 하는 정규화 과정을 거친다. 이상값의 영향을 줄여 머신 러닝의 정확도와 성능을 개선하는 역할을 한다. 정규화로 변환시킨 데이터를 학습한 후, inverse_trasform을 통하여 정규화된 데이터를 실제의 데이터로 변환하여 원래 척도로 시각화한다.

10021.png

[그림 25 LSTM 모델]

그림 25와 같이 LSTM 모델을 만들고 학습시킨다. 시험 데이터를 통해 테스트한 결과는 다음과 같다.

10022.png

[그림 26 test set을 통한 예측]

파란색 실선이 관측 수위이고, 빨간색 점선은 예측 수위이다. 정규화 상태의 값이다. 유사한 모습을 보였으나 오른쪽으로 이동되어있는 것을 알 수 있다.

그림 25에서 loss가 MSE임을 알 수 있고, 학습 결과 MSE는 다음과 같았다.

10023.png

[그림 27 MSE]

문자 메시지(SMS) 전송

10024.png

[그림 28 문자 메시지 전송 코드]

예보 문자를 전송하기 위해 Twilio를 이용하였다. Twilio는 개발자가 애플리케이션에 메시징, 음성 및 비디오 기능을 추가할 수 있도록 API(Application Programming Interface)를 제공하는 클라우드 커뮤니케이션 플랫폼이다. 다운로드 받은 Twilio Library를 이용하여 지정된 전화번호로 SMS 메시지를 보낸다. 여기서 to는 받는 사람의 번호인데, 프로젝트에서 사용하는 Twilio는 Free ver이기 때문에 코드에 제공된 계정 SID 및 인증 토큰을 지닌 사람의 번호로만 문자를 보낼 수 있다. 코드를 진행시켰을 때 다음 그림과 같이 문자를 수신한다.

10025.png

[그림 29 코드 진행을 통한 문자 수신]

이제 LSTM 모델과 SMS 문자 전송 코드를 결합하여 계획한 시스템을 설계한다. 다음 그림은 설계한 시스템의 일부 코드이다.

10026.png

[그림 30 시스템 코드 일부]

결과 및 평가

완료 작품의 소개

포스터

Catcat.png

[완성 포스터]


모델

Dogdog.jpg

[완성 모델]

관련사업비 내역서

123456789c.png

[물품수령서]

123456789e.jpeg

[도서견적서]

완료작품의 평가

본 프로젝트에서는 도림천 유역에 대하여, 관측 강수와 수위를 이용하여 수위를 예측할 수 있는 기법을 제시하고자 하였다. 이를 위하여 LSTM 모형을 이용하였으며, 강우 사상은 기상청, 관악 AWS의 2013~2020년 강우사상을 적용하였다. 77개의 관측 강우 사상으로도 LSTM은 충분한 학습을 수행하였다. 그러나 앞서 얘기했듯이 오른쪽으로 이동된, 즉 대부분의 결과가 오른쪽으로 lagging된 것을 확인할 수 있다. 이미 수위가 오른 시점 이후에 수위가 오를 것이라고 예측하는 모습을 볼 수 있는데, 다음 수위가 현재 수위에 크게 의존하기에 이런 현상이 발생한다. 미래 수위는 현재 수위, 강수량, 노이즈로 구성되는데 노이즈가 강수량보다 크기 때문이다. 머신러닝 초기에 LSTM으로 주가를 예측하는 프로젝트들이 상당히 많았는데 이러한 현상을 많이 보였다고 한다. 노이즈를 줄이기 위해 디노이즈 과정이 필요하다. 학습 이전 데이터를 정제하는 방법으로 디노이즈의 대표적인 방법으로 이동평균과 Bilateral filter가 있고, 학습과정에서 자동으로 노이즈를 제거할 방법으로 Qraft는 CNN 기반 Autoencoder 기반 시계열을 디노이즈 모델로 선택하는 방법이 있다.

향후계획

현재 2013년부터 2020년까지의 자료를 이용하고 있는데 2021~2023년, 2013년 이전의 강우사상을 선정하여 더 많은 데이터를 학습시킨다면 정확성이 향상될 것이다.

현재는 시연을 위해서 과거의 자료를 이용하고 코딩을 실행했을 때만 결과를 얻을 수 있지만, 한 번의 실행을 통해 계속해서 실시간 데이터를 수집하며 가동되게 한다면 처음에 설정하였던 목표를 완벽하게 달성할 수 있을 것으로 예상된다.