KR20220164198A - Method for predicting precipitation based on deep learning and apparatus implementing the same method - Google Patents
Method for predicting precipitation based on deep learning and apparatus implementing the same method Download PDFInfo
- Publication number
- KR20220164198A KR20220164198A KR1020210072668A KR20210072668A KR20220164198A KR 20220164198 A KR20220164198 A KR 20220164198A KR 1020210072668 A KR1020210072668 A KR 1020210072668A KR 20210072668 A KR20210072668 A KR 20210072668A KR 20220164198 A KR20220164198 A KR 20220164198A
- Authority
- KR
- South Korea
- Prior art keywords
- precipitation
- data
- learning
- prediction
- encoder
- Prior art date
Links
- 238000001556 precipitation Methods 0.000 title claims abstract description 174
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013135 deep learning Methods 0.000 title description 17
- 238000013528 artificial neural network Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 9
- 239000002131 composite material Substances 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 4
- 238000013277 forecasting method Methods 0.000 claims 15
- 238000007781 pre-processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 6
- 238000013136 deep learning model Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W1/00—Meteorology
- G01W1/10—Devices for predicting weather conditions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W1/00—Meteorology
- G01W1/02—Instruments for indicating weather conditions by measuring two or more variables, e.g. humidity, pressure, temperature, cloud cover or wind speed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W2201/00—Weather detection, monitoring or forecasting for establishing the amount of global warming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Ecology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Data Mining & Analysis (AREA)
- Environmental Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Atmospheric Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
본 발명은 딥러닝 기반 강수 예측 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 딥러닝 알고리즘을 이용하여 강수를 예측하기 위한 딥러닝 기반 강수 예측 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다. The present invention relates to a deep learning-based precipitation prediction method and an apparatus for implementing the same, and more particularly, to a deep learning-based precipitation prediction method for predicting precipitation using a deep learning algorithm, and an apparatus for implementing the same. will be.
따라서, 초단기 강수를 예측하기 위해, 인공지능 기반으로 예측의 정확도를 높일 수 있는 기술이 요구된다. 또한, 강수 예측을 위한 학습 데이터로서 강우 레이더 데이터 이외에 다양한 기상 데이터를 이용하는 경우, 서로 다른 구조를 가지는 데이터의 형식을 통일할 수 있는 기술이 요구된다.Therefore, in order to predict ultra-short-term precipitation, a technology that can increase the accuracy of prediction based on artificial intelligence is required. In addition, when various meteorological data other than rainfall radar data are used as learning data for precipitation prediction, a technology capable of unifying data formats having different structures is required.
본 발명이 해결하고자 하는 기술적 과제는, 연속된 프레임으로 구성된 학습 데이터를 딥러닝 모델에 적용하여 단기간 내 강수를 예측할 수 있는 딥러닝 기반 강수 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.A technical problem to be solved by the present invention is to provide a deep learning-based precipitation prediction method capable of predicting precipitation within a short period of time by applying learning data composed of consecutive frames to a deep learning model, and an apparatus for implementing the same.
본 발명이 해결하고자 하는 다른 기술적 과제는, 강수 예측을 위해 다중 변수 입력 방식을 사용하여 예측의 정확도를 높일 수 있는 딥러닝 기반 강수 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a deep learning-based precipitation prediction method capable of increasing the accuracy of prediction by using a multi-variable input method for precipitation prediction, and an apparatus for implementing the same.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 강수 예측 과정에서 인코더-디코더 신경망에 의한 예측 결과를 생성적 대립 신경망(GAN)에 적용하여 보다 정교한 예측 결과를 얻을 수 있는 딥러닝 기반 강수 예측 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is a deep learning-based precipitation prediction method that can obtain more sophisticated prediction results by applying the prediction result by the encoder-decoder neural network to a generative adversarial network (GAN) in the precipitation prediction process, And to provide a device for implementing this.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 단계, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계, 및 예측 대상 데이터를 상기 강수 예측 모델에 입력하여 강수 예측 정보를 출력하는 단계를 포함한다.In order to solve the above technical problem, a method performed by a computing device according to an embodiment of the present invention includes generating learning data consisting of a series of continuous frames using rainfall data and weather numerical model data; Generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure, and outputting precipitation prediction information by inputting prediction target data to the precipitation prediction model.
일 실시예로서, 상기 강우 데이터는, 강우 레이더 합성 영상일 수 있다.As an embodiment, the rainfall data may be a rain radar synthesized image.
일 실시예로서, 상기 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 단계는, 상기 강우 레이더 합성영상 및 기상 수치 모델 데이터 간 서로 다른 공간 격자 및 시간 해상도를 일치시키는 단계를 포함할 수 있다.As an embodiment, the generating of learning data consisting of a series of consecutive frames using the rainfall data and the numerical weather model data may include different spatial grids and temporal resolutions between the synthetic rain radar image and the numerical weather model data. Matching may be included.
일 실시예로서, 상기 강우 레이더 합성영상 및 기상 수치 모델 데이터 간 서로 다른 공간 격자 및 시간 해상도를 일치시키는 단계는, 상기 강우 레이더 합성영상을 시간 적분을 통해 시간당 강수량 데이터로 변환하는 단계, 및 상기 기상 수치 모델 데이터를 상기 강우 레이더 합성영상과 동일한 공간 격자 구조로 내삽(interpolation)하는 단계를 포함할 수 있다.As an embodiment, the step of matching different spatial grids and temporal resolutions between the synthetic rain radar image and the numerical weather model data may include converting the synthesized rainfall radar image into precipitation data per hour through time integration; and It may include interpolating the numerical model data into the same spatial grid structure as the synthetic rain radar image.
일 실시예로서, 상기 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 단계는, 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 단계를 포함하고, 상기 다차원 배열은, 프레임수, 공간 격자수, 및 입력 변수의 수에 기초하여 생성될 수 있다.As an embodiment, the step of generating learning data consisting of a series of continuous frames using the rainfall data and weather numerical model data comprises generating a multidimensional array consisting of consecutive frames of a first period to configure the learning data The multi-dimensional array may be generated based on the number of frames, the number of spatial grids, and the number of input variables.
일 실시예로서, 상기 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 단계는, 전체 공간 격자수 중 강우값이 기준치 이상인 공간 격자수가 소정 비율 이상인 프레임을 학습 데이터로 사용하는 단계를 포함할 수 있다.As an embodiment, the step of generating a multidimensional array composed of consecutive frames of the first period and configuring the multidimensional array as training data includes using frames having a predetermined ratio or more in the number of spatial lattices having a rainfall value equal to or greater than a reference value among the total number of spatial lattices as learning data. steps may be included.
일 실시예로서, 상기 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 단계는, 상기 제1 기간의 연속된 프레임 중 전반부에 해당하는 제2 기간의 프레임을 입력 시퀀스로 구성하고, 후반부에 해당하는 제3 기간의 프레임을 출력 시퀀스로 구성하는 단계를 포함할 수 있다.As an embodiment, in the step of generating a multidimensional array composed of consecutive frames of the first period and constructing the training data, the frames of the second period corresponding to the first half of the consecutive frames of the first period are used as an input sequence. and configuring frames of the third period corresponding to the second half as an output sequence.
일 실시예로서, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는, 상기 입력 시퀀스를 상기 인코더를 통해 압축하여 피처들(features)을 추출하는 단계, 및 상기 압축된 피처들을 상기 디코더를 통해 상기 출력 시퀀스에 부합하는 상세 정보로 복원하는 단계를 포함할 수 있다.As an embodiment, the step of generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure includes extracting features by compressing the input sequence through the encoder. and restoring the compressed features into detailed information conforming to the output sequence through the decoder.
일 실시예로서, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는, 상기 신경망을 학습하는 과정에서 손실 함수(loss function)로서 MSE(Mean Squared Error), MAE(Mean Absolute Error), Balanced MSE(Mean Squared Error), Balanced MAE(Mean Absolute Error), 및 SSIM(Scale Structural Similarity) 중 적어도 하나를 사용하는 단계를 포함할 수 있다.As an embodiment, the step of generating a precipitation prediction model by applying the training data to a neural network having an encoder-decoder structure may include a mean squared (MSE) as a loss function in the process of learning the neural network. Error), mean absolute error (MAE), balanced mean squared error (MSE), balanced mean absolute error (MAE), and scale structural similarity (SSIM).
일 실시예로서, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는, 상기 학습 데이터에 포함된 데이터의 종류에 따라 분기한 구조의 신경망을 구성하는 단계를 포함할 수 있다.As an embodiment, in the step of generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure, a neural network having a branched structure is configured according to the type of data included in the learning data. steps may be included.
일 실시예로서, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는, 생성자(Generator) 및 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 상기 인코더-디코더 구조의 신경망에 추가하는 단계를 포함할 수 있다.As an embodiment, the step of generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure includes a generative adversarial network (GAN) composed of a generator and a discriminator: Generative Adversarial Network) may be added to the neural network having the encoder-decoder structure.
일 실시예로서, 상기 생성자(Generator) 및 상기 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 상기 인코더-디코더 구조의 신경망에 추가하는 단계는, 상기 디코더에서 출력되는 예측 정보를 상기 생성자의 출력 정보로 사용하는 단계, 및 상기 생성자의 출력 정보와 실제 강수 정보를 상기 구분자에 입력하여, 상기 출력 정보에 대한 정확도를 판단하는 단계를 포함할 수 있다.As an embodiment, the step of adding a generative adversarial network (GAN) composed of the generator and the discriminator to the neural network having the encoder-decoder structure includes prediction information output from the decoder. and determining accuracy of the output information by inputting the generator output information and actual precipitation information to the separator.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 컴퓨터로 하여금 상기 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된 것이다.In order to solve the above technical problem, a computer readable non-transitory recording medium according to an embodiment of the present invention stores a computer program that causes a computer to perform the method.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 상기 외부장치로부터 강수 예측 모델에 관한 정보를 수신하는 동작, 사용자 입력에 의해 예측 대상 데이터를 획득하는 동작, 상기 예측 대상 데이터를 상기 강수 예측 모델에 입력하는 동작, 및 상기 강수 예측 모델로부터 강수 예측 정보를 출력하는 단계를 포함하고, 상기 강수 예측 모델은, 강우 데이터 및 기상 수치 모델 데이터를 이용한 일련의 연속된 프레임으로 구성된 학습 데이터를 이용하여 인코더-디코더(encoder-decoder) 구조의 신경망을 학습하여 생성된 것이다.In order to solve the above technical problem, a method performed by a computing device according to an embodiment of the present invention includes an operation of receiving information on a precipitation prediction model from the external device, and obtaining prediction target data by a user input. an operation of inputting the prediction target data to the precipitation prediction model, and outputting precipitation prediction information from the precipitation prediction model, wherein the precipitation prediction model comprises a series of data using rainfall data and weather numerical model data. It is generated by learning a neural network of an encoder-decoder structure using training data composed of consecutive frames.
일 실시예로서, 상기 학습 데이터는, 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 구성되고, 상기 다차원 배열은, 프레임수, 공간 격자수, 및 입력 변수의 수에 기초하여 생성될 수 있다.As an embodiment, the learning data may be configured by generating a multidimensional array composed of consecutive frames of a first period, and the multidimensional array may be generated based on the number of frames, the number of spatial grids, and the number of input variables. there is.
일 실시예로서, 상기 강수 예측 모델은, 생성자(Generator) 및 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 상기 인코더-디코더 구조의 신경망에 추가하여 학습함에 의해 생성된 것일 수 있다.As an embodiment, the precipitation prediction model is generated by learning by adding a generative adversarial network (GAN) consisting of a generator and a discriminator to the encoder-decoder structured neural network. can
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 강수 예측 장치는, 외부 서버와 통신하는 통신부, 상기 외부 서버로부터 수집된 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하고, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 학습부, 및 예측 대상 데이터를 상기 강수 예측 모델에 입력하여 강수 예측 정보를 출력하는 예측부를 포함한다. In order to solve the above technical problem, the precipitation prediction device according to an embodiment of the present invention is a series of continuous frames using a communication unit that communicates with an external server, rainfall data and weather numerical model data collected from the external server. A learning unit generating configured learning data and applying the learning data to a neural network having an encoder-decoder structure to generate a precipitation prediction model; and inputting prediction target data to the precipitation prediction model to obtain precipitation prediction information. It includes a prediction unit that outputs.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 강수 예측 장치는, 하나 이상의 프로세서, 외부장치와 통신하는 통신 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 상기 외부장치로부터 강수 예측 모델에 관한 정보를 수신하는 동작, 사용자 입력에 의해 예측 대상 데이터를 획득하는 동작, 상기 예측 대상 데이터를 강수 예측 모델에 입력하는 동작, 및 상기 강수 예측 모델로부터 강수 예측 정보를 출력하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고, 상기 강수 예측 모델은, 강우 데이터 및 기상 수치 모델 데이터를 이용한 일련의 연속된 프레임으로 구성된 학습 데이터를 이용하여 인코더-디코더(encoder-decoder) 구조의 신경망을 학습하여 생성된 것이다.In order to solve the above technical problem, a precipitation prediction device according to an embodiment of the present invention includes one or more processors, a communication interface for communicating with an external device, a memory for loading a computer program executed by the processor, and A storage for storing the computer program, wherein the computer program includes an operation of receiving information about a precipitation prediction model from the external device, an operation of obtaining prediction target data by a user input, and predicting precipitation by using the prediction target data It includes instructions for performing an operation of inputting an input to a model and an operation of outputting precipitation prediction information from the precipitation prediction model, wherein the precipitation prediction model comprises a series of continuous data using rainfall data and numerical weather model data. It is generated by learning a neural network of an encoder-decoder structure using training data composed of frames.
도 1은 본 발명의 실시예에 따른 개념도이다.
도 2는 본 발명의 일 실시예에 따른 강수 예측 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 강수 예측 장치의 구성을 도시한 블록도이다.
도 4 내지 도 7은 본 발명의 다른 실시예에 따른 강수 예측 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 몇몇 실시예에 따른 학습 데이터의 구성을 도시한 예이다.
도 9는 본 발명의 몇몇 실시예에 따른 학습을 위한 인코더-디코더 신경망 구조를 도시한 예이다.
도 10은 본 발명의 몇몇 실시예에 따른 학습 과정에서 사용되는 손실 함수의 예이다.
도 11은 본 발명의 몇몇 실시예에 따른 인코더에서 입력 데이터의 종류에 따라 분기한 구조를 적용하는 예이다.
도 12는 본 발명의 몇몇 실시예에 따른 인코더-디코더 신경망에 생성적 대립 신경망(GAN)을 추가 구성으로 적용하는 예이다.
도 13은 본 발명의 몇몇 실시예에 따른 학습 검증을 위한 통계 지표를 활용하는 예이다
도 14는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.1 is a conceptual diagram according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a precipitation prediction device according to an embodiment of the present invention.
3 is a block diagram showing the configuration of a precipitation prediction device according to another embodiment of the present invention.
4 to 7 are flowcharts for explaining a method for predicting precipitation according to another embodiment of the present invention.
8 is an example showing the configuration of learning data according to some embodiments of the present invention.
9 is an example of an encoder-decoder neural network structure for learning according to some embodiments of the present invention.
10 is an example of a loss function used in a learning process according to some embodiments of the present invention.
11 is an example of applying a branched structure according to the type of input data in an encoder according to some embodiments of the present invention.
12 is an example of applying a generative adversarial network (GAN) as an additional configuration to an encoder-decoder neural network according to some embodiments of the present invention.
13 is an example of utilizing statistical indicators for learning verification according to some embodiments of the present invention.
14 is a hardware configuration diagram of an exemplary computing device that may implement methods in accordance with some embodiments of the invention.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Advantages and features of the present disclosure, and methods of achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments and can be implemented in various different forms, and only the following embodiments complete the technical idea of the present disclosure, and in the technical field to which the present disclosure belongs. It is provided to completely inform those skilled in the art of the scope of the present disclosure, and the technical spirit of the present disclosure is only defined by the scope of the claims.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description will be omitted.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present disclosure. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Also, terms such as first, second, A, B, (a), and (b) may be used in describing the components of the present disclosure. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is the presence of one or more other components, steps, operations, and/or elements. or do not rule out additions.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 개념도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 강수 예측 장치(1)는 학습 데이터(2)를 이용하여 심층 학습(deep learning)을 수행함에 의해 생성되는 강수 예측 모델(31)을 이용하여 강수 예측 정보(5)를 출력할 수 있다. 1 is a conceptual diagram according to an embodiment of the present invention. Referring to FIG. 1, a
도시된 예에서, 학습 데이터(2)는 강우 데이터와 기상 수치 모델 데이터로 구성되고, 학습 데이터(2)를 이용하여 딥 러닝 알고리즘인 오토 인코더(Auto-encoder) 구조의 신경망(3)을 학습함에 의해 강수 예측 모델(31)이 생성될 수 있다. 이 때, 오토 인코더 구조의 신경망(3)은 인코더(encoder)와 디코더(decoder)로 구성될 수 있다. In the illustrated example, the learning data (2) is composed of rainfall data and weather numerical model data, and the learning data (2) is used to learn the neural network (3) of the auto-encoder structure, which is a deep learning algorithm. The
학습 데이터(2)를 구성하는 강우 데이터는 기상청에서 제공되는 강우 레이더 합성 영상으로 마련될 수 있다. Rainfall data constituting the learning
또한, 기상 수치 모델 데이터는, 기상 관측 데이터를 활용하여 미래의 날씨를 예측하기 위해 만들어진 컴퓨터 프로그램의 일종인 수치 예보 모델에서 사용되는 데이터로 마련되고, 특히 강수 발생에 중요한 역할을 하는 것으로 알려진 변수를 대상으로 할 수 있다. 예로서, 기상 수치 모델 데이터는, 강수 발생과 관련된 역학적 변수 및 열역학적 변수를 포함할 수 있다. 일 실시예로서, 기상 수치 모델 데이터는, 전구 기상 수치 모델 또는 지역 기상 수치 모델을 통해 생성될 수 있다.In addition, the weather numerical model data is prepared as data used in a numerical forecast model, a kind of computer program made to predict future weather using weather observation data, and in particular, variables known to play an important role in precipitation can be targeted. For example, the numerical weather model data may include kinetic and thermodynamic variables related to precipitation. As an example, the numerical weather model data may be generated through a global numerical weather model or a regional numerical weather model.
강수 예측을 위해, 입력 정보(4)로서 예측 대상 데이터가 강수 예측 모델(31)에 입력되면, 강수 예측 모델(31)을 이용하여 예측 결과가 생성되고, 예측 결과로서 강수 예측 정보(5)가 출력될 수 있다. 여기서, 입력 정보(4)인 예측 대상 데이터는, 기준 시점에서의 강우 레이더 합성 영상과, 기상 수치 모델의 역학적 및 열역학적 변수 등을 포함할 수 있다.For precipitation prediction, when prediction target data is input to the
상기와 같은 본 발명의 실시예에 따라, 딥러닝 기술을 이용하여 과거의 강우 현황으로부터 미래의 강수 발생 정도를 예측할 수 있다. 특히, 본 발명의 실시예에 의하면, 기준 시점으로부터 예컨대 6시간 이내의 초단기 강수 발생 정도를 예측할 수 있다. According to the embodiment of the present invention as described above, it is possible to predict the future occurrence of precipitation from the past rainfall status using deep learning technology. In particular, according to an embodiment of the present invention, it is possible to predict the ultra-short-term precipitation occurrence degree within, for example, 6 hours from a reference point in time.
도 2는 본 발명의 일 실시예에 따른 강수 예측 장치의 구성을 도시한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 강수 예측 장치(1)는 학습부(11) 및 예측부(12)를 포함하고, 외부 서버(20), 및 사용자 단말(10)과 네트워크를 통해 연결될 수 있다. 강수 예측 장치(1)는 사용자 단말(10)로부터 수신되는 강수 예측을 위한 딥 러닝 모델의 생성 및 분석 요청을 처리하여, 그 결과를 제공한다. 2 is a block diagram showing the configuration of a precipitation prediction device according to an embodiment of the present invention. Referring to FIG. 2 , the
외부 서버(20)는 강우 레이더 합성 영상 및 기상 수치 모델 데이터를 제공하는 각각의 서버로 구현될 수 있고, 이로부터 제공되는 데이터를 수집하여 학습 데이터(2)를 구성할 수 있다. 이 때, 학습 데이터(2)에 포함되는 기상 수치 모델 데이터는, 전구 기상 수치 모델 또는 지역 기상 수치 모델을 통해 생성될 수 있고, 강수 발생과 관련된 역학적 변수 및 열역학적 변수를 포함할 수 있다.The
학습부(11)는 수집 모듈(111), 전처리 모듈(112), 및 학습 모듈(113)로 구성되고, 이 중 수집 모듈(111)은 외부 서버(20)로부터 제공되는 강우 레이더 합성 영상 및 기상 수치 모델 데이터를 수집하여 학습 데이터(2)를 구성하고, 이를 데이터베이스에 저장한다. The
전처리 모듈(112)은 수집 모듈(111)에 의해 데이터베이스에 저장된 학습 데이터(2)를 읽어 오고, 학습 데이터(2)를 심층 학습이 가능한 형태로 변환한다. The
일 실시예로서, 전처리 모듈(112)은 강우 레이더 합성영상과 기상 수치 모델 데이터 간에 서로 다른 공간 격자 및 시간 해상도를 일치시킬 수 있다. 이를 위해, 전처리 모듈(112)은 강우 레이더 합성영상을 시간 적분을 통해 시간당 강수량 데이터로 변환하고, 기상 수치 모델 데이터를 강우 레이더 합성영상과 동일한 공간 격자 구조로 내삽(interpolation)하는 과정을 수행할 수 있다. As an example, the
또한, 전처리 모듈(112)은 제1 기간 동안의 연속된 프레임으로 구성된 다차열 배열을 생성하고, 제1 기간의 연속된 프레임 중 전반부에 해당하는 제2 기간 동안의 프레임을 입력 시퀀스로 구성하고, 후반부에 해당하는 제3 기간 동안의 프레임을 출력 시퀀스로 구성할 수 있다. 이 때, 다차열 배열은, 프레임의 수, 남북 방향의 공간 격자수, 동서 방향의 공간 격자수, 및 입력 변수의 수에 기초하여 생성될 수 있다. 예로서, 12시간 동안 1시간 간격으로 연속된 프레임에서 앞의 6시간 동안의 프레임은 입력 시퀀스로, 뒤의 6시간 동안의 프레임은 출력 시퀀스로 구성하여 학습 데이터(2)를 생성함에 의해, 기준 시점으로부터 예컨대 6시간 이내의 강수 발생을 예측할 수 있다.In addition, the
일 실시예로서, 전처리 모듈(112)은 학습 데이터(2)를 구성하는 과정에서 강수와 관련된 수치 데이터의 비대칭성을 해소하기 위해, 하나의 프레임 내에서 강우값이 기준치 이상인 공간 격자수가 소정 비율 이상인 프레임을 샘플링 하여 학습 데이터를 구성할 수 있다.As an embodiment, the
학습 모듈(113)은 전처리 모듈(112)에서 전처리가 완료된 학습 데이터(2)를 이용하여 심층 학습을 수행하고, 이로부터 강수 예측 모델(31)을 생성한다. 이 때, 학습을 위해 사용되는 딥 러닝 알고리즘으로서 예컨대 인코더(encoder)와 디코더(decoder)로 구성된 오토 인코더(Auto-encoder) 신경망이 사용될 수 있다. 오토 인코더는, 차원 축소를 위해 특징 학습을 비지도 학습의 형태로 학습하는 신경망으로서, 인코더가 입력 데이터를 받아 차원을 축소하여 특징 값으로 변환하고, 디코더가 특징 값을 출력 데이터로 변환하게 된다. The
예측부(12)는 입력 모듈(121), 전처리 모듈(122), 및 예측 모듈(123)로 구성되고, 사용자 단말(10)로부터 입력되거나 외부 장치로부터 제공되는 예측 대상 데이터를 이용하여 강수 예측 결과를 출력한다. The
입력 모듈(121)에서는 사용자 단말(10) 또는 외부 장치로부터 제공되는 예측 대상 데이터가 입력된다. 이 때, 예측 대상 데이터는, 기준 시점에서의 강우 레이더 합성 영상과, 기상 수치 모델의 역학적 및 열역학적 변수 등과 같은 강우 현황 정보를 포함할 수 있다. In the
전처리 모듈(122)은 입력 모듈(121)에서 입력된 예측 대상 데이터를 딥 러닝 모델 기반으로 예측이 가능한 형태로 변환한다. 이 때, 예측 대상 데이터의 변환 과정은 학습부(11)의 전처리 모듈(112)에서 수행되는 과정과 동일하다. The
예측 모듈(123)은 학습 모듈(113)에서 생성된 강수 예측 모델(31)을 로드하고, 로드 된 강수 예측 모델(31)에 전처리가 완료된 예측 대상 데이터를 입력하여 강수 예측 결과를 생성한다. The
또한, 예측 모듈(123)은 학습 모듈(113)에서 생성된 강수 예측 모델(31)의 성능 수치를 로드한다. 강수 예측 모델(31)의 성능 수치는, 심층 학습 과정에서 산출되는 손실 함수(loss function)의 값을 포함할 수 있다. 여기서, 손실 함수는 예컨대 MSE(Mean Squared Error), MAE(Mean Absolute Error), Balanced MSE(Mean Squared Error), Balanced MAE(Mean Absolute Error), 및 SSIM(Scale Structural Similarity) 중 적어도 하나를 사용하여 산출될 수 있다. In addition, the
상기와 같은 본 발명의 실시예에 따른 강수 예측 장치(1)는 강수 예측을 위한 학습 과정 및 예측 과정을 모두 수행하는 장치로 구현될 수 있다. 이에 따라, 강수 예측 장치(1)는 연속된 프레임으로 구성된 학습 데이터를 딥러닝 모델에 적용하여 단기간 내의 강수를 예측할 수 있다. 또한, 강수 예측을 위해 다중 변수 입력 방식을 사용하여 예측의 정확도를 높일 수 있다.The
도 3은 본 발명의 다른 실시예에 따른 강수 예측 장치의 구성을 도시한 블록도이다. 도 3을 참조하면, 본 발명의 실시예에 따른 강수 예측 장치(7)는 예측부(12)를 포함하고, 네트워크를 통해 연결되는 서버(6)와 연결된다. 서버(6)는 학습부(11)를 포함하고, 외부 서버(20)와 네트워크를 통해 연결될 수 있다. 3 is a block diagram showing the configuration of a precipitation prediction device according to another embodiment of the present invention. Referring to FIG. 3 , a
도시된 예에서, 서버(6)는 심층 학습을 통해 강수 예측 모델(31)을 생성하는 학습부(11)의 구성을 포함하고, 강수 예측 장치(7)는 서버(6)에서 생성된 강수 예측 모델(31)을 이용하여 입력되는 예측 대상 데이터에 대한 예측 결과를 생성하는 예측부(12)의 구성을 포함한다. 이 때, 서버(6)에 포함된 학습부(11)와 강수 예측 장치(7)에 포함된 예측부(12)는 도 2에 도시된 강수 예측 장치(1)에 포함된 학습부(11)와 예측부(12)에 각각 대응하는 구성이므로, 각 구성이 수행하는 동작에 대한 구체적인 설명은 생략하도록 한다. In the illustrated example, the
서버(6)는 강수 예측을 위한 모델을 생성하는 동작을 수행한다. 서버(6)는 외부 서버(20)로부터 제공되는 강우 레이더 합성 영상과, 기상 수치 모델 데이터를 수집하여 학습 데이터(2)를 구성하고, 이를 이용하여 심층 학습을 수행함에 의해 강수 예측 모델(31)을 생성한다.The
강수 예측 장치(7)는 사용자로부터 입력되는 강수 예측을 위한 분석 요청을 처리하고, 그 결과를 화면을 통해 제공한다. The
일 실시예로서, 강수 예측 장치(7)는 강수 예측을 위한 모델의 생성 요청을 서버(6)로 전송하고, 서버(6)에서 생성되는 강수 예측 모델(31)에 관한 정보를 제공받을 수 있다. 강수 예측 장치(7)는 서버(6)로부터 제공된 강수 예측 모델(31)을 이용하여 사용자로부터 입력되는 예측 대상 데이터에 대한 강수 발생의 예측 결과를 생성하고, 이를 화면에 표시할 수 있다. 이 때, 사용자로부터 입력되는 예측 대상 데이터는, 기준 시점에서의 강우 레이더 합성 영상과, 기상 수치 모델의 역학적 및 열역학적 변수 등과 같은 강우 현황 정보를 포함할 수 있다. As an embodiment, the
상기와 같은 본 발명의 실시예에 따른 강수 예측 장치(7)는 강수 예측을 위한 예측 과정만을 수행하고, 예측을 위한 모델을 생성하는 학습 과정은 별도의 서버(6)를 통해 수행될 수 있다. 이에 따라, 강수 예측을 위한 학습 과정 및 예측 과정이 서로 다른 장치에서 수행되므로, 강수 발생 정도를 예측함에 있어 지연되는 시간 없이 높은 성능으로 예측 결과를 제공해줄 수 있다. The
도 4 내지 도 6은 본 발명의 다른 실시예에 따른 강수 예측 방법을 설명하기 위한 순서도이다. 4 to 6 are flowcharts for explaining a method for predicting precipitation according to another embodiment of the present invention.
본 실시예에 따른 강수 예측 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 강수 예측 장치(1)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.The precipitation prediction method according to this embodiment may be executed by the
도 4를 참조하면, 먼저, 동작 S41에서, 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터(2)가 생성된다. 여기서, 강우 데이터는, 기상청에서 제공되는 강우 레이더 합성영상으로 마련될 수 있다.Referring to FIG. 4 , first, in operation S41,
도 5를 참조하면, 동작 S41은, 강우 레이더 합성영상 및 기상 수치 모델 데이터 간 서로 다른 공간 격자 및 시간 해상도를 일치시키는 동작 S411과, 입력 시퀀스와 출력 시퀀스로 이루어진 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 동작 S412를 포함할 수 있다.Referring to FIG. 5, operation S41 includes operation S411 of matching different spatial grids and temporal resolutions between the synthetic rainfall radar image and the numerical weather model data, and generating a multi-dimensional array composed of consecutive frames consisting of an input sequence and an output sequence. It may include an operation S412 of configuring learning data by doing so.
일 실시예로서, 동작 S411은, 강우 레이더 합성영상을 시간 적분을 통해 시간당 강수량 데이터로 변환하는 동작, 및 기상 수치 모델 데이터를 상기 강우 레이더 합성영상과 동일한 공간 격자 구조로 내삽(interpolation)하는 동작을 포함할 수 있다.As an embodiment, operation S411 includes an operation of converting the synthetic rain radar image into precipitation data per hour through time integration, and an operation of interpolating the weather numerical model data into the same spatial grid structure as the synthetic rainfall radar image. can include
일 실시예로서, 동작 S412는, 제1 기간 동안 소정 간격을 가지는 연속된 프레임 중, 전반부에 해당하는 제2 기간 동안의 프레임을 입력 시퀀스로 구성하고, 후반부에 해당하는 제3 기간 동안의 프레임을 출력 시퀀스로 구성하는 동작을 포함할 수 있다. As an embodiment, operation S412 configures frames during the second period corresponding to the first half among consecutive frames having a predetermined interval during the first period as an input sequence, and frames during the third period corresponding to the second half It may include an operation to configure an output sequence.
예로서, 12시간의 연속된 프레임으로 구성된 다차원 배열을 학습 데이터로 구성하되, 다차원 배열은 12 * ny * nx * nvar의 크기를 가지도록 생성될 수 있다 (ny: 남북 방향의 공간 격자수, nx: 동서 방향의 공간 격자수, nvar: 입력 데이터의 종수). 이 때, 12시간의 연속된 프레임 중 앞의 6시간의 프레임은 입력 시퀀스(input sequence)로, 뒤의 6시간의 프레임은 출력 시퀀스(output sequence)로 구성하여, 학습 과정에서는 출력 시퀀스를 모델의 학습 대상으로서 제공하고, 예측 과정에서는 입력 시퀀스를 학습된 모델에 입력하여 출력 시퀀스를 도출해내도록 할 수 있다.As an example, a multidimensional array consisting of 12 consecutive frames is configured as training data, but the multidimensional array can be created to have a size of 12 * n y * n x * n var ( n y: space in the north-south direction The number of grids , n x: the number of spatial grids in the east-west direction, n var: the number of species of input data). At this time, among the continuous frames of 12 hours, the frame of the preceding 6 hours is configured as an input sequence, and the frame of the following 6 hours is configured as an output sequence. It is provided as a learning target, and in the prediction process, the input sequence can be input to the learned model to derive the output sequence.
일 실시예로서, 동작 S412는, 제1 기간 동안 소정 간격을 가지는 연속된 프레임으로 구성된 학습 데이터를 생성함에 있어, 하나의 프레임 내에서 전체 공간 격자수 중 강우값이 기준치 이상인 공간 격자수가 소정 비율 이상인 프레임을 학습 데이터의 샘플로 포함시킬 수 있다.As an embodiment, in operation S412, in generating learning data composed of continuous frames having a predetermined interval during the first period, the number of spatial lattices in which the rainfall value is equal to or greater than a reference value among the total number of spatial lattices in one frame is equal to or greater than a predetermined ratio. Frames can be included as samples of training data.
예로서, 12시간 동안의 연속된 프레임의 각 프레임 내에서 강우값이 10mm/h 이상이 되는 격자수가 ny * nx의 10% 이상이 되는 프레임이 학습 데이터의 샘플로 포함되도록 할 수 있다. 이에 따라, 의미 있는 강수 분포를 가지는 데이터들을 학습에 활용할 수 있다. For example, within each frame of continuous frames for 12 hours, a frame in which the number of grids having a rainfall value of 10 mm/h or more is 10% or more of n y * n x may be included as a sample of training data. Accordingly, data having a meaningful precipitation distribution can be used for learning.
다음으로, 동작 S42에서, 학습 데이터(2)를 인코더-디코더(encoder-decoder) 구조의 신경망(3)에 적용하여 강수 예측 모델(31)이 생성된다.Next, in operation S42, a
도 6을 참조하면, 동작 S42는, 학습 데이터(2)를 이용하여 인코더-디코더 구조의 신경망(3)을 학습시키는 동작 S421과, 생성자(Generator) 및 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 인코더-디코더 구조의 신경망(3)에 추가하는 동작 S422, 및 디코더에서 출력되는 예측 정보를 생성자의 출력 정보로 사용하고, 생성자의 출력 정보와 실제 강수 정보를 구분자에 입력하여, 출력 정보에 대한 정확도를 판단하는 동작 S423을 포함할 수 있다.Referring to FIG. 6, operation S42 is an operation S421 of learning the
일 실시예로서, 인코더-디코더 구조의 신경망(3)은 복수의 레이어의 구조를 가지는 인코더(도 9의 부호 '91' 참조)와 디코더(도 9의 부호 '92' 참조)로 구성될 수 있다. 인코더(91) 및 디코더(92)는 예컨대 Conv2D, ConvLSTM2D 등과 같은 컨볼루션(convolution) 연산을 수행하여 데이터의 차원을 축소시키거나 확대시킬 수 있다. 예로서, 학습 데이터(2)를 구성하는 입력 시퀀스를 인코더(91)에 입력하면, 차원이 축소되어 압축된 정보를 가지는 주요 피처들(features)이 추출될 수 있다. 또한, 인코더(91)를 통해 압축된 정보를 디코더(92)에 입력하면, 차원이 확대되어 출력 시퀀스에 부합하는 상세 정보가 출력될 수 있다.As an embodiment, the
일 실시예로서, 동작 S421은, 인코더-디코더 구조의 신경망(3)의 학습 과정에서 발생되는 오차의 손실을 계산하는 손실 함수(loss function)로서 MSE(Mean Squared Error), MAE(Mean Absolute Error), Balanced MSE(Mean Squared Error), Balanced MAE(Mean Absolute Error), 및 SSIM(Scale Structural Similarity) 중 적어도 하나를 사용하는 동작을 포함할 수 있다. As an embodiment, operation S421 is a loss function for calculating the loss of the error generated in the learning process of the
일 실시예로서, 동작 S421은, 학습 데이터(2)에 포함된 데이터의 종류에 따라 분기한 구조의 신경망을 구성하는 동작을 포함할 수 있다. 예로서, 학습 데이터(2)로서 제공되는 데이터가 레이더 합성영상 및 기상 수치모델 데이터와 같이 데이터의 종류가 상이한 경우, 인코더(91)의 입력 레이어 및 그와 연결된 Conv2D 레이어를 데이터의 종류에 따라 분기한 구조로 구성할 수 있다. As an embodiment, operation S421 may include an operation of constructing a neural network having a branched structure according to the type of data included in the learning
일 실시예로서, 동작 S422는, 인코더-디코더 구조의 신경망(3)을 생성적 대립 신경망(GAN)의 생성자(Generator)로 구성하는 동작을 포함할 수 있다. As an embodiment, operation S422 may include an operation of configuring the
또한, 동작 S423에서, 디코더(92)에서 출력되는 예측 결과를 최종적인 강수 예측 정보로 출력하는 것이 아니라 생성자(Generator)의 출력 정보로서 사용하고, 출력 정보와 함께 실제 강수 정보를 생성적 대립 신경망(GAN)의 구분자(Discriminator)에 입력하여, 출력 정보가 실제 강수 정보에 부합하도록 정확하게 예측된 정보인지, 아니면 부정확하게 예측된 가짜 정보인지 여부가 판별될 수 있다.In addition, in operation S423, the prediction result output from the decoder 92 is not output as final precipitation prediction information, but is used as output information of a generator, and actual precipitation information together with the output information is used as a generative adversarial neural network ( GAN), it can be determined whether the output information is accurately predicted information to match the actual precipitation information or inaccurately predicted fake information.
일 실시예로서, 동작 S423은, 생성적 대립 신경망(GAN)의 구분자에서 발생되는 손실 값(loss)을 생성자에게 피드백(feedback)하는 동작을 더 포함할 수 있다. 즉, 구분자의 학습 과정에서 발생되는 손실 값을 생성자에게 피드백 하고, 이러한 피드백 과정을 반복적으로 수행함에 의해 생성자(Generator)는 실제 강수 정보에 가까운 예측 정보를 생성할 수 있다.As an embodiment, operation S423 may further include an operation of feeding back a loss value generated in a delimiter of a generative adversarial network (GAN) to a generator. That is, the loss value generated in the learning process of the classifier is fed back to the generator, and by repeatedly performing this feedback process, the generator can generate prediction information close to actual precipitation information.
마지막으로, 동작 S43에서, 예측 대상 데이터(4)를 강수 예측 모델(31)에 입력하여 강수 예측 정보(5)가 출력된다. 이 때, 예측 대상 데이터(4)는 기준 시점에서의 강우 레이더 합성 영상과, 기상 수치 모델의 역학적 및 열역학적 변수 등을 포함할 수 있다. 강수 예측 정보(5)는 기준 시점으로부터 예컨대 6시간 이후와 같이 초단기 강수 발생 정도를 예측한 결과로서, 예컨대 강수 예측 모델(31)에 의해 예측된 강우 레이더 합성영상을 포함할 수 있다. Finally, in operation S43, the prediction subject data 4 is input to the
상기와 같은 본 발명의 실시예에 따른 방법에 의하면, 연속된 프레임으로 구성된 학습 데이터를 딥러닝 모델에 적용하여 단기간 내 강수 발생 정도를 예측할 수 있다. 또한, 강수 예측 과정에서 인코더-디코더 신경망에 의한 예측 결과를 생성적 대립 신경망(GAN)에 적용하여 보다 정교한 예측 결과를 얻을 수 있다.According to the method according to the embodiment of the present invention as described above, it is possible to predict the degree of occurrence of precipitation within a short period of time by applying learning data composed of consecutive frames to a deep learning model. In addition, in the precipitation prediction process, a more sophisticated prediction result can be obtained by applying the prediction result by the encoder-decoder neural network to a generative adversarial network (GAN).
도 7은 본 발명의 다른 실시예에 따른 강수 예측 방법을 설명하기 위한 순서도이다. 7 is a flowchart illustrating a method for predicting precipitation according to another embodiment of the present invention.
본 실시예에 따른 강수 예측 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 강수 예측 장치(7)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.The precipitation prediction method according to the present embodiment may be executed by the
도 7을 참조하면, 동작 S71에서, 예측 대상 데이터(4)가 강수 예측 모델(31)에 입력되고, 동작 S72에서, 강수 예측 모델(31)로부터 강수 예측 정보(5)가 출력된다. 이 때, 강수 예측 모델(31)은, 강우 데이터 및 기상 수치 모델 데이터를 이용한 일련의 연속된 프레임으로 구성된 학습 데이터(2)를 이용하여 인코더-디코더(encoder-decoder) 구조의 신경망(3)을 학습하여 생성된 것일 수 있다.Referring to FIG. 7 , in operation S71, prediction target data 4 is input to the
본 실시예에 따른 동작 S71 및 동작 S72는, 예측 과정을 수행하는 강수 예측 장치(7)에 의해 수행되는 것으로, 도 4의 실시예에서 설명한 동작 S43에 대응하므로 상세한 설명은 생략하기로 한다. Operations S71 and S72 according to the present embodiment are performed by the
도 8은 본 발명의 몇몇 실시예에 따른 학습 데이터의 구성을 도시한 예이다. 도 8을 참조하면, 강수 예측 모델(31)을 생성하기 위해 사용되는 학습 데이터(80)의 구성을 보여준다. 8 is an example showing the configuration of learning data according to some embodiments of the present invention. Referring to FIG. 8 , the configuration of
도시된 예에서, 학습 데이터(80)는 12시간 동안 1시간 간격의 연속된 프레임으로 구성된 샘플들을 포함할 수 있다. 이 때, 12시간 동안의 연속된 프레임들 중 앞의 6시간 동안의 복수의 프레임(T-5h, T-4h, T-3h, T-2h, T-1h, T)은 입력 시퀀스(input sequence)(81)로 사용되고, 뒤의 6시간 동안의 복수의 프레임(T+1h, T+2h, T+3h, T+4h, T+5h, T+6h)은 출력 시퀀스(output sequence)(82)로 사용될 수 있다. 이 때, 학습 데이터(80)의 수집 기간 및 프레임의 간격은 데이터 수집 환경과 예측 시점을 고려하여 다양하게 설정될 수 있다.In the illustrated example, the
일 실시예로서, 학습 데이터(80)의 전체 샘플들(s000001, s000002, ??, sn-2, sn-1) 중에서, 전체 공간 격자수 중 강우값이 기준치 이상인 공간 격자수가 소정 비율 이상인 프레임만을 학습 데이터의 샘플로 포함시킬 수 있다.As an embodiment, among all samples (s000001, s000002, ??, sn-2, and sn-1) of the learning
예로서, 12시간 동안의 연속된 프레임(80)의 각 프레임 내에서 강우값이 10mm/h 이상이 되는 격자수가 ny * nx의 10% 이상이 되는 프레임이 학습 데이터의 샘플로 포함되도록 할 수 있다 (ny: 남북 방향의 공간 격자수, nx: 동서 방향의 공간 격자수). 이에 따라, 의미 있는 강수 분포를 가지는 데이터들 만을 학습 데이터(80)의 샘플로 포함하여 학습에 활용할 수 있다. For example, within each frame of the
도 9는 본 발명의 몇몇 실시예에 따른 학습을 위한 인코더-디코더 신경망 구조를 도시한 예이다. 도 9를 참조하면, 학습 데이터(80)을 이용한 심층 학습을 수행하기 위해, 인코더(91) 및 디코더(92)를 포함하는 오토 인코더(Auto-encoder) 구조의 신경망이 사용될 수 있다. 9 is an example of an encoder-decoder neural network structure for learning according to some embodiments of the present invention. Referring to FIG. 9 , in order to perform deep learning using
도시된 예에서, 인코더(91) 및 디코더(92)는 Conv2D과 ConvLSTM2D 등으로 이루어진 3개의 레이어(layer)로 구성될 수 있다. Conv2D과 ConvLSTM2D는 서로 다른 컨볼루션 연산 방식을 가지고, 입력되는 데이터의 차원을 축소하거나 확대할 수 있다. In the illustrated example, the encoder 91 and the decoder 92 may be composed of three layers including Conv2D and ConvLSTM2D. Conv2D and ConvLSTM2D have different convolution operation methods and can reduce or expand the dimension of input data.
일 실시예로서, 인코더(91)는 입력 시퀀스(81)에 해당하는 레이더 합성영상(93)을 입력 받아 차원을 축소하는 압축 과정을 거치고, 이를 통해 주요 피처들(feature)을 추출할 수 있다. 디코더(92)는 인코더(91)를 통해 압축된 정보의 차원을 확대하는 복원 과정을 거치고, 이를 통해 출력 시퀀스(82)에 부합하는 상세 정보를 재구성하여 예측 레이더 합성영상(94)를 출력할 수 있다.As an embodiment, the encoder 91 receives the synthesized radar image 93 corresponding to the
일 실시예로서, 인코더(91) 및 디코더(92)로 구성된 오토 인코더 신경망을 학습하는 과정에서, 최적의 가중치를 찾아내기 위해 예측 값과 실제 값의 차이인 오차의 손실을 계산하는 손실 함수(loss function)가 사용될 수 있다. 특히, 강수 예측을 위해 사용되는 강수량 데이터는 비대칭적 분포를 가지기 때문에 이를 고려한 손실 함수를 사용해야 한다. As an embodiment, in the process of learning the auto-encoder neural network composed of the encoder 91 and the decoder 92, a loss function for calculating the loss of error, which is the difference between the predicted value and the actual value, to find the optimal weight (loss function) function) can be used. In particular, since the precipitation data used for precipitation prediction has an asymmetric distribution, a loss function considering this should be used.
예로서, 도 10을 참조하면, 손실 함수로서, MSE(Mean Squared Error), MAE(Mean Absolute Error), BMSE(Balanced Mean Squared Error)(1010), BMAE(Balanced Mean Absolute Error)(1020), 및 SSIM(Scale Structural Similarity)(1030) 중 적어도 하나가 사용될 수 있다. 또한, 손실 함수로서, BMSE(1010)과 BMAE(1020)의 조합(1040)이 사용되거나, BMSE(1010), BMAE(1020), 및 SSIM(1030)의 조합인 BALL(1050)이 사용될 수도 있다. 이와 같이, 여러 종류의 손실 함수를 조합하여 사용하는 경우 경험적 실험을 통해 각 항의 비율이 조정될 수 있다.As an example, referring to FIG. 10 , as a loss function, mean squared error (MSE), mean absolute error (MAE), balanced mean squared error (BMSE) 1010, balanced mean absolute error (BMAE) 1020, and At least one of SSIM (Scale Structural Similarity) 1030 may be used. Also, as a loss function, a
일 실시예로서, 인코더(91) 및 디코더(92)로 구성된 오토 인코더 신경망을 학습하는 과정에서, 학습 데이터(2)에 포함된 데이터의 종류에 따라 분기한 구조의 신경망을 구성할 수 있다.As an embodiment, in the process of learning the auto-encoder neural network composed of the encoder 91 and the decoder 92, a neural network having a branched structure may be configured according to the type of data included in the learning
예로서, 도 11을 참조하면, 학습 데이터(2)로서 제공되는 데이터가 레이더 합성영상(1110), 전구 기상 수치모델 데이터(1120), 지역 기상 수치모델 데이터(1130)와 같이 데이터의 종류가 상이한 경우, 각각의 데이터의 종류(1110, 1120, 1130)에 따라 인코더(91)의 입력 레이어 및 그와 연결된 Conv2D 레이어를 분기한 구조로 신경망을 구성할 수 있다.As an example, referring to FIG. 11 , data provided as
도 12는 본 발명의 몇몇 실시예에 따른 인코더-디코더 신경망에 생성적 대립 신경망(GAN)을 추가 구성으로 적용하는 예이다. 도 12를 참조하면, 인코더(1211) 및 디코더(1212)로 구성된 오토 인코더 신경망에 생성자(Generator)(1210) 및 구분자(Discriminator)(1220)로 구성된 생성적 대립 신경망(GAN)을 추가 구성으로 적용하여 강수 예측 모델(31)을 생성할 수 있다.12 is an example of applying a generative adversarial network (GAN) as an additional configuration to an encoder-decoder neural network according to some embodiments of the present invention. Referring to FIG. 12, a generative adversarial network (GAN) composed of a
도시된 예에서, 생성자(1210)는 인코더(1211) 및 디코더(1212)의 구성을 포함하고, 디코더(1212)에서 출력되는 예측 결과를 생성자(1210)의 출력 정보(1213)로 사용할 수 있다. In the illustrated example, the
구분자(1220)는 생성자(1210)의 출력 정보(1213)와 실제 강수 정보(1221)가 입력되면, 출력 정보(1213)가 실제 강수 정보(1221)에 부합하도록 정확하게 예측된 정보인지, 아니면 부정확하게 예측된 가짜 정보인지 여부를 판별할 수 있다.When the output information 1213 of the
일 실시예로서, 구분자(1220)는 학습 과정에서 발생되는 손실 값(loss)(1222)을 생성자(1210)에게 피드백 하고, 이러한 피드백 과정을 반복적으로 수행함에 의해 생성자(1210)는 실제 강수 정보(1221)에 가까운 출력 정보(1213)를 생성할 수 있다. As an embodiment, the
상기와 같은 본 발명의 실시예에 의하면, 강수 예측 모델을 생성함에 있어, 생성적 대립 신경망(GAN)을 인코더-디코더 구조의 신경망에 추가함에 의해, 인코더-디코더 구조의 신경망 하나만을 사용하는 경우에 비해 보다 더 정교한 예측이 가능해질 수 있다. According to the embodiment of the present invention as described above, in generating a precipitation prediction model, by adding a generative adversarial network (GAN) to an encoder-decoder structured neural network, in the case of using only one encoder-decoder structured neural network More sophisticated predictions may be possible.
도 13은 본 발명의 몇몇 실시예에 따른 학습 검증을 위한 통계 지표를 활용하는 예이다. 도 13을 참조하면, 학습 데이터(2)를 구성 시 학습을 위한 샘플 데이터(sample data) 외에, 학습 검증을 위한 검증 데이터(test data)를 별도로 마련해 두고, 입력 시퀀스를 이용하여 예측된 결과를 실제 관측된 결과와 비교하여 학습의 타당성 여부를 판단할 수 있다.13 is an example of utilizing statistical indicators for learning verification according to some embodiments of the present invention. Referring to FIG. 13, when configuring learning data (2), test data for learning verification is separately prepared in addition to sample data for learning, and the predicted result using the input sequence is actually By comparing with the observed results, the validity of the learning can be judged.
도시된 예에서, 인코더-디코더 구조의 신경망의 학습 검증을 위해, 검증 데이터를 이용하여 예측을 수행하고, 그 과정에서 신경망에 적용된 손실 함수(loss function)에 따라 달리 학습된 신경망들의 예측 결과를 그래프 상에서 예측 시간대별(F01, F02, F03, F04, F05, F06)로 제공할 수 있다. 이 때, 손실 함수로서, MSE(Mean Squared Error), MAE(Mean Absolute Error), BMSE(1010), BMAE(1020), 및 SSIM(1030) 중 적어도 하나가 사용될 수 있다.In the illustrated example, for the learning verification of the neural network having an encoder-decoder structure, prediction is performed using verification data, and in the process, prediction results of the learned neural networks are graphed according to a loss function applied to the neural network. It can be provided by forecast time period (F01, F02, F03, F04, F05, F06) on the At this time, as the loss function, at least one of mean squared error (MSE), mean absolute error (MAE),
이와 같이, 그래프 상에서 예측 시간대별로 예측 결과를 제공함에 의해, 예측 시간대별로 손실 함수의 구성에 따른 신경망의 예측 성능이 판단될 수 있다. 이 때, 예측 결과로서는 CSI, POD, FAR, BIAS, RMSE 등과 같은 통계 지표를 제시하여 학습 검증을 위한 판단 기준을 제공할 수 있다. In this way, by providing prediction results for each prediction time period on the graph, the prediction performance of the neural network according to the configuration of the loss function for each prediction time period can be determined. At this time, statistical indicators such as CSI, POD, FAR, BIAS, RMSE, etc. may be presented as prediction results to provide a criterion for learning verification.
도 14는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 14에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 14에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 14에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 14 is a hardware configuration diagram of an exemplary computing device that may implement methods in accordance with some embodiments of the invention. As shown in FIG. 14, the
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.The
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(105)은 외부 서버로부터 수집된 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 동작, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 동작, 및 예측 대상 데이터를 상기 강수 예측 모델에 입력하여 강수 예측 정보를 출력하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. For example, the
지금까지 도 1 내지 도 14를 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present invention and effects according to the embodiments have been described with reference to FIGS. 1 to 14 . Effects according to the technical idea of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present invention described so far can be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention have been described as being combined or operated as one, the technical spirit of the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although actions are shown in a particular order in the drawings, it should not be understood that the actions must be performed in the specific order shown or in a sequential order, or that all shown actions must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be understood as requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art can implement the present invention in other specific forms without changing the technical spirit or essential features. can understand that there is Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the technical ideas defined by the present invention.
Claims (18)
강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 단계;
상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계; 및
예측 대상 데이터를 상기 강수 예측 모델에 입력하여 강수 예측 정보를 출력하는 단계를 포함하는,
강수 예측 방법.In a method performed by a computing device,
generating learning data consisting of a series of consecutive frames using rainfall data and weather numerical model data;
generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure; and
Including the step of outputting precipitation prediction information by inputting prediction target data to the precipitation prediction model,
Precipitation forecasting method.
상기 강우 데이터는, 강우 레이더 합성 영상인,
강수 예측 방법.According to claim 1,
The rainfall data is a rain radar synthesized image,
Precipitation forecasting method.
상기 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 단계는,
상기 강우 레이더 합성영상 및 기상 수치 모델 데이터 간 서로 다른 공간 격자 및 시간 해상도를 일치시키는 단계를 포함하는,
강수 예측 방법.According to claim 2,
The step of generating learning data consisting of a series of continuous frames using the rainfall data and weather numerical model data,
Matching different spatial grids and temporal resolutions between the rain radar synthetic image and weather numerical model data,
Precipitation forecasting method.
상기 강우 레이더 합성영상 및 기상 수치 모델 데이터 간 서로 다른 공간 격자 및 시간 해상도를 일치시키는 단계는,
상기 강우 레이더 합성영상을 시간 적분을 통해 시간당 강수량 데이터로 변환하는 단계; 및
상기 기상 수치 모델 데이터를 상기 강우 레이더 합성영상과 동일한 공간 격자 구조로 내삽(interpolation)하는 단계를 포함하는,
강수 예측 방법.According to claim 3,
The step of matching different spatial grids and temporal resolutions between the synthetic rain radar image and the numerical weather model data,
converting the rain radar composite image into hourly precipitation data through time integration; and
Interpolating the weather numerical model data into the same spatial grid structure as the synthetic rain radar image,
Precipitation forecasting method.
상기 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하는 단계는,
제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 단계를 포함하고,
상기 다차원 배열은, 프레임수, 공간 격자수, 및 입력 변수의 수에 기초하여 생성되는,
강수 예측 방법.According to claim 1,
The step of generating learning data consisting of a series of continuous frames using the rainfall data and weather numerical model data,
Creating a multidimensional array composed of consecutive frames of the first period and configuring it as learning data;
The multidimensional array is generated based on the number of frames, the number of spatial grids, and the number of input variables.
Precipitation forecasting method.
상기 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 단계는,
전체 공간 격자수 중 강우값이 기준치 이상인 공간 격자수가 소정 비율 이상인 프레임을 학습 데이터로 사용하는 단계를 포함하는,
강수 예측 방법.According to claim 5,
The step of generating a multidimensional array composed of consecutive frames of the first period and configuring it as learning data,
Using a frame having a predetermined ratio or more in which the number of spatial lattices having a rainfall value greater than or equal to a reference value among the total number of spatial lattices is used as training data,
Precipitation forecasting method.
상기 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 학습 데이터로 구성하는 단계는,
상기 제1 기간의 연속된 프레임 중 전반부에 해당하는 제2 기간의 프레임을 입력 시퀀스로 구성하고, 후반부에 해당하는 제3 기간의 프레임을 출력 시퀀스로 구성하는 단계를 포함하는,
강수 예측 방법.According to claim 5,
The step of generating a multidimensional array composed of consecutive frames of the first period and configuring it as learning data,
Constructing frames of the second period corresponding to the first half of the consecutive frames of the first period as an input sequence and configuring frames of the third period corresponding to the second half as an output sequence,
Precipitation forecasting method.
상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는,
상기 입력 시퀀스를 상기 인코더를 통해 압축하여 피처들(features)을 추출하는 단계; 및
상기 압축된 피처들을 상기 디코더를 통해 상기 출력 시퀀스에 부합하는 상세 정보로 복원하는 단계를 포함하는.
강수 예측 방법.According to claim 7,
Generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure,
extracting features by compressing the input sequence through the encoder; and
and restoring the compressed features into detailed information conforming to the output sequence through the decoder.
Precipitation forecasting method.
상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는,
상기 신경망을 학습하는 과정에서 손실 함수(loss function)로서 MSE(Mean Squared Error), MAE(Mean Absolute Error), Balanced MSE(Mean Squared Error), Balanced MAE(Mean Absolute Error), 및 SSIM(Scale Structural Similarity) 중 적어도 하나를 사용하는 단계를 포함하는,
강수 예측 방법.According to claim 1,
Generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure,
In the process of learning the neural network, MSE (Mean Squared Error), MAE (Mean Absolute Error), Balanced MSE (Mean Squared Error), Balanced MAE (Mean Absolute Error), and SSIM (Scale Structurality) are used as loss functions ) Including the step of using at least one of,
Precipitation forecasting method.
상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는,
상기 학습 데이터에 포함된 데이터의 종류에 따라 분기한 구조의 신경망을 구성하는 단계를 포함하는,
강수 예측 방법.According to claim 1,
Generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure,
Constructing a neural network with a branched structure according to the type of data included in the learning data,
Precipitation forecasting method.
상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 단계는,
생성자(Generator) 및 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 상기 인코더-디코더 구조의 신경망에 추가하는 단계를 포함하는,
강수 예측 방법.According to claim 1,
Generating a precipitation prediction model by applying the learning data to a neural network having an encoder-decoder structure,
Adding a Generative Adversarial Network (GAN) consisting of a generator and a discriminator to the neural network of the encoder-decoder structure,
Precipitation forecasting method.
상기 생성자(Generator) 및 상기 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 상기 인코더-디코더 구조의 신경망에 추가하는 단계는,
상기 디코더에서 출력되는 예측 정보를 상기 생성자의 출력 정보로 사용하는 단계; 및
상기 생성자의 출력 정보와 실제 강수 정보를 상기 구분자에 입력하여, 상기 출력 정보에 대한 정확도를 판단하는 단계를 포함하는,
강수 예측 방법.According to claim 11,
The step of adding a generative adversarial network (GAN) consisting of the generator and the discriminator to the neural network of the encoder-decoder structure,
using prediction information output from the decoder as output information of the generator; and
Including the step of determining the accuracy of the output information by inputting the output information of the generator and the actual precipitation information to the separator,
Precipitation forecasting method.
컴퓨터 판독 가능한 비일시적 기록 매체.A computer program for causing a computer to perform the method of any one of claims 1 to 12 is stored,
Computer-readable non-transitory recording medium.
서버로부터 강수 예측 모델에 관한 정보를 수신하는 단계;
사용자 입력에 의해 예측 대상 데이터를 획득하는 단계;
상기 예측 대상 데이터를 상기 강수 예측 모델에 입력하는 단계; 및
상기 강수 예측 모델로부터 강수 예측 정보를 출력하는 단계를 포함하고,
상기 강수 예측 모델은, 강우 데이터 및 기상 수치 모델 데이터를 이용한 일련의 연속된 프레임으로 구성된 학습 데이터를 이용하여 인코더-디코더(encoder-decoder) 구조의 신경망을 학습하여 생성된 것인,
강수 예측 방법.In a method performed by a computing device,
Receiving information about a precipitation prediction model from a server;
obtaining prediction target data by user input;
inputting the prediction target data into the precipitation prediction model; and
Outputting precipitation prediction information from the precipitation prediction model;
The precipitation prediction model is generated by learning a neural network of an encoder-decoder structure using training data composed of a series of consecutive frames using rainfall data and weather numerical model data,
Precipitation forecasting method.
상기 학습 데이터는, 제1 기간의 연속된 프레임으로 구성된 다차원 배열을 생성하여 구성되고,
상기 다차원 배열은, 프레임수, 공간 격자수, 및 입력 변수의 수에 기초하여 생성되는,
강수 예측 방법.According to claim 14,
The learning data is configured by generating a multidimensional array composed of consecutive frames of a first period,
The multidimensional array is generated based on the number of frames, the number of spatial grids, and the number of input variables.
Precipitation forecasting method.
상기 강수 예측 모델은, 생성자(Generator) 및 구분자(Discriminator)로 구성된 생성적 대립 신경망(GAN: Generative Adversarial Network)을 상기 인코더-디코더 구조의 신경망에 추가하여 학습함에 의해 생성된 것인,
강수 예측 방법.According to claim 14,
The precipitation prediction model is generated by learning by adding a generative adversarial network (GAN) consisting of a generator and a discriminator to the neural network of the encoder-decoder structure,
Precipitation forecasting method.
상기 외부 서버로부터 수집된 강우 데이터 및 기상 수치 모델 데이터를 이용하여 일련의 연속된 프레임으로 구성된 학습 데이터를 생성하고, 상기 학습 데이터를 인코더-디코더(encoder-decoder) 구조의 신경망에 적용하여 강수 예측 모델을 생성하는 학습부; 및
예측 대상 데이터를 상기 강수 예측 모델에 입력하여 강수 예측 정보를 출력하는 예측부를 포함하는,
강수 예측 장치.a communication unit that communicates with an external server;
Using the rainfall data and weather numerical model data collected from the external server, training data composed of a series of consecutive frames is generated, and the training data is applied to a neural network having an encoder-decoder structure to predict precipitation. Learning unit for generating; and
A prediction unit configured to output precipitation prediction information by inputting prediction target data to the precipitation prediction model,
Precipitation forecasting device.
외부장치와 통신하는 통신 인터페이스;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
상기 외부장치로부터 강수 예측 모델에 관한 정보를 수신하는 동작,
사용자 입력에 의해 예측 대상 데이터를 획득하는 동작,
상기 예측 대상 데이터를 상기 강수 예측 모델에 입력하는 동작, 및
상기 강수 예측 모델로부터 강수 예측 정보를 출력하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하고,
상기 강수 예측 모델은, 강우 데이터 및 기상 수치 모델 데이터를 이용한 일련의 연속된 프레임으로 구성된 학습 데이터를 이용하여 인코더-디코더(encoder-decoder) 구조의 신경망을 학습하여 생성된 것인,
강수 예측 장치.one or more processors;
a communication interface that communicates with an external device;
a memory for loading a computer program executed by the processor; and
Including a storage for storing the computer program,
The computer program,
Receiving information about a precipitation prediction model from the external device;
Obtaining prediction target data by user input;
inputting the prediction target data to the precipitation prediction model; and
Includes instructions for performing an operation of outputting precipitation prediction information from the precipitation prediction model;
The precipitation prediction model is generated by learning a neural network of an encoder-decoder structure using training data composed of a series of consecutive frames using rainfall data and weather numerical model data,
Precipitation forecasting device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072668A KR102631539B1 (en) | 2021-06-04 | 2021-06-04 | Method for predicting precipitation based on deep learning and apparatus implementing the same method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210072668A KR102631539B1 (en) | 2021-06-04 | 2021-06-04 | Method for predicting precipitation based on deep learning and apparatus implementing the same method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220164198A true KR20220164198A (en) | 2022-12-13 |
KR102631539B1 KR102631539B1 (en) | 2024-01-31 |
Family
ID=84439273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210072668A KR102631539B1 (en) | 2021-06-04 | 2021-06-04 | Method for predicting precipitation based on deep learning and apparatus implementing the same method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102631539B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794981A (en) * | 2022-12-14 | 2023-03-14 | 广西电网有限责任公司 | Method and system for counting meteorological data by using model |
CN116383701A (en) * | 2023-04-13 | 2023-07-04 | 中国人民解放军国防科技大学 | Microwave link rainy period detection method based on learning reconstruction |
CN116610959A (en) * | 2023-07-19 | 2023-08-18 | 湖北省气象服务中心(湖北省专业气象服务台) | Method and device for checking cloud broadcasting operation effect based on UNET-GRU deep learning |
CN116701553A (en) * | 2023-05-12 | 2023-09-05 | 中国长江电力股份有限公司 | Similar rainfall runoff process searching method based on rainfall time distribution histogram |
CN116821681A (en) * | 2023-06-27 | 2023-09-29 | 北京华云星地通科技有限公司 | Global precipitation data generation method and system |
KR102609569B1 (en) | 2023-06-30 | 2023-12-05 | 경북대학교 산학협력단 | Apparatus and method to predict rainfall based on machine learning using dual polarization radar data |
CN117237677A (en) * | 2023-11-15 | 2023-12-15 | 南京信息工程大学 | Precipitation prediction correction method for overall similarity of strong precipitation space based on deep learning |
KR102655841B1 (en) | 2024-01-23 | 2024-04-09 | 디아이랩 주식회사 | Method of early detection and response to the risk of flooding through ultra-short-term precipitation prediction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101994387B1 (en) * | 2018-08-21 | 2019-06-28 | 부경대학교 산학협력단 | System and Method for Forecasting Precipitation in Mountainous Areas using Water Vapor Weighting Blending |
JP2020091171A (en) | 2018-12-05 | 2020-06-11 | 株式会社Ihi | Weather forecasting system, weather forecasting method, and weather forecasting program |
US20200311914A1 (en) * | 2017-04-25 | 2020-10-01 | The Board Of Trustees Of Leland Stanford University | Dose reduction for medical imaging using deep convolutional neural networks |
-
2021
- 2021-06-04 KR KR1020210072668A patent/KR102631539B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200311914A1 (en) * | 2017-04-25 | 2020-10-01 | The Board Of Trustees Of Leland Stanford University | Dose reduction for medical imaging using deep convolutional neural networks |
KR101994387B1 (en) * | 2018-08-21 | 2019-06-28 | 부경대학교 산학협력단 | System and Method for Forecasting Precipitation in Mountainous Areas using Water Vapor Weighting Blending |
JP2020091171A (en) | 2018-12-05 | 2020-06-11 | 株式会社Ihi | Weather forecasting system, weather forecasting method, and weather forecasting program |
Non-Patent Citations (3)
Title |
---|
Quanlong Feng 외 6명, Integrating Multitemporal Sentinel-1/2 Data for Coastal Land Cover Classification Using a Multibranch Convolutional Neural Network: A Case of the Yellow River Delta. 1부.* * |
신홍준 외 2명. 시간 연속성을 고려한 딥러닝 기반 레이더 강우예측. 한국수자원학회논문집. 2021.05.31, 제54권, 제5호, pp.301-309, <인터넷:http://koreascience.or.kr/article/JAKO202116954704821.page> 1부.* * |
신홍준 외 2명. 시간 연속성을 고려한 딥러닝 기반 레이더 강우예측. 한국수자원학회논문집. 2021.05.31, 제54권, 제5호, pp.301-309. 1부.* * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794981B (en) * | 2022-12-14 | 2023-09-26 | 广西电网有限责任公司 | Method and system for counting meteorological data by using model |
CN115794981A (en) * | 2022-12-14 | 2023-03-14 | 广西电网有限责任公司 | Method and system for counting meteorological data by using model |
CN116383701A (en) * | 2023-04-13 | 2023-07-04 | 中国人民解放军国防科技大学 | Microwave link rainy period detection method based on learning reconstruction |
CN116383701B (en) * | 2023-04-13 | 2024-01-26 | 中国人民解放军国防科技大学 | Microwave link rainy period detection method based on learning reconstruction |
CN116701553B (en) * | 2023-05-12 | 2024-01-02 | 中国长江电力股份有限公司 | Similar rainfall runoff process searching method based on rainfall time distribution histogram |
CN116701553A (en) * | 2023-05-12 | 2023-09-05 | 中国长江电力股份有限公司 | Similar rainfall runoff process searching method based on rainfall time distribution histogram |
CN116821681A (en) * | 2023-06-27 | 2023-09-29 | 北京华云星地通科技有限公司 | Global precipitation data generation method and system |
CN116821681B (en) * | 2023-06-27 | 2024-01-30 | 北京华云星地通科技有限公司 | Global precipitation data generation method and system |
KR102609569B1 (en) | 2023-06-30 | 2023-12-05 | 경북대학교 산학협력단 | Apparatus and method to predict rainfall based on machine learning using dual polarization radar data |
CN116610959B (en) * | 2023-07-19 | 2023-09-15 | 湖北省气象服务中心(湖北省专业气象服务台) | Method and device for checking cloud broadcasting operation effect based on UNET-GRU deep learning |
CN116610959A (en) * | 2023-07-19 | 2023-08-18 | 湖北省气象服务中心(湖北省专业气象服务台) | Method and device for checking cloud broadcasting operation effect based on UNET-GRU deep learning |
CN117237677A (en) * | 2023-11-15 | 2023-12-15 | 南京信息工程大学 | Precipitation prediction correction method for overall similarity of strong precipitation space based on deep learning |
CN117237677B (en) * | 2023-11-15 | 2024-03-26 | 南京信息工程大学 | Precipitation prediction correction method for overall similarity of strong precipitation space based on deep learning |
KR102655841B1 (en) | 2024-01-23 | 2024-04-09 | 디아이랩 주식회사 | Method of early detection and response to the risk of flooding through ultra-short-term precipitation prediction |
Also Published As
Publication number | Publication date |
---|---|
KR102631539B1 (en) | 2024-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102631539B1 (en) | Method for predicting precipitation based on deep learning and apparatus implementing the same method | |
US9853592B2 (en) | Method and device for controlling an energy-generating system which can be operated with a renewable energy source | |
US20170371073A1 (en) | Prediction apparatus, prediction method, and non-transitory storage medium | |
JP2020126021A (en) | Abnormal sound detector and abnormal sound detection method | |
CN112631240A (en) | Spacecraft fault active detection method and device | |
CN115729796B (en) | Abnormal operation analysis method based on artificial intelligence and big data application system | |
CN113962433A (en) | Wind power prediction method and system fusing causal convolution and separable time convolution | |
CN111557010A (en) | Learning device and method, and program | |
CN113268403A (en) | Time series analysis and prediction method, device, equipment and storage medium | |
CN114821155A (en) | Multi-label classification method and system based on deformable NTS-NET neural network | |
Grönquist et al. | Predicting weather uncertainty with deep convnets | |
CN114338416B (en) | Space-time multi-index prediction method and device and storage medium | |
CN116629142B (en) | Lightning positioning track prediction method and system based on transformer mechanism | |
Wang et al. | A recursive data-driven approach to state variable selection and digital twin derivation | |
KR102521808B1 (en) | Method for predicting energy consumption and production based on using hybrid convolutional neural network and regression neural networkand apparatus thereof | |
CN115333961B (en) | Wireless communication network management and control method based on deep reinforcement learning and related equipment | |
WO2020261448A1 (en) | Prediction device, prediction method, and prediction program | |
CN108596068B (en) | Method and device for recognizing actions | |
US20220027760A1 (en) | Learning device and learning method | |
CN115830638A (en) | Small-size human head detection method based on attention mechanism and related equipment | |
Ghebriout et al. | Harmonic-NAS: Hardware-Aware Multimodal Neural Architecture Search on Resource-constrained Devices | |
CN107679478A (en) | The extracting method and system of transmission line of electricity space load state | |
CN113962432A (en) | Wind power prediction method and system integrating three-dimensional convolution and light-weight convolution threshold unit | |
KR20220159056A (en) | System and method for predicting tidal residual using bidirectional lstm neural network | |
CN113378722A (en) | Behavior identification method and system based on 3D convolution and multilevel semantic information fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right |