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 PDF

Info

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
Application number
KR1020210147351A
Other languages
Korean (ko)
Other versions
KR102678725B1 (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

Images

Classifications

    • G06Q50/30
    • 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

A method for predicting congestion for each subway car using deep learning according to the present invention includes the steps of: receiving, by a data processing part, a message requesting congestion in a subway station and congestion for each subway car from a user device; selecting, by the data processing part, a plurality of operation times from the past of a reference point, the 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 operation times; performing, by a prediction part, calculations on the plurality of input vectors through a prediction network to derive the congestion for each subway car in the subway station at the next operation time of a certain number of times from the reference 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 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.

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

본 발명의 목적은 딥러닝을 이용하여 지하철 칸별 혼잡도를 예측하기 위한 장치 및 이를 위한 방법을 제공함에 있다. 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 prediction server 10, a user device 20 and information It includes a providing 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 may communicate with each other through the network NW. For example, the network NW may include a wireless network such as wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, High Speed Downlink Packet Access (HSDPA), Depending on the system implementation method, wired networks such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), FTTH (Fiber To The Home) may be included. 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. Also, the network NW according to the present invention may include the Internet. The Internet means a common open network, i.e., a public network, in which information is exchanged according to the TCP/IP protocol. Through this network (NW), the prediction server 10, the user device 20, and the information providing server 30 interwork with each other 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 for predicting the congestion of the subway car 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 the collected data to learn the prediction network (EN) to determine the location of the corresponding subway car. predict congestion. The prediction server 10 is an entity existing on a network and serves as a web server, a database server, and an 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, and a server operated by the Korea Centers for Disease Control and Prevention.

사용자장치(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 a user, and the user device 20 accesses the prediction server 10, specifies the subway station and subway car to the prediction server 10, requests the degree of congestion, and the prediction server 10 It is possible to receive a predicted congestion degree of a subway car allocated to a corresponding subway station. The user device 20 may be a representative example of a smartphone, but is not limited thereto, and may be applied to various terminals such as all information communication devices, multimedia terminals, wired terminals, fixed terminals, and IP (Internet Protocol) terminals. For example, the terminal is a mobile terminal having various mobile communication specifications such as a mobile phone, a portable multimedia player (PMP), a mobile internet device (MID), a tablet PC, a phablet PC, and an information communication device, or a laptop computer, a personal computer, etc. may be a fixed terminal of

다음으로, 본 발명의 실시예에 따른 예측서버(10)의 구성에 대해서 보다 상세히 살펴보기로 한다. 도 2는 본 발명의 실시예에 따른 예측서버의 구성을 설명하기 위한 블록도이다. 도 3은 본 발명의 실시예에 따른 예측서버의 세부적인 구성을 설명하기 위한 블록도이다. 도 4는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 구성을 설명하기 위한 도면이다. 도 5는 본 발명의 실시예에 따른 혼잡도를 예측하기 위한 예측망의 단위 동작을 설명하기 위한 도면이다. Next, the configuration of the prediction server 10 according to an embodiment of the present invention will be described in more detail. 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.

먼저, 도 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 providing server 30 through a network. The communication module 11 may include a modem that modulates a transmitted signal and demodulates a received signal in order to transmit and receive data through a network. The communication module 11 may transmit data received from the control module 13 through a network. Also, the communication module 11 may transmit data received through a 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 may be divided into a program area and a data area. The program area may store a program for controlling the overall operation of the prediction server 10, an operating system (OS) for booting 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 kinds of data stored in the storage module 120 can be deleted, changed, or added according to a user's manipulation.

제어모듈(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 may control the overall operation of the prediction server 10 and signal flow between internal blocks of the prediction server 10, and may perform a data processing function of processing data. The 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 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 information providing server 30 through the communication module 11, the degree of congestion of the corresponding subway compartment of the assigned subway, weather information and event information of 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 dispatch from the information providing server 30 . Here, the dispatch time includes the month, day, day and time of the dispatch. A load detection sensor for detecting weight is installed for each compartment of the subway, and the data processing unit 200 receives the weight detected in the corresponding subway car from the information providing server 30 and normalizes the received weight to determine the congestion level of the subway car. generate In addition, the data processing unit 200 may collect weather information of the dispatch time at which the selected dispatch was made from the information providing server 30 . Such meteorological information may include temperature, humidity, wind speed, weather (whether it rains or snows), and the like. Further, the data processing unit 200 may collect event information of the dispatch time at which the selected dispatch was made from the information providing server 30 . The event information includes information on various events that may affect the number of floating population. For example, the number of infected persons may be in a situation where an epidemic such as a pandemic situation is prevalent. As described above, after collecting the dispatch time, congestion, weather information, and event information, the data processing unit 200 includes the dispatch time, congestion of the subway car, weather information, and event information corresponding to the selected plurality of dispatches. A plurality of input vectors (X1 to Xn) are generated, and the plurality of generated input vectors (X1 to Xn) are sorted according to the order of allocation time, and an input vector sequence (Xt: X1 to Xn) including the plurality of input vectors (X1 to Xn) is arranged. ) is generated, and the generated input vector sequence (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 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 Equation 1 may be exemplified as an operation to which the weight applied to the hidden cell HC is applied.

Figure pat00001
Figure pat00001

Figure pat00002
Figure 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 a threshold or bias. In particular, the tanh function and the 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 a state value Ht- of the previous stage St-1 calculated by the hidden cell HCt-1 of the previous stage St-1. 1) and the state value (Ht) and output value (Yt) of the current stage (St) by performing an operation in which weights (W: Wh, Wx, Wy) are applied to the input value (Xt) of the own 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 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 user device 20 through the communication unit 11.

다음으로, 본 발명의 실시예에 따른 학습(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 information providing server 30 through the communication module 11 . A plurality of input vectors for learning 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 (the number of stages) of the input layer IL of the prediction network EN is 5, 5 training input vectors are required according to time order. Accordingly, if the multiple interval (d×inter) of the vehicle allocation interval (inter) is ‘3×inter’, the third of 15 vehicle allocations from the past time point (P) to the reference time point (B) based on the reference time point (B). Select 5 for 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 of the dispatch time at which the dispatch was made, and normalizes them to generate an input vector for learning. . In addition, the output vector for learning may be collected according to the number of times the prediction time point (F) is from the reference time point (B). For example, when the predicted time point (F) is the third train dispatch after the reference time point (B), the learning unit 100 is transferred from the information providing server 30 through the communication module 110 after the reference time point (B) of the corresponding subway station. The weight of the subway car in the third dispatch is collected, and a ground truth for learning representing the degree of 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)의 해당 지하철칸의 혼잡도를 나타내는 출력벡터를 산출한다. 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 user device 20 through the communication module 11 in step S210. That is, in the message requesting the degree of congestion, the requested subway station and subway car are specified and transmitted.

그러면, 데이터처리부(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 information providing server 30 through the communication module 11, the congestion level of the subway car corresponding to the dispatch time, and the meteorological conditions of the dispatch time. It collects event information that digitizes events that contribute to the clustering of people corresponding to the indicated weather information and the dispatch time. Subsequently, the data processing unit 200 arranges a plurality of input vectors (X1 to Xn), each of which includes dispatch time, subway car congestion, weather information, and event information, in order of dispatch time, and input vector sequence (Xt: X1). to Xn).

다음으로, 예측부(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 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 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.
제1항에 있어서,
상기 지하철역 및 상기 지하철칸의 혼잡도를 도출하는 단계는
상기 예측망의 입력층이 예측망의 복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 단계; 및
상기 예측망의 은닉층의 복수의 은닉셀이 이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하되,
상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 단계;
를 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
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.
제1항에 있어서,
상기 혼잡도를 요청하는 메시지를 수신하는 단계 전,
학습부가 복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하는 단계;
학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하는 단계;
손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는 단계;
를 더 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
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.
제1항에 있어서,
상기 복수의 입력벡터를 포함하는 입력벡터열을 생성하는 단계는
상기 데이터처리부가 상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하는 단계;
상기 데이터처리부가 선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하는 단계; 및
상기 데이터처리부가 각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 단계;
를 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
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.
제4항에 있어서,
상기 지하철칸의 혼잡도는
상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 하는
혼잡도를 예측하기 위한 방법.
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.
제6항에 있어서,
상기 예측망은
복수의 스테이지에 대응하여 시간 순서로 정렬된 복수의 입력벡터를 상기 복수의 스테이지 별로 입력받는 입력층;
이전 스테이지의 상태값과 현 스테이지의 입력값인 입력벡터에 대해 가중치가 적용되는 연산을 수행하여 현 스테이지의 상태값을 산출한 후, 산출된 상태값을 다음 스테이지에 전달하는 복수의 은닉셀을 포함하되,
상기 복수의 은닉셀 중 마지막 은닉셀은 현 스테이지의 상태값을 산출한 후, 산출된 현 스테이지의 상태값에 가중치를 적용하여 상기 소정 횟수의 다음 배차 시의 상기 지하철역의 상기 지하철칸의 혼잡도를 나타내는 출력벡터를 산출하는 은닉층; 및
상기 출력벡터를 출력하는 출력층;
을 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
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.
제6항에 있어서,
복수의 학습용 입력벡터를 포함하는 학습용 입력벡터열과 상기 학습용 입력벡터열에 대응하는 레이블인 학습용 실측벡터를 포함하는 학습 데이터를 마련하고,
학습이 이루어지지 않은 가중치를 가지는 예측망이 상기 복수의 학습용 입력벡터에 대한 연산을 수행하여 출력벡터를 산출하고,
손실함수를 통해 상기 출력벡터와 상기 학습용 실측벡터와의 차이인 손실을 산출하고, 상기 손실이 최소가 되도록 상기 예측망의 가중치를 수정하는 최적화를 수행하는
학습부;
를 더 포함하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
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.
제6항에 있어서,
상기 데이터처리부는
상기 기준시점을 기준으로 과거시점으로부터 상기 지하철역의 배차 간격의 소정의 배수 간격으로 이루어진 배차를 선택하고,
선택된 배차에 대응하는 배차시간과, 상기 배차시간에 대응하는 지하철칸의 혼잡도, 기상 상황을 나타내는 기상정보 및 사람의 군집 여부에 기여하는 이벤트를 수치화한 이벤트정보를 수집하고,
각각이 상기 배차시간, 상기 지하철칸의 혼잡도, 상기 기상정보 및 상기 이벤트정보를 포함하는 복수의 입력벡터를 배차시간의 순서에 따라 정렬하여 입력벡터열을 생성하는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
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.
제9항에 있어서,
상기 지하철칸의 혼잡도는
상기 지하철칸의 무게를 통해 수집되는 것을 특징으로 하는
혼잡도를 예측하기 위한 장치.
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.
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 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)

* 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
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

Patent Citations (7)

* 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
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