Skip to main content

AI 시대의 개발자

· 3 min read

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 시대에 학위가 필요 없어질 것이라 말하지만, 나는 다르게 생각한다. 정말로 그 개념을 제대로 알고 있는지가 중요해지는 만큼, 학위나 자격증처럼 기초 지식을 증명하는 수단이 오히려 더 중요해질 것이다.

공학이 중요하다. 다른 모든 것은 그 개념의 implementation일 뿐이다.

Ref

π0.5 Review

· 5 min read

1. Abstract

  • Core Concept: π0.5\pi_{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.

2. Introduction

  • 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.

3. Model Structure

Pi 0.5 model architecture

Unified Transformer Architecture

  • The model corresponds to a transformer taking in NN multimodal input tokens x1:Nx_{1:N} (images, text, and actions) and producing multimodal outputs.
  • Input Processing: Different token types are processed by specific encoders (e.g., Vision Encoder for images, Embedding Matrix for text).
  • Output Split: The output is split into two streams:
    • Text Logits (y1:Mly^{l}_{1:M}): Used for QA, reasoning, and dividing the task (predicting subtasks l^\hat{l}).
    • Action Tokens (y1:Hay^{a}_{1:H}): Produced by a separate Action Expert to create continuous outputs for robot control.

Probabilistic Decomposition

The distribution captured by the model is decomposed using the chain rule and a conditional independence assumption:

πθ(at:t+H,l^ot,l)=πθ(at:t+Hot,l^)πθ(l^ot,l)\pi_{\theta}(a_{t:t+H}, \hat{l} | o_{t}, l) = \pi_{\theta}(a_{t:t+H} | o_{t}, \hat{l}) \cdot \pi_{\theta}(\hat{l} | o_{t}, l)
  • Assumption: The action distribution (at:t+Ha_{t:t+H}) does not depend on the overall task prompt (ll), but only on the predicted subtask (l^\hat{l}).
  • High-Level Inference: πθ(l^ot,l)\pi_{\theta}(\hat{l} | o_{t}, l) (Predicting "what to do next").
  • Low-Level Inference: πθ(at:t+Hot,l^)\pi_{\theta}(a_{t:t+H} | o_{t}, \hat{l}) (Predicting "how to move").

4. Combining Discrete & Continuous Actions

The model employs a hybrid approach to balance training efficiency with inference speed and quality.

  • The Dilemma:
    • Discrete Tokens (FAST): Fast training, but requires slow autoregressive decoding during inference.
    • Continuous (Flow Matching): High quality and smooth control, but computationally expensive to train from scratch on massive datasets.
  • The Solution: Train on discretized actions (FAST) but use Flow Matching for inference.
    • Attention Masking: Ensures discrete and continuous action representations do not attend to each other during joint training.

Hybrid Loss Function

The model minimizes a combined objective:

E[H(x,fθl)Cross Entropy+αωafθa2MSE for Flow]\mathbb{E} \left[ \underbrace{H(x, f^l_\theta)}_{\text{Cross Entropy}} + \alpha \underbrace{\| \omega - a - f^a_\theta \|^2}_{\text{MSE for Flow}} \right]
  • Cross Entropy: For text and discrete action tokens.
  • MSE: For the Flow Matching vector field (Action Expert).

5. Training Recipe

The training is split into two distinct stages based on the α\alpha parameter and the inclusion of the Action Expert.

Stage 1: Pre-training (α=0\alpha = 0)

  • Goal: Efficient large-scale learning.
  • Method: Action Expert is OFF. Trains as a standard auto-regressive transformer using next-token prediction for text and discrete FAST action tokens.
  • Datasets:
    • MM: Mobile Manipulator data (100+ homes).
    • ME: Multi-Environment non-mobile robots.
    • CE: Cross-Embodiment laboratory data (diverse tasks like folding).
    • HL: High-Level subtask prediction data.
    • WD: Multimodal Web Data (VQA, captioning).

Stage 2: Post-training (α=10.0\alpha = 10.0)

  • Goal: Specialization for mobile manipulation and enabling continuous control.
  • Method: Action Expert is ON.
    • Initialized with random weights.
    • Jointly trains next-token prediction (to preserve text capabilities) and Flow Matching for continuous actions.
  • Key Addition (Verbal Instructions - VI):
    • Data collected by "teleoperating" the robot using language commands (e.g., expert users selecting sub-tasks step-by-step).
    • Crucial for training the model to predict high-quality subtasks (l^\hat{l}).

6. Evaluation

Methodology

  • Settings: Tested in entirely new kitchens and bedrooms not seen during training.
  • Tasks: Long-horizon tasks like cleaning kitchens, putting laundry away, and making beds.
  • Metrics: Task progress (percentage of steps completed) and Language Following Rate.

Key Findings

  • Generalization: π0.5\pi_{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\pi_0 and the π0\pi_0-FAST+Flow baseline.

7. Conclusions & Future Work

  • Current Status: π0.5\pi_{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.

Ref

  • 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.

Conditional GAN Review

· 4 min read

1. Problem Statement

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.

2. Methodology

To address these challenges, the authors propose CTGAN, which introduces Mode-specific Normalization, a Conditional Generator, and a Training-by-Sampling strategy.

A. Mode-Specific Normalization

  • 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 CiC_i independently using a Variational Gaussian Mixture Model (VGM).

    1. Estimate the number of modes mim_i and fit a Gaussian mixture.

    2. Represent each value as a concatenation of:

      • One-hot vector (β\beta): Indicates which mode the value belongs to.
      • Scalar (α\alpha): 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...mNdcond = m_1 \oplus ... \oplus m_{N_d}.

      • Example: For columns D1={1,2,3}D_1=\{1,2,3\} and D2={1,2}D_2=\{1,2\}, the condition (D2=1)(D_2=1) is represented as mask vectors m1=[0,0,0]m_1=[0,0,0] (ignored) and m2=[1,0]m_2=[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 mim_{i^*} and the generated output d^i\hat{d}_{i^*} to the loss.

    • Training-by-Sampling (Curriculum):

      1. Create zero-filled mask vectors.
      2. Randomly select a discrete column DiD_i.
      3. Construct a PMF based on the log-frequency of values in that column (giving minor classes a higher chance).
      4. Sample a value kk^* based on this PMF and set the mask bit to 1.
      5. This ensures the model evenly explores all possible discrete values, not just the majority classes.

CTGAN Model

C. Network Structure (CTGAN)

  • Architecture: Two fully-connected hidden layers for both Generator and Critic.
    • Generator: Batch Normalization + ReLU.
    • Critic: Dropout + Leaky ReLU.
  • Optimization: WGAN loss with gradient penalty + Adam optimizer (lr=2104lr=2 \cdot 10^{-4}).

Generator Flow:

h0 = z ⊕ cond
h1 = h0 ⊕ ReLU(BN(FC_256(h0)))
h2 = h1 ⊕ ReLU(BN(FC_256(h1)))
α_hat = tanh(FC(h2)) # Continuous scalar
β_hat = gumbel_0.2(FC(h2)) # Continuous mode (one-hot)
d_hat = gumbel_0.2(FC(h2)) # Discrete value (one-hot)

Critic Flow:

h0 = r1 ⊕ ... ⊕ r10 ⊕ cond1 ⊕ ... ⊕ cond10
h1 = drop(leaky_0.2(FC_256(h0)))
h2 = drop(leaky_0.2(FC_256(h1)))
Score = FC_1(h2)

D. TVAE (Tabular Variational AutoEncoder)

The authors also propose TVAE as a robust baseline for comparison.

  • Uses two networks to model pθ(rjzj)p_\theta(r_j|z_j) and qϕ(zjrj)q_\phi(z_j|r_j).
  • Optimized using Evidence Lower-Bound (ELBO) loss.
  • Treats continuous variables (α\alpha) as Gaussian and discrete variables (β,d\beta, d) using softmax.

3. Evaluation & Benchmarks

Evaluation Metrics

  1. Likelihood Fitness (Simulated Data):

    • Uses a known Oracle SS (Gaussian Mixture or Bayesian Network).
    • Lsyn\mathcal{L}_{syn}: Likelihood of synthetic data on original Oracle SS. (Prone to overfitting).
    • Ltest\mathcal{L}_{test}: Train a new Oracle SS' using synthetic data TsynT_{syn}, then compute likelihood of real test data TtestT_{test} on SS'. (Detects mode collapse).
  2. Machine Learning Efficacy (Real Data):

    • Train classifiers/regressors on Synthetic Data (TsynT_{syn}).
    • Test them on Real Test Data (TtestT_{test}).
    • Metrics: Accuracy, F1-Score (Classification), R2R^2 (Regression).

Benchmarks

  • Baselines: 2 Bayesian Networks (CLBN, PrivBN) + 3 Deep Learning methods (MedGAN, VeeGAN, TableGAN).
  • Simulated Datasets: Grid, GridR (Grid + Offset), Ring (GMM Oracles), and Bayesian Networks (Alarm, Child, Asia, Insurance).
  • Real Datasets: 6 UCI datasets (Adult, Census, etc.), Credit (Kaggle), MNIST28.

4. Outcomes & Conclusion

  • 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.

Ref

  • Xu, L., Skoularidou, M., Cuesta-Infante, A., & Veeramachaneni, K. (2019). Modeling tabular data using conditional gan. Advances in neural information processing systems, 32.

Vocabulary for AI 014

· 2 min read

Vocabulary for AI 014

Term/ExpressionDefinitionSimpler ParaphraseMeaning
proliferationthe rapid increase or spread of somethingrapid increase확산, 급증
necesitateto make something necessary or unavoidableto require필요하게 하다
efficacythe ability to produce a desired or intended resulteffectiveness효능, 효과
densitifyto make something denser or more concentratedto compact밀도 높이다
reminiscenttending to remind one of somethingsuggestive연상시키는
discriminatoryshowing prejudice or bias against certain groups or individualsbiased차별적인
exacerbatedmade worse or more severeworsened악화된
deviseto plan or invent something by careful thoughtto invent고안하다
analogouslyin a way that is similar or comparable to something elsesimilarly유사하게
firsthandobtained directly from personal experiencedirect experience직접적인 경험
plausibleseeming reasonable or probablebelievable그럴듯한
off-the-shelfreadily available for use without modificationready-made기성품의
granularitythe quality of being detailed or specificdetail level세분성
holonomic basea system in which all constraints can be expressed as functions of the coordinates and timefully constrained system전체 구속 시스템
denoisingthe process of removing noise from a signal or datanoise reduction잡음 제거
audaciousshowing a willingness to take bold risksbold대담한
dimensionalitythe number of independent parameters or coordinates needed to specify a point in a spacenumber of dimensions차원 수
lowntirelyr-dimensionalrelating to or denoting a space of low dimensionslow-dimensional저차원의
jointlytogether; in combinationtogether함께, 공동으로
in-the-wildoccurring in natural, uncontrolled environmentsnatural setting자연 환경에서
noveltythe quality of being new, original, or unusualnewness새로움, 참신함
palpitateto beat rapidly or stronglyto throb두근거리다
prohibitivelyin a way that is too expensive or too muchexcessively엄두를 못낼 만큼, 엄청나게
ablateto remove or destroy something by melting, vaporizing, or erodingto remove제거하다
occludeto block or obstruct somethingto block가리다, 막다
can be factored intocan be included as a factor incan be included인수분해 가능한

Vocabulary for AI 013

· 4 min read

Vocabulary & Expressions

Term/ExpressionDefinitionSimpler ParaphraseMeaning
contaminationthe process of making something impure or unsuitable by contact with something uncleanimpurity오염
insulationthe process of protecting something by surrounding it with a material that reduces or prevents the transmission of heat, sound, or electricityprotective covering절연
compounda substance formed from two or more elements chemically bonded togethermixture화합물
uniformitythe quality of being uniform or consistentconsistency균일성
high-fidelitythe accurate reproduction of sound or imagesaccurate reproduction고성능
electromagneticrelating to the interrelation of electric currents or fields and magnetic fieldselectric and magnetic전자기
anisotropichaving properties that vary depending on the direction of measurementdirection-dependent이방성
discontinuitya point or area where something is not continuous or uniforminterruption불연속
defyto openly resist or refuse to obeyto resist반항하다
In light ofconsidering or taking into accounttaking into account~을 고려하여
relevancethe quality of being closely connected or appropriate to the matter at handpertinence관련성
circumventto find a way around an obstacle or difficultyto bypass우회하다
pairwiserelating to or involving pairs of thingsin pairs쌍으로 된
enrichto improve or enhance the quality or value of somethingto enhance풍부하게 하다
nuancedcharacterized by subtle distinctions or variationssubtle미묘한
affinitya natural liking or attraction to somethingliking친밀감, 유사성
asymmetricnot identical on both sides of a central line; lacking symmetryuneven비대칭
trumpto surpass or outdo someone or somethingto surpass능가하다
diffuseto spread out over a large area; not concentratedto spread확산시키다
inclusionthe act of including or being included within a group or structureincorporation포함
task-agnosticnot specific to any particular task or functiontask-independent작업에 구애받지 않는
bifurcateto divide into two branches or partsto split두 갈래로 나누다, 분기하다
governedcontrolled or regulated by a set of rules or principlescontrolled지배되는
In this sensein the way just described; in this contextin this context이런 의미에서
tractableable to be easily managed or controlledmanageable다루기 쉬운
suppressto put an end to the activities of somethingto restrain억제하다
deliberatelyin a careful and intentional mannerintentionally고의로, 의도적으로
coherentlogical and consistentlogical일관된, 논리적인
monotonicconsistently increasing or decreasing without any reversalsunchanging단조로운
atopon the top of; aboveon top of~의 꼭대기에
saliencythe quality of being particularly noticeable or importantprominence두드러짐, 현저함
receptionthe act of receiving or being receivedreceiving수신
jointlytogether with one or more other people or thingstogether공동으로
extrusionthe process of shaping material by forcing it through a dieshaping process압출
blockagean obstruction that prevents movement or flowobstruction막힘, 장애
waypointa reference point in physical space used for navigationnavigation point웨이포인트, 경유지
redistributeto distribute something again or differentlyto reallocate재분배하다
planarrelating to or existing in a flat, two-dimensional surfaceflat평면의
perimeterthe outer boundary or edge of an area or objectboundary둘레, 주변
ablationthe removal of material from the surface of an object by vaporization, chipping, or other erosive processesremoval process제거
indiscriminatenot showing careful judgment or distinctionrandom무차별적인
sparsificationthe process of making something sparse or less densethinning희소화
standpointa particular perspective or position from which something is consideredperspective관점
implicationa possible effect or result of an action or decisionconsequence시사점
cardinal sidesthe four main directions: north, south, east, and westmain directions모든 방향 (동서남북)
undergoto experience or be subjected to somethingto experience겪다
discernibleable to be perceived or recognizednoticeable인지할 수 있는
sliceableable to be cut into thin, flat piecescuttable얇게 자를 수 있는
substancea particular kind of matter with uniform propertiesmaterial물질

AI Engineering

· One min read

AI Application Categories

LLM Adoption by Use Case

  1. Text Summarization: 62%
  2. Internal Knowledge Management: 60%
  3. Customer Service: 59%
  4. Marketing Copy: 53%
  5. Software Development: 53%
  6. Contract Review: 45%
  7. External Chatbots: 39%
  8. Recommendation Algorithms: 39%

Location-Aware Deep Neural Network Review

· 3 min read

Architecture

Wall Detection

Wall Detection Process

  1. Pre-process floor images to gray scale.
  2. Apply Otsu's threshold and thinned method.
  3. Enhance the contrast of wall lines using Canny edge detection.
  4. Employ Hough Transform to detect and map wall lines.

3D Visualization

Limitations

  • Building structural details are unavailable or drone operations are restricted.
  • Highly irregular floor plans or buildings constructed with unique materials not extensively represented in the training data.
  • Real-time data integration
  • Refined deep learning architectures, and validation across varied building materials and layouts
  • Enhance the framework’s scalability and practical utility.

Spider GAN

Sample

{
"nodes": [
{ "id": 0, "name": "Drone", "type": "source", "features": [1, 0, 0, 0, 0.0] },
{ "id": 1, "name": "Room1", "type": "room", "features": [0, 1, 0, 0, -70.0] },
{ "id": 2, "name": "Room2", "type": "room", "features": [0, 1, 0, 0, -75.0] },
{ "id": 3, "name": "Room3", "type": "room", "features": [0, 1, 0, 0, -80.0] },
{ "id": 4, "name": "Corridor","type": "corridor", "features": [0, 0, 1, 0, -72.0] },
{ "id": 5, "name": "Wall_R1_R2","type": "wall", "features": [0, 0, 0, 1, 0.0] },
{ "id": 6, "name": "Wall_R2_R3","type": "wall", "features": [0, 0, 0, 1, 0.0] }
],

"edges": [
{ "source": 0, "target": 1, "attenuation_db": 5.0 },
{ "source": 1, "target": 5, "attenuation_db": 8.0 },
{ "source": 5, "target": 2, "attenuation_db": 8.0 },
{ "source": 2, "target": 6, "attenuation_db": 10.0 },
{ "source": 6, "target": 3, "attenuation_db": 10.0 },
{ "source": 2, "target": 4, "attenuation_db": 3.0 }
]
}

Ref

  • Hason Rudd, D., Sanin, C., En, K. M., Gao, X., Islam, M. R., Hasan, M., Wang, X., Huo, A., & Xu, G. (2025). Location-Aware Deep Neural Network for Predicting Indoor 5G RSSI and CQI Using Drone-Based External RF Sensing. Procedia Computer Science, 270, 4765–4775. https://doi.org/10.1016/j.procs.2025.09.602

Vocabulary for AI 012

· 3 min read

Vocabulary & Expressions

Term/ExpressionDefinitionSimpler ParaphraseMeaning
pluralitythe state of being plural or multiplemultiplicity복수성, 다수
premisea statement or proposition from which another is inferred or follows as a conclusionassumption전제
taxonomythe classification of something, especially organismsclassification분류
PII scrubbedthe process of removing personally identifiable information from data setsdata anonymization개인 식별 정보 제거
Air-gapped Environmenta secure computer network that is physically isolated from unsecured networksisolated network격리된 네트워크
attenuationthe reduction of the force, effect, or value of somethingreduction감쇠
CQIChannel Quality Indicator; a measure of the quality of a communication channelchannel quality measure채널 품질 지표
IBCIn-Building Coverage; the ability of a wireless communication system to provide coverage within buildingsindoor coverage실내 커버리지
RSRPReference Signal Received Power; a measure of the power level of a reference signal in a wireless communication systemreference signal power measure기준 신호 수신 전력
RSRQReference Signal Received Quality; a measure of the quality of a reference signal in a wireless communication systemreference signal quality measure기준 신호 수신 품질
RSSIReceived Signal Strength Indicator; a measure of the power present in a received radio signalsignal strength measure수신 신호 세기 지표
encompassto surround or include comprehensivelyto include포함하다, 둘러싸다
accommodateto provide space or make adjustments for somethingto make room for수용하다, 적응하다
acquisitionthe process of getting somethingobtaining획득, 습득
compriseto consist of or be made up ofto include포함하다, 구성하다
attenuation coefficienta measure of how much a material reduces the intensity of a signal passing through itsignal reduction measure감쇠 계수
calibrationthe process of adjusting and standardizing the accuracy of a measuring instrument or systemadjustment for accuracy보정, 교정
obstructionsomething that blocks or hinders progress or movementblockage장애물
annotateto add notes or comments to a text or diagramto comment on주석을 달다
equidistantlyat equal distancesuniformly spaced등거리로
intricatevery complicated or detailedcomplex복잡한, 정교한
induceto cause something to happen or existto bring about유도하다, 초래하다
delineateto describe or mark the edge of somethingto outline윤곽을 그리다, 묘사하다
account for sthto explain or justify somethingto explain~을 설명하다
calibrateto adjust or standardize a measuring instrument or systemto adjust for accuracy보정하다, 교정하다
extrudeto force or push something outto expel밀어내다, 추출하다
affirmto state or assert positivelyto confirm확언하다, 단언하다
substantiallyto a great extent or degreesignificantly상당히, 크게
applicabilitythe quality of being relevant or suitablerelevance적용 가능성
adaptabilitythe ability to adjust to new conditionsflexibility적응성
interfereto obstruct or disruptto hinder방해하다
degradationthe process of declining in quality or conditiondeterioration저하, 악화
counterargumentan argument made to oppose another argumentopposing argument반론
walk sb through sthto slowly and carefully explain something to someone or show someone how to do somethingto explain step-by-step~에게 ~을 차근차근 설명하다
transitivitythe property of a relation where if A relates to B and B relates to C, then A relates to Crelational property추이성
exhaustiveincluding all possibilities; comprehensivecomplete철저한, 포괄적인

IAI +012

· 8 min read

Structural Knowledge

  • Structural knowledge: the relationship between concepts and objects in the world.
  • Hierarchical approach: built on classification and uses hierarchies as the structures for knowledge representation, presented in a graphical format.
    • Semantic networks: nodes represent concepts, and edges represent relationships between concepts.
    • Ontologies
      • A formal specification of concepts, relationships, and constraints within a domain that enables machines to reason automatically.
      • It defines classes (concepts), subclasses (hierarchical relations), and properties (attributes or relations) that describe how entities interact.
      • Unlike simple taxonomies, ontologies also include logical axioms and constraints that specify allowable relationships and permit inference and consistency checking through automated reasoning.
      • Classes: Main concepts or categories (e.g. Person, Animal).
      • Subclasses: Subcategories (e.g. Dog ⊂ Animal).
      • Properties: Attributes (e.g. hasPart, hasColor).
      • Relations: Connection rules (e.g. MemberOf, SubsetOf).
      • Constraints: Logical constraints (e.g. disjointness, transitivity) that enable inference.

Requirement of hierarchices

  • Inclusiveness: Dog ⊆ Mammal ⊆ Animal
  • Species/differentia: Dog = Mammal + (barks, canine traits, etc.)
  • Inheritance: Mammal: has_fur, gives_live_birthDog: inherits all Mammal properties
  • Transitivity: If Dog ⊆ Mammal and Mammal ⊆ Animal, then Dog ⊆ Animal
  • Systematic and predictable rules for association and distinction
  • Mutual exclusivity: Reptile ∩ Mammal = ∅
  • Necessary and sfficient criteria:
    • Necessary: x, Mammal(x)Vertebrate(x)ProducesMilk(x)\forall x,\ \text{Mammal}(x) \Rightarrow \text{Vertebrate}(x) \land \text{ProducesMilk}(x)
    • Sufficient: x, Vertebrate(x)ProducesMilk(x)Mammal(x)\forall x,\ \text{Vertebrate}(x) \land \text{ProducesMilk}(x) \Rightarrow \text{Mammal}(x)

Advantage of hierarchical approach

  • Inferring from incomplete evidence (if the shared criteria are not obvious or easily observable).
    • Animal → Mammal → Dog: If an entity is classified as a Mammal, we can infer properties such as having fur and giving live birth, even if the entity is not explicitly identified as a Dog.
  • Excellent representations in mature domains
    • Domains where entities and relationships are well understood and stable
    • e.g. medical diagnosis, biological taxonomy, type systems in programming languages.
  • Useful for entities that are well defined and have clear class boudnaries.
    • Good fit: HTTP status codes, chemical elements, and biological species
    • Poor fit: emotions, social roles, and cultural practices
  • Some theory or model is necessary to guide the identification
    • Provides criteria for defining entities and relationships
    • e.g. Evolutionary theory in biological taxonomy, Type theory in programming languages

Partition

A partition of a category is a set of subcategories that form a disjoint, exhaustive composition of that category.

  • Disjoint: Two or more categories are disjoint if they don't share common members.
  • Exhaustive composition: The subcategories together cover all members of the parent category, leaving no member unclassified.
  • Examples:
    • ❌ Category: Animal (Not a partition)
      • Mammal, Bird (Reptiles, fish, insects are missing, not exhaustive)
    • ✅ Category: Integer (Partition)
      • Even, Odd (Disjoint and exhaustive)

Physical composition

  • PartOf Relation: Partof(a, b) is a relation representing that one thing, 'a', is a part of another thing, 'b'.
  • BunchOf Relation: BunchOf(a) is a relation, taking a set of objects 'a', to represent a composite object made up of those parts.
  • Examples:
    • Partof(Wheel, Car): A wheel is part of a car (one-to-one relation).
    • BunchOf({Wheel1, Wheel2, Wheel3, Wheel4}): A car is a bunch of four wheels (many-to-one relation).
  • Link between PartOf and BunchOf:
    • x(xs    PartOf(x,BunchOf(s)))\forall x (x \in s \implies PartOf(x, BunchOf(s)))
    • y[(x(xs    PartOf(x,y))    PartOf(BunchOf(s),y)]\forall y \Big[\big(\forall x (x \in s \implies PartOf(x, y)\big) \implies PartOf(BunchOf(s), y)\Big]
  • Why useful?
    • Reasoning from individual parts -> group -> larger object.
    • Avoiding ambiguity between: "this thing is part of", "these things together form"
    • Without BunchOf, ontologies cannot represent: piles, colleciton, aggregates, composite physical structures.

Measurements

  • Quantitive measures (Ratio, Interval)
    • Represented as numbers with units
    • Support arithmetic and unit conversion
    • Enable numeric reasoing (e.g. 2.54cm = 1 inch)
  • Non-quantitative measures (Ordinal)
    • Cannot be meaningufully represented as numbers
    • Can still be compared using ordering relactions (<, >, =)
    • Suppor qualitative reasoning (e.g. one task is more difficult than another)

Objects

  • Stuff
    • Represents substances
    • Uncountable masses
    • Definitions include only intrinsic properties (e.g. Butter, Unsalted Butter)
    • bButterPartOf(p,b)    pButterb \in Butter \land PartOf(p, b) \implies p \in Butter
  • Things
    • Represents discrete objects
    • Countable entities
    • Definitions include extrinsic properties (e.g. PoundOfButter, StickOfButter)
      • It depends on measurement
      • It depends on contextual constraints

Time

  • Fluent: a condition whose truth value can change over time.
    • e.g. "The box is on the table", On(box,table)On(box, table), On(box,table,t)On(box, table, t)
    • a time-dependent proposition.
  • Time scale and absolute time
    • Ontology represents time along a single continuous timeline with a fixed reference point.
    • Date(0,20,21,24,1,1995)=Seconds(300000000)Date(0, 20, 21, 24, 1, 1995) = Seconds(300000000)
    • It allows arithmetic operations on time and comparisons between time points.
  • Time intertvals
    • Time can be represented as moments (instants) or intervals (durations).
    • Duration(i)=Time(End(i))Time(Start(i))Duration(i) = Time(End(i)) - Time(Start(i))
  • Partition of time
    • Partition(Moments,ExtendedIntervals,Intervals)Partition({Moments, ExtendedIntervals}, Intervals)
    • All time intervals can be partitioned into moments and extended (non-zero-length) intervals.
    • It provides a complete and precise ontology of time.

Event calculus

  • T(f,t1,t2)T(f, t_1, t_2): Fluent ff is true for all time between time t1t_1 and t2t_2.
  • Happens(e,t1,t2)Happens(e, t_1, t_2): Event ee start at time t1t_1 and ends at time t2t_2.
  • Initiate(e,f,t)Initiate(e, f, t): Event ee causes fluent ff to become true at time tt.
  • Terminates(e,f,t)Terminates(e, f, t): Event ee causes fluent ff to cease to be true at time tt.
  • Initiated(f,t1,t2)Initiated(f, t_1, t_2): Fluent ff becomes true at some point between t1t_1 and t2t_2.
  • Terminated(f,t1,t2)Terminated(f, t_1, t_2): Fluent ff ceases to be true at some point between t1t_1 and t2t_2.
  • t1<t2t_1 < t_2: Time point t1t_1 occurs before time point t2t_2.
  • Happens(PutBoxOnTable, 10, 12)
  • Initiate(PutBoxOnTable, On(Box, Table), 12)
    • Initiated(On(box, table), 10, 12)
  • T(On(Box, Table), 12, 20)
  • Terminates(RemoveBoxFromTable, On(Box, Table), 20)
    • Terminated(On(box, table), 18, 22)

Successor-state axiom

후속상태공리

  • Define how the world changes after an action occurs.
    • what changes when an action happens
    • what stays the same.
  • Without successor-state axioms, we face the frame problem:
    • after every action, we would need to explicitly list all facts that did not change.
  • Move(A,B,X)Move(A, B, X): moving block A from the top of block B to position X.
    • Preconditions:
      • On(A,B)On(A, B): A is on top of B
      • Clear(A)Clear(A): nothing is on top of A
      • Clear(X)Clear(X): nothing is on position X
    • Effects:
      • On(A,X)On(A, X): A is now on position X
      • Clear(B)Clear(B): B is now clear
      • Clear(X)Clear(X): X is no longer clear (X is now occupied by A)

Semantic networks

  • Visually represent a knowledge base.
  • Support efficient inference.
  • Allow properties of an object ot be inferred from its category membership.
  • Representing individual objects, categories of objects, and relations among objects.
  • Categories are the primary buildling blokcs of large-scale knowledge representation schemes.

Taxonomy hierarchy

  • A hierarchical structure of categories
  • Each lower category is a more specific kind of its parent
  • Organized from general → specific

University Ontology

EntityClassExample Statemnets
AliceStudentenrolledIn(CS101)enrolledIn(CS101), assessedBy(Prof.Smith)assessedBy(Prof.Smith)
Prof.SmithLecturermemberOf(Lecturer)memberOf(Lecturer), teaches(CS101)teaches(CS101)
CS101CoursebelongsTo(CSDepartment)belongsTo(CSDepartment)

Knowledge graph

  • represents information and its relationships using a graph structure.
  • Nodes: entities or concepts (e.g. people, places, things).
  • Edges: relationships between nodes (e.g. "is a", "part of", "located in").

Types of Knowledge Graphs

  • General Knowledge Graphs
  • Domain-Specific Knowledge Graphs
  • Semantic Knowledge Graphs
  • Social Knowledge Graphs
  • Temporal Knowledge Graphs
  • Special Knowledge Graphs
  • Statistical Knowledge Graphs
  • Probabilistic Knowledge Graphs
  • Textual Knowledge Graphs
  • Multi-modal Knowledge Graphs

General Knowledge Graphs

  • Comprehensive information representation
  • Entity-Relationship Structure
  • Linked Data
  • Semantic Enrichment
  • Capabilities & Use Cases
    • Querying and Analysis
    • Data Integration
    • ML and AI applications

Examples

  • DBPedia: RDF, resource descritions framework
  • Wikidata
  • YAGO
  • Google Knowledge Graph
  • Microsoft Academic Graph
  • IBM Watson Knowledge Studio

Reasoning for categories

  • Infer the presence of certain objects from perceptual input
  • Infer category membership from perceived properties
  • Use category information to make predictions
  • It enables an agent to identify objects from observed properties and to predict further characteristics using category knowledge.

Reasoning using Semantic networks

  • Semantic networks are:
    • systems designed specifically for organizing categories reasoning with categories.
    • Provide graphical representations of a knowledge base
  • Using a semanctic network, reasoning can be performed based on:
    • relationships between objects
    • category membership
    • inheritance between categories
    • properties associated with categories
    • Allows an object to inherit general knowledge from its category.
  • The inheritance algorithm:
    • Starts from the object itself
    • Follows links upwards through the category hierarchy
    • Stops as soon as it finds a value for the property
    • This suppors efficient reasoning, default values, and exception handling.

RDF

Resource Description Framework (RDF)

  • Triple Structure: subject -> predicate -> object
  • Subject: represents the resource being described or identified by a URI.
  • Predicate (or Property): desribes the relationship between the subject and the object. also represented by a URI.
  • Object: represents the value or target of the relationship. It can be a URI or a literal (a string, number, or date).

IAI +011

· 10 min read

Uncertain Domain

  • Agent may need to handle uncertainty
  • Environment is partially observable
    • Fully observable: An agent knows where it is.
    • The drone never knows its exact position, only an estimated one.
    • The true user intent is not directly observable, only noisy speech data.
    • It cannot see the whole environment or detect humans perfectly.
    • The true health state (disease present or not) is hidden.
  • Environment is non-deterministic
    • AI Trading Agent
      • even if the agent takes the same action, the outcome can vary dramatically.
      • from market prices changes unpredictably due to external events (news, other traders, economic data).
      • network latency, competing traders' behavior are stochasic and independent, random fluctuations can affect the outcome.
      • buy action could lead to profit, loss, or no change depending on uncontrollable external factors.
    • AI Helpdesk Chatbot
      • even when the chatbot executes the same action, it sends queries to multiple backend systems, the result may differ each time.
      • network latency or failures, backend load, concurrent requests, and external dependencies can lead to different response times or outcomes.
      • same command doesn't guarantee the same outcome.
  • Autonomous Driving
    • Partial Observability
      • Sensors cannot detect everything, blind spots, weather effects, occluded vehicles.
    • Non-Determinism
      • Even if the car signals a turn and starts moving, other drivers might brake suddenly, pedestrians might cross unexpectedly, or traffic lights might malfunction.
      • depending on random external events.
  • Medical Diagnosis & Treatment Assistant
    • Partial Observability
      • The patient's internal health state is not directly visible.
      • tests can be inaccurate or incomplete: false positives/negatives, missing data
    • Non-Determinism
      • The same treatment can have different effects on different patients due to genetics, lifestyle, or random biological responses.
      • A drug may succeed, fail, or cause side effects.

Bayes' Theorem

P(AB)=P(BA)P(A)P(B)P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}

  • P(AB)P(A|B): Posterior probability, the probability of event A given taht B has occurred.
  • P(BA)P(B|A): Likelihood, the probability of event B occurring given that A is true.
  • P(A)P(A): Prior probability, the initial probability of A being true before considering B.
  • P(B)P(B): Evidence, the total probability of B occurring.
  • examples
    • 1% of people have a certain disease (prior probability). P(Disease)=0.01P(Disease) = 0.01
    • the test for the disease is 99% accurate (likelihood).
      • P(PositiveTestDisease)=0.99P(PositiveTest|Disease) = 0.99
      • P(NegativeTestNoDisease)=0.99P(NegativeTest|NoDisease) = 0.99
      • so P(PositiveTestNoDisease)=0.01P(PositiveTest|NoDisease) = 0.01
    • P(PositiveTest)=P(PositiveTestDisease)P(Disease)+P(PositiveTestNoDisease)P(NoDisease)P(PositiveTest) = P(PositiveTest|Disease) \cdot P(Disease) + P(PositiveTest|NoDisease) \cdot P(NoDisease)
      • =0.990.01+0.010.99=0.0198= 0.99 \cdot 0.01 + 0.01 \cdot 0.99 = 0.0198
    • P(DiseasePositiveTest)=P(PositiveTestDisease)P(Disease)P(PositiveTest)P(Disease|PositiveTest) = \frac{P(PositiveTest|Disease) \cdot P(Disease)}{P(PositiveTest)}
      • =0.990.010.01980.5= \frac{0.99 \cdot 0.01}{0.0198} \approx 0.5
  • the conditional probability P(effectcause)P(effect|cause) quantifies the relationship in the causal direction from cause to effect.
  • but P(causeeffect)P(cause|effect) is often what we really want to know, describing the relationship in the diagnostic direction from effect to cause.
    • In medical dignosis, the doctor knows P(symptomsdisease)P(symptoms|disease) from medical studies, and want to derive a P(diseasesymptoms)P(disease|symptoms) for a particular patient.
    • P(diseasesymptoms)=P(symptomsdisease)P(disease)P(symptoms)P(disease|symptoms) = \frac{P(symptoms|disease) \cdot P(disease)}{P(symptoms)}

General Form of Bayes' Rule

P(YX)=αP(XY)P(Y)P(Y|X) = \alpha \cdot P(X|Y) \cdot P(Y)

  • α\alpha is the normalization constant needed to make the entries in P(YX)P(Y|X) sum to 1 for each value of X.
  • conditional independency
    • two variables X and Y are conditionally independent given a third variable Z if the value of X provides no information about Y once Z is known.
    • P(X,YZ)=P(XZ)P(YZ)P(X, Y|Z) = P(X|Z) \cdot P(Y|Z)

Constructing Bayesian Network

  • constructing a Bayesian network in which resulting joint probability distributions are a good representation of the agent's knowledge.
    1. P(x1,...,xn)=i=1nP(xiparents(xi))P(x_1, ..., x_n) = \prod_{i=1}^{n} P(x_i | \text{parents}(x_i))
    1. rewrite the entries in the joint probability distribution in terms of conditional probabilities using the product rule.
    • P(x1...xn)=P(xnxn1...x1)P(xn1...x1)P(x_1 \land ... \land x_n) = P(x_n | x_{n-1} \land ... \land x_{1}) \cdot P(x_{n-1} \land ... \land x_{1})
    1. repeat step 2 until all variables are included.
    • P(x1,...,xn)=P(xnxn1...x1)P(xn1xn2...x1)P(x2x1)P(x1)P(x_1, ..., x_n) = P(x_n | x_{n-1} \land ... \land x_{1}) \cdot P(x_{n-1} | x_{n-2} \land ... \land x_{1}) \cdots P(x_2 | x_1) \cdot P(x_1)

Knowledge Representation

  • The agent's knowledge can at best provide only a degree of belief in the relevant logical sentences.
  • A probabilistic agent may have a numerical degree of belief between 0 and 1.

Bayesian Network

  • a directed graph
  • each node repressents a random variable and edge with an arrow from X to Y represents that X is a parent of Y.
  • each node is associated with a probability distribution
  • if a node Y has parents X, the Y node has a conditional probability distribution with respect to its parents X, i.e. P(Yparents(Y))P(Y| \text{parents}(Y))
  • if a node has no any parents, it has an unconditional probability distribution.

Burglary Example

  • a new burglar alarm installed at home.
  • it is reliable at detecting a burglary, but also responds on occasion to minor earthquakes
  • you have two neighbors, John and Mary who promised to call you at work when they hear the alarm.
  • given the evidence of who has or has not called, estimate the probability of a burglary.
  • Knowledge representation as the probability of each event that can occur in this case.

P(eventj)=number of ccurrences of event jtotal number of experimentsP(\text{event}_{j}) = \frac{\text{number of ccurrences of event }_j}{\text{total number of experiments}}

  • calulate the full joint probability distribution for all relevant variables.
    • specifying probabilities for all possible events one by one is unnatural and tedious.

P(B,E,A,J,M)=i5P(Xiparents(Xi))=P(B)P(E)P(AB,E)P(JA)P(MA)P(B, E, A, J, M) = \prod_{i}^{5} P(X_i | \text{parents}(X_i)) = P(B) \cdot P(E) \cdot P(A|B,E) \cdot P(J|A) \cdot P(M|A)

P(M,J,A,E,B)=P(MJ,A,E,B)P(J,A,E,B)P(JA,E,B)P(A,E,B)P(AE,B)P(E,B)P(EB)P(B)=P(MJ,A,E,B)P(JA,E,B)P(AE,B)P(EB)P(B)=P(MJ,A,E,B)P(JA,E,B)P(AE,B)P(E)P(B)i.e. P(EB)=P(E) (Earthquake is independent of Burglary)=P(MA)P(JA)P(AE,B)P(E)P(B)i.e. P(JA,E,B)=P(JA) (JohnCalls depends only on Alarm)i.e. P(MJ,A,E,B)=P(MA) (MaryCalls depends only on Alarm)\begin{align*} & P(M, J, A, E, B) = P(M | J, A, E, B) \cdot P(J, A, E, B) \\ & P(J | A, E, B) \cdot P(A, E, B) \\ & \quad P(A | E, B) \cdot P(E, B) \\ & \quad \quad P(E | B) \cdot P(B) \\ & = P(M|J,A,E,B) \cdot P(J|A,E,B) \cdot P(A|E,B) \cdot P(E|B) \cdot P(B) \\ & = P(M|J,A,E,B) \cdot P(J|A,E,B) \cdot P(A|E,B) \cdot P(E) \cdot P(B) \\ & \quad i.e.\space P(E|B) = P(E) \text{ (Earthquake is independent of Burglary)} \\ & = P(M|A) \cdot P(J|A) \cdot P(A|E,B) \cdot P(E) \cdot P(B) \\ & \quad i.e.\space P(J|A,E,B) = P(J|A) \text{ (JohnCalls depends only on Alarm)} \\ & \quad i.e.\space P(M|J,A,E,B) = P(M|A) \text{ (MaryCalls depends only on Alarm)} \end{align*}

P(M,J,A,E,B)=P(B)P(E)P(AB,E)P(JA)P(MA) P(M, J, A, E, B) = P(B) \cdot P(E) \cdot P(A|B,E) \cdot P(J|A) \cdot P(M|A)

Probabilistic reasnoing

  • to explain how to use network models to reason under uncertainty.
  • Exact inference: calculate the exact posterior probabilities.
  • Approximate inference: Stochastic approximation techniques such as likelihood weighting and Markov Chain Monte Carlo
    • can give reasonable estimates of the true posterior probabilities in a network
    • can cope with much larger networks than exact inference algorithms.
  • Static worlds: Each random variable has a single fixed value.
  • Dynamic worlds: view the world as a series of snapshots, or time slices.
    • Each of snapshots contains a set of random variables, some observed and some hidden.
    • The values of these variables can change over time.
    • With the assumption of state sequences are Markov, the future is independent of the past given the present.

Inference in Bayesian Networks

  • Computing the posterior probability distribution of a set of query variables, given some observed events, called some assignment of values to a set of evidence variables.
  • XX: query variable(s)
    • is it raining?
  • EE: the set of evidence variables with observed values E1,...,EmE_{1}, ..., E_{m}
    • weather report says it is cloudy.
    • weather report says there is high humidity.
  • ee: a particular observed event.
    • E1=cloudyE_{1} = \text{cloudy}
    • E2=high humidityE_{2} = \text{high humidity}
  • YY: the non-evidence, non-query variables.
    • the other variables in the network.
  • X={X}EYX = \{X\} \cup E \cup Y
    • the complete set of variables in the network.
  • P(Xe)P(X|e): the posterior probability distribution of the query variable(s) given the evidence.
  • P(Xe)=αyP(X,e,y)P(X|e) = \alpha \sum_{y} P(X, e, y)

Exact inference in Bayesian Networks

  • One exact inference method is called by inference by enumeration.
  • Observed some event A=trueA = true and B=trueB = true, want to compute the posterior probability distribution P(CA,B)P(C|A, B).
    • Use the full conditional probability table
    • Use the Bayesian Network
  • It calculates all the required probability components in each branch in the evaluation tree, and this results in repetitive calculations.
  • To avoid this, we can use variable elimination algorithm and clustering algorithms.
  • Calculation of probability distribution for a query variable is complexity exponential.
  • Enumeration method can become intractable in large, multiple connected networks. -> use approximate inference methods.

For any Bayesian network with given nodes, X={X1,X2,...,Xn}X = \{X_1, X_2, ..., X_n\}, the joint probability distribution is given by: P(X)=P(X1X2Xn)=i=1nP(Xiparents(Xi))P(X) = P(X_1 \land X_2 \land \ldots \land X_n) = \prod_{i=1}^{n} P(X_i | \text{parents}(X_i))

Using the Bayesian network, we can compute the conditional probability.

P(Bevent)=αeaP(B,E,A,j,m) P(B | event) = \alpha \sum_{e}\sum_{a} P(B, E, A, j, m)

  • i=1,P(X1parents(X1))=P(B)i=1, P(X_1 | \text{parents}(X_1)) = P(B)
  • i=2,P(X2parents(X2))=P(E)i=2, P(X_2 | \text{parents}(X_2)) = P(E)
  • i=3,P(X3parents(X3))=P(AB,E)i=3, P(X_3 | \text{parents}(X_3)) = P(A|B,E)
  • i=4,P(X4parents(X4))=P(jA)i=4, P(X_4 | \text{parents}(X_4)) = P(j|A)
  • i=5,P(X5parents(X5))=P(mA)i=5, P(X_5 | \text{parents}(X_5)) = P(m|A)
  • P(B,E,A,j,m)=P(B)P(E)P(AB,E)P(jA)P(mA)P(B, E, A, j, m) = P(B) \cdot P(E) \cdot P(A|B,E) \cdot P(j|A) \cdot P(m|A)
P(Bevent)=αeaP(B,E,A,j,m)=αeaP(B)P(E)P(AB,E)P(jA)P(mA)=αP(B)eP(E)aP(AB,E)P(jA)P(mA)\begin{align*} & P(B | event) = \alpha \sum_{e}\sum_{a} P(B, E, A, j, m) \\ & = \alpha \sum_{e}\sum_{a} P(B) \cdot P(E) \cdot P(A|B,E) \cdot P(j|A) \cdot P(m|A) \\ & = \alpha \cdot P(B) \sum_{e} P(E) \sum_{a} P(A|B,E) \cdot P(j|A) \cdot P(m|A) \end{align*}

Berglary example calculation:

P(bevent)=αP(b)eP(E)aP(Ab,E)P(jA)P(mA)=αP(b)[P(e)aP(Ab,e)P(jA)P(mA)+P(¬e)aP(Ab,¬e)P(jA)P(mA)]aP(A,b,e)P(jA)P(mA)=P(a,b,e)P(ja)P(ma)+P(¬a,b,e)P(j¬a)P(m¬a)aP(Ab,¬e)P(jA)P(mA)=P(a,b,¬e)P(ja)P(ma)+P(¬a,b,¬e)P(j¬a)P(m¬a)=αP(b)[P(e)(P(ab,e)P(ja)P(ma)+P(¬ab,e)P(j¬a)P(m¬a))+P(¬e)(P(ab,¬e)P(ja)P(ma)+P(¬ab,¬e)P(j¬a)P(m¬a))]\begin{align*} & P(b | event) = \alpha P(b) \sum_{e} P(E) \sum_{a} P(A|b,E) \cdot P(j|A) \cdot P(m|A) \\ & = \alpha P(b) \bigg[ P(e) \sum_{a} P(A|b,e) \cdot P(j|A) \cdot P(m|A) + P(\neg e) \sum_{a} P(A|b,\neg e) \cdot P(j|A) \cdot P(m|A) \bigg] \\ & \quad \sum_{a} P(A,b,e) \cdot P(j|A) \cdot P(m|A) \\ & \quad = P(a,b,e) \cdot P(j|a) \cdot P(m|a) + P(\neg a,b,e) \cdot P(j|\neg a) \cdot P(m|\neg a) \\ & \quad \sum_{a} P(A|b,\neg e) \cdot P(j|A) \cdot P(m|A) \\ & \quad = P(a,b,\neg e) \cdot P(j|a) \cdot P(m|a) + P(\neg a,b,\neg e) \cdot P(j|\neg a) \cdot P(m|\neg a) \\ & = \alpha P(b) \bigg[ P(e) \big( P(a|b,e) \cdot P(j|a) \cdot P(m|a) + P(\neg a|b,e) \cdot P(j|\neg a) \cdot P(m|\neg a) \big) \\ & \quad \quad + P(\neg e) \big( P(a|b,\neg e) \cdot P(j|a) \cdot P(m|a) + P(\neg a|b,\neg e) \cdot P(j|\neg a) \cdot P(m|\neg a) \big) \bigg] \\ \end{align*}