Model performance in 5G coverage prediction is primarily determined by the alignment between data characteristics, feature design, and model inductive bias, rather than by model complexity alone.
Using real-world 5G NR drive-test data with physics-informed numerical features, this study demonstrates that Random Forest can achieve SOTA performance, outperforming more complex models such as XGBoost and deep neural networks.
The results highlight the continued importance of domain-informed feature engineering and show that deep learning becomes advantageous only when the data representation and scale justify its use.
Coverage prediction in 5G networks is a core component of network planning, optimization, and resource allocation.
Conventional propagation and path loss models are limited in their ability to accurately capture the complexity of dense urban environments and the unique characteristics of 5G systems.
Machine Learning and Deep Learning have emerged as promising alternatives, as they can model complex non-linear relationships across multiple parameters.
However, prior studies typically suffer from several limitations:
Most focus on 4G networks or rely on a limited set of input features.
Comparisons across a wide range of algorithms are often insufficient.
Systematic analyses of feature importance are largely lacking.
The objectives of this study are to:
Conduct a comprehensive comparison of multiple ML and DL algorithms using a unified dataset.
Identify dominant feature parameters that significantly influence 5G coverage prediction.
Demonstrate performance improvements over previously reported methods.
현대자동차에 합류하기 전, 인사팀에서는 진급이 거의 확정적인 것처럼 이야기했었다. 하지만 막상 들어와 보니 실상은 많이 달랐다. 나름 열심히 했다고 생각했지만, 작년 첫 고과에서 나는 1월 입사자라는 이유로 평가 대상에서 제외되었고 그 때문에 리스트에도 오르지 못한 것이 아닐까 싶다.
규칙이라면 따라야겠지만, 인사와 내부 사정이 다른 것에 실망스러웠다. 비슷한 연차의 동료들 역시 각자 나름의 불만을 안고 출발했던 것 같다. 바꿀 수 없는 것보다는 바꿀 수 있는 것에 집중하자는 생각으로, 나는 다른 일들에 더 많은 시간을 쓰게 되었다.
1분기는 목표가 사라진 채로 거의 의욕 없이 흘려보냈다. 그 전까지는 대학원 시험을 잘 치르는 것이 가장 큰 목표였는데, 결과 발표가 계속 미뤄지면서 마음이 더 힘들어졌다.
여러 번 연기되었던 결과는 4월 초에야 나왔고, 낙방이었다. GPA인지, 시험 결과인지, SOP인지, 영어 성적인지 무엇이 부족했는지 궁금해 문의했지만 구체적인 답을 듣지는 못했다. 대신 아래와 같은 답변을 받을 수 있었다.
We regret to inform you that your application in this admission cycle was not successful. Please understand that admission into the Master of Science in Machine Learning is very competitive and takes into account a large number of criteria. Due to restrictions on the number of places, we unfortunately have to decline a large number of strong applications.
Although this final decision may be disappointing, we are confident that, given your credentials, many other opportunities will open up for you.
"Strong applications"라는 표현에 그나마 위안을 얻었던 것 같다. 하지만 다시 같은 꿈을 꾸기에는 아이엘츠 성적 만료가 코앞이었고, 재도전은 현실적으로 어려워 보였다. 한정된 시간 안에서 무엇을 해야 할지 고민하던 중, 예전부터 와이프가 추천해주던 박람회가 떠올랐다.
코엑스에서 주기적으로 열리는 유학·해외취업·이민 박람회를 알게 되었고, 별다른 기대 없이 무작정 찾아갔다. 영국 석사는 1.5년 코스였지만, 아이엘츠의 영국 전용 버전이 신설되면서 기존 성적을 사용할 수 없었다. 그 대안으로 호주가 눈에 들어왔다. 아랍에미리트의 다른 대학원도 가능성은 있었지만, 예전부터 시드니에서 살아보고 싶다고 말하던 와이프의 영향으로 호주 대학원을 목표로 삼게 되었다.
박람회에서 만난 유학원은 생각보다 체계적이지 않았고, 진행 과정도 만족스럽지는 않았다. 그럼에도 불구하고 인공지능으로 급변하는 소프트웨어 엔지니어 정의와 미래를 대비해야 한다는 생각, 그리고 물리 AI 시대가 오기 전에 관련 기업으로 이직하거나 연구로 방향을 틀어야 한다는 판단은 분명했다. 그렇게 인공지능 석사를 목표로 상담을 이어갔다. 아이엘츠 성적도 있었고, 자금도, 경력도, 의지도 갖추고 있었기에 과정은 비교적 빠르게 진행되었다. 그 무렵 퇴사 의사를 밝혔고, 멋진 동료들로부터 불확실한 앞길에 대한 따뜻한 덕담을 받을 수 있었다는 점이 참 감사했다.
집을 팔고, 가진 것들을 정리한 뒤, 캐리어 두 개만 들고 7월 13일 호주에 도착했다. 예상보다 훨씬 쌀쌀했던 호주의 겨울에 적응하는 일은 쉽지 않았다. 한국에서는 영어를 꽤 한다고 생각했지만, 내가 익숙했던 것은 정제된 영어였다는 걸 곧 깨달았다. 현지인들의 영어와 영어를 세컨드 랭기지로 사용하는 친구들의 영어는 완전히 달랐다.
게다가 한국어로도 아카데믹 레포트에 익숙하지 않은 상태에서, 짧은 시간 안에 영어 레퍼런스를 포함한 IMRD 포맷의 리포트를 작성하는 일은 정말 버거웠다.
"이만큼 돈을 쓰는데 석사 학위쯤은 그냥 살 수 있는 거 아니야?"라고 생각했던 과거의 내가 부끄러워졌다. ChatGPT조차 없던 시절에 해외 석박을 마친 선배님들이 새삼 대단하게 느껴졌다. 몇몇 뛰어난 20대 글로벌 인재들을 보며, 그들의 10년 뒤 모습이 궁금해지기도 했다.
수업과 과제, 시험에 적응해 가는 시간 속에서, 와이프가 잠깐씩 지구 반대편으로 와줄 때마다 마음의 여유를 얻을 수 있었다. 그렇게 New South Wales 주에서의 혼인신고까지 마무리하며, 1학기를 High Distinction으로 잘 끝낼 수 있었다. 마지막 달에는 멋진 슈퍼바이저 밑에서 재미있는 연구를 같이할 기회도 얻었다. 시간이 날 때마다 해보고 싶었던 코드 템플릿화와 프롬프트화 역시 그 마지막 달에 시도해볼 수 있었다.
OPENQASM2.0;// 언어 버전 선언 qreg q[1];// 큐비트 레지스터 q를 선언 (큐비트 1개, 초기 상태 |0⟩) creg c[1];// 고전 비트 레지스터 c를 선언 (측정 결과 저장용) h q[0];// Hadamard 게이트 적용: |0⟩ → (|0⟩ + |1⟩) / √2 measure q[0]-> c[0];// q[0]을 측정하고 결과(0 또는 1)를 c[0]에 저장
OPENQASM2.0; qreg q[10];// ∣0000000000⟩ creg c[10]; // x 게이트를 사용하여 처음 세 큐비트를 ∣1⟩ 상태로 변경 x q[0]; ∣1000000000⟩ x q[1]; ∣1100000000⟩ x q[2]; ∣1110000000⟩ measure q[0]-> c[0];// 1 measure q[1]-> c[1];// 1 measure q[2]-> c[2];// 1
AI 시대에 개발자는 어떻게 살아남아야 할까? LLM의 코드 퀄리티는 이미 나보다 탁월하고, 더 빠른 속도로 코드를 찍어낸다. 이런 상황에서 나는 무엇을 해야 할까? 5년 안에 대부분의 개발자가 대체될 것이라는 두려움 속에서, 나는 지금 무엇을 배워야 할까?
ChatGPT 이후의 모델들을 사용하며 느낀 점은, 결국 내가 문제를 어떻게 분해하고, 어떤 데이터를 먹이로 주느냐(feed)가 결과물의 퀄리티를 결정한다는 것이다. 예를 들면, 시니어 개발자가 AI를 활용해 더 뛰어난 아웃풋을 낼 수 있는 이유는 좋은 코드와 아키텍처를 수없이 봐왔고, 개념을 피부로 느껴왔으며, 협업과 실무 경험을 통해 축적된 노하우가 있기 때문이다. 즉, 모델에 입력할 수 있는 키워드와 컨텍스트의 크기가 다르다는 뜻이다.
어디서 좋은 코드와 아키텍처를 배울 수 있을까? 소프트웨어 엔지니어링의 정수는 오픈소스에 있기에, 그곳에서 답을 찾을 수 있을 것이다.
나는 매주 Github 인기 레파지토리를 30분씩 훑어보는(Skim reading) 루틴을 가지고 있다. 관심 가는 프로젝트는 스타를 눌러 북마크 해두고, 폴더 구조와 사용된 패키지, 그리고 그 구현체를 뜯어본다. 해당 소스에서 참신함이 느껴진다면, 포크해서 LLM을 통해 개괄하고, 핵심 기능을 찾아 바닥부터 직접 만들어 보기도 한다.
나보다 더 많은 시간을 쏟고, 해당 문제에 대해 더 깊이 고민했을 오픈소스 컨트리뷰터들의 방법론을 내 것으로 만드는 것. 그것이 AI-native 시대에 대체되지 않는 개발자가 되는 빠른 길 중 하나일 것이다.
그렇다면 AI 시대의 개발자의 역할은 한마디로 무엇일까? 나는 생성적 적대 신경망(GAN)에서의 Discriminator, 즉 판별자의 역할이라고 생각한다.
AI 모델이 쏟아내는 코드와 아키텍처가 논리적으로 맞는지, 효율적인지, 혹은 더 나은 방법은 없는지를 판단하는 능력. 그리고 그 판단에 맞춰 프롬프트를 조정하고, AI에게 피드백을 주어 결과물을 개선해 나가는 능력. 이것이 개발자가 가져야 할 핵심 역량이다.
가트너는 이러한 개발 방식을 AI-native Software Engineering이라고 정의한다 (Khandabattu & Tamersoy, 2025). 단순 코딩은 AI에게 위임하고, 개발자는 더 본질적인 과업(Meaningful tasks)에 집중해야 한다는 것이다. 기계적인 구현에서 벗어나 비판적 사고(Critical thinking), 인간 고유의 독창성(Ingenuity), 그리고 사용자를 향한 공감(Empathy) 같은 영역 말이다. 결국 우리가 판별자가 되어야 하는 이유는, 인간만이 할 수 있는 이 고유한 가치를 지키고 확장하기 위함이다.
다른 한편으론, 리누스 토발즈의 말처럼 지금의 AI 하이프(Hype)의 90%는 마케팅이고 10%만이 진짜일 것이다 (TFiR, 2024, 37:59). 그 10%를 가려내기 위해서는 이론을 더 깊게 파고들어야 한다. 그리고 나서 이론이 어떻게 엔지니어링을 통해 구현되는지를 경험해보면 판별할 수 있는 눈이 생길 것이다.
프레임워크나 라이브러리는 금방 변한다. 하지만 그 기저에 있는 개념들은 바뀌지 않는다. 왜냐하면 모든 프로그래밍은 결국 자료구조와 분할 정복으로 귀결되기 때문이다. AI는 단지 그 추상화된 레이어를 한 단계 더 높여줄 뿐이다.
다수는 AI 시대에 학위가 필요 없어질 것이라 말하지만, 나는 다르게 생각한다. 정말로 그 개념을 제대로 알고 있는지가 중요해지는 만큼, 학위나 자격증처럼 기초 지식을 증명하는 수단이 오히려 더 중요해질 것이다.
Core Concept:π0.5 is a model designed for broad generalization by utilizing co-training on heterogeneous tasks.
Method: It combines hybrid multi-modal examples including image observations, language commands, object detection, semantic subtask prediction, and low-level actions.
Impact: This knowledge transfer is essential for effective generalization, enabling the execution of long-horizon and dexterous manipulation skills in the wild.
Goal: Design training recipes that provide the breadth of knowledge required for robots to generalize at multiple levels of abstraction, from physical behaviors to scene semantics.
Unified Framework: By casting different modalities into a single sequence modeling framework, VLAs can be trained on diverse sources: robot data, language data, computer vision tasks, and combinations thereof.
Capabilities: The model can control mobile manipulators to perform varied household tasks even in homes never seen during training.
Hierarchical Architecture:
Training: Pre-trains on a heterogeneous mixture of tasks, then fine-tunes specifically for mobile manipulation using both low-level action examples and high-level semantic actions (e.g., predicting "pick up the cutting board").
Inference: At runtime, the model first predicts a semantic subtask (inferring appropriate next behavior based on scene semantics) and then predicts the robot action chunk based on this subtask.
Generalization:π0.5 successfully performs multi-stage tasks in real, unseen homes.
Scaling: Performance improves consistently as the number of training environments increases.
Ablation Studies:
Cross-Embodiment (CE/ME): Excluding data from other robots significantly degrades performance, indicating strong transfer learning.
Web Data (WD): While less critical for general task progress, it is essential for Out-of-Distribution (OOD) object generalization and language following.
Comparison: Significantly outperforms π0 and the π0-FAST+Flow baseline.
Current Status:π0.5 demonstrates that co-training with heterogeneous data enables end-to-end robotic systems to perform long-horizon, dexterous skills in open-world settings.
Limitations:
Struggles with physical constraints (hard-to-open cabinets) or partial observability.
Limited to relatively simple prompts based on training data.
Future Directions:
Incorporating richer context and memory for better handling of partial observability.
Expanding data sources, particularly exploring verbal instructions as a powerful new supervision modality.
Intelligence, P., Black, K., Brown, N., Darpinian, J., Dhabalia, K., Driess, D., Esmail, A., Equi, M., Finn, C., & Fusai, N. (2025). π0.5: a Vision-Language-Action Model with Open-World Generalization. arXiv preprint arXiv:2504.16054.
Modeling tabular data poses unique challenges for GANs, which existing statistical and deep neural network models fail to address properly:
Mixed Data Types: Tabular data contains a mix of discrete and continuous columns.
Non-Gaussian & Multimodal Distributions: Continuous columns often have multiple modes (peaks) and do not follow a simple Gaussian distribution.
Imbalanced Discrete Columns: Categorical columns are often heavily imbalanced (e.g., 90% 'Normal', 10% 'Fraud'), leading to mode collapse where minor categories are ignored.
To address these challenges, the authors propose CTGAN, which introduces Mode-specific Normalization, a Conditional Generator, and a Training-by-Sampling strategy.
Challenge: Representing continuous values with arbitrary, non-Gaussian distributions is non-trivial. Simple Min-Max normalization to [-1, 1] fails on multimodal data.
Solution: Treat each continuous column Ci independently using a Variational Gaussian Mixture Model (VGM).
Estimate the number of modes mi and fit a Gaussian mixture.
Represent each value as a concatenation of:
One-hot vector (β): Indicates which mode the value belongs to.
Scalar (α): Represents the normalized value within that mode.
B. Conditional Generator and Training-by-Sampling
Challenge: Random sampling during training neglects minor categories in imbalanced columns, causing the generator to fail in learning them.
Solution: Condition the generator to produce specific discrete values.
Conditional Vector: defined as cond=m1⊕...⊕mNd.
Example: For columns D1={1,2,3} and D2={1,2}, the condition (D2=1) is represented as mask vectors m1=[0,0,0] (ignored) and m2=[1,0] (selected).
Generator Loss: Penalize the generator if it fails to produce the requested condition. This is done by adding the cross-entropy between the input mask mi∗ and the generated output d^i∗ to the loss.
Training-by-Sampling (Curriculum):
Create zero-filled mask vectors.
Randomly select a discrete column Di.
Construct a PMF based on the log-frequency of values in that column (giving minor classes a higher chance).
Sample a value k∗ based on this PMF and set the mask bit to 1.
This ensures the model evenly explores all possible discrete values, not just the majority classes.
Performance: CTGAN outperforms all deep learning methods and surpasses Bayesian networks on 87.5% of datasets.
TVAE vs CTGAN: TVAE is highly competitive and outperforms CTGAN in several cases. However, CTGAN is preferred for privacy applications (easier to implement Differential Privacy) since the generator doesn't access real data during inference.
Key Contributions:
Mode-specific normalization solves the non-Gaussian/multimodal distribution issue.
Conditional Generator & Training-by-sampling effectively solve the imbalanced data issue.
Xu, L., Skoularidou, M., Cuesta-Infante, A., & Veeramachaneni, K. (2019). Modeling tabular data using conditional gan. Advances in neural information processing systems, 32.