KR102678725B1 - Apparatus and method for predicting congestion by subway car using deep learning - Google Patents

Apparatus and method for predicting congestion by subway car using deep learning Download PDF

Info

Publication number
KR102678725B1
KR102678725B1 KR1020210147351A KR20210147351A KR102678725B1 KR 102678725 B1 KR102678725 B1 KR 102678725B1 KR 1020210147351 A KR1020210147351 A KR 1020210147351A KR 20210147351 A KR20210147351 A KR 20210147351A KR 102678725 B1 KR102678725 B1 KR 102678725B1
Authority
KR
South Korea
Prior art keywords
input
learning
subway
congestion
dispatch
Prior art date
Application number
KR1020210147351A
Other languages
Korean (ko)
Other versions
KR20230063949A (en
Inventor
곽주현
조준식
구동균
이승재
Original Assignee
서울시립대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울시립대학교 산학협력단 filed Critical 서울시립대학교 산학협력단
Priority to KR1020210147351A priority Critical patent/KR102678725B1/en
Publication of KR20230063949A publication Critical patent/KR20230063949A/en
Application granted granted Critical
Publication of KR102678725B1 publication Critical patent/KR102678725B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Operations Research (AREA)

Abstract

본 발명의 지하철 칸별 혼잡도를 예측하기 위한 방법은 데이터처리부가 사용자장치로부터 지하철의 지하철역 및 지하철칸의 혼잡도를 요청하는 메시지를 수신하는 단계와, 상기 데이터처리부는 상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계와, 예측부가 예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 단계를 포함한다. The method for predicting the congestion level of each subway car of the present invention includes the steps of a data processing unit receiving a message requesting the congestion level of a subway station and subway car from a user device, and the data processing unit receiving the message at a reference point in time. A step of selecting a plurality of dispatches from the past and generating an input vector string including a plurality of input vectors corresponding to each of the selected dispatches, and a prediction unit performing an operation on the plurality of input vectors through a prediction network to determine the standard It includes the step of deriving the congestion level of the subway car at the subway station when the next train is dispatched a predetermined number of times from the time point.

Description

딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 장치 및 이를 위한 방법{Apparatus and method for predicting congestion by subway car using deep learning} Apparatus and method for predicting congestion by subway car using deep learning}

본 발명은 혼잡도 예측 기술에 관한 것으로, 보다 상세하게는, 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 장치 및 이를 위한 방법에 관한 것이다. The present invention relates to congestion prediction technology, and more specifically, to a device and method for predicting congestion for each subway car using deep learning.

지하철은 여러 개의 객실이 연결된 형태로 구성된다. 또한, 열차에 탑승할 때에 승하차 태그를 하지 않고, 지하철 역사를 출입할 때 개찰구에서 승하차 태그를 하게 된다. 이는 버스와 구분되는 큰 특징이며, 이러한 구조적인 특성으로 인하여 지하철은 객실별로 밀집도가 다르게 분포하게 된다. 또한, 같은 맥락에서 객실 별 혼잡도를 파악하거나 예측하는 방법에 한계점이 존재한다. The subway consists of several connected rooms. Additionally, instead of using a boarding and disembarking tag when boarding a train, you use a boarding and disembarking tag at the ticket gate when entering or exiting a subway station. This is a major feature that distinguishes it from buses, and due to these structural characteristics, subways have different density distributions for each room. Additionally, in the same context, there are limitations in methods for identifying or predicting congestion for each room.

최근에는 지하철의 혼잡도를 추정하는 시도가 계속되고 있다. 하지만, 해당 시점의 혼잡도를 추정하는 것은 서비스측면에서 한계점이 존재한다. 미래시점의 잠재적인 지하철 이용자는 사전에 혼잡도 정보를 파악하고 탑승 칸을 선택할 수 없으며, 지하철 플렛폼에 도착하고, 본인이 탑승할 직전 열차가 도착할 때가 되어서야 혼잡도 정보를 수용할 수 있다. 이와 같이, 미래 시점의 혼잡도를 예측하기 위한 적절한 방법론이 부족한 실정이다. Recently, attempts to estimate subway congestion are continuing. However, estimating the level of congestion at a given point in time has limitations in terms of service. Potential subway users in the future cannot determine the congestion information in advance and select a boarding compartment, and can only accept the congestion information when they arrive at the subway platform and when the train just before they are to board arrives. As such, there is a lack of appropriate methodology to predict congestion at future times.

한국공개특허 제2015-0018975호 (2015년 02월 25일 공개)Korean Patent Publication No. 2015-0018975 (published on February 25, 2015)

본 발명의 목적은 딥러닝을 이용하여 지하철 칸별 혼잡도를 예측하기 위한 장치 및 이를 위한 방법을 제공함에 있다. The purpose of the present invention is to provide an apparatus and method for predicting congestion for each subway car using deep learning.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 지하철 칸별 혼잡도를 예측하기 위한 방법은 데이터처리부가 사용자장치로부터 지하철의 지하철역 및 지하철칸의 혼잡도를 요청하는 메시지를 수신하는 단계와, 상기 데이터처리부는 상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계와, 예측부가 예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 단계를 포함한다. A method for predicting the congestion level of each subway car according to a preferred embodiment of the present invention to achieve the above-described object includes the steps of a data processing unit receiving a message requesting the congestion level of a subway station and subway car from a user device; The data processing unit selects a plurality of dispatches from the past of the reference point in time when the message is received, and generates an input vector string including a plurality of input vectors corresponding to each selected dispatch, and the prediction unit creates a prediction network. and deriving the congestion level of the subway car in the subway station when the next train is dispatched a predetermined number of times from the reference point by performing an operation on the plurality of input vectors.

상기 지하철역 및 상기 지하철칸의 혼잡도를 도출하는 단계는 상기 예측망의 입력층이 예측망의 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 단계와, 상기 예측망의 은닉층의 복수의 은닉셀이 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하되, 상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 단계를 포함한다. The step of deriving the congestion of the subway station and the subway car includes the step of receiving, by the input layer of the prediction network, a plurality of input vectors arranged in time order corresponding to the plurality of stages of the prediction network for each of the plurality of stages, A plurality of hidden cells in the hidden layer of the prediction network perform a weighted operation on the state value of the previous stage and the input vector, which is the input value of the current stage, to calculate the state value of the current stage, and then send the calculated state value to the next stage. delivered to the stage, wherein the last hidden cell among the plurality of hidden cells calculates the state value of the current stage and then applies a weight to the calculated state value of the current stage to transmit the subway to the subway station at the time of the next dispatch of the predetermined number of times. It includes calculating an output vector representing the congestion level of the box.

상기 방법은 상기 혼잡도를 요청하는 메시지를 수신하는 단계 전, 학습부가 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하는 단계와, 학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하는 단계와, 손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 단계를 더 포함한다. The method includes, before receiving the message requesting the congestion, a learning unit preparing learning data including a learning input vector string containing a plurality of learning input vectors and a learning ground truth vector that is a label corresponding to the learning input vector string. A prediction network with untrained weights performs an operation on the plurality of input vectors for learning to calculate an output vector, and a loss that is the difference between the output vector and the actual learning vector through a loss function. It further includes calculating and performing optimization to modify the weights of the prediction network so that the loss is minimized.

상기 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계는 상기 데이터처리부가 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하는 단계와, 상기 데이터처리부가 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하는 단계와, 상기 데이터처리부가 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 단계를 포함한다. The step of generating an input vector string including the plurality of input vectors includes the data processing unit selecting a dispatch consisting of a predetermined multiple interval of the dispatch interval of the subway station from a past time based on the reference point, and the data A processing unit collecting event information that quantifies the dispatch time corresponding to the selected dispatch time, the congestion level of the subway car corresponding to the dispatch time, weather information indicating the weather situation, and events contributing to whether or not people are crowded, the data; A processing unit includes a step of generating an input vector string by sorting a plurality of input vectors, each of which includes the dispatch time, the congestion level of the subway car, the weather information, and the event information, in order of dispatch time.

여기서, 상기 지하철칸의 혼잡도는 상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 한다. Here, the congestion level of the subway car is characterized in that it is collected through the weight of the subway car.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 지하철 칸별 혼잡도를 예측하기 위한 장치는 사용자장치로부터 지하철의 지하철역 및 지하철칸의 혼잡도를 요청하는 메시지를 수신하고, 상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 데이터처리부와, 예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 예측부를 포함한다. In order to achieve the above-described object, a device for predicting congestion for each subway car according to a preferred embodiment of the present invention receives a message requesting the congestion of subway stations and subway cars from a user device, and receives the message. A data processing unit that selects a plurality of dispatches from the past of the reference point in time and generates an input vector string containing a plurality of input vectors corresponding to each of the selected dispatches, and performs calculations on the plurality of input vectors through a prediction network. It includes a prediction unit that performs the calculation to derive the congestion level of the subway car at the subway station when the next train is dispatched a predetermined number of times from the reference point.

상기 예측망은 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 입력층과, 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하되, 상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 은닉층과, 상기 출력벡터를 출력하는 출력층을 포함한다. The prediction network has an input layer that receives a plurality of input vectors arranged in time order corresponding to a plurality of stages for each of the plurality of stages, and weights are applied to the state value of the previous stage and the input vector that is the input value of the current stage. After calculating the state value of the current stage by performing an operation, it includes a plurality of hidden cells that transmit the calculated state value to the next stage, and the last hidden cell of the plurality of hidden cells calculates the state value of the current stage. Afterwards, a hidden layer applies a weight to the calculated state value of the current stage to calculate an output vector representing the congestion level of the subway car in the subway station at the time of the next dispatch of the predetermined number of times, and an output layer that outputs the output vector. do.

상기 장치는 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하고, 학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하고, 손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 학습부를 더 포함한다. The device prepares learning data including a learning input vector string including a plurality of learning input vectors and a ground truth vector for learning, which is a label corresponding to the learning input vector string, and a prediction network with untrained weights is configured to use the plurality of learning input vectors. Calculating an output vector by performing an operation on an input vector for learning, calculating a loss that is the difference between the output vector and the actual measurement vector for learning through a loss function, and modifying the weights of the prediction network so that the loss is minimized. It further includes a learning unit that performs optimization.

상기 데이터처리부는 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하고, 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하고, 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 것을 특징으로 한다. The data processing unit selects a dispatch consisting of a predetermined multiple interval of the dispatch interval of the subway station from a past point in time based on the reference point, a dispatch time corresponding to the selected dispatch, and a congestion level of the subway car corresponding to the dispatch time, Collects weather information indicating weather conditions and event information that quantifies events that contribute to whether people are crowded, and a plurality of input vectors each including the dispatch time, congestion of the subway car, the weather information, and the event information It is characterized by generating an input vector string by sorting according to the order of dispatch time.

여기서, 상기 지하철칸의 혼잡도는 상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 한다. Here, the congestion level of the subway car is characterized in that it is collected through the weight of the subway car.

본 발명에 따르면, 특정 지하철역의 배차 별로 지하철칸 별로 혼잡도를 예측할 수 있다. 이에 따라, 사용자는 혼잡한 위치 혹은 시간을 피해 지하철을 이용할 수 있다. According to the present invention, it is possible to predict the level of congestion for each subway car according to the dispatch of a specific subway station. Accordingly, users can use the subway while avoiding crowded locations or times.

도 1은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 예측서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 예측서버의 세부적인 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 단위 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 학습을 통해 지하철칸의 혼잡도를 예측하기 위한 예측망을 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 방법에 대해서 설명하기로 한다.
Figure 1 is a diagram illustrating a system for predicting congestion for each subway car using deep learning according to an embodiment of the present invention.
Figure 2 is a block diagram for explaining the configuration of a prediction server according to an embodiment of the present invention.
Figure 3 is a block diagram for explaining the detailed configuration of a prediction server according to an embodiment of the present invention.
Figure 4 is a diagram illustrating the configuration of a prediction network for predicting congestion according to an embodiment of the present invention.
Figure 5 is a diagram for explaining unit operations of a prediction network for predicting congestion according to an embodiment of the present invention.
Figure 6 is a flowchart illustrating a method of generating a prediction network for predicting the congestion level of a subway car through learning according to an embodiment of the present invention.
Figure 7 will explain a method for predicting congestion for each subway car using deep learning according to an embodiment of the present invention.

본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. Prior to the detailed description of the present invention, the terms and words used in the specification and claims described below should not be construed as limited to their ordinary or dictionary meanings, and the inventor should use his/her invention in the best possible manner. In order to explain, it must be interpreted as meaning and concept consistent with the technical idea of the present invention based on the principle that the term can be appropriately defined as a concept. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent the entire technical idea of the present invention, and therefore, various equivalents that can replace them at the time of filing the present application It should be understood that there may be variations and examples.

본 발명의 실시예의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 동종 혹은 이종의 통신 접속, 즉, 유선, 무선, 또는 유선 또는 무선의 조합인 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다. 더욱이, 본 발명은 퍼스널 컴퓨터, 랩톱 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, 휴대폰, 이동통신단말기, 스마트폰, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 적용될 수 있다. In the description and claims of embodiments of the invention, “network” is defined as one or more data links that enable the transfer of electronic data between computer systems and/or modules. When information is transmitted or provided to a computer system through a network or a communication connection of the same or heterogeneous type, that is, wired, wireless, or a combination of wired and wireless, this connection may be understood as a computer-readable medium. . Computer-readable instructions include, for example, instructions and data that cause a general-purpose or special-purpose computer system to perform a particular function or group of functions. Computer-executable instructions may be binary, intermediate format instructions, for example, assembly language, or even source code. Moreover, the invention is applicable to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, cell phones, and mobile devices. In a network computing environment with various types of computer system configurations including communication terminals, smartphones, PDAs, pagers, etc., it can be applied to the computer systems.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the attached drawings. At this time, it should be noted that in the attached drawings, identical components are indicated by identical symbols whenever possible. Additionally, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted. For the same reason, in the accompanying drawings, some components are exaggerated, omitted, or schematically shown, and the size of each component does not entirely reflect the actual size.

먼저, 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 시스템(이하, '예측시스템'으로 축약함)은 예측서버(10), 사용자장치(20) 및 정보제공서버(30)를 포함한다. First, a system for predicting congestion for each subway car using deep learning according to an embodiment of the present invention will be described. Figure 1 is a diagram illustrating a system for predicting congestion for each subway car using deep learning according to an embodiment of the present invention. Referring to Figure 1, a system for predicting congestion for each subway car using deep learning according to an embodiment of the present invention (hereinafter abbreviated as 'prediction system') includes a prediction server 10, a user device 20, and information. Includes a provision server (30).

예측서버(10), 사용자장치(20) 및 정보제공서버(30)는 네트워크(NW)를 통해 상호간에 통신할 수 있다. 예를 들면, 네트워크(NW)는 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 네트워크를 포함할 수 있으며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 네트워크를 포함할 수도 있다. 아울러, 본 발명의 네트워크(NW)는 예컨대, 다수의 접속네트워크(Access Network) 및 이들을 연결하는 코어네트워크(Core Network)로 이루어진 네트워크를 포함할 수 있다. 또한, 본 발명에 따른 네트워크(NW)는 인터넷을 포함할 수 있다. 인터넷은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 네트워크, 즉 공용 네트워크를 의미한다. 이러한 네트워크(NW)를 통해서 예측서버(10), 사용자장치(20) 및 정보제공서버(30)가 상호 연동하여 본 발명에 따른 예측시스템을 구성한다. The prediction server 10, the user device 20, and the information providing server 30 can communicate with each other through a network (NW). For example, the network (NW) may include wireless networks such as Wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, and High Speed Downlink Packet Access (HSDPA), Depending on how the system is implemented, it may include wired networks such as Ethernet, xDSL (ADSL, VDSL), Hybrid Fiber Coaxial Cable (HFC), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home). In addition, the network (NW) of the present invention may include, for example, a network consisting of a plurality of access networks and a core network connecting them. Additionally, the network (NW) according to the present invention may include the Internet. The Internet refers to an ordinary open network, that is, a public network, where information is exchanged according to the TCP/IP protocol. Through this network (NW), the prediction server 10, the user device 20, and the information provision server 30 are interconnected to form a prediction system according to the present invention.

예측서버(10)는 기본적으로, 사용자장치(20)의 요청에 따라 지하철칸의 혼잡도를 예측하기 위한 것이다. 이를 위하여, 예측서버(10)는 정보제공서버(30)로부터 해당하는 지하철칸과 관련된 과거의 데이터를 수집하고, 수집된 데이터를 이용하여 학습된 예측망(EN)을 이용하여 해당하는 지하철칸의 혼잡도를 예측한다. 이러한 예측서버(10)는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. The prediction server 10 is basically used to predict the congestion of subway cars according to the request of the user device 20. To this end, the prediction server 10 collects past data related to the corresponding subway car from the information providing server 30, and uses a prediction network (EN) learned using the collected data to predict the corresponding subway car. Predict congestion. This prediction server 10 is an entity that exists on a network and performs the roles of a web server, database server, and application server.

정보제공서버(30)는 하나인 것으로 도시되었지만, 해당하는 데이터를 제공하는 복수의 서버가 될 수 있다. 예컨대, 정보제공서버(30)는 지하철공사에서 운영하는 서버, 기상청에서 운영하는 서버 및 질병관리청에서 운영하는 서버 등이 될 수 있다. Although the information providing server 30 is shown as one, it may be a plurality of servers providing corresponding data. For example, the information providing server 30 may be a server operated by the Subway Corporation, a server operated by the Korea Meteorological Administration, or a server operated by the Korea Disease Control and Prevention Agency.

사용자장치(20)는 사용자가 사용하는 장치이며, 사용자장치(20)는 예측서버(10)에 접속하여 예측서버(10)에 지하철역 및 지하철칸을 명시하여 혼잡도를 요청하고, 예측서버(10)로부터 해당하는 지하철역에 배차되는 지하철칸의 예측된 혼잡도를 수신할 수 있다. 사용자장치(20)는 스마트폰을 대표적으로 예시할 수 있지만, 이에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 일례로, 단말기는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 태블릿 PC, 패블릿 PC 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기이거나, 노트북, 퍼스널컴퓨터 등의 고정형 단말이 될 수도 있다. The user device 20 is a device used by the user. The user device 20 connects to the prediction server 10, specifies the subway station and subway car to the prediction server 10, and requests the congestion level, and the prediction server 10 It is possible to receive the predicted congestion level of subway cars distributed to the corresponding subway station. The user device 20 may be a representative example of a smartphone, but is not limited thereto and can be applied to various terminals such as all information and communication devices, multimedia terminals, wired terminals, fixed terminals, and IP (Internet Protocol) terminals. For example, the terminal is a mobile terminal with various mobile communication specifications such as a mobile phone, PMP (Portable Multimedia Player), MID (Mobile Internet Device), tablet PC, phablet PC, and information and communication devices, or a laptop, personal computer, etc. It may be a fixed terminal.

다음으로, 본 발명의 실시예에 따른 예측서버(10)의 구성에 대해서 보다 상세히 살펴보기로 한다. 도 2는 본 발명의 실시예에 따른 예측서버의 구성을 설명하기 위한 블록도이다. 도 3은 본 발명의 실시예에 따른 예측서버의 세부적인 구성을 설명하기 위한 블록도이다. 도 4는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 구성을 설명하기 위한 도면이다. 도 5는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 단위 동작을 설명하기 위한 도면이다. Next, we will look at the configuration of the prediction server 10 according to an embodiment of the present invention in more detail. Figure 2 is a block diagram for explaining the configuration of a prediction server according to an embodiment of the present invention. Figure 3 is a block diagram for explaining the detailed configuration of a prediction server according to an embodiment of the present invention. Figure 4 is a diagram illustrating the configuration of a prediction network for predicting congestion according to an embodiment of the present invention. Figure 5 is a diagram for explaining unit operations of a prediction network for predicting congestion according to an embodiment of the present invention.

먼저, 도 2를 참조하면, 예측서버(10)는 통신모듈(11), 저장모듈(12) 및 제어모듈(13)을 포함한다. First, referring to FIG. 2, the prediction server 10 includes a communication module 11, a storage module 12, and a control module 13.

통신모듈(11)은 네트워크를 통해 사용자장치(20) 및 정보제공서버(30)와 통신하기 위한 것이다. 통신모듈(11)은 네트워크를 통해 데이터를 송수신하기 위해 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(modem)을 포함할 수 있다. 이러한 통신모듈(11)은 제어모듈(13)로부터 전달 받은 데이터를 네트워크를 통해 전송할 수 있다. 또한, 통신모듈(11)은 네트워크를 통해 수신되는 데이터를 제어모듈(13)로 전달할 수 있다. The communication module 11 is for communicating with the user device 20 and the information provision server 30 through a network. The communication module 11 may include a modem that modulates a transmitted signal and demodulates a received signal to transmit and receive data through a network. This communication module 11 can transmit data received from the control module 13 through a network. Additionally, the communication module 11 can transmit data received through the network to the control module 13.

저장모듈(12)은 예측서버(10)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 예측서버(10)의 전반적인 동작을 제어하는 프로그램 및 예측서버(10)를 부팅시키는 운영체제(OS, Operating System), 예측을 위한 애플리케이션을 등을 저장할 수 있다. 데이터 영역은 예측서버(10)의 운영에 따라 발생하는 데이터 및 예측서버(10)의 운영에 필요한 데이터가 저장되는 영역이다. 저장모듈(120)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The storage module 12 serves to store programs and data necessary for the operation of the prediction server 10, and can be divided into a program area and a data area. The program area can store programs that control the overall operation of the prediction server 10, an operating system (OS) that boots the prediction server 10, and applications for prediction. The data area is an area where data generated according to the operation of the prediction server 10 and data necessary for the operation of the prediction server 10 are stored. Various types of data stored in the storage module 120 can be deleted, changed, or added according to user operations.

제어모듈(13)은 예측서버(10)의 전반적인 동작 및 예측서버(10)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(13)은 CPU(central processing unit), GPU(Graphic Processing Unit), DSP(Digital Signal Processor) 등이 될 수 있다. 도 3을 참조하면, 제어모듈(13)은 학습부(100), 데이터처리부(200) 및 예측부(300)를 포함한다. The control module 13 controls the overall operation of the prediction server 10 and signal flow between internal blocks of the prediction server 10, and can perform a data processing function to process data. This control module 13 may be a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), or the like. Referring to FIG. 3, the control module 13 includes a learning unit 100, a data processing unit 200, and a prediction unit 300.

학습부(100)는 학습 데이터를 이용하여 학습을 통해 예측망(EN)을 생성하기 위한 것이다. 지하철역, 지하철칸 및 혼잡도를 예측하는 시점 별로 서로 다른 학습 데이터가 마련되며, 학습부(100)는 서로 다른 학습 데이터를 이용하여 복수의 예측망(EN)을 생성한다. 본 발명의 실시예에 따른 예측망(EN)은 심층신경망(DNN: Deep Neural Network)이며, 순환신경망으로 형성될 수 있다. 예컨대, 예측망(EN)은 RNN(Recurrent Neural Network), LTSM(Long Short-Term Memory Models), GRU(Gated Recurrent Unit) 등을 예시할 수 있다. 본 발명의 실시예에서 예측망(EN)은 RNN(Recurrent Neural Network)으로 형성되는 것으로 설명되지만, 이에 한정되는 것은 아니며, LTSM(Long Short-Term Memory Models), GRU(Gated Recurrent Unit) 등을 비롯한 다른 순환신경망으로 형성될 수도 있다. The learning unit 100 is used to generate a prediction network (EN) through learning using learning data. Different learning data is prepared for each subway station, subway car, and time point for predicting congestion, and the learning unit 100 generates a plurality of prediction networks (EN) using the different learning data. The prediction network (EN) according to an embodiment of the present invention is a deep neural network (DNN) and may be formed as a recurrent neural network. For example, the prediction network (EN) may include Recurrent Neural Network (RNN), Long Short-Term Memory Models (LTSM), and Gated Recurrent Unit (GRU). In an embodiment of the present invention, the prediction network (EN) is described as being formed by a Recurrent Neural Network (RNN), but is not limited thereto, and includes Long Short-Term Memory Models (LTSM), Gated Recurrent Unit (GRU), etc. It can also be formed from other recurrent neural networks.

데이터처리부(200)는 도 4를 참조하면, 복수의 입력벡터(X1 내지 Xn)를 생성하기 위한 것이다. 데이터처리부(200)는 기준시점(현재)을 기준으로 소정의 과거시점(P)으로부터 이루어진 복수의 배차 중 배차 간격(inter)의 소정의 배수 간격(d×inter)으로 선택된 소정 횟수의 배차 각각에 대해 선택된 배차의 배차시간, 배차된 지하철의 해당하는 지하철칸의 혼잡도, 그 배차가 이루어진 배차시간의 기상정보 및 이벤트정보를 수집한다. 예컨대, 예측망(EN)이 5개의 스테이지(S5, n=5)로 이루진 것으로 가정한다. 그리고 배차 간격(inter)의 배수 간격(d×inter)이 '2×inter'라고 가정한다. 그러면, 데이터처리부(200)는 과거시점(P)으로부터 기준시점(B)까지 10번의 배차 중 짝수 번째의 배차들, 5개를 선택한다. 그리고 데이터처리부(200)는 통신모듈(11)을 통해 정보제공서버(30)로부터 선택된 배차의 배차시간, 배차된 지하철의 해당하는 지하철칸의 혼잡도, 그 배차가 이루어진 배차시간의 기상정보 및 이벤트정보를 수집한다. 이때, 데이터처리부(200)는 정보제공서버(30)로부터 선택된 배차의 배차시간을 수집할 수 있다. 여기서, 배차시간은 해당 배차의 월, 일, 요일 및 시간을 포함한다. 지하철의 각 칸 별로 무게를 감지하는 하중 감지 센서가 장착되며, 데이터처리부(200)은 정보제공서버(30)로부터 해당 지하철칸에 감지된 무게를 수신하고, 수신된 무게를 정규화하여 지하철칸의 혼잡도를 생성한다. 또한, 데이터처리부(200)는 정보제공서버(30)로부터 선택된 배차가 이루어진 배차시간의 기상정보를 수집할 수 있다. 이러한 기상정보는 온도, 습도, 풍속, 날씨(강우 및 강설 여부) 등을 포함할 수 있다. 그리고 데이터처리부(200)는 정보제공서버(30)로부터 선택된 배차가 이루어진 배차시간의 이벤트정보를 수집할 수 있다. 이벤트정보는 유동 인구의 수에 영향을 줄 수 있는 다양한 이벤트에 대한 정보를 포함한다. 예컨대, 팬데믹 상황과 같은 유행병이 창궐한 상황에서 감염자수가 될 수 있다. 전술한 바와 같이, 배차시간, 혼잡도, 기상정보 및 이벤트정보를 수집한 후, 데이터처리부(200)는 선택된 복수의 배차에 대응하여 각각이 배차시간, 지하철칸의 혼잡도, 기상정보 및 이벤트정보를 포함하는 복수의 입력벡터를 생성하고, 생성된 복수의 입력벡터(X1 내지 Xn)를 배차시간의 순서에 따라 정렬하여 복수의 입력벡터(X1 내지 Xn)를 포함하는 입력벡터열(Xt: X1 내지 Xn)을 생성하고, 생성된 입력벡터열(Xt: X1 내지 Xn)을 예측부(300)에 제공한다. Referring to FIG. 4, the data processing unit 200 is used to generate a plurality of input vectors (X1 to Xn). The data processing unit 200 is configured to each dispatch a predetermined number of times selected at a predetermined multiple interval (d The dispatch time of the selected train, the congestion level of the corresponding subway car of the dispatched subway, weather information and event information at the dispatch time at which the dispatch was made are collected. For example, assume that the prediction network (EN) consists of 5 stages (S5, n=5). Also, assume that the multiple interval (d×inter) of the dispatch interval (inter) is ‘2×inter’. Then, the data processing unit 200 selects five even-numbered dispatches among the 10 dispatches from the past point in time (P) to the reference point in time (B). And the data processing unit 200 provides the dispatch time of the selected train from the information provision server 30 through the communication module 11, the congestion level of the corresponding subway car of the dispatched subway, weather information and event information at the dispatch time at which the dispatch was made. Collect. At this time, the data processing unit 200 may collect the dispatch time of the selected train from the information providing server 30. Here, the dispatch time includes the month, day, day of the week, and time of the dispatch. A load detection sensor that detects the weight of each subway car is installed, and the data processing unit 200 receives the weight detected in the subway car from the information provision server 30 and normalizes the received weight to determine the congestion level of the subway car. creates . Additionally, the data processing unit 200 may collect weather information at the dispatch time when the selected dispatch was made from the information providing server 30. This weather information may include temperature, humidity, wind speed, weather (whether it is raining or snowing), etc. And the data processing unit 200 can collect event information of the dispatch time at which the selected dispatch was made from the information providing server 30. Event information includes information about various events that may affect the number of floating populations. For example, in a situation where an epidemic is prevalent, such as a pandemic, the number of infected people can be high. As described above, after collecting dispatch time, congestion, weather information, and event information, the data processing unit 200 includes dispatch time, congestion of subway cars, weather information, and event information in response to the plurality of selected dispatches, respectively. A plurality of input vectors are generated, and the generated plurality of input vectors (X1 to ) is generated, and the generated input vector string (Xt: X1 to Xn) is provided to the prediction unit 300.

예측부(300)는 예측망(EN)을 이용하여 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 예측하기 위한 것이다. 예측부(300)는 예측망(EN)에 복수의 입력벡터(X1 내지 Xn)를 포함하는 입력벡터열(Xt: X1 내지 Xn)에 입력하여 예측망(EN)의 연산 결과인 예측시점(F)의 해당 지하철칸의 혼잡도를 나타내는 출력벡터(Y)를 산출한다. 다른 말로, 어느 하나의 예측망(EN)은 기준시점(B)을 기준으로 과거시점(P)으로부터 배차 간격(inter)의 소정의 배수 간격(d × inter)으로 이루어진 배차에 대응하는 입력벡터열(Xt: X1 내지 Xn)에 대해 복수의 스테이지(S1 내지 Sn)의 순서대로 가중치가 적용되는 하나 이상의 연산을 수행하여 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 나타내는 출력벡터(Y)를 산출한다. The prediction unit 300 is used to predict the congestion of the corresponding subway car at the prediction time (F), when trains are dispatched a predetermined number of times from the reference time (B), using the prediction network (EN). The prediction unit 300 inputs an input vector string (Xt: ) Calculate the output vector (Y) representing the congestion level of the corresponding subway car. In other words, one prediction network (EN) is an input vector string corresponding to a dispatch consisting of a predetermined multiple interval (d × inter) of the dispatch interval (inter) from the past time point (P) based on the reference point (B). (Xt: X1 to Calculate an output vector (Y) representing the congestion level of the subway car.

복수의 예측망(EN) 각각은 지하철역, 지하철칸 및 예측시점(F) 별로 학습을 통해 생성된다. 예측망(EN)은 복수의 스테이지(S1 내지 Sn)로 이루어지며, 각 스테이지는 입력층(IL: Input Layer), 은닉층(HL: Hidden Layer) 및 출력층(OL: Output Layer)을 포함한다. 스테이지(S1 내지 Sn)의 길이(n)는 미리 설정된다. Each of the multiple prediction networks (EN) is created through learning for each subway station, subway car, and prediction point (F). The prediction network (EN) consists of a plurality of stages (S1 to Sn), and each stage includes an input layer (IL), a hidden layer (HL), and an output layer (OL). The length (n) of the stages (S1 to Sn) is set in advance.

입력층(IL)은 복수의 입력벡터(X1 내지 Xn) 각각에 대응하는 복수의 입력버퍼를 포함하며, 복수의 입력벡터(X1 내지 Xn)를 은닉층(HL)에 입력한다. 즉, 입력층(IL)에는 시간 순서로 정렬된 복수의 입력벡터(X1 내지 Xn)가 입력된다. The input layer (IL) includes a plurality of input buffers corresponding to each of the plurality of input vectors (X1 to Xn), and inputs the plurality of input vectors (X1 to Xn) to the hidden layer (HL). That is, a plurality of input vectors (X1 to Xn) arranged in time order are input to the input layer (IL).

은닉층(HL)은 스테이지의 개수(n)의 배수에 해당하는 복수의 은닉셀(HC)을 포함한다. 즉, 은닉층(HL)은 1개의 층으로 도시되었지만, 2 이상의 층으로 형성될 수 있다. 복수의 은닉셀(HC)은 복수의 입력벡터(X1 내지 Xn)에 대해 가중치가 적용되는 하나 이상의 연산을 순환 방식으로 수행하여 출력벡터(Y)를 산출한다. The hidden layer (HL) includes a plurality of hidden cells (HC) corresponding to a multiple of the number (n) of stages. That is, the hidden layer HL is shown as one layer, but may be formed of two or more layers. A plurality of hidden cells (HC) calculate an output vector (Y) by performing one or more operations in which weights are applied to a plurality of input vectors (X1 to Xn) in a circular manner.

출력층(OL)은 마지막 스테이지(Sn)의 은닉셀(HCn)에 의해 산출된 출력벡터(Y)를 출력한다. 출력벡터(Y)는 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 나타낸다. The output layer (OL) outputs the output vector (Y) calculated by the hidden cell (HCn) of the last stage (Sn). The output vector (Y) represents the congestion level of the corresponding subway car at the predicted time (F) when trains are dispatched a predetermined number of times from the reference time (B).

한편, 도 5를 참조하면, 은닉셀(HC)은 가중치(Weight, Wx, Wh, Wy)가 적용되는 하나 이상의 연산으로 이루어진다. 여기서, 연산은 활성화함수(Activation Function)를 적용한 연산을 의미한다. 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 또한, 하나의 은닉셀(HC)에서 가중치는 입력값인 입력벡터(Xt)에 적용되는 입력 가중치 Wx, 이전 스테이지의 상태값 Ht-1에 대해 적용되는 상태 가중치 Wh 및 출력값 Yt에 대해 적용되는 출력 가중치 Wy를 포함한다. 예컨대, 은닉셀(HC)에 적용되는 가중치가 적용되는 연산은 다음의 수학식 1을 예시할 수 있다. Meanwhile, referring to FIG. 5, the hidden cell (HC) consists of one or more operations to which weights (Weight, Wx, Wh, Wy) are applied. Here, operation refers to an operation applying an activation function. Examples of activation functions include sigmoid, hyperbolic tangent (tanh), Exponential Linear Unit (ELU), Rectified Linear Unit (ReLU), Leakly ReLU, Maxout, Minout, Softmax, etc. In addition, in one hidden cell (HC), the weights are the input weight Wx applied to the input vector (Xt), the state weight Wh applied to the state value Ht-1 of the previous stage, and the output applied to the output value Yt. Includes weight Wy. For example, an operation in which a weight applied to a hidden cell (HC) is applied may be exemplified by Equation 1 below.

Figure 112021125066715-pat00001
Figure 112021125066715-pat00001

Figure 112021125066715-pat00002
Figure 112021125066715-pat00002

여기서, b는 임계치 혹은 바이어스이다. 특히, tanh 함수, ReLU 함수는 다른 활성화함수로 변경될 수 있다. 수학식 1과 도 5를 참조하면, 복수의 은닉셀(HCt) 각각은 이전 스테이지(St-1)의 은닉셀(HCt-1)이 연산한 이전 스테이지(St-1)의 상태값(Ht-1)과 자신의 스테이지(St)의 입력값(Xt)에 대해 가중치(W: Wh, Wx, Wy)가 적용되는 연산을 수행하여 현 스테이지(St)의 상태값(Ht) 및 출력값(Yt)을 산출할 수 있다. Here, b is the threshold or bias. In particular, the tanh function and ReLU function can be changed to other activation functions. Referring to Equation 1 and FIG. 5, each of the plurality of hidden cells (HCt) has the state value (Ht-) of the previous stage (St-1) calculated by the hidden cell (HCt-1) of the previous stage (St-1). 1) and perform an operation where weights (W: Wh, Wx, Wy) are applied to the input value (Xt) of the own stage (St) to obtain the state value (Ht) and output value (Yt) of the current stage (St). can be calculated.

예측망(EN)의 입력층(IL)이 시간 순서에 따라 정렬된 복수의 입력벡터(X1 내지 Xn) 각각을 은닉층(HL)의 대응하는 은닉셀, 즉, 제1 내지 제n 은닉셀(HC1 내지 HCn)에 입력한다. 그러면, 은닉층(HL)의 제1 내지 제n 은닉셀(HC1 내지 HCn) 각각은 이전 스테이지(St-1)의 은닉셀(HCt-1)이 연산한 이전 스테이지(St-1)의 상태값(Ht-1)과 자신(HCt)의 스테이지(St)의 입력값(Xt)에 대해 가중치(상태 가중치 및 입력 가중치)가 적용되는 연산을 수행하여 현 스테이지(St)의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지(St+1)의 은닉셀(HCt+1)로 전달한다. 예컨대, 제1 은닉셀(HC1)은 초기 상태값(H0)에 상태 가중치(Wh)를 적용하고, 제1 입력벡터(X1)에 입력 가중치(Wx)를 적용하여 제1 스테이지(S1)의 상태값(H1)을 산출한다. 제1 은닉셀(HC1)의 경우, 이전 스테이지가 없기 때문에 초기 상태값(H0)을 이용한다. 이어서, 제2 은닉셀(HC2)은 이전 스테이지인 제1 스테이지(S1)의 상태값(H1)에 상태 가중치(Wh)를 적용하고, 제2 입력벡터(X2)에 입력 가중치(Wx)를 적용하여 제2 스테이지(S2)의 상태값(H2)을 산출한다. 그리고 제3 은닉셀(HC3)은 이전 스테이지인 제2 스테이지(S2)의 상태값(H2)에 상태 가중치(Wh)를 적용하고, 제3 입력벡터(X3)에 입력 가중치(Wx)를 적용하여 제3 스테이지(S3)의 상태값(H3)을 산출하는 식이다. 이와 같이, 복수의 은닉셀(HCt)은 이전 스테이지의 상태값(Ht-1)과 현 스테이지의 입력값인 입력벡터(Xt)에 대해 상태 및 입력 가중치(Wh, Wx)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출하고, 산출된 상태값(Ht)을 다음 스테이지(St+1)로 전달한다. The input layer (IL) of the prediction network (EN) stores each of the plurality of input vectors (X1 to to HCn). Then, each of the first to nth hidden cells (HC1 to HCn) of the hidden layer (HL) has the state value (St-1) of the previous stage (St-1) calculated by the hidden cell (HCt-1) of the previous stage (St-1). Calculate the state value (Ht) of the current stage (St) by performing an operation where weights (state weight and input weight) are applied to the input value (Xt) of Ht-1) and the own (HCt) stage (St). Afterwards, the calculated state value (Ht) is transmitted to the hidden cell (HCt+1) of the next stage (St+1). For example, the first hidden cell (HC1) applies the state weight (Wh) to the initial state value (H0) and the input weight (Wx) to the first input vector (X1) to determine the state of the first stage (S1). Calculate the value (H1). In the case of the first hidden cell (HC1), since there is no previous stage, the initial state value (H0) is used. Subsequently, the second hidden cell (HC2) applies the state weight (Wh) to the state value (H1) of the previous stage, the first stage (S1), and applies the input weight (Wx) to the second input vector (X2). Thus, the state value (H2) of the second stage (S2) is calculated. And the third hidden cell (HC3) applies the state weight (Wh) to the state value (H2) of the previous stage, the second stage (S2), and applies the input weight (Wx) to the third input vector (X3) This is an equation that calculates the state value (H3) of the third stage (S3). In this way, a plurality of hidden cells (HCt) perform operations in which the state and input weights (Wh, Wx) are applied to the state value (Ht-1) of the previous stage and the input vector (Xt), which is the input value of the current stage. The state value (Ht) of the current stage is calculated, and the calculated state value (Ht) is passed to the next stage (St+1).

이와 같은 연산의 수행 중 마지막 은닉셀인 제n 은닉셀(HCn)은 이전 스테이지인 제n-1 스테이지(Sn-1)의 상태값(Hn-1)에 상태 가중치(Wh)가 적용되고, 현 스테이지(Sn)의 입력값인 입력벡터(Xn)에 대해 입력 가중치(Wx)가 적용되는 연산을 수행하여 현 스테이지인 제n 스테이지(Sn)의 상태값(Hn)을 산출한다. 그런 다음, 제n 은닉셀(HCn)은 현 스테이지인 제n 스테이지(Sn)의 상태값(Hn)에 출력 가중치(Wy)를 적용하는 연산을 수행하여 출력벡터(Y)를 산출한다. During the performance of this operation, the last hidden cell, the nth hidden cell (HCn), has a state weight (Wh) applied to the state value (Hn-1) of the previous stage, the n-1th stage (Sn-1), and the current An operation is performed in which the input weight (Wx) is applied to the input vector (Xn), which is the input value of the stage (Sn), to calculate the state value (Hn) of the nth stage (Sn), which is the current stage. Then, the nth hidden cell (HCn) calculates the output vector (Y) by performing an operation that applies the output weight (Wy) to the state value (Hn) of the nth stage (Sn), which is the current stage.

이와 같이, 본 발명의 실시예에 따른 예측망(EN)에서 입력층(IL)은 복수의 스테이지(S1 내지 Sn) 각각에 대응하여 시간 순서로 정렬된 복수의 입력벡터(X1 내지 Xn)를 복수의 스테이지(S1 내지 Sn) 별로 입력받는다. 그러면, 은닉층(HL)의 마지막 은닉셀(HCn)을 제외한 복수의 은닉셀(HC1 내지 HCn-1)은 이전 스테이지(St-1)의 상태값(Ht-1)과 현 스테이지(St)의 입력값인 입력벡터(Xt)에 대해 상태 및 입력 가중치(Wx, Wh)가 적용되는 연산을 수행하여 현 스테이지의 상태값(Ht)을 산출한 후, 산출된 상태값을 다음 스테이지(St+1)에 전달한다. 그러면, 마지막 은닉셀(HCn)은 이전 스테이지(Sn-1)의 상태값(Hn-1)과 현 스테이지(Sn)의 입력값인 제n 입력벡터(Xn)에 대해 상태 및 입력 가중치(Wx, Wh)가 적용되는 연산을 수행하여 현 스테이지(Sn)의 상태값(Hn)을 산출한 후, 산출된 현 스테이지의 상태값(Hn)에 출력 가중치(Wy)를 적용하여 출력벡터(Y)를 산출한다. As such, in the prediction network (EN) according to an embodiment of the present invention, the input layer (IL) receives a plurality of input vectors (X1 to Xn) arranged in time order corresponding to each of the plurality of stages (S1 to Sn). Input is received for each stage (S1 to Sn). Then, the plurality of hidden cells (HC1 to HCn-1), excluding the last hidden cell (HCn) of the hidden layer (HL), use the state value (Ht-1) of the previous stage (St-1) and the input of the current stage (St) After calculating the state value (Ht) of the current stage by performing an operation in which the state and input weight (Wx, Wh) are applied to the input vector (Xt), the calculated state value is sent to the next stage (St+1). deliver it to Then, the last hidden cell (HCn) contains the state and input weight (Wx, After calculating the state value (Hn) of the current stage (Sn) by performing an operation to which Wh) is applied, the output vector (Y) is generated by applying the output weight (Wy) to the calculated state value (Hn) of the current stage. Calculate

출력벡터(Y)는 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 나타내며, 이와 같이, 예측망(EN)이 출력벡터(Y)를 산출하면, 예측부(300)는 출력벡터(Y)에 따라 해당하는 예측시점(F)의 해당 지하철칸의 혼잡도를 도출하고, 도출된 혼잡도를 통신부(11)를 통해 사용자장치(20)로 전송한다. The output vector (Y) represents the congestion level of the corresponding subway car at the prediction time (F) when dispatch is made a predetermined number of times from the reference point (B). In this way, when the prediction network (EN) calculates the output vector (Y), , the prediction unit 300 derives the congestion level of the corresponding subway car at the corresponding prediction time (F) according to the output vector (Y), and transmits the derived congestion level to the user device 20 through the communication unit 11.

다음으로, 본 발명의 실시예에 따른 학습(deep learning)을 통해 지하철칸의 혼잡도를 예측하기 위한 예측망을 생성하는 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 학습을 통해 지하철칸의 혼잡도를 예측하기 위한 예측망을 생성하는 방법을 설명하기 위한 흐름도이다. Next, a method of generating a prediction network for predicting the congestion level of a subway car through deep learning according to an embodiment of the present invention will be described. Figure 6 is a flowchart illustrating a method of generating a prediction network for predicting the congestion level of a subway car through learning according to an embodiment of the present invention.

도 6을 참조하면, 학습부(100)는 S110 단계에서 예측망(EN)을 초기화한다. 이는 예측망(EN)의 가중치, 즉, 입력 가중치 Wx, 상태 가중치 Wh 및 출력 가중치 Wy를 초기화하는 것을 의미한다. Referring to FIG. 6, the learning unit 100 initializes the prediction network (EN) in step S110. This means initializing the weights of the prediction network (EN), that is, the input weight Wx, state weight Wh, and output weight Wy.

그런 다음, 학습부(100)는 S120 단계에서 학습 데이터를 마련한다. 학습 데이터는 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열 및 학습용 입력벡터열에 대한 레이블인 학습용 실측벡터(Ground Truth)를 포함한다. 학습부(100)는 통신모듈(11)을 통해 정보제공서버(30)로부터 과거의 데이터를 이용하여 학습 데이터를 수집할 수 있다. 복수의 학습용 입력벡터는 초기화된 예측망(EN)의 입력층(IL)의 크기(스테이지의 수)에 맞춰 마련된다. 예컨대, 예측망(EN)의 입력층(IL)의 크기(스테이지의 수)가 5라면, 시간 순서에 따른 5개의 학습용 입력벡터가 요구된다. 이에 따라, 배차 간격(inter)의 배수 간격(d×inter)이 '3×inter'라면, 기준시점(B)을 기준으로 과거시점(P)으로부터 기준시점(B)까지 15번의 배차 중 세 번째 배차 간격으로 5개를 선택한다. 이에 따라, 학습부(100)는 선택된 배차의 배차시간, 배차된 지하철의 해당하는 지하철칸의 혼잡도, 그 배차가 이루어진 배차시간의 기상정보 및 이벤트정보를 수집하고, 정규화하여 학습용 입력벡터를 생성한다. 또한, 학습용 출력벡터는 예측시점(F)이 기준시점(B)으로부터 몇 번째 배차인지 여부에 따라 수집될 수 있다. 예컨대, 예측시점(F)이 기준시점(B) 이후의 3번째 배차인 경우, 학습부(100)는 통신모듈(110)을 통해 정보제공서버(30)로부터 해당 지하철역의 기준시점(B) 이후 3번째 배차에서의 지하철칸의 무게를 수집하고, 수집된 무게를 정규화한 혼잡도를 나타내는 학습용 실측벡터(Ground Truth)를 생성한다. Then, the learning unit 100 prepares learning data in step S120. The learning data includes a learning input vector string containing a plurality of learning input vectors and a learning ground truth, which is a label for the learning input vector string. The learning unit 100 can collect learning data using past data from the information providing server 30 through the communication module 11. A plurality of learning input vectors are prepared according to the size (number of stages) of the input layer (IL) of the initialized prediction network (EN). For example, if the size (number of stages) of the input layer (IL) of the prediction network (EN) is 5, 5 learning input vectors according to time order are required. Accordingly, if the multiple interval (d × inter) of the dispatch interval (inter) is '3 Select 5 as the dispatch interval. Accordingly, the learning unit 100 collects the dispatch time of the selected train, the congestion level of the corresponding subway car of the dispatched subway, weather information and event information at the dispatch time at which the dispatch was made, and normalizes it to generate an input vector for learning. . Additionally, the output vector for learning can be collected depending on what number of times the prediction point (F) is from the reference point (B). For example, if the prediction time (F) is the third dispatch after the reference time (B), the learning unit 100 receives information from the information provision server 30 through the communication module 110 after the reference time (B) of the subway station. The weight of the subway car in the third dispatch is collected, and a ground truth for learning representing the congestion is generated by normalizing the collected weight.

이어서, 학습부(100)는 S130 단계에서 초기화된, 즉, 학습이 이루어지지 않은 가중치를 포함하는 예측망(EN)에 복수의 학습용 입력벡터를 입력한다. 그러면, 예측망(EN)은 S140 단계에서 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출한다. 즉, 예측망(EN)은 기준시점(B)을 기준으로 과거시점(P)으로부터 배차 간격(inter)의 소정의 배수 간격(d × inter)으로 이루어진 배차에 대응하는 학습용 입력벡터열(Xt: X1 내지 Xn)에 대해 복수의 스테이지(S1 내지 Sn)의 순서대로 가중치가 적용되는 하나 이상의 연산을 수행하여 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 나타내는 출력벡터를 산출한다. Next, the learning unit 100 inputs a plurality of learning input vectors to the prediction network (EN) initialized in step S130, that is, including weights that have not been learned. Then, the prediction network (EN) calculates an output vector by performing an operation on a plurality of learning input vectors in step S140. In other words, the prediction network (EN) is a learning input vector string (Xt: One or more operations to which weights are applied in the order of a plurality of stages (S1 to Sn) are performed on X1 to Calculate an output vector representing the level of congestion.

그러면, 학습부(100)는 S150 단계에서 손실함수를 통해 복수의 학습용 입력벡터에 대응하는 출력벡터와, 복수의 학습용 입력벡터에 대응하는 레이블인 학습용 실측벡터(Ground Truth)와의 차이인 손실을 산출하고, 손실이 최소가 되도록 상기 예측망(EN)의 기중치를 수정하는 최적화를 수행한다. Then, the learning unit 100 calculates a loss that is the difference between the output vector corresponding to the plurality of learning input vectors and the learning ground truth, which is the label corresponding to the plurality of learning input vectors, through the loss function in step S150. And, optimization is performed to modify the default value of the prediction network (EN) so that the loss is minimized.

학습부(100)는 전술한 S120 단계 내지 S150 단계를 손실이 소정의 목표치 미만이 될 때까지 서로 다른 학습 데이터를 이용하여 반복함으로써 예측망(EN)을 생성할 수 있다. The learning unit 100 may generate a prediction network (EN) by repeating steps S120 to S150 described above using different learning data until the loss becomes less than a predetermined target value.

전술한 바와 같은 절차에 따라 복수의 예측망(EN)이 지하철역, 지하철칸 및 예측시점(F) 별로 생성된다. 그러면, 복수의 예측망(EN)을 이용하여 지하철칸의 혼잡도를 예측하기 위한 방법에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 방법에 대해서 설명하기로 한다. According to the above-mentioned procedure, a plurality of prediction networks (EN) are created for each subway station, subway car, and prediction point (F). Next, a method for predicting the congestion level of a subway car using a plurality of prediction networks (EN) will be described. Figure 7 will explain a method for predicting congestion for each subway car using deep learning according to an embodiment of the present invention.

도 7을 참조하면, 데이터처리부(200)는 S210 단계에서 통신모듈(11)을 통해 사용자장치(20)로부터 지하철역 및 지하철칸의 혼잡도를 요청하는 메시지를 수신한다. 즉, 혼잡도를 요청하는 메시지에는 요구되는 지하철역 및 지하철칸이 명시되어 전송된다. Referring to FIG. 7, the data processing unit 200 receives a message requesting the congestion level of the subway station and subway car from the user device 20 through the communication module 11 in step S210. In other words, the message requesting the level of congestion is transmitted with the requested subway station and subway car specified.

그러면, 데이터처리부(200)는 S220 단계에서 메시지를 수신한 시점인 기준시점(B)을 기준으로 과거시점(P)으로부터 해당 지하철역의 배차 간격(inter)의 소정의 배수 간격(d × inter)으로 이루어진 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터(X1 내지 Xn)를 포함하는 입력벡터열(Xt: X1 내지 Xn)을 생성한다. S220 단계를 보다 구체적으로 설명하면 다음과 같다. 즉, 데이터처리부(200)는 기준시점(B)을 기준으로 과거시점(P)으로부터 해당 지하철역의 배차 간격(inter)의 소정의 배수 간격(d × inter)으로 이루어진 배차를 선택한다. 그런 다음, 데이터처리부(200)는 통신모듈(11)을 통해 정보제공서버(30)로부터 앞서 선택된 배차에 대응하는 배차시간, 그 배차시간에 대응하는 지하철칸의 혼잡도, 그 배차시간의 기상 상황을 나타내는 기상정보 및 그 배차시간에 대응하는 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집한다. 이어서, 데이터처리부(200)는 각각이 배차시간, 지하철칸의 혼잡도, 기상정보 및 이벤트정보를 포함하는 복수의 입력벡터(X1 내지 Xn)를 배차시간의 순서로 정렬하여 입력벡터열(Xt: X1 내지 Xn)을 생성한다. Then, in step S220, the data processing unit 200 moves from a past point in time (P) to a predetermined multiple interval (d The created dispatch is selected, and an input vector string (Xt: X1 to Xn) containing a plurality of input vectors (X1 to Xn) corresponding to each selected dispatch is generated. Step S220 is described in more detail as follows. That is, the data processing unit 200 selects a dispatch consisting of a predetermined multiple interval (d Then, the data processing unit 200 receives the dispatch time corresponding to the previously selected dispatch, the congestion level of the subway car corresponding to the dispatch time, and the weather condition at the dispatch time from the information provision server 30 through the communication module 11. Collects event information that quantifies the weather information and events that contribute to whether there are clusters of people corresponding to the dispatch time. Next, the data processing unit 200 sorts a plurality of input vectors (X1 to to Xn).

다음으로, 예측부(300)는 S230 단계에서 복수의 입력벡터(X1 내지 Xn)를 포함하는 입력벡터열(Xt: X1 내지 Xn)을 예측망(EN)에 입력한다. 즉, 배차시간 순서에 따라 정렬된 복수의 입력벡터(X1 내지 Xn)를 예측망(EN)에 입력한다. Next, the prediction unit 300 inputs an input vector string (Xt: X1 to Xn) including a plurality of input vectors (X1 to Xn) into the prediction network (EN) in step S230. That is, a plurality of input vectors (X1 to Xn) sorted according to dispatch time order are input to the prediction network (EN).

그러면, 예측망(EN)은 S240 단계에서 입력벡터열(Xt: X1 내지 Xn), 즉, 복수의 입력벡터(X1 내지 Xn)에 대해 복수의 스테이지(S1 내지 Sn)의 순서대로 가중치가 적용되는 하나 이상의 연산을 수행하여 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 시점인 예측시점(F)의 해당 지하철역의 해당 지하철칸의 혼잡도를 나타내는 출력벡터(Y)를 산출한다. Then, in step S240, the prediction network (EN) applies weights to the input vector string (Xt: One or more operations are performed to calculate an output vector (Y) that represents the congestion level of the subway car at the corresponding subway station at the prediction time (F), which is the time when trains are dispatched a predetermined number of times from the reference time (B).

이러한 S240 단계에 대해 도 4 및 도 5를 참조하여 보다 구체적으로 설명하면 다음과 같다. 예측망(EN)의 입력층(IL)는 예측망의 복수의 스테이지(S1 내지 Sn)에 대응하여 시간 순서로 정렬된 복수의 입력벡터(X1 내지 Xn)를 복수의 스테이지(S1 내지 Sn) 별로 입력받는다. 그런 다음, 예측망(EN)의 은닉층(HL)의 복수의 은닉셀(HC1 내지 HCn) 각각은 이전 스테이지(St-1)의 상태값(Ht-1)과 현 스테이지(St)의 입력값인 입력벡터(Xt)에 대해 가중치(상태 가중치 및 입력 가중치)가 적용되는 연산을 수행하여 현 스테이지(St)의 상태값(Ht)을 산출한 후, 산출된 상태값(Ht)을 다음 스테이지에 전달한다. 이때, 복수의 은닉셀(HC1 내지 HCn) 중 마지막 은닉셀(HCn)은 산출된 현 스테이지의 상태값(Hn)에 가중치(출력 가중치)를 적용하여 소정 횟수의 다음 배차 시의 지하철역의 지하철칸의 혼잡도를 나타내는 출력벡터를 산출한다. This step S240 will be described in more detail with reference to FIGS. 4 and 5 as follows. The input layer (IL) of the prediction network (EN) receives a plurality of input vectors (X1 to Xn) arranged in time order corresponding to the plurality of stages (S1 to Sn) of the prediction network for each stage (S1 to Sn). Receive input. Then, each of the plurality of hidden cells (HC1 to HCn) of the hidden layer (HL) of the prediction network (EN) contains the state value (Ht-1) of the previous stage (St-1) and the input value of the current stage (St). Calculate the state value (Ht) of the current stage (St) by performing an operation where weights (state weight and input weight) are applied to the input vector (Xt), and then transmit the calculated state value (Ht) to the next stage. do. At this time, the last hidden cell (HCn) among the plurality of hidden cells (HC1 to HCn) applies a weight (output weight) to the calculated state value (Hn) of the current stage to determine the number of subway cars in the subway station at the next dispatch a predetermined number of times. Calculate an output vector representing the level of congestion.

그러면, 예측부(300)는 S250 단계에서 통신모듈(11)을 통해 예측망(EN)이 산출한 출력벡터(Y)에 따른 혼잡도를 사용자장치(20)에 전송한다. 그러면, 사용자장치(20)는 해당 혼잡도를 사용자가 열람할 수 있도록 표시할 수 있다. Then, the prediction unit 300 transmits the congestion level according to the output vector (Y) calculated by the prediction network (EN) to the user device 20 through the communication module 11 in step S250. Then, the user device 20 can display the corresponding congestion level so that the user can view it.

한편, 전술한 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. Meanwhile, the method according to the embodiment of the present invention described above can be implemented in the form of a program readable through various computer means and recorded on a computer-readable recording medium. Here, the recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the recording medium may be those specifically designed and constructed for the present invention, or may be known and available to those skilled in the art of computer software. For example, recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. It includes specially configured hardware devices to store and execute program instructions, such as magneto-optical media and ROM, RAM, and flash memory. Examples of program instructions may include machine language wires, such as those produced by a compiler, as well as high-level language wires that can be executed by a computer using an interpreter, etc. These hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다. Although the present invention has been described above using several preferred examples, these examples are illustrative and not limiting. As such, those of ordinary skill in the technical field to which the present invention pertains will understand that various changes and modifications can be made according to the theory of equivalents without departing from the spirit of the present invention and the scope of rights set forth in the appended claims.

10: 예측서버 11: 통신모듈
12: 저장모듈 13: 제어모듈
20: 사용자장치 30: 정보제공서버
100: 학습부 200: 데이터처리부
300: 예측부
10: Prediction server 11: Communication module
12: storage module 13: control module
20: User device 30: Information provision server
100: Learning unit 200: Data processing unit
300: prediction unit

Claims (10)

지하철 칸별 혼잡도를 예측하기 위한 방법에 있어서,
데이터처리부가 사용자장치로부터 지하철역의 지하철칸의 혼잡도를 요청하는 메시지를 수신하는 단계;
상기 데이터처리부는 상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계;
예측부가 예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 단계;
를 포함하며,
상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 단계는
상기 예측망의 입력층이 예측망의 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 단계; 및
상기 예측망의 은닉층의 복수의 은닉셀이 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하되,
상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 단계;
를 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
In a method for predicting congestion for each subway car,
A data processing unit receiving a message requesting the congestion level of a subway car at a subway station from a user device;
The data processing unit selecting a plurality of dispatches from the past of a reference point in time when the message is received, and generating an input vector string including a plurality of input vectors corresponding to each of the selected dispatches;
A prediction unit performing an operation on the plurality of input vectors through a prediction network to derive the congestion level of the subway car at the subway station when the next train is dispatched a predetermined number of times from the reference point in time;
Includes,
The step of deriving the congestion of the subway car in the subway station is
The input layer of the prediction network receiving a plurality of input vectors arranged in time order corresponding to the plurality of stages of the prediction network for each of the plurality of stages; and
A plurality of hidden cells in the hidden layer of the prediction network perform a weighted operation on the state value of the previous stage and the input vector, which is the input value of the current stage, to calculate the state value of the current stage, and then the calculated state value is Pass it on to the next stage,
The last hidden cell among the plurality of hidden cells calculates the state value of the current stage and then applies a weight to the calculated state value of the current stage to indicate the congestion level of the subway car in the subway station at the time of the next dispatch of the predetermined number of times. calculating an output vector;
Characterized by including
A method for predicting congestion.
삭제delete 제1항에 있어서,
상기 혼잡도를 요청하는 메시지를 수신하는 단계 전,
학습부가 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하는 단계;
학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하는 단계;
손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 단계;
를 더 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
According to paragraph 1,
Before receiving the message requesting the congestion level,
A learning unit preparing learning data including a learning input vector string including a plurality of learning input vectors and a learning ground truth vector that is a label corresponding to the learning input vector string;
A prediction network with untrained weights performs an operation on the plurality of learning input vectors to calculate an output vector;
Calculating a loss that is the difference between the output vector and the actual learning vector through a loss function, and performing optimization to modify the weights of the prediction network to minimize the loss;
Characterized by further comprising
A method for predicting congestion.
제1항에 있어서,
상기 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계는
상기 데이터처리부가 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하는 단계;
상기 데이터처리부가 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하는 단계; 및
상기 데이터처리부가 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 단계;
를 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
According to paragraph 1,
The step of generating an input vector string containing the plurality of input vectors is
The data processing unit selecting a train dispatch at an interval that is a predetermined multiple of the dispatch interval of the subway station from a past time based on the reference point;
The data processing unit collecting event information that quantifies the dispatch time corresponding to the selected dispatch time, the congestion level of the subway car corresponding to the dispatch time, weather information indicating the weather situation, and events contributing to whether or not people are crowded; and
The data processing unit generating an input vector string by sorting a plurality of input vectors each including the dispatch time, the congestion level of the subway car, the weather information, and the event information according to the order of dispatch time;
Characterized by including
A method for predicting congestion.
제4항에 있어서,
상기 지하철칸의 혼잡도는
상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
According to paragraph 4,
The congestion level of the subway car is
Characterized in that it is collected through the weight of the subway car.
A method for predicting congestion.
지하철 칸별 혼잡도를 예측하기 위한 장치에 있어서,
사용자장치로부터 지하철역의 지하철칸의 혼잡도를 요청하는 메시지를 수신하고,
상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 데이터처리부; 및
예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 예측부;
를 포함하며,
상기 예측망은
복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 입력층;
이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하되,
상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 은닉층; 및
상기 출력벡터를 출력하는 출력층;
을 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
In a device for predicting congestion for each subway car,
Receive a message from the user device requesting the congestion level of the subway car at the subway station,
a data processing unit that selects a plurality of dispatches from the past of the reference point in time when the message is received, and generates an input vector string including a plurality of input vectors corresponding to each of the selected dispatches; and
a prediction unit that performs an operation on the plurality of input vectors through a prediction network to derive a congestion level of the subway car in the subway station when the next train is dispatched a predetermined number of times from the reference point;
Includes,
The prediction network is
an input layer that receives a plurality of input vectors arranged in time order corresponding to the plurality of stages for each of the plurality of stages;
It calculates the state value of the current stage by performing a weighted operation on the state value of the previous stage and the input vector, which is the input value of the current stage, and then includes a plurality of hidden cells that transmit the calculated state value to the next stage. However,
The last hidden cell among the plurality of hidden cells calculates the state value of the current stage and then applies a weight to the calculated state value of the current stage to indicate the congestion level of the subway car in the subway station at the time of the next dispatch of the predetermined number of times. a hidden layer that calculates the output vector; and
an output layer that outputs the output vector;
Characterized by including
A device for predicting congestion.
삭제delete 제6항에 있어서,
복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하고,
학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하고,
손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는
학습부;
를 더 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
According to clause 6,
Prepare learning data including a learning input vector string containing a plurality of learning input vectors and a learning ground truth vector that is a label corresponding to the learning input vector string,
A prediction network with untrained weights performs an operation on the plurality of learning input vectors to calculate an output vector,
Calculate a loss that is the difference between the output vector and the actual learning vector through a loss function, and perform optimization to modify the weights of the prediction network so that the loss is minimized.
Learning Department;
Characterized by further comprising
A device for predicting congestion.
제6항에 있어서,
상기 데이터처리부는
상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하고,
선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하고,
각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
According to clause 6,
The data processing unit
Selecting a dispatch consisting of a predetermined multiple interval of the dispatch interval of the subway station from a past time based on the reference point,
Collect event information that quantifies the dispatch time corresponding to the selected train, the congestion level of the subway car corresponding to the dispatch time, weather information indicating the weather situation, and events contributing to whether or not people are crowded,
Characterized by generating an input vector string by sorting a plurality of input vectors, each containing the dispatch time, the congestion level of the subway car, the weather information, and the event information, in the order of dispatch time.
A device for predicting congestion.
제9항에 있어서,
상기 지하철칸의 혼잡도는
상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
According to clause 9,
The congestion level of the subway car is
Characterized in that it is collected through the weight of the subway car.
A device for predicting congestion.
KR1020210147351A 2021-10-29 2021-10-29 Apparatus and method for predicting congestion by subway car using deep learning KR102678725B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210147351A KR102678725B1 (en) 2021-10-29 2021-10-29 Apparatus and method for predicting congestion by subway car using deep learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210147351A KR102678725B1 (en) 2021-10-29 2021-10-29 Apparatus and method for predicting congestion by subway car using deep learning

Publications (2)

Publication Number Publication Date
KR20230063949A KR20230063949A (en) 2023-05-10
KR102678725B1 true KR102678725B1 (en) 2024-06-26

Family

ID=86386386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210147351A KR102678725B1 (en) 2021-10-29 2021-10-29 Apparatus and method for predicting congestion by subway car using deep learning

Country Status (1)

Country Link
KR (1) KR102678725B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061321A (en) * 2008-09-03 2010-03-18 Railway Technical Res Inst Passenger flow prediction system
JP2017091008A (en) * 2015-11-04 2017-05-25 株式会社日立製作所 Data processing method and data processing system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101691158B1 (en) * 2010-06-28 2017-01-02 주식회사 케이티 Apparatus and method for measuring subway congestion degree in mobile communication network
KR101498985B1 (en) 2013-08-12 2015-03-05 (주)경인씨엔에스 Photographing and monitoring system based on GPS for emergency scene using IP CCTV and Photographing and monitoring method for emergency scene therefor
KR101656145B1 (en) * 2014-10-07 2016-09-08 고려대학교 산학협력단 Method for providing path information
KR102483643B1 (en) * 2017-08-14 2023-01-02 삼성전자주식회사 Method and apparatus for training model and for recognizing bawed on the model
KR102098615B1 (en) * 2017-11-29 2020-04-08 한국철도공사 System and Method for providing train congestion information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061321A (en) * 2008-09-03 2010-03-18 Railway Technical Res Inst Passenger flow prediction system
JP2017091008A (en) * 2015-11-04 2017-05-25 株式会社日立製作所 Data processing method and data processing system

Also Published As

Publication number Publication date
KR20230063949A (en) 2023-05-10

Similar Documents

Publication Publication Date Title
US20210406696A1 (en) Learning-based service migration in mobile edge computing
US20180018562A1 (en) Platform for providing task based on deep learning
US11176812B2 (en) Real-time service level monitor
JP6939911B2 (en) Methods and devices for adaptive vehicle control
WO2019095570A1 (en) Method for predicting popularity of event, server, and computer readable storage medium
JP2012003494A (en) Information processing device, information processing method and program
CN113643532B (en) Regional traffic prediction method and device
WO2023000261A1 (en) Regional traffic prediction method and device
CN114222252B (en) Message generation method and device, electronic equipment and storage medium
Su et al. Data‐Driven Method for Passenger Path Choice Inference in Congested Subway Network
US20210056379A1 (en) Generating featureless service provider matches
US10890460B2 (en) Navigation and location validation for optimizing vehicle-based transit systems
US11810209B2 (en) Outage restoration time prediction during weather events and optimized solutions for recovery
KR102678725B1 (en) Apparatus and method for predicting congestion by subway car using deep learning
Vu et al. Bus running time prediction using a statistical pattern recognition technique
CN109933926B (en) Method and apparatus for predicting flight reliability
CN116684903A (en) Cell parameter processing method, device, equipment and storage medium
CN111144473A (en) Training set construction method and device, electronic equipment and computer readable storage medium
KR20220116719A (en) An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor
CN114298421A (en) Modeling and using method of user interest point prediction model and related equipment
Sachan et al. Intelligent traffic control system for emergency vehicles
Shamsaimon et al. Traffic flow prediction using long-short term memory technique for connected vehicles in smart cities
CN114638308A (en) Method and device for acquiring object relationship, electronic equipment and storage medium
US9179264B1 (en) Methods, systems, and media for determining location information from real-time bid requests
Hoiles et al. Risk-averse caching policies for YouTube content in femtocell networks using density forecasting

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant