KR20230063949A - 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 PDFInfo
- Publication number
- KR20230063949A KR20230063949A KR1020210147351A KR20210147351A KR20230063949A KR 20230063949 A KR20230063949 A KR 20230063949A KR 1020210147351 A KR1020210147351 A KR 1020210147351A KR 20210147351 A KR20210147351 A KR 20210147351A KR 20230063949 A KR20230063949 A KR 20230063949A
- Authority
- KR
- South Korea
- Prior art keywords
- congestion
- subway
- input
- learning
- time
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000013135 deep learning Methods 0.000 title abstract description 11
- 239000013598 vector Substances 0.000 claims abstract description 135
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000000306 recurrent effect Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 2
- 238000010977 unit operation Methods 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G06Q50/30—
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government 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
Description
본 발명은 혼잡도 예측 기술에 관한 것으로, 보다 상세하게는, 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 장치 및 이를 위한 방법에 관한 것이다. The present invention relates to congestion prediction technology, and more particularly, to an apparatus and method for predicting congestion by subway compartment using deep learning.
지하철은 여러 개의 객실이 연결된 형태로 구성된다. 또한, 열차에 탑승할 때에 승하차 태그를 하지 않고, 지하철 역사를 출입할 때 개찰구에서 승하차 태그를 하게 된다. 이는 버스와 구분되는 큰 특징이며, 이러한 구조적인 특성으로 인하여 지하철은 객실별로 밀집도가 다르게 분포하게 된다. 또한, 같은 맥락에서 객실 별 혼잡도를 파악하거나 예측하는 방법에 한계점이 존재한다. The subway is composed of several connected rooms. In addition, the boarding and alighting tag is not performed when boarding the train, but the boarding and alighting tag is performed at the ticket gate when entering and exiting a subway station. This is a major feature that distinguishes it from buses, and due to these structural characteristics, the density of subways is distributed differently for each room. Also, in the same context, there is a limitation in the method of identifying or predicting the congestion level of each room.
최근에는 지하철의 혼잡도를 추정하는 시도가 계속되고 있다. 하지만, 해당 시점의 혼잡도를 추정하는 것은 서비스측면에서 한계점이 존재한다. 미래시점의 잠재적인 지하철 이용자는 사전에 혼잡도 정보를 파악하고 탑승 칸을 선택할 수 없으며, 지하철 플렛폼에 도착하고, 본인이 탑승할 직전 열차가 도착할 때가 되어서야 혼잡도 정보를 수용할 수 있다. 이와 같이, 미래 시점의 혼잡도를 예측하기 위한 적절한 방법론이 부족한 실정이다. Recently, attempts have been made to estimate the congestion of the subway. However, estimating the degree of congestion at that time has limitations in terms of service. Potential subway users in the future cannot identify congestion information in advance and select a boarding car, but can accept congestion information only when they arrive at the subway platform and when the train they are about to board arrives. As such, there is a lack of an appropriate methodology for predicting congestion at a future point in time.
본 발명의 목적은 딥러닝을 이용하여 지하철 칸별 혼잡도를 예측하기 위한 장치 및 이를 위한 방법을 제공함에 있다. An object of the present invention is to provide an apparatus and method for predicting the degree of congestion for each subway compartment using deep learning.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 지하철 칸별 혼잡도를 예측하기 위한 방법은 데이터처리부가 사용자장치로부터 지하철의 지하철역 및 지하철칸의 혼잡도를 요청하는 메시지를 수신하는 단계와, 상기 데이터처리부는 상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계와, 예측부가 예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 단계를 포함한다. In order to achieve the above object, a method for predicting congestion by subway compartment according to a preferred embodiment of the present invention includes the steps of receiving, by a data processing unit, a message requesting the congestion of a subway station and subway car from a user device; The data processing unit selects a plurality of dispatchers from the past of a reference point in time when the message is received, and generates an input vector sequence including a plurality of input vectors corresponding to each selected dispatcher; and deriving the degree of congestion of the subway car of the subway station at the time of the next dispatch of a predetermined number of times from the reference point by performing an operation on the plurality of input vectors through
상기 지하철역 및 상기 지하철칸의 혼잡도를 도출하는 단계는 상기 예측망의 입력층이 예측망의 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 단계와, 상기 예측망의 은닉층의 복수의 은닉셀이 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하되, 상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 단계를 포함한다. The step of deriving the congestion degree of the subway station and the subway car includes the step of receiving a plurality of input vectors arranged in chronological order corresponding to a plurality of stages of the prediction network for each of the plurality of stages in the input layer of the prediction network; A plurality of hidden cells of the hidden layer of the prediction network perform an operation in which weights are applied to 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 calculate the state value of the next stage After the state value of the current stage is calculated for the last hidden cell among the plurality of hidden cells, a weight is applied to the calculated state value of the current stage, so that the subway of the subway station at the next dispatch of the predetermined number of times and calculating an output vector representing the degree of congestion of the cell.
상기 방법은 상기 혼잡도를 요청하는 메시지를 수신하는 단계 전, 학습부가 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하는 단계와, 학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하는 단계와, 손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 단계를 더 포함한다. In the method, before the step of receiving the message requesting the degree of congestion, the learning unit prepares learning data including a learning input vector column including a plurality of learning input vectors and an actual vector for learning that is a label corresponding to the learning input vector column. And, calculating an output vector by performing an operation on the plurality of input vectors for learning by a prediction network having unlearned weights, and loss, which is the difference between the output vector and the actual vector for learning, through a loss function Calculating , and performing optimization of modifying the weights of the prediction network so that the loss is minimized.
상기 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계는 상기 데이터처리부가 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하는 단계와, 상기 데이터처리부가 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하는 단계와, 상기 데이터처리부가 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 단계를 포함한다. The step of generating the input vector sequence including the plurality of input vectors includes the step of selecting, by the data processing unit, a train arrangement having a predetermined multiple interval of the train dispatch interval of the subway station from a past time point based on the reference time point; and Collecting event information digitizing the dispatch time corresponding to the selected dispatch, the degree of congestion of the subway car corresponding to the dispatch time, meteorological information indicating weather conditions, and events contributing to whether or not people are crowded; and generating an input vector sequence by a processing unit by arranging a plurality of input vectors including the dispatch time, the degree of congestion of the subway car, the weather information, and the event information in order of dispatch time.
여기서, 상기 지하철칸의 혼잡도는 상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 한다. Here, the congestion degree of the subway car is characterized in that it is collected through the weight of the subway car.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 지하철 칸별 혼잡도를 예측하기 위한 장치는 사용자장치로부터 지하철의 지하철역 및 지하철칸의 혼잡도를 요청하는 메시지를 수신하고, 상기 메시지를 수신한 시점인 기준시점의 과거로부터 복수의 배차를 선택하고, 선택된 배차 각각에 대응하는 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 데이터처리부와, 예측망을 통해 상기 복수의 입력벡터에 대한 연산을 수행하여 상기 기준시점으로부터 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 도출하는 예측부를 포함한다. In order to achieve the above object, an apparatus for predicting congestion by subway compartment according to a preferred embodiment of the present invention receives a message requesting the congestion of a subway station and a subway car from a user device, and receives the message A data processing unit that selects a plurality of dispatchers from the past of the reference time point, which is a starting point, and generates an input vector sequence including a plurality of input vectors corresponding to each selected dispatcher; and an operation for the plurality of input vectors through a prediction network and a predictor for deriving the degree of congestion of the subway car of the subway station at the time of the next dispatch of a predetermined number of times from the reference point in time.
상기 예측망은 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 입력층과, 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하되, 상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 은닉층과, 상기 출력벡터를 출력하는 출력층을 포함한다. In the prediction network, weights are applied to an input layer that receives a plurality of input vectors sorted in time order corresponding to a plurality of stages for each of the plurality of stages, and a state value of the previous stage and an input vector that is the input value of the current stage. After calculating the state value of the current stage by performing an operation to calculate the state value of the current stage, including a plurality of hidden cells that transfer the calculated state value to the next stage, wherein the last hidden cell among the plurality of hidden cells calculates the state value of the current stage Then, a hidden layer that calculates an output vector representing the degree of congestion of the subway car of the subway station at the time of the next dispatch of the predetermined number of times by applying a weight to the calculated state value of the current stage, and an output layer that outputs the output vector do.
상기 장치는 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하고, 학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하고, 손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 학습부를 더 포함한다. The apparatus prepares learning data including a learning input vector column including a plurality of learning input vector columns and a learning actual vector that is a label corresponding to the learning input vector column, and a prediction network having unlearned weights is configured to generate the plurality of learning input vector columns. Calculating an output vector by performing an operation on an input vector for learning, calculating a loss, which is the difference between the output vector and the actual vector for learning, through a loss function, and modifying the weight of the prediction network so that the loss is minimized A learning unit that performs optimization is further included.
상기 데이터처리부는 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하고, 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하고, 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 것을 특징으로 한다. The data processing unit selects a train with an interval of a predetermined multiple of the dispatch interval of the subway station from a past time point based on the reference time point, and selects an dispatch time corresponding to the selected dispatch time, congestion of the subway car corresponding to the dispatch time, Weather information indicating weather conditions and event information digitizing events contributing to whether or not people are crowded are collected, and each input vector includes the dispatch time, congestion of the subway car, the weather information, and the event information. It is characterized in that an input vector sequence is generated by arranging in the order of allocation time.
여기서, 상기 지하철칸의 혼잡도는 상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 한다. Here, the congestion degree 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 degree of congestion for each train of a specific subway station and for each subway car. Accordingly, the user can use the subway avoiding congested locations or times.
도 1은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 예측서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 예측서버의 세부적인 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 구성을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 단위 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 학습을 통해 지하철칸의 혼잡도를 예측하기 위한 예측망을 생성하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 방법에 대해서 설명하기로 한다. 1 is a diagram for explaining a system for predicting congestion by subway compartment using deep learning according to an embodiment of the present invention.
2 is a block diagram for explaining the configuration of a prediction server according to an embodiment of the present invention.
3 is a block diagram for explaining the detailed configuration of a prediction server according to an embodiment of the present invention.
4 is a diagram for explaining the configuration of a prediction network for predicting congestion according to an embodiment of the present invention.
5 is a diagram for explaining unit operations of a prediction network for predicting congestion according to an embodiment of the present invention.
6 is a flowchart illustrating a method of generating a prediction network for predicting the congestion of a subway car through learning according to an embodiment of the present invention.
7 will explain a method for predicting the degree of congestion for each subway compartment using deep learning according to an embodiment of the present invention.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. Prior to the detailed description of the present invention, the terms or words used in this specification and claims described below should not be construed as being limited to a common or dictionary meaning, and the inventors should use their own invention in the best way. It should be interpreted as a meaning and concept corresponding to the technical idea of the present invention based on the principle that it can be properly defined as a concept of a term for explanation. 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 all of the technical ideas of the present invention, so various equivalents that can replace them at the time of the present application. It should be understood that there may be water and variations.
본 발명의 실시예의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 동종 혹은 이종의 통신 접속, 즉, 유선, 무선, 또는 유선 또는 무선의 조합인 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다. 더욱이, 본 발명은 퍼스널 컴퓨터, 랩톱 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, 휴대폰, 이동통신단말기, 스마트폰, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 적용될 수 있다. In the description and claims of embodiments of the present invention, a "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 over a network or over a communication connection of any kind or kind, i.e., wired, wireless, or a combination of wired and wireless, the 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, for example, binary, intermediate format instructions, such as assembly language, or even source code. Moreover, the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, cellular phones, and mobile devices. In a network computing environment having various types of computer system configurations including communication terminals, smart phones, PDAs, pagers, etc., the above computer systems may be applied.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. At this time, it should be noted that the same components in the accompanying drawings are indicated by the same reference numerals as much as possible. In addition, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted. For the same reason, some components in the accompanying drawings are exaggerated, omitted, or schematically illustrated, 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 compartment using deep learning according to an embodiment of the present invention will be described. 1 is a diagram for explaining a system for predicting congestion by subway compartment using deep learning according to an embodiment of the present invention. Referring to FIG. 1, a system for predicting congestion by subway compartment using deep learning according to an embodiment of the present invention (hereinafter, abbreviated as 'prediction system') includes a
예측서버(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
예측서버(10)는 기본적으로, 사용자장치(20)의 요청에 따라 지하철칸의 혼잡도를 예측하기 위한 것이다. 이를 위하여, 예측서버(10)는 정보제공서버(30)로부터 해당하는 지하철칸과 관련된 과거의 데이터를 수집하고, 수집된 데이터를 이용하여 학습된 예측망(EN)을 이용하여 해당하는 지하철칸의 혼잡도를 예측한다. 이러한 예측서버(10)는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. The
정보제공서버(30)는 하나인 것으로 도시되었지만, 해당하는 데이터를 제공하는 복수의 서버가 될 수 있다. 예컨대, 정보제공서버(30)는 지하철공사에서 운영하는 서버, 기상청에서 운영하는 서버 및 질병관리청에서 운영하는 서버 등이 될 수 있다. Although the
사용자장치(20)는 사용자가 사용하는 장치이며, 사용자장치(20)는 예측서버(10)에 접속하여 예측서버(10)에 지하철역 및 지하철칸을 명시하여 혼잡도를 요청하고, 예측서버(10)로부터 해당하는 지하철역에 배차되는 지하철칸의 예측된 혼잡도를 수신할 수 있다. 사용자장치(20)는 스마트폰을 대표적으로 예시할 수 있지만, 이에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 일례로, 단말기는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 태블릿 PC, 패블릿 PC 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기이거나, 노트북, 퍼스널컴퓨터 등의 고정형 단말이 될 수도 있다. The
다음으로, 본 발명의 실시예에 따른 예측서버(10)의 구성에 대해서 보다 상세히 살펴보기로 한다. 도 2는 본 발명의 실시예에 따른 예측서버의 구성을 설명하기 위한 블록도이다. 도 3은 본 발명의 실시예에 따른 예측서버의 세부적인 구성을 설명하기 위한 블록도이다. 도 4는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 구성을 설명하기 위한 도면이다. 도 5는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 단위 동작을 설명하기 위한 도면이다. Next, the configuration of the
먼저, 도 2를 참조하면, 예측서버(10)는 통신모듈(11), 저장모듈(12) 및 제어모듈(13)을 포함한다. First, referring to FIG. 2 , the
통신모듈(11)은 네트워크를 통해 사용자장치(20) 및 정보제공서버(30)와 통신하기 위한 것이다. 통신모듈(11)은 네트워크를 통해 데이터를 송수신하기 위해 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(modem)을 포함할 수 있다. 이러한 통신모듈(11)은 제어모듈(13)로부터 전달 받은 데이터를 네트워크를 통해 전송할 수 있다. 또한, 통신모듈(11)은 네트워크를 통해 수신되는 데이터를 제어모듈(13)로 전달할 수 있다. The communication module 11 is for communicating with the
저장모듈(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
제어모듈(13)은 예측서버(10)의 전반적인 동작 및 예측서버(10)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(13)은 CPU(central processing unit), GPU(Graphic Processing Unit), DSP(Digital Signal Processor) 등이 될 수 있다. 도 3을 참조하면, 제어모듈(13)은 학습부(100), 데이터처리부(200) 및 예측부(300)를 포함한다. The
학습부(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 for generating a predictive network (EN) through learning using learning data. Different learning data is prepared for each subway station, subway car, and time point at which congestion is predicted, and the learning unit 100 generates a plurality of prediction networks (EN) using the different learning data. A 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 a recurrent neural network (RNN), long short-term memory models (LTSM), and a gated recurrent unit (GRU). In an embodiment of the present invention, the predictive network (EN) is described as being formed of a recurrent neural network (RNN), but is not limited thereto, and includes long short-term memory models (LTSM), gated recurrent units (GRUs), and the like. It can also be formed with 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 for generating a plurality of input vectors X1 to Xn. The data processing unit 200 selects a predetermined multiple interval (d×inter) of the allocation interval (inter) from among a plurality of allocations made from a predetermined past time point (P) based on the reference point (present), for each of a predetermined number of allocations. It collects the dispatch time of the selected train, the congestion level of the corresponding subway car of the assigned subway, weather information and event information of the dispatch time when the dispatch was made. For example, it is assumed that the prediction network (EN) is composed of five stages (S5, n = 5). Also, it is assumed that the multiple interval (d×inter) of the vehicle allocation interval (inter) is '2×inter'. Then, the data processing unit 200 selects 5 even-numbered vehicles out of 10 times from the past time point P to the reference time point B. In addition, the data processing unit 200 transmits the dispatch time of the selected train from the
예측부(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 for predicting the degree of congestion of the corresponding subway car at the prediction time point F at which trains are dispatched after a predetermined number of times from the reference time point B using the prediction network EN. The prediction unit 300 inputs input vector strings (Xt: X1 to Xn) including a plurality of input vectors (X1 to Xn) to the prediction network (EN), and inputs the predicted time point (F), which is the operation result of the prediction network (EN). ) calculates the output vector (Y) representing the degree of congestion of the corresponding subway car. In other words, any one predictive network (EN) is an input vector sequence corresponding to an arrangement consisting of a predetermined multiple interval (d × inter) of an arrangement interval (inter) from a past time point (P) based on a reference time point (B). For (Xt: X1 to Xn), one or more operations to which weights are applied in the order of a plurality of stages (S1 to Sn) are performed to correspond to the prediction time point (F) at which the allocation after a predetermined number of times from the reference time point (B) is made. An output vector (Y) representing the degree of congestion in the subway car is calculated.
복수의 예측망(EN) 각각은 지하철역, 지하철칸 및 예측시점(F) 별로 학습을 통해 생성된다. 예측망(EN)은 복수의 스테이지(S1 내지 Sn)로 이루어지며, 각 스테이지는 입력층(IL: Input Layer), 은닉층(HL: Hidden Layer) 및 출력층(OL: Output Layer)을 포함한다. 스테이지(S1 내지 Sn)의 길이(n)는 미리 설정된다. Each of the plurality of prediction networks (EN) is generated through learning for each subway station, subway car, and prediction point (F). The prediction network EN is composed 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 preset.
입력층(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 chronological 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, although the hidden layer HL is illustrated as one layer, it may be formed of two or more layers. The plurality of hidden cells HC calculates the output vector Y by performing one or more operations to which weights are applied to the 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 degree of congestion of the corresponding subway car at the predicted time point (F) at which trains are dispatched after a predetermined number of times from the reference time point (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 is composed of one or more operations to which weights (Weight, Wx, Wh, and Wy) are applied. Here, the operation means an operation to which an activation function is applied. Activation functions may include sigmoid, hyperbolic tangent (tanh), exponential linear unit (ELU), rectified linear unit (ReLU), leaky ReLU, Maxout, Minout, and Softmax. In addition, in one hidden cell (HC), the weight is 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 Include the weight Wy. For example, the following
여기서, 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 a threshold or bias. In particular, the tanh function and the ReLU function can be changed to other activation functions. Referring to
예측망(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 converts each of the plurality of input vectors X1 to Xn arranged in time order into a corresponding hidden cell of the hidden layer HL, that is, the first to nth hidden cells HC1 to HCn). Then, each of the first to n-th hidden cells HC1 to HCn of the hidden layer HL has a state value of the previous stage St-1 calculated by the hidden cell HCt-1 of the previous stage St-1 ( The state value (Ht) of the current stage (St) is calculated by performing an operation in which weights (state weight and input weight) are applied to the input value (Xt) of the stage (St) of Ht-1) and itself (HCt). After that, the calculated state value (Ht) is transferred 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 applies the input weight Wx to the first input vector X1 to obtain the state of the first stage S1. Calculate the value H1. In the case of the first hidden pixel 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 first stage S1, which is the previous stage, and applies the input weight Wx to the second input vector X2. Then, the state value H2 of the second stage S2 is calculated. 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 for calculating the state value H3 of the third stage S3. In this way, the plurality of hidden cells (HCt) perform an operation 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. Then, the state value (Ht) of the current stage is calculated, and the calculated state value (Ht) is transferred 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 execution of such an operation, the state weight (Wh) is applied to the state value (Hn-1) of the n-1th stage (Sn-1), which is the previous stage, of the n-th hidden cell (HCn), which is the last hidden cell. The state value Hn of the n-th stage Sn, which is the current stage, is calculated by performing an operation to which the input weight Wx is applied to the input vector Xn, which is the input value of the stage Sn. Then, the n-th hidden cell HCn calculates the output vector Y by performing an operation of applying the output weight Wy to the state value Hn of the n-th 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 the 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). It is input for each stage (S1 to Sn) of Then, the plurality of hidden cells HC1 to HCn-1 excluding the last hidden cell HCn of the hidden layer HL are the state values 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 to which the state and input weights (Wx, Wh) are applied to the input vector (Xt), which is a value, the calculated state value is used as the next stage (St+1) forward to Then, the last hidden cell (HCn) has a state and an 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 obtained by applying the output weight (Wy) to the calculated state value (Hn) of the current stage. yield
출력벡터(Y)는 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 나타내며, 이와 같이, 예측망(EN)이 출력벡터(Y)를 산출하면, 예측부(300)는 출력벡터(Y)에 따라 해당하는 예측시점(F)의 해당 지하철칸의 혼잡도를 도출하고, 도출된 혼잡도를 통신부(11)를 통해 사용자장치(20)로 전송한다. The output vector (Y) represents the degree of congestion of the corresponding subway car at the predicted time point (F) at which trains are dispatched after a predetermined number of times from the reference point (B). As such, if the prediction network (EN) calculates the output vector (Y) , The prediction unit 300 derives the congestion level of the corresponding subway car at the prediction time point F according to the output vector Y, and transmits the derived congestion level to the
다음으로, 본 발명의 실시예에 따른 학습(deep learning)을 통해 지하철칸의 혼잡도를 예측하기 위한 예측망을 생성하는 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 학습을 통해 지하철칸의 혼잡도를 예측하기 위한 예측망을 생성하는 방법을 설명하기 위한 흐름도이다. Next, a method for generating a prediction network for predicting congestion in a subway car through deep learning according to an embodiment of the present invention will be described. 6 is a flowchart illustrating a method of generating a prediction network for predicting the congestion 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, 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 training data includes a learning input vector column including a plurality of learning input vectors and a ground truth for learning that is a label for the learning input vector column. The learning unit 100 may collect learning data using past data from the
이어서, 학습부(100)는 S130 단계에서 초기화된, 즉, 학습이 이루어지지 않은 가중치를 포함하는 예측망(EN)에 복수의 학습용 입력벡터를 입력한다. 그러면, 예측망(EN)은 S140 단계에서 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출한다. 즉, 예측망(EN)은 기준시점(B)을 기준으로 과거시점(P)으로부터 배차 간격(inter)의 소정의 배수 간격(d × inter)으로 이루어진 배차에 대응하는 학습용 입력벡터열(Xt: X1 내지 Xn)에 대해 복수의 스테이지(S1 내지 Sn)의 순서대로 가중치가 적용되는 하나 이상의 연산을 수행하여 기준시점(B)으로부터 소정 횟수 이후의 배차가 이루어지는 예측시점(F)의 해당 지하철칸의 혼잡도를 나타내는 출력벡터를 산출한다. Subsequently, the learning unit 100 inputs a plurality of input vectors for learning to the prediction network EN including weights that have not been learned, that is, initialized in step S130. Then, the prediction network (EN) calculates an output vector by performing an operation on a plurality of input vectors for learning in step S140. That is, the prediction network (EN) is a learning input vector sequence (Xt: For X1 to Xn), by performing one or more calculations to which weights are applied in the order of a plurality of stages (S1 to Sn), the corresponding subway car at the predicted time point (F) at which the train is assigned a predetermined number of times from the reference point (B). An output vector representing the degree of congestion is calculated.
그러면, 학습부(100)는 S150 단계에서 손실함수를 통해 복수의 학습용 입력벡터에 대응하는 출력벡터와, 복수의 학습용 입력벡터에 대응하는 레이블인 학습용 실측벡터(Ground Truth)와의 차이인 손실을 산출하고, 손실이 최소가 되도록 상기 예측망(EN)의 기중치를 수정하는 최적화를 수행한다. Then, the learning unit 100 calculates a loss, which is the difference between the output vectors corresponding to the plurality of input vectors for learning and the ground truth for learning, which is a label corresponding to the plurality of input vectors for learning, through the loss function in step S150. and optimizes the weight of the prediction network (EN) so that the loss is minimized.
학습부(100)는 전술한 S120 단계 내지 S150 단계를 손실이 소정의 목표치 미만이 될 때까지 서로 다른 학습 데이터를 이용하여 반복함으로써 예측망(EN)을 생성할 수 있다. The learning unit 100 may generate the predictive network (EN) by repeating steps S120 to S150 described above using different learning data until the loss is less than a predetermined target value.
전술한 바와 같은 절차에 따라 복수의 예측망(EN)이 지하철역, 지하철칸 및 예측시점(F) 별로 생성된다. 그러면, 복수의 예측망(EN)을 이용하여 지하철칸의 혼잡도를 예측하기 위한 방법에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 딥러닝을 이용한 지하철 칸별 혼잡도를 예측하기 위한 방법에 대해서 설명하기로 한다. According to the procedure described above, a plurality of prediction networks (EN) are generated for each subway station, subway car, and prediction point (F). Then, a method for predicting the degree of congestion in a subway car using a plurality of predictive networks (EN) will be described. 7 will explain a method for predicting the degree of congestion for each subway compartment 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 subway stations and subway cars from the
그러면, 데이터처리부(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, the data processing unit 200 moves from the past time point (P) to a predetermined multiple interval (d × inter) of the dispatch interval (inter) of the corresponding subway station based on the reference time point (B), which is the time point at which the message is received in step S220. The selected arrangement is selected, and an input vector sequence (Xt: X1 to Xn) including a plurality of input vectors (X1 to Xn) corresponding to each selected arrangement is generated. Step S220 will be described in more detail as follows. In other words, the data processing unit 200 selects a train dispatch made at a predetermined multiple interval (d × inter) of the train dispatch interval (inter) of the corresponding subway station from the past time point (P) based on the reference time point (B). Then, the data processing unit 200 receives the dispatch time corresponding to the previously selected dispatch from the
다음으로, 예측부(300)는 S230 단계에서 복수의 입력벡터(X1 내지 Xn)를 포함하는 입력벡터열(Xt: X1 내지 Xn)을 예측망(EN)에 입력한다. 즉, 배차시간 순서에 따라 정렬된 복수의 입력벡터(X1 내지 Xn)를 예측망(EN)에 입력한다. Next, the prediction unit 300 inputs an input vector sequence (Xt: X1 to Xn) including a plurality of input vectors (X1 to Xn) to the prediction network (EN) in step S230. That is, a plurality of input vectors (X1 to Xn) arranged in order of dispatch time 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 in the order of the plurality of stages (S1 to Sn) to the input vector sequence (Xt: X1 to Xn), that is, to the plurality of input vectors (X1 to Xn) One or more operations are performed to calculate an output vector (Y) representing the degree of congestion of the corresponding subway car of the corresponding subway station at the predicted time point (F), which is the time point at which trains are dispatched after a predetermined number of times from the reference time point (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. The input layer IL of the prediction network EN transmits 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 of the plurality of stages 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 has a state value Ht-1 of the previous stage St-1 and an input value of the current stage St After calculating the state value (Ht) of the current stage (St) by performing an operation in which weights (state weight and input weight) are applied to the input vector (Xt), the calculated state value (Ht) is transmitted 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 obtain the An output vector representing the degree of congestion is calculated.
그러면, 예측부(300)는 S250 단계에서 통신모듈(11)을 통해 예측망(EN)이 산출한 출력벡터(Y)에 따른 혼잡도를 사용자장치(20)에 전송한다. 그러면, 사용자장치(20)는 해당 혼잡도를 사용자가 열람할 수 있도록 표시할 수 있다. Then, the prediction unit 300 transmits the degree of congestion according to the output vector Y calculated by the prediction network EN to the
한편, 전술한 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. On the other hand, the method according to the embodiment of the present invention described above may be implemented in the form of a program readable by various computer means and recorded on a computer-readable recording medium. Here, the recording medium may include program commands, data files, data structures, etc. alone or in combination. Program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or those known and usable to those skilled in 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 hardware devices specially configured to store and execute program instructions, such as magneto-optical media and ROM, RAM, flash memory, etc. Examples of program commands may include high-level language wires that can be executed by a computer using an interpreter, as well as machine language wires such as those produced by a compiler. These hardware devices may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다. The present invention has been described above using several preferred examples, but these examples are illustrative and not limiting. As such, those skilled in the art to which the present invention belongs will understand that various changes and modifications can be made according to the doctrine 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 the method for predicting the degree of congestion by subway compartment,
receiving, by a data processing unit, a message requesting a congestion level of a subway station and a subway car of a subway from a user device;
selecting, by the data processing unit, a plurality of dispatchers from the past of a reference point in time when the message is received, and generating an input vector sequence including a plurality of input vectors corresponding to each selected dispatcher;
deriving a degree of congestion of the subway car of the subway station when a predetermined number of next trains are allocated from the reference point by a predictor unit performing an operation on the plurality of input vectors through a prediction network;
characterized in that it includes
A method for predicting congestion.
상기 지하철역 및 상기 지하철칸의 혼잡도를 도출하는 단계는
상기 예측망의 입력층이 예측망의 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 단계; 및
상기 예측망의 은닉층의 복수의 은닉셀이 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하되,
상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 단계;
를 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법. According to claim 1,
The step of deriving the congestion degree of the subway station and the subway car
receiving, for each of the plurality of stages, a plurality of input vectors arranged in chronological order corresponding to a plurality of stages of the prediction network in an input layer of the prediction network; and
The plurality of hidden cells of the hidden layer of the prediction network calculates the state value of the current stage by performing an operation in which weights are applied to the state value of the previous stage and the input vector, which is the input value of the current stage, and then calculates the state value of the current stage forward 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 degree of congestion of the subway car of the subway station at the time of the next dispatch of the predetermined number of times. calculating an output vector;
characterized in that it includes
A method for predicting congestion.
상기 혼잡도를 요청하는 메시지를 수신하는 단계 전,
학습부가 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하는 단계;
학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하는 단계;
손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 단계;
를 더 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법. According to claim 1,
Before the step of receiving the message requesting the degree of congestion,
preparing, by a learning unit, learning data including a learning input vector sequence including a plurality of learning input vectors and an actual measurement vector for learning that is a label corresponding to the learning input vector sequence;
calculating an output vector by performing an operation on the plurality of input vectors for learning by a prediction network having unlearned weights;
calculating a loss, which is a difference between the output vector and the actual vector for training, through a loss function, and performing optimization of modifying weights of the prediction network so that the loss is minimized;
characterized in that it further comprises
A method for predicting congestion.
상기 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계는
상기 데이터처리부가 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하는 단계;
상기 데이터처리부가 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하는 단계; 및
상기 데이터처리부가 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 단계;
를 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법. According to claim 1,
The step of generating an input vector sequence including the plurality of input vectors
Selecting, by the data processing unit, an interval of a predetermined multiple of an interval of an interval of the subway station from a past point in time based on the reference point in time;
Collecting, by the data processing unit, dispatch time corresponding to the selected dispatch time, congestion level of the subway car corresponding to the dispatch time, meteorological information indicating weather conditions, and event information digitizing events contributing to whether or not people are crowded; and
generating an input vector sequence by the data processing unit by arranging a plurality of input vectors including the dispatch time, the degree of congestion of the subway car, the weather information, and the event information in order of dispatch time;
characterized in that it includes
A method for predicting congestion.
상기 지하철칸의 혼잡도는
상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법. According to claim 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 the apparatus for predicting the degree of congestion by subway compartment,
Receive a message requesting the congestion level of subway stations and subway cars of the subway from the user device;
a data processing unit that selects a plurality of dispatchers from the past of a reference point in time when the message is received, and generates an input vector sequence including a plurality of input vectors corresponding to each selected dispatcher; and
a prediction unit for deriving a degree of congestion of the subway car of the subway station when a predetermined number of next trains are allocated from the reference point by performing an operation on the plurality of input vectors through a prediction network;
characterized in that it includes
A device for predicting congestion.
상기 예측망은
복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 입력층;
이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하되,
상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 은닉층; 및
상기 출력벡터를 출력하는 출력층;
을 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치. According to claim 6,
The prediction network
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;
Includes a plurality of hidden cells that calculate the state value of the current stage by performing an operation in which weights are applied to the state value of the previous stage and the input vector, which is the input value of the current stage, and then transfer the calculated state value to the next stage but
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 degree of congestion of the subway car of the subway station at the time of the next dispatch of the predetermined number of times. a hidden layer that calculates an output vector; and
an output layer outputting the output vector;
characterized in that it includes
A device for predicting congestion.
복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하고,
학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하고,
손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는
학습부;
를 더 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치. According to claim 6,
Preparing learning data including a learning input vector column including a plurality of learning input vectors and an actual measurement vector for learning that is a label corresponding to the learning input vector column;
A prediction network having unlearned weights calculates an output vector by performing an operation on the plurality of input vectors for learning,
Calculating a loss, which is the difference between the output vector and the actual vector for learning, through a loss function, and performing optimization to modify the weights of the prediction network so that the loss is minimized
learning department;
characterized in that it further comprises
A device for predicting congestion.
상기 데이터처리부는
상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하고,
선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하고,
각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치. According to claim 6,
The data processing unit
Based on the reference point in time, selecting an interval consisting of a predetermined multiple of the interval of the interval of the subway station from a past point in time;
Collecting dispatch time corresponding to the selected dispatch time, congestion level of the subway car corresponding to the dispatch time, meteorological information indicating weather conditions, and event information digitizing events contributing to whether or not people are crowded,
Characterized in that an input vector sequence is generated by arranging a plurality of input vectors each including the dispatch time, the degree of congestion of the subway car, the weather information, and the event information in order of dispatch time.
A device for predicting congestion.
상기 지하철칸의 혼잡도는
상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치. According to claim 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.
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 true KR20230063949A (en) | 2023-05-10 |
KR102678725B1 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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010061321A (en) * | 2008-09-03 | 2010-03-18 | Railway Technical Res Inst | Passenger flow prediction system |
KR20120000820A (en) * | 2010-06-28 | 2012-01-04 | 주식회사 케이티 | Apparatus and method for measuring subway congestion degree in mobile communication network |
KR20150018975A (en) | 2013-08-12 | 2015-02-25 | (주)경인씨엔에스 | Photographing and monitoring system based on GPS for emergency scene using IP CCTV and Photographing and monitoring method for emergency scene therefor |
KR20160041195A (en) * | 2014-10-07 | 2016-04-18 | 고려대학교 산학협력단 | Method for providing path information |
JP2017091008A (en) * | 2015-11-04 | 2017-05-25 | 株式会社日立製作所 | Data processing method and data processing system |
KR20190018276A (en) * | 2017-08-14 | 2019-02-22 | 삼성전자주식회사 | Method and apparatus for training model and for recognizing bawed on the model |
KR20190062993A (en) * | 2017-11-29 | 2019-06-07 | 한국철도공사 | System and Method for providing train congestion information |
-
2021
- 2021-10-29 KR KR1020210147351A patent/KR102678725B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010061321A (en) * | 2008-09-03 | 2010-03-18 | Railway Technical Res Inst | Passenger flow prediction system |
KR20120000820A (en) * | 2010-06-28 | 2012-01-04 | 주식회사 케이티 | Apparatus and method for measuring subway congestion degree in mobile communication network |
KR20150018975A (en) | 2013-08-12 | 2015-02-25 | (주)경인씨엔에스 | Photographing and monitoring system based on GPS for emergency scene using IP CCTV and Photographing and monitoring method for emergency scene therefor |
KR20160041195A (en) * | 2014-10-07 | 2016-04-18 | 고려대학교 산학협력단 | Method for providing path information |
JP2017091008A (en) * | 2015-11-04 | 2017-05-25 | 株式会社日立製作所 | Data processing method and data processing system |
KR20190018276A (en) * | 2017-08-14 | 2019-02-22 | 삼성전자주식회사 | Method and apparatus for training model and for recognizing bawed on the model |
KR20190062993A (en) * | 2017-11-29 | 2019-06-07 | 한국철도공사 | System and Method for providing train congestion information |
Also Published As
Publication number | Publication date |
---|---|
KR102678725B1 (en) | 2024-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132608B2 (en) | Learning-based service migration in mobile edge computing | |
CN110674880B (en) | Network training method, device, medium and electronic equipment for knowledge distillation | |
US20180018562A1 (en) | Platform for providing task based on deep learning | |
JP6939911B2 (en) | Methods and devices for adaptive vehicle control | |
US11176812B2 (en) | Real-time service level monitor | |
CN109724611A (en) | Paths planning method, device, electronic equipment and storage medium | |
US10167173B1 (en) | Prioritizing the direction of a directional pedestrian mover (DPM) in real time, based on predicted pedestrian traffic flow | |
CN112382099B (en) | Traffic road condition prediction method and device, electronic equipment and storage medium | |
US20200408546A1 (en) | Transportation vehicle routing | |
CN112288162B (en) | Short-time bus station passenger flow prediction method and device, computer equipment and storage medium | |
Park et al. | Urban traffic accident risk prediction for knowledge-based mobile multimedia service | |
WO2023207411A1 (en) | Traffic determination method and apparatus based on spatio-temporal data, and device and medium | |
US20140316702A1 (en) | Control system for indicating if people can reach locations that satisfy a predetermined set of conditions and requirements | |
CN113643532A (en) | Regional traffic prediction method and device | |
CN114222252B (en) | Message generation method and device, electronic equipment and storage medium | |
CN110276387B (en) | Model generation method and device | |
CN112801360B (en) | Taxi demand prediction method, system and equipment | |
KR102678725B1 (en) | Apparatus and method for predicting congestion by subway car using deep learning | |
CN111144473A (en) | Training set construction method and device, electronic equipment and computer readable storage medium | |
CN115660156A (en) | Method and system for predicting passenger flow congestion delay at traffic station | |
CN114298421A (en) | Modeling and using method of user interest point prediction model and related equipment | |
US20220277652A1 (en) | Systems and methods for repositioning vehicles in a ride-hailing platform | |
KR20220116719A (en) | An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor | |
CN115292037A (en) | Task reliability guarantee method and system under edge network | |
CN115222769A (en) | Trajectory prediction method, device and agent |
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 |