Ⅰ. 서 론
1. 개요
생성형 모델은 실제 데이터를 추정하기 위해 주어진 샘플 데이터의 분포를 학습하여 인공적으로 데이터 를 생성할 수 있는 방법론으로 자리 잡았다 (Choi et al., 2024). 특히 활동기반 모형에서 활용되는 심층 생성 모형을 통한 교통수요 예측은 전통적인 4단계 수요분석 과정에서 인구 그룹 단위의 통행행태를 추정하는 것 과 다르게 가구와 개인단위로 대상지 내의 통계적으로 유의미한 합성인구를 생성하여, 현실에서 개인의 복 잡한 통행행태를 반영할 수 있는 과정을 수행할 수 있도록 기초데이터를 제공한다 (Hörl and Balac, 2021). 이 는 비용적인 측면과 개인 정보공개에 대한 민감성 등의 이유로 개인단위의 총 인구정보에 대한 수집이 불가 능한 한계점을 보완하였고, 전국적으로 수집된 가구통행실태조사 데이터의 인구정보를 토대로 실제 인구만 큼 데이터를 생성한 뒤 통행 일정을 추정한다(Badu-Marfo et al., 2022). 이렇게 수집된 일부 인구정보는 국내 의 경우 전체 인구수 대비 약 1~2% 내외로 상당히 적은 표본율을 보이지만, 생성형 모델의 성능이 비약적으 로 발전하면서 최근에는 샘플 데이터의 통계적인 특성을 기반으로 인구 특성 조합을 모두 복제할 뿐만 아니 라 샘플 데이터에는 존재하지 않지만, 실제 인구에는 존재하는 희귀한 인구 특성 조합까지 추정하여 생성할 수 있는 모델들이 개발되었고, 합성인구 생성에 필수적인 상세 인구정보를 취득할 수 있게 되었다. (Aemmer and MacKenzie, 2022;Borysov et al., 2019).
합성인구를 토대로 분석되는 활동기반 모형은 수집된 데이터의 시점을 기준으로 신뢰도가 높고 정확한 예측 교통수요를 도출할 수 있지만, 미래 시점 혹은 새로운 정책 변화에 따른 효과를 분석 또한 반영할 수 있어야 한다. 이는 합성인구 생성을 위한 생성모델을 활용할 때 미래 시점의 인구변화에 따른 총인구수를 유 기적으로 반영할 수 있어야 하고, 인구구조(i.e. 연령별 인구구성비, 직업 유형, 주요 통행수단 등)의 인구 특 성에 따른 변화에 대한 기초데이터 생성이 선행되어야 가능하다. 또한 합성인구 데이터가 현실 혹은 미래 시 점의 상황을 대변하지 못한다면, 활동목적, 활동위치, 활동시간, 등의 분석과정에 오차가 누적되어 왜곡된 결 과를 초래할 가능성이 높으므로, 합성인구 생성과정이 신중히 고려되어야 한다. 그러나 일반적으로 인구 그 룹 혹은 대상지의 통행 발생 예측에 활용되는 회귀분석 기법과 다르게, 기존의 생성형 모델은 주어진 데이터 시점의 실제 인구의 추정 혹은 모사만이 가능한 한계점이 존재한다.
이를 해결하기 위해 생성형 모델에 제약조건을 추가하여 특정 인구 특성 정보의 생성을 제약하거나 유도 할 수 있지만 대규모 인구 데이터 및 복잡한 인구 특성 정보를 다루게 될 경우, 초기부터 시작되는 학습 및 최적화를 과정을 매번 반복적으로 수행해야 하며, 데이터 차원이 증가함에 따라 모델 수렴에 큰 어려움이 존 재한다. 특히 적대적 생성 신경망(Generative Adversarial Networks, GAN) 혹은 변분 오토인코더(Variational AutoEncoder)와 같은 심층 생성모델에 제약조건을 직접적으로 적용할 경우, 모델이 손실 값을 줄이는 것에만 집중하는 현상이 발생해 학습 데이터에 존재하는 다양한 인구 특성 정보를 학습하지 못하고 특정 인구 조합 만 반복적으로 생성해내는 문제를 초래할 수 있다 (Kim et al., 2022). 특히, 분석 대상지의 총 인구정보를 반 영하기 위해 특정 범주형 데이터가 나타내어야 하는 분포를 강제로 부여하면, 학습 과정에서 생성되어야 할 데이터의 분포가 단순화되어 과적합 현상을 일으킬 수 있으므로 주의가 필요하다. 따라서 본 연구에서는 생 성모델의 조건부 기법을 적용하여 원하는 합성인구의 각 인구 특성 정보를 맞춤형으로 생성하는 방안을 제 안한다. 이는 특정 인구 조합을 반복적으로 생성하더라도 인구의 통계적인 속성을 유지할 수 있고, 추후 교 통수요 분석 목적에 따라 활동기반 모형에 유연성을 제공하여 다양하게 활용될 수 있다.
Ⅱ. 문헌검토
일반적으로 알려진 합성인구 생성 기법들은 re-weighting 방법론으로 분류될 수 있다. 세부적으로 일부 문 헌에서는 Synthetic Reconstruction(SR) 기법과 Combinatiroal Optimization (CO) 기법으로 구분될 수 있지만, 두 방법론 모두 주어진 제약조건 아래에 생성되어야 할 인구 특성 정보의 최적 가중치를 구하는 방법론이다 (Chapuis et al., 2022). 전통적으로 수행되어온 합성인구 생성 방법은 Iterative Proportional Fitting(IPF)이며, 대 상지 내의 인구 특성별 총 데이터를 기반으로 주변 확률 분포(marginal distribution)를 제약조건으로 인구 특 성 정보들을 순차적으로 대조하여 분할표(contingency table)의 가중치를 계산하는 과정을 통해 합성인구를 생 성한다(Choupani and Mamdoohi, 2016). 오랜기간 동안 해당 기법이 도입되어왔으나, 이는 주어진 샘플 데이터 에서 관측된 데이터 내에서 최적값을 추출하지만, 수집되지 않은 실제 인구에 존재하는 다양한 인구 특성 정 보는 생성하지 못하는 한계가 있다. 이후 simulation-based 유형의 Gibbs sampling, Hidden Markov Chain, Bayesian network와 같은 모델을 통해 한계점을 극복했고 다양한 생성모델 기반의 연구가 활발히 수행되었다 (Farooq et al., 2013;Saadi et al., 2016;Sun et al., 2018). 최근 심층 생성모델 기반을 통해 대규모 인구정보 생 성 시에 확장성을 보장하면서 샘플 데이터에서 데이터를 추출하는 대신 관측되지 않은 데이터까지 생성할 수 있도록 발전하였다(Borysov et al., 2019). 이 중 GAN은 두 개의 신경망의 상호 경쟁적 방식으로 암묵적 (implicit density) 밀도를 학습하여 주어진 데이터 자체의 분포를 모방한다. 특히 해당 모델을 다양한 분야에 활용하기 위해 발전을 거듭하면서 정형 데이터 생성 문제가 GAN 모델을 통해 열 속성정보 간의 상관관계를 잘 파악하고 대규모 데이터 생성 문제에서 높은 품질의 데이터를 생성이 가능한 것으로 나타났다(Xu and Veeramachaneni, 2018). 그러나 생성된 데이터가 샘플 데이터에 존재하지 않을 경우, 비교할 수 있는 실제 인 구 특성 정보가 존재하지 않기 때문에 적합한 데이터인지 확인할 수 없는 문제가 존재하였다. 이를 위해 실 제 인구 데이터와 샘플 데이터의 분포 영역에서 생성된 데이터의 분포 거리가 샘플 데이터와 유사하다면 실 제 인구 데이터에도 존재할 수 있다는 가정하에 거리를 정량적으로 측정하기 위한 지표가 제안되었다(Kim and Bansal, 2023). 이에 따라 심층 생성모델의 학습 과정에서 개발된 새로운 손실함수를 통해 생성된 데이터 의 정확도와 다양성 측면에서 최적의 균형을 이루는 학습방안이 제시되었다. 지금까지의 합성인구 생성과정 은 실제의 인구 특성 정보를 생성하는 것에 집중되었지만, 이후 다양한 분석에 사용되기 위해 인구 특성 정 보에 가중치를 부여하고 미래 정보 특성에 반영하기 위한 문제가 고려되지 못했다. 또한 심층 생성모델의 경 우 생성 매개변수에 대한 임의적 조작이 불가능하므로 생성과정에서 반영될 수 있는 추가적인 기법이 개발 되어야 한다. 따라서 본 연구에서는 조건을 추가하여 임의의 생성정보를 입력하여 맞춤형 데이터를 생성하 는 방안을 제시한다.
Ⅲ. 방법론
1. 합성인구 생성모델 프레임워크
심층 생성모델은 주어진 학습 데이터의 결합확률분포(joint probability distribution)를 학습하는 것을 목표로 한다. 본 연구에서는 GAN을 활용하여 합성인구 생성모델을 구축하고자 한다. 이때 모델 학습 과정은 Min-Max 알고리즘 형식으로 수렴하며, 판별자 D 는 진짜 데이터와 생성된 데이터의 구분을 최대화하기 위해 학습하고, 생성자 G는 판별자가 생성된 데이터를 진짜 데이터로 분류하도록 속이는 방향으로 학습하는 과 정으로 수행된다. 즉, 판별자는 실제와 생성된 데이터의 분류 정확도를 최대화하도록 학습하고, 생성자는 생 성된 데이터가 실제 데이터와 구별되지 않도록 데이터의 품질을 향상하도록 학습한다. 생성자는 인구 특성 정보별로 고유한 범주형 값의 범위에 따라 Softmax 결과를 도출하여 생성되어야 할 범주형 값의 확률을 도 출한다. 이때 분포 사이의 거리 측정 시에 KL(Kullback-Leibeler) Divergence를 사용하면, 생성된 데이터와 학 습 데이터의 분포에 유사성이 없을 때는 의미 있는 gradient를 생성하지 못하기 때문에 학습 과정에 큰 불안 정성이 존재한다. 이전 연구에서 제시한 바와 같이 이런 문제를 해결하기 위해 학습 과정의 안정성을 보장할 수 있는 견고한 모델이 제시되었고 Wasserstein distance와 gradient penalty 기반으로 학습을 수행하는 개선된 WGAN(Wasserstein Generative Adversarial Networks) 모델이 채택되어 합성인구 생성에 적용되었다(Goodfellow et al., 2014;Gulrajani et al., 2017). 해당 과정은 식 (1)부터 식 (4)까지 표현된 바와 같이 판별자와 생성자의 손실함수를 정의하였고 전반적인 모델 학습구조는 <Fig. 1>과 같이 제시하였다.
Where,
-
m : The size of the mini-batch from the training dataset
-
z : The random noise from gaussian distribution
-
: The weighted average data of the generated data and real data Xi
앞서 기술한 바와 같이 직접적으로 생성해야 할 속성 조합을 학습 과정에서 직접적으로 제약조건으로 적 용하면 과적합의 위험성과 다양성을 고려하지 못하고 반복된 속성 조합만을 생성하는 mode collapse 현상이 발생할 가능성이 크다. 본 연구에서 제시하는 조건부 기반의 데이터 생성을 유도하기 위해 조건부 벡터를 먼 저 생성한 뒤 학습할 배치(batch) 데이터를 추출하는 과정을 통해 생성된 조건이 학습하는 데이터의 인구 특 성 정보를 일치시킨다. 이때 조건부 생성을 위해 모든 고유 인구 특성 정보(i.e. 나이, 성별, 직업 등)를 탐색 하고 균등한 확률로 하나의 인구 특성 정보를 선택한다. 이후 조건을 부여할 범주형 값은 학습 데이터의 주 변확률분포를 도출한 확률값을 기반으로 선택되어 조건 벡터로 변형한다. 마지막으로 학습 데이터의 인구 특성 정보 위치와 매칭될 수 있도록 일관성을 부여하기 위해 선별되지 않은 나머지 특성 정보는 마스킹 처 리하여 one-hot 인코딩 형식의 조건 벡터가 생성된다. 이때 nth 고유 범주형들이 와 같이 표현될 때, 각 i번째 열에서 선택된 데이터값은 로 표현될 수 있다. 이후 최종적으로 생성되는 조건 벡터 Cmask 는 의 형식으로 식(5)의 조건에 따라 에서 선택된 범주형 값을 제외하고 0을 가지도록 생성된다. 이후 생성된 조건 벡터와 일치하는 mini-batch 데이터를 추출하여 학습 데이터를 만든 뒤 WGAN 모델을 학습한다. 이런 과정을 통해 생성된 조건 벡터는 사전확률인 가우시안(gaussian) 분포를 통한 임의의 추출된 벡터 Z와 결합하여 생성자의 입력으로 활용되고, 조건에 따른 올바른 데이터가 생성되었는지 판별하기 위해 판별자의 실제 데이터(real sample)와 생성된 데이터(Fake sample)에 결합하여 진위를 판단한 다. 이때 Generator는 추가로 입력받은 조건을 충실히 생성했는지 판별하기 위해 식(6)과 같이 Scoring 함수로 구현된 LS를 통해 조건과 동일한 인구 특성 정보를 생성하지 못했을 때 penalty를 부여하도록 설계되었다.
합성인구의 성능평가는 일반적으로 인구 특성 조합에 대해 인구 특성별 총 인구정보인 주변확률분포와 결합확률분포 두 가지를 측정한다. 전자는 선행연구에서 활용된 SRMSE(Standardized Root Mean Squared Error)를 활용하여 측정되며, 실제 인구정보와 합성 인구정보의 속성별 빈도수를 계산하여 실제 인구 데이터 와의 차이를 나타낼 수 있다(Borysov et al., 2019). 두 값 모두 낮을수록 실제 데이터와 총 속성정보에 대해 유사하다는 의미로 해석될 수 있다. 이는 대상지 내에 총집계된 속성정보의 셈을 나타낼 수 있지만, 해당 평 가지표에만 적합도를 평가하면, 생성된 인구정보가 실제 인구에 존재하는 속성 조합인지 판단할 수 없다. 따 라서 생성된 합성인구 데이터는 실제 인구 데이터와 비교하여 정확성과 다양성 측면에서 평가된다. 일반적 으로는 주변 확률 분포를 사용한 검증 방식이 사용되는데, 이는 범주형 데이터의 고유 인구 특성 정보의 총 합을 계산한 뒤 독립적으로 판단하기 때문에, 데이터의 인구 속성 조합이 실제로 존재하는지에 관한 판단이 불가능하다. 따라서 식(7)과 식(8)과 같이 정밀도(precision)와 재현율(recall)을 도입하여 생성된 데이터의 고유 인구 속성 조합이 실제 인구에 존재하는지 판별한다. 이후 식 (9)에 따라 정밀도와 재현율 모두를 고려한 F1 Score를 계산하여 생성모델의 성능을 종합적으로 평가하였다.
Where, M : The total number of the real population and generated sample
2. 학습 데이터셋 구축 과정 및 실험적 가정
앞서 설명한 바와 같이 모집단 인구 데이터는 수집이 불가능하므로 본 연구에서는 생성된 합성인구와 실 제 인구의 비교를 위해 몇 가지 실험적 가정을 설정한다. 총인구 데이터 수집을 위해 1)국가교통DB에서 2016 년도 전국단위로 수집한 가구통행실태조사를 기반으로 인구정보를 추출하였다. 이에 따라 해당 정보를 대상 지의 총 실제 인구를 대변하는 모집단으로 가정하였다. 현실에서는 1~2%의 표본 데이터가 수집되기 때문에 총 가구통행실태조사 데이터에서 임의로 2% 표본 데이터를 수집하여 실제 환경에서 수집된 샘플 데이터로 가정하여 학습 데이터로 활용하였다. 또한 기존에 수행된 연구에서 제시된 바와 같이 유효 샘플 데이터의 개 수가 증가할수록 생성모델이 실제 분포를 재현하는데 좋은 성능을 보였고 대략 10,000개의 샘플이 활용되었 을 때 최적임을 제시했다(Aemmer and MacKenzie, 2022). 그러나 필요 이상으로 주어진 표본 데이터는 과적합 (overfitting) 가능성 또한 증가하기 때문에 적절한 균형이 필요함을 시사했고, 본 연구에서의 표본 데이터 선 정 기준은 최적 샘플 개수를 참고하여 실험적 가정을 이와 유사한 2%(10,458개)의 표본추출률로 설정하였다. 수집된 총 가구통행실태조사 데이터의 인구 특성 정보 구성은 <Table 1>과 같다. 이에 따라 총 11개의 고유 인구 특성 정보와 총 523,652개의 실제 인구 데이터를 기반으로 연구를 수행했다.
Table 1
Attributes | Category | Percentage (%) | Categoty | Percentage (%) |
---|---|---|---|---|
Household size | 1 (1) | 9.89 | 4 (4) | 25.80 |
Household size | 2 (2) | 29.74 | 5 (5) | 5.26 |
Household size | 3 (3) | 28.76 | 6 (6) | 0.55 |
Household type | Apartment (1) | 53.01 | Single house (4) | 29.51 |
Household type | Villa (2) | 9.85 | Dual purpose house (5) | 0.72 |
Household type | multi-household (3) | 6.44 | Others (6) | 0.46 |
Household car owner | Yes (1) | 77.07 | No (2) | 22.93 |
Household income | < 1 million KRW (1) | 11.83 | 3 - 5 million KRW (4) | 34.40 |
Household income | 1 - 2 million KRW (2) | 14.23 | 5 - 10 million KRW (5) | 16.37 |
Household income | 2 - 3 million KRW (3) | 20.69 | > 10 million KRW (6) | 2.49 |
Age | [0,10) (1) | 3.61 | [50,55) (10) | 8.02 |
Age | [10,15) (2) | 4.44 | [55,60) (11) | 8.91 |
Age | [15,20) (3) | 5.39 | [60,65) (12) | 7.26 |
Age | [20,25) (4) | 4.56 | [65,70) (13) | 6.25 |
Age | [25,30) (5) | 5.42 | [70,75) (14) | 5.36 |
Age | [30,35) (6) | 7.06 | [75,80) (15) | 4.99 |
Age | [35,40) (7) | 8.27 | [80,85) (16) | 3.12 |
Age | [40,45) (8) | 7.42 | [85 (17) | 1.68 |
Age | [45,50) (9) | 8.25 | - | - |
Driver’s License | Yes (1) | 56.11 | No (2) | 43.89 |
Working types | Profession (Experts) (1) | 2.99 | Laborers (6) | 8.73 |
Working types | Service (2) | 8.35 | Housewife (7) | 18.64 |
Working types | Sales (3) | 8.58 | Non-workers, Students (8) | 29.85 |
Working types | Office worker (4) | 14.63 | Others (9) | 1.88 |
Working types | Agriculture / fisheries (5) | 6.37 | - | - |
Student types | Pre-school (1) | 0.91 | Univ./ Graduate school (4) | 3.76 |
Student types | Elementary school (2) | 5.36 | None (5) | 83.65 |
Student types | Middle / High school (3) | 6.32 | - | - |
Gender | Male (1) | 47.57 | Female (2) | 52.43 |
Major travel mode | Private car (5) | 31.37 | Bicycle (2) | 1.54 |
Major travel mode | Walk (6) | 29.17 | None (1) | 13.82 |
Major travel mode | Public Transport (5) | 22.48 | Others (3) | 1.62 |
Major travel purpose | Walk (8) | 44.69 | Home (2) | 4.48 |
Major travel purpose | Leisure (5) | 17.35 | University (7) | 2.94 |
Major travel purpose | School (6) | 9.94 | Private education (1) | 1.51 |
Major travel purpose | Shopping (4) | 5.28 | None (3) | 13.82 |
3. 실험 환경 설정
본 연구의 모든 실험은 Tensorflow2)로 구현되었으며 아래의 주요 사양을 가진 딥러닝 전용 워크스테이션 장비(CPU: Intel® Xeon® Platinum 8260 2.4GHz, 3.9GHz Turbo, 24C, 10.4GT/s 3UPI / GPU: 3EA x NVIDIA Quadro GV100)를 기반으로 수행되었다. 판별자D 의 신경망 구조는 층마다 256개의 노드로 구성된 Fully connected layer와 LeakyReLU 활성화 함수 출력값을 가진 3개의 층으로 구성되어 있다. 생성자G도 판별자와 동일한 네트워크 구조로 설계되어있으나, 각 층의 출력에 Batch Normalization을 적용하였고 ReLU 활성화 함 수를 사용한다. 또한 최종 출력값은 Fully connected layer와 범주형 속성값의 범위(i.e. 성별: 2, 학생: 5 등)에 따라 Softmax 활성화 함수가 적용된 확률값을 출력한다. 심층 생성모델 학습을 위한 매개변수로는 256의 배 치(batch) 크기와 0.0002의 학습률(learning rate)이 적용된 Adam optimizer를 사용하여 최적화하였다. 추가로 설 계된 실험 재현성을 높이기 위한 임의 시드값은 7로 설정하였다. 조건부에 따른 합성인구 생성이 통계적으 로 유의미한 결과를 도출하는지 확인하기 위해 가구별 총가구원 수에 따른 경우, 주요 통행수단이 자차와 대 중교통인 경우, 그리고 마지막으로 인구 특성 정보가 학생인 경우에 대해 생성데이터를 검증하였다. 이는 고 유 인구 특성 정보를 충실하게 생성하는지에 대한 검증을 위해 설계된 시나리오와 맞춤형 인구 특성의 분포 를 반영하여 특정 인구구조 상황에 따라 유연하게 데이터를 생성할 수 있는지에 대한 검증을 위해 시나리오 로 분류하여 실험을 수행했다. 첫 번째의 경우 중학생 특성 정보를 조건부로 입력하여 실제 인구정보와의 차 이를 비교하였다. 이는 조건에 따른 데이터 생성이 이루어지는지 검증을 수행함과 동시에 운전면허 보유 여 부와 같이 불가능한 인구 조합을 생성하는지 실험적으로 확인하기 위한 시나리오로 구성하였다. 즉, 학생의 직업을 가진 인구구조는 다른 인구 특성에 비해 0세~20세의 나이대와 운전면허보유자가 없고 보행이나 대중 교통을 이용하는 통행행태를 보일 것으로 예상하였고, 해당 특성이 반영되었는지 실험하였다. 두 번째는 가 구의 총가구원 수가 2인 경우 일반적으로 자녀가 없는 가구주와 배우자의 구성이며, 4명인 경우 자녀가 있는 가구 구성 요소를 지니므로, 이에 따라 나이, 직업, 운전면허 보유 정보에서 차이가 존재하는 인구를 생성하 는지 판단하였다. 세 번째의 경우 가장 많은 범위의 범주형 값을 지닌 나이 특성 정보를 선택하여 맞춤형 데 이터 생성이 올바르게 이루어지는지 실험을 수행했다. 이를 위해 2023년도 5세 단위로 집계된 총인구수를 <Table 1>에 따른 범주형값 범위에 맞도록 반영한 뒤 주변확률분포를 추출하여 조건부 데이터를 생성하였 다. 이후 생성된 데이터가 입력된 나이 분포에 맞도록 생성되었는지 확인하고 유의미한 인구 속성조합을 생 성했는지 판단하였다. 시나리오별로 생성해야 할 샘플의 개수는 조건부 입력에 대한 실제 인구 데이터와 일 정하도록 추출하여 적용하였고, 이는 현실에서 맞춤형 데이터를 생성할 때 통계청 혹은 지자체의 통계정보 에서 대상지 내의 총인구 정보를 기반으로 취득할 수 있는 정보이므로 참값으로 가정하였다.
Ⅳ. 결과 및 고찰
이후 모든 조건에 대한 생성데이터는 앞서 설명한 주변확률분포와 결합확률분포에 대해 각각 SRMSE와 F1 Score 값으로 성능을 측정하였고 <Table 2>에 주요 결과에 대해 굵게 표시하였다. 최적의 가중치를 기반 으로 최적의 샘플 인구정보를 추출하는 기법들은 prototypical agent로 분류된다. 실제 교통수요 분석을 위해 가장 일반적으로 적용되는 기법이지만, 앞서 설명한 바와 같이 주어진 샘플 데이터 외에 수집되지 않은 새로 운 인구 조합을 생성하지 못한다. 이에 따라 본 연구에서 제안한 심층 생성모델과의 비교를 위해 Baseline 방 법론으로 채택하여 비교분석을 수행하였다. Baseline 기법의 생성데이터는 실제 인구 내에서 일부 추출한 것 이므로, 생성된 모든 속성조합이 실제 인구 데이터에 담겨 있다. 그러나 샘플의 다양성 대변하지 못하므로 Precision은 1의 값을 보이고 Recall은 매우 낮은 값을 보인다. WGAN 모델을 기반으로 생성된 합성인구는 주 어진 샘플의 결합분포확률을 모사하는 것으로, 학습된 분포를 기반으로 인구정보를 생성하여 실제와 유사한 인구정보를 생성할 수 있다. Baseline 대비 현저히 높은 Precision과 Recall 값이 도출되어 실제 인구 조합에 존재하는 정확성과 다양성이 균형 있게 생성되었고 0.816 값의 F1 Score를 나타내었다. 본 연구에서 제안된 Conditional WGAN의 경우 조건부 데이터를 먼저 생성한 뒤 해당 데이터와 일치하는 학습 데이터를 배치 단 위로 불러와 주어진 조건에 충실한 데이터를 생성하도록 설계되었다. 주어진 샘플 데이터의 최대한 다양한 인구정보에 대한 결합분포 확률을 학습하는 것을 목표로 학습을 수행했으며, 결과적으로 WGAN 보다 높은 Recall 값을 도출하였다. 그러나 조건부 데이터에 제약된 샘플을 생성하므로 WGAN 보다 상대적으로 낮은 Precision값을 나타냈다. WGAN 대비 종합적인 F1 Score는 낮으나, 분석가의 분석 시점 혹은 목적에 따라 맞 춤형 데이터를 생성할 수 없으므로 다양한 상황에 대해 유현하게 데이터를 생성하지 못하는 단점이 존재한 다. 두 심층 생성모델은 <Fig. 2>와 같이 고유 인구 속성별 총생성 데이터 개수를 시각화하였다. 이때 주변 분포확률 측면에서는 현저히 낮은 값을 보이고 총인구 속성조합의 개수는 누락된 속성조합 없이 실제 인구 와 유사하도록 생성되었다.
Table 2
Metric | Prototypical | WGAN | Conditional WGAN | Scenario 1 | Scenario 2 | Scenario 3 |
---|---|---|---|---|---|---|
Marginals: JSD | 0.008 | 0.011 | 0.013 | 0.059 | 0.032 | 0.026 |
Marginals: SRMSE | 0.026 | 0.032 | 0.034 | 0.144 | 0.093 | 0.067 |
Precision | 1 | 0.810 | 0.768 | 0.925 | 0.787 | 0.774 |
Recall | 0.403 | 0.823 | 0.827 | 0.874 | 0.829 | 0.787 |
F1 Score | 0.574 | 0.816 | 0.796 | 0.899 | 0.807 | 0.780 |
Generated combination numb. | 7,722 | 125,205 | 145,286 | 2,652 | 67,203 | 125,944 |
True combination numb. | 116,969 | 116,969 | 116,969 | 2,786 | 57,098 | 116,969 |
앞서 설정한 실험환경에 따라 Conditional WGAN을 기반으로 시나리오별로 생성데이터의 성능을 평가한 결과는 <Table 2>와 같다. 우선 시나리오1의 인구 샘플은 총 28,055개로 수집된 전체 인구수 대비 약 5%로 매우 희귀한 인구 특성 정보이다. 그에 따른 Precision 값은 0.925로 매우 충실히 정확한 인구 속성조합을 생 성하였고, 다양성 또한 0.874 값의 Recall로 샘플 데이터에 수집되지 않은 실제 인구의 다양한 속성조합을 생 성했으며, 특성 정보별 총생성개수는 <Fig. 3>과 같다. 또한 총인구 특성 정보를 판단한 결과 운전면허증을 보유하지 않고 나이대는 0~10세, 그리고 10~15세로 구성된 인구로 구성되었으며 직업의 종류는 학생, 주요 교통수단은 대중교통, 주요 통행목적은 학업, 마지막으로 조건부 입력값에 따른 중학생 정보를 충실히 생성 하였다. 시나리오 2의 경우 가구원 수 2명과 가구원 수 4명을 조건으로 각각 155,736명, 135,088명으로 생성 되었고 F1 Score 0.807 값의 정확도와 다양성으로 데이터가 생성되었으며, 특성 정보별 총생성개수는 <Fig. 4>에 각각 비교되었다. 생성데이터 비교 결과 가장 두드러지는 특징은 나이 정보이며, 4인 가구에서 자녀의 비율이 늘어나면서 0~20세의 인구 분포가 증가하였고, 학생 특징정보도 함께 증가하였다. 주요 통행수단 또 한 2인 가구 대비 대중교통 비율이 증가하였고, 가구소득 및 통행목적의 분포에도 뚜렷한 변화가 있었다.
마지막으로 시나리오 3의 경우는 총인구수인 523,652개의 인구정보를 생성하였고 실제 인구정보와 다른 임의의 분포를 입력하여 생성하므로 F1 Score가 감소하였지만, 임의로 입력한 분포에 대해 충실히 데이터를 생성하였고 그에 따른 나머지 인구 특징정보도 통계적으로 유사한 특성 정보를 보존하며 인구정보가 생성되 었다. <Fig. 5>에서 전반적인 인구 속성별 총생성데이터를 시각화하였고, 특히 나이 인구정보는 실제 인구정 보가 아닌 조건부 데이터를 생성하기 위한 임의의 나이 분포를 실측값을 참값으로 하여 생성된 데이터의 나 이 정보와 비교하였다. 마지막으로 앞서 제시한 세 가지 시나리오 모두 실제 데이터와 생성된 데이터의 고유 속성조합의 개수가 유사하도록 생성되었고 높은 F1 score를 도출하여, 통계적으로 유의미한 합성인구가 생성 되었음을 시사한다.
위에서 설명된 학습 데이터셋을 기반으로 500번 반복 학습을 수행했을 때, 소요된 학습 시간은 Vanilla 모 델의 경우 약 13분이지만, 조건부 모델의 경우 조건부를 추출하는 과정을 추가로 수행함에 따라 약 51분이 더 소요되었다. 추후 연구에서 조건부 벡터를 생성하는 학습 과정을 효율화하는 것이 필요할 수 있으나, 분 석 대상지의 가구통행실태조사와 같은 설문조사 데이터가 갱신되어 주어진 학습 데이터가 변경되지 않는 이 상 모델을 반복적으로 재학습하는 과정이 요구되지 않으므로 여전히 실용성이 높다. 또한 인구정보가 변경 되는 사항을 유연하게 조건부 입력을 통해 반영할 수 있으므로 제안된 모델이 실제 분석 환경에서 적용이 용이할 것으로 예상된다. 예를 들어 대상지의 미래인구 변화를 반영하기 위해 노년 인구 비율을 높여 합성인 구를 생성한 뒤 통행행태를 분석할 수 있다. 이 외에도 1인 가구 비율이 증가하는 사회현상과 MaaS(Mobility As a Service) 정책을 통해 변화하는 대중교통 이용률을 반영하기 위한 주요 교통수단 선호 비율을 높이는 등의 조건부를 임의로 부여하여 교통수요 변화를 파악할 수 있다. 지속해서 발전하고 있는 확산(diffusion) 모 델과 잘 정립된 VAE와 같은 추가적인 딥러닝 아키텍처를 비교하여, 실용성과 정확도 측면에서의 성능을 평 가하는 비교연구가 필요하다고 판단된다. 또한 본 연구에서 제안된 조건부 벡터 생성방식은 한 번에 하나의 인구 특성 정보만을 고려할 수 있으므로, 다양한 속성조합을 동시에 고려할 수 있는 보다 효율적인 방법론을 개발함으로써 실용성을 향상할 수 있는 보완 연구가 수행될 것으로 기대된다.
Ⅴ. 결 론
본 논문에서는 조건부 적대적 생성모델을 활용한 합성인구 생성기법을 제안하였다. 교통수요 기법 중 활 동기반 모형(Activity Based Model) 분석에 활용되는 기초데이터는 심층 생성모델을 통해 현실과 유사한 인구 데이터를 취득할 수 있다. 하지만 교통수요 예측은 분석 목적 및 상황을 반영할 수 있어야 하고, 활동기반 모형이 발전함에 따라 기초데이터를 유연하게 생성할 수 있는 맞춤형 합성인구 생성기법이 요구된다. 이를 위해 고유 인구 특성 정보의 조건부에 따라 학습 데이터를 다양하게 추출한 뒤 학습하는 모델인 Conditional WGAN을 개발하였고, 해당 모델을 통해 특정 조건에 따른 데이터 생성에 충실할 뿐만 아니라 분석 대상지 의 인구 특성 분포 또한 반영된 합성인구를 생성할 수 있다. 효과성을 입증하기 위해 우선 vanilla WGAN과 Conditional WGAN의 성능을 비교하였고, 본 연구에서 설계된 실험에 따라 총 세 가지 시나리오별 조건부를 입력한 합성인구를 생성하여 모든 실험에서 F1 Score 값 0.780 이상의 유의미한 결과를 도출했다. 첫 번째와 두 번째 실험에서 특정 인구 특성 정보에 충실히 생성할 때 주변 인구 특성 정보 또한 실제와 유사한 합성 인구를 생성하였고, 불가능한 속성조합 또한 현저히 적은 수준으로 생성하는 것으로 나타났다. 두 번째 임의 의 나이 특성의 분포 조건 입력에 따른 데이터 생성 결과 조건부 분포와 일치한 합성인구가 생성되었으며, 나이를 제외한 모든 인구 특성 정보 또한 실제 인구의 통계적 특징과 유사하게 생성되었다. 본 연구를 통해 생성된 합성인구는 활동기반 모형의 분석 범위가 넓어짐에 따라 분석 대상지별 및 시점별로 유연하게 적용 할 수 있을 것으로 예상된다. 또한 해당 모델을 기반으로 조건부 적용 시에 학습 데이터의 분포를 기반으로 조건부를 생성하는 것이 아닌, 인구 특성별 실제값을 알고 적용한다면, 정확도와 다양성 또한 향상시킬 수 있을 것으로 기대된다. 추후 연구발전 방향은 두 가지 이상의 인구 특성 분포를 동시에 고려하기 위한 다중 인구 특성 조건부를 적용한 추가 연구를 통해 맞춤형 합성인구 생성 범용성의 확대와 대규모 인구 데이터 생성 시의 모델 성능 개선이 필요할 것으로 예상된다.