본문으로 건너뛰기

IP 001

· 약 3분

Image Processing Operations

Point Operation

b[m,n]=f(a[m,n])b[m, n] = f(a[m, n])

  • It only depends on the value of the pixel itself, not on the values of its neighbors.
  • e.g. current pixel + 20.
  • to increase the brightness of an image, adjust contrast, or apply a threshold to create a binary image.

Local Operation

b[m,n]=f(a[m1,n1],a[m1,n],a[m1,n+1],a[m,n1],a[m,n],a[m,n+1],a[m+1,n1],a[m+1,n],a[m+1,n+1]) b[m, n] = f(a[m - 1, n - 1], a[m - 1, n], a[m - 1, n + 1], a[m, n - 1], a[m, n], a[m, n + 1], a[m + 1, n - 1], a[m + 1, n], a[m + 1, n + 1])

  • It depends on the values of the pixel and its neighbors.
  • e.g. current pixel + average of 8 neighbors.
  • to blur an image, sharpen an image, detect edges, or convolution with a kernel.
  • The most common type of neighborhoods are:
    • 4-neighbors:
      • top, bottom, left, right.
    • 8-neighbors:
      • top, bottom, left, right, and the 4 diagonal neighbors.

Global Operation

b[m,n]=f(a[0,0],a[0,1],...,a[M1,N1]) b[m, n] = f(a[0, 0], a[0, 1], ..., a[M - 1, N - 1])

  • It depends on the values of all pixels in the image.
  • e.g. current pixel + average of all pixels in the image.
  • to compute the histogram equalization, apply a global threshold, or perform a Fourier transform.

Image Histogram

  • It is a graph showing how many pixels in an image have each possible intensity value.
    • Intensity value: the brightness of a pixel.
  • e.g. 8-bit grayscale image has 256 possible intensity values (0-255).
    • The histogram will graphically display 256 numbers showing the distribution of pixels among those gray-scale values.

Histogram Equalization

0 255
|------████████--------|
80~140에 몰림

0 255
|--██--██--██--██--██--|
  • It spreads out the intensity values that are concentrated in a narrow range, increasing the contrast of the image.
  • It is useful when the images have been acquired under poor lighting conditions or have low contrast (different circumstances).

Noise

  • Any undesired information that contaminatest the image.
  • During the analog-to-digital conversion process, it is a side effect of the physical conversion of patterns of light energy into electrical patterns.
  • The shape of distribution of noise types used to describe many of them and is related closely to the histogram.
frequency
^
| █
| █████
| █████████
| █████████████
+----------------------> noise gray level
-20 0 +20
  • Gaussian noise: the most common type of noise, with a bell-shaped distribution.
frequency
^
| █ █
| █ █
| █ █
+----------------------------> gray level
0 255
  • Salt-and-pepper noise: the most common type of impulse noise, with a distribution that has two spikes at the minimum and maximum intensity values.

History of Industrial Revolution

· 약 1분

1.0: Mechanisation

  • 1780
  • Industrial production based on machines
  • Powered by water and steam

2.0: Electrification

  • 1870
  • Mass-production using assembly lines

3.0: Automation

  • 1970
  • Automation using electronics and computers

3.5: Globalisation

  • 1980
  • Offshoring of production to low-cost economies

4.0: Digitalisation

  • Today
  • Introduction of connected devices
  • Data analytics
  • Artificial intelligence technologies
  • Further automation of processes

5.0: Personalisation

  • Future
  • The fifth industrial revolution, or Industry 5.0, will be focused on the co-operation between man and machine
  • Human intelligence works in harmony with cognitive computing
  • Humans are put back into industrial production with collaborative robots
  • Workers will be upskilled to provide value-added tasks in production
  • Leading to mass customisation and personalisation for customers

Ref

EAI 001

· 약 2분

Anatomy of an AI System

Anatomy of an AI System

Questions

  • Why is this labor so frequently rendered invisible to the end user?
    • 왜 이러한 노동은 최종 사용자에게 그토록 자주 보이지 않게 되는가?
  • How does the short lifespan of a smart device compare to the geological time needed to form its raw minerals and the centuries required for it to decay as e-waste?
    • 스마트 기기의 짧은 수명은 원료 광물이 형성되는 데 필요한 지질학적 시간, 그리고 전자폐기물로 분해되는 데 걸리는 수백 년의 시간과 어떻게 대비되는가?
  • What ethical and intergenerational obligations do technology companies bear for the imbalance between timescales?
    • 이러한 시간 규모의 불균형에 대해 기술 기업은 어떤 윤리적 책임과 세대 간 책임을 져야 하는가?
  • How is the word 'extraction' a good bridge between the ethical issues related to mining on one hand and capitalism's thirst for data on the other?
    • ‘추출(extraction)’이라는 단어는 한편으로는 채굴과 관련된 윤리적 문제를, 다른 한편으로는 자본주의의 끝없는 데이터 욕구를 연결하는 개념으로서 왜 적절한가?
  • What legislative, regulatory, or architectural interventions could hold technology companies accountable for these hidden environmental and social costs?
    • 어떤 입법적, 규제적 또는 설계·구조적 개입을 통해 기술 기업이 숨겨진 환경적·사회적 비용에 대해 책임을 지도록 할 수 있는가?
  • Should companies be allowed to sell devices with very short lifespans when the materials used to make them take millions of years to form and may remain as waste for generations?
    • 기기를 만드는 데 사용되는 원료는 형성되는 데 수백만 년이 걸리고 폐기물로는 여러 세대 동안 남을 수 있는데, 기업이 수명이 매우 짧은 기기를 판매하도록 허용해야 하는가?
  • How much responsibility should current technology companies have for environmental harms that may only become fully visible decades from now?
    • 수십 년이 지나야 완전히 드러날 수 있는 환경 피해에 대해 현재의 기술 기업은 어느 정도까지 책임을 져야 하는가?
  • If both natural resources and human data can be extracted for profit, what makes data extraction ethically different from mining — and does that difference matter?
    • 천연자원과 인간의 데이터가 모두 이윤을 위해 추출될 수 있다면, 데이터 추출은 채굴과 윤리적으로 무엇이 다르며, 그 차이는 중요한가?
  • Should technology companies be legally required to account for the full social and environmental cost of an AI system, even if doing so makes the technology more expensive?
    • 기술 비용이 더 비싸지더라도, 기술 기업은 인공지능 시스템의 모든 사회적·환경적 비용을 법적으로 산정하고 책임지도록 요구받아야 하는가?

RL 002

· 약 8분

Sequential Decision Making

  • A sequence is a series of events or actions that occur in a specific order over time.
  • Goal: select actions that maximize total expected future reward.
  • It may require balancing immediate and long-term rewards.
  • It may be better to sacrifice short-term gains for long-term benefits.
  • It may require strategic behavior to achieve high rewards.

Example of SDM

  • Web Ads
    • Agent AdBot
      1. Choose and Ad AtA_t.
      2. Receives View time OtO_t
      3. Receives Click on Ad RtR_t
    • Environment
      1. Receives the Chosen Ad AtA_t.
      2. Provides the View time Ot+1O_{t+1}.
      3. Provides the Click on Ad Rt+1R_{t+1}.
  • Robot picking trash
    • Agent Robot
      1. Moves arms to pickup trash AtA_t.
      2. Receives Camera image of the room OtO_t.
      3. Receives Reward if no trash on the floor RtR_t
    • Environment
      1. Receives robots action/arm movements AtA_t.
      2. Provides Camera Image of the room Ot+1O_{t+1}.
      3. Provide reward of +1 Rt+1R_{t+1}
  • Robot making Pizza.
    • Agent Robot
      1. Makes an action from Action space AtA_t (a range of possible actions, Arm Movements, Get Pizz from Oven, Place Pizza on Tray, Cut Pizza...).
      2. Receives Camera image of the kitchen OtO_t.
      3. Receives Reward if pizza is made correctly RtR_t
    • Environment
      1. Receives robots action/arm movements AtA_t.
      2. Provides Camera Image of the kitchen Ot+1O_{t+1}.
      3. Provide reward appropriate to the action Rt+1R_{t+1}.
    • Reward space
      • +10 Successfully made pizza.
      • +1 Get Pizza from oven.
      • +1 Place Pizza on tray.
      • +1 Get Packing box.
      • +1 Cut Pizza successfully.

Rewards

  • a scalar signal that indicates how well the agent is doing at time step tt. (agent's performance)
  • Examples of rewards:
    • Robot play soccor:
      • +ve+ve reward for scoring a goal.
      • ve-ve reward for kicking the ball out of bounds.
    • Chess
      • +ve+ve reward for winning the game.
    • Autonomous drone flying stunt:
      • +ve+ve reward for following the intended trajectory.
      • ve-ve reward for crashing into an obstacle.

History

Ht={O1,A1,R1,O2,A2,R2,...,Ot,At,Rt}H_t = \{O_1, A_1, R_1, O_2, A_2, R_2, ..., O_t, A_t, R_t\}

  • a sequence of past Observations, Actions, and Rewards up to time step tt.
  • Agent selects actions base on history.
  • Environment selects observations and reward.

State

St=f(Ht)S_t = f(H_t)

  • The information used to determine what happens next.
  • A function of the history that captures all relevant information for decision-making.

Environment State

  • SteS_t^e: the environment's private representation of the current state.
  • It used to generate next observation and reward.
  • It is not directly accessible to the agent (Invisible to the agent).
  • If it is visible to the agent, it may contain information not required by the agent to make decisions (e.g., the internal state of a robot's motors).

Agent State

  • StaS_t^a: the agent's private representation of its state.
  • Information used to pick next action and used by RL algorithms to learn from experience.
  • It can be a function of the history: Sta=f(Ht)S_t^a = f(H_t)

Information State

P[St+1St]=P[St+1S1,,St]P[S_{t+1} | S_t] = P[S_{t+1} | S_1, \cdots, S_t]

  • It contains all useful information from the history as known as the Markov State.
  • Probability[next state | current state] = Probability[next state | given the whole history]
  • The future is independent of the past given the present.
  • The dog example illustrates a situation where the agent needs to remember past signals in order to receive a food reward.
  • Possible definitions of the agent state:
    • Last 3 events in the sequence
      • Example: bell ring → light → bell press
      • Useful when recent observations are enough to predict the reward
    • Counts of events
      • Example: number of lights, bell rings, and bell presses
      • Useful for compressing information, but it loses the order of events
    • Complete sequence
      • Example: bell ring → light → bell press → bell ring → ...
      • Contains all past information, but can become too large and difficult to learn from
  • Each state definition involves a trade-off between the amount of information stored and the complexity of learning.
  • A good state should contain enough information to predict the next state and reward.

Markov assumption

  • Markov assumption is popular because it simplifies decision-making in RL.
  • A Markov state can always be created by defining the state as the full history:
    • St=HtS_t = H_t
    • This includes all past observations, actions, and rewards.
    • It satisfies the Markov property because no extra past information is needed.
  • However, using the full history creates a very large state space.
    • More computation
    • More memory
    • More data required
    • Harder learning
  • Ideally, the current observation is enough:
    • St=OtS_t = O_t
    • This means the current observation is a sufficient statistic of the history.
    • The agent does not need to remember the full past.
  • Smaller state spaces are preferred because they reduce computational complexity and data requirements.
  • The choice of state representation affects:
    • Computational complexity
    • Amount of data required
    • Final performance
  • Main idea: A good state should be small, but still contain enough information to predict the next state and reward.

Markov Property

  • The current state contains all relevant information from the history needed to predict the future.
  • The future is independent of the past given the present state.

Full Observable Environments, MCPs

Ot=Sta=SteO_t = S_t^a = S_t^e

  • Full observable: Agent is able to directly observe the environment.
  • Agent State = Environment State = Information State
  • Known as Markov Decision Process

Partially Observable Environments, POMDPs

  • Partially observable: Agent only observes partial information about the environment.
  • Agent State != Environment State
  • Agent must construct its own internal state (S_t^a)
  • Ways to construct agent state:
    • Complete history:
      • (S_t^a = H_t)
    • Belief state:
      • (S_t^a = b(S_t^e))
      • Probabilities over possible environment states
    • RNN hidden state:
      • previous hidden state + current observation → new hidden state
  • Known as Partially Observable Markov Decision Process, POMDP.
  • Examples:
    • Soccer-playing robot with a camera and limited information about its exact location.
    • Share trading agent that observes current share price but not full market trends or company history.
    • Card games where opponent cards and deck order are hidden.

Exploration vs Exploitation

  • Exploration: Learn more about the environment, may lose immediate reward
  • Exploitation: Exploit known information to maximize rewards
  • Discover a good policy, while interacting with the environment, the agent must balance exploration and exploitation.
  • These are key aspects of RL learning, due to trial-and-error learning and the need to maximize long-term rewards.
  • Examples:
    • Playing Chess
      • Exploitation: Use familiar opening lines that have won in the past.
      • Exploration: Try a new opening sequence.
    • Online Advertisements
      • Exploitation: Show ads with the highest past click rate.
      • Exploration: Show different ads and collect feedback such as clicks or view time.
    • Gold Mining
      • Exploitation: Mine at the best-known location.
      • Exploration: Mine at a new location.

Bandits

  • Actions that are taken has no influence on next observations. (Slot machines)
  • No delayed rewards.
  • RL problem with one state.
  • Examples:
    • Design of Clinical trials
    • Online ad suggestion, placement
    • Games
    • Web page personalization
  • Action now, Reward now.
  • Single State (St=S1)(S_t = S_1).
  • Set of Actions = {A1,A2,...,An}\{A_1, A_2, ..., A_n\}.
  • Reward space = [0,1][0, 1].
  • Learn a Stochastic Reward Function: Reward probabilities for actions are unknown in advance, so they must be learned stochastically through trial and error.

Online Ad suggestion

PayOff=CTR×Payment Rate\text{PayOff} = \text{CTR} \times \text{Payment Rate}

  • How to maximize PayOff among hundreds thousands of ads?
  • CTR, ClickThroughRate: Probability that users click on the ad.
  • Payment Rate: Money paid by the advertiser for each click.
  • Arms: {Ad1,Ad2,...,Adn}\{Ad_1, Ad_2, ..., Ad_n\}
  • Rewards: {0:No Click,1:Click}\{ 0: \text{No Click}, 1: \text{Click} \}
    • Assuming a uniform payment of $1 for all ads, maximizing revenue simplifies to accurately estimating the Click-Through Rate (CTR).
  • Exploration vs. Exploitation: Should we display new ads with unknown CTRs to test them (Exploration), or continuously show top-performing ads with the highest historical CTR (Exploitation)?
    • No known optimal solution, but there are many heuristic approaches to balance exploration and exploitation.

ϵ\epsilon-Greedy

  • a common exploration strategy to balence getween exploiting the current best action and exploring new actions in order to learn an optimal policy.
  • Select the Arm with highest average reward so far
  • May get struck with no exploration.
  • ϵ\epsilon: The probability of selecting a random arm and used a greedy selection.
Init, for Arm = 1 to k:
Q(Arm) = 0
N(Arm) = 0

Loop:
# Explore
A = Random action with probability 𝜖
# Exploit
A = argmax(Q(Arm)) with probability (1 - 𝜖)

R = bandit(A)
N(A) += 1
Q(A) = Q(A) + (1 / N(A)) * (R - Q(A))
  • Q: Estimated reward for each Arm
  • N: Number of time each Arm is pulled.
  • A: Action
  • R: Reward

NewEstimate = OldEstimate + StepSize[Target - OldEstimate]

UCB

UCBValue=Q(A)+2ln(t)N(A)UCBValue = Q(A) + \sqrt{\frac{2 \ln(t)}{N(A)}}

  • used to balance between exploiting known good actions and exploring potentially better actions.
  • Optimism in the face of uncertaintiy: It will choose actions systematically that have a high potential for being optimal based on both their estimated value and their uncertatity.
    • The uncertainty bonus represents the value of exploring that arm.
Init, for Arm = 1 to k:
Q(Arm) = 0
N(Arm) = 0

Loop:
UCBValue = Q(A) + sqrt((2 * log(t)) / N(A))
A = argmax(UCBValue)
R = bandit(A)

N(A) += 1
Q(A) = Q(A) + (1 / N(A)) * (R - Q(A))
  • t: Time step
  • Q: Estimated reward for each Arm
  • N: Number of time each Arm is pulled
  • A: Action
  • R: Reward

General Update Rule same as ϵ\epsilon-Greedy.

RL 001

· 약 25분

Reinforcement Learning

  • Learn how to make a good sequence of decisions by interacting with the environment.

Overview of Reinforcement Learning

Characteristics of RL

  • Trial and Error: Based learning approach.
  • Optimization: Find good sequences of actions or decisions.
  • Delayed Consequences/Rewards: Takes time to relize the actions or decisions are good or bad.
  • Exploration: Learn by making decisions or forming actions or through experiences. Trying new actions to discover their effects.
  • Exploitation: Choosing actions with the highest expected reward, based on current knowledge.
  • Generalization: Use previous experiences or knowledge to new or unseen situations effectively.

Framwork of RL

  • OpenAI Gym
  • Torch RL
  • AWS DeepRacer

RL Math

Probability

  • Sample Space (Ω\Omega): The set of all possible outcomes of a random experiment.

Bonferroni's Inequality

P(AB)P(A)+P(B)1P(A \cap B) \geq P(A) + P(B) - 1 P(i=1nAi)i=1nP(Ai)(n1)P(\cap^{n}_{i=1} A_i) \geq \sum_{i=1}^{n} P(A_i) - (n-1)

  • Gives a lower bound on the intersection probability which is useful when this probability is difficult to compute directly.
  • It is useful when the probabilities of individual events are sufficiently large.

Boole's Inequality

P(i=1nAi)i=1nP(Ai)P(\cup^{n}_{i=1} A_i) \leq \sum_{i=1}^{n} P(A_i)

for any sets A1,A2,...,AnA_1, A_2, ..., A_n.

  • It is useful when finding an upper bound for the probabilities of the union of events.

Bayes' Rule

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

  • It allows us to compute the conditional probability P(AB)P(A|B) from the inverse conditional probability P(BA)P(B|A).
  • Let A1,A2,...,AnA_1, A_2, ..., A_n be a partition of the sample space SS. Then let BB be any subset of SS we have:

P(AiB)=P(BAi)P(Ai)j=1P(BAj)P(Aj)P(A_i|B) = \frac{P(B|A_i) P(A_i)}{\sum_{j=1}^{\infty} P(B|A_j) P(A_j)}

Independent Events

P(AB)=P(A)P(B)P(A \cap B) = P(A) P(B)

  • A family Ai:iIA_i :i \in I of events is independent if for every finite subset JIJ \subseteq I we have: P(iJAi)=iJP(Ai)P\left(\bigcap_{i \in J} A_i\right) = \prod_{i \in J} P(A_i)

  • The pair-wise independence of events does not imply their mutual independence.

Conditional Independence

P(ABC)=P(AC)P(BC)P(A \cap B|C) = P(A|C) P(B|C)

  • where P(C)>0P(C) > 0.
  • or equivalently, P(ABC)=P(AC)P(A|B \cap C) = P(A|C) and P(BAC)=P(BC)P(B|A \cap C) = P(B|C).

Induced Probability Function

PX(xi)=P({wjΩ:X(wj)=xi})P_X(x_i) = P\big(\{w_j \in \Omega : X(w_j) = x_i\}\big)

  • Ω={w1,w2,...,wm}\Omega = \{w_1, w_2, ..., w_m\} is the sample space.
  • XX is a random variable with range X={x1,x2,...,xn}X = \{x_1, x_2, ..., x_n\}.
  • The result set {wjΩ:X(wj)=xi}\{w_j \in \Omega : X(w_j) = x_i\} is the set of all outcomes in the sample space that map to the value xix_i under the random variable XX.

Cumulative Distribution Function (CDF)

FX(x)=PX(Xx)xR F_X(x) = P_X(X \leq x) \quad \forall x \in \mathbb{R}

  • FX(x)F_X(x) is a cdf     \iff the following conditions hold:
    • Monotonicity: FX(x)F_X(x) is non-decreasing.
    • Limiting values: limxFX(x)=0\lim_{x \to -\infty} F_X(x) = 0 and limxFX(x)=1\lim_{x \to \infty} F_X(x) = 1.
    • Right-Continuity: limyxFX(y)=FX(x)xR\lim_{y \downarrow x} F_X(y) = F_X(x) \quad \forall x \in \mathbb{R}.
F_X(t)

1.0 | ●────────────
| ↑ ↑ ↑
| 3.001 3.01 3.1
0.7 | ●─────────○
| ↑ ↑ ↑
| 2.001 2.01 2.1
0.3 | ●────────○
| ↑ ↑ ↑
| 1.001 1.01 1.1
0.0 |─────○
+-------------------------------------- t
1 2 3
x x x

Continuous & Discrete Random Variables

  • if XX is continuous, then FX(x)F_X(x) is continuous and differentiable almost everywhere. The probability density function (pdf) is defined as: fX(x)=ddxFX(x)f_X(x) = \frac{d}{dx} F_X(x)
  • if XX is discrete, then FX(x)F_X(x) is a step function and the probability mass function (pmf) is defined as: pX(xi)=P(X=xi)p_X(x_i) = P(X = x_i)
1 ────────────────────────━━━━━━━━




0 ━━━━━━━━━━━━━━━───────────────── x
1 ─────────────────────────●━━━━━━

0.7 ─────────────●━━━━━━━━━○

0.3 ─────●━━━━━━━○

0 ━━━━━━━○──────────────────────── x
1 2 3
1 ──────────────────────────━━━━━━


0.7 ───────────●━━━━━━━

0.5 ───────────○


0 ━━━━━━━━──────────────────────── x
a

Probability Mass Function (PMF)

fX(x)={(1p)x1p,x=1,2,3,0,otherwisef_X(x)= \begin{cases} (1-p)^{x-1}p, & x=1,2,3,\ldots \\ 0, & \text{otherwise} \end{cases}
  • A discrete random variable XX is given by fX(x)=P(X=x)f_X(x) = P(X=x) for xRx \in \mathbb{R}.
  • It represents the probability that the first success occurs exactly on the xx-th trial in a sequence of independent trials.

Probability Density Function (PDF)

FX(x)=xfX(t)dtxRF_X(x) = \int_{-\infty}^{x} f_X(t) dt \quad \forall x \in \mathbb{R}
  • A continuous random variable XX is given by fX(x)f_X(x) for xRx \in \mathbb{R}.
  • The probability is calculated as the area under the probability density function over a specific interval.

Expectation

E[X]=xP(X=x)if X is discreteE[X] = \sum x P(X=x) \quad \text{if } X \text{ is discrete}

E[X]=xfX(x)dxif X is continuousE[X] = \int_{-\infty}^{\infty} x f_X(x) dx \quad \text{if } X \text{ is continuous}

  • Linearity: E[aX+bY+c]=aE[X]+bE[Y]+cE[aX + bY + c] = aE[X] + bE[Y] + c for any constants aa, bb, and cc.
  • Non-negativity: If X0X \geq 0 then E[X]0E[X] \geq 0 because it is a weighted average of non-negative values.
  • Monotonicity: If XYX \geq Y then E[X]E[Y]E[X] \geq E[Y] because it is a weighted average of values that are greater than or equal to the corresponding values of YY.
  • Boundedness: If aXba \leq X \leq b then aE[X]ba \leq E[X] \leq b because it is a weighted average of values that are bounded by aa and bb.
a ●──────────────●──────────────● b
가능한 값들 평균
E[X]

Moments

μn=E[Xn]nN\mu'_n = E[X^n] \quad \forall n \in \mathbb{N}

  • The nthn^{th} central moment of XX is: μn=E[(XE[X])n]=E(Xμ)n\mu_n = E[(X - E[X])^n] = E(X - \mu)^n

  • 1th central moment is the mean, μ1=E[X]\mu_1 = E[X].

  • 2th central moment is the variance, μ2=E[(XE[X])2]=Var(X)\mu_2 = E[(X - E[X])^2] = \text{Var}(X).

    • It emphasizes the variability of the distribution.
    • Var(aX+b)=a2Var(X)\text{Var}(aX + b) = a^2 \text{Var}(X) for any constants aa and bb.
  • 3th central moment is the skewness, μ3=E[(XE[X])3]\mu_3 = E[(X - E[X])^3].

    • It emphasizes the skewness of the distribution.
  • 4th central moment is the kurtosis, μ4=E[(XE[X])4]\mu_4 = E[(X - E[X])^4].

    • It emphasizes the tail behavior and extreme values of the distribution.

Covariance

cov(X, Y)=E[(XE[X])(YE[Y])] \text{cov(X, Y)} = E[(X - E[X])(Y - E[Y])]

  • It measures how muc htwo random variables change together.
  • Negative Covariance
  • Near Zero Covariance
  • Positive Covariance
Y: 시험 점수

높음 | ●
| ● ●
| ●
| ●
낮음 | ●
+-------------------- X: 공부 시간
적음 많음

Cov(X,Y) > 0

Correlation

p(X,Y)=cov(X, Y)Var(X)Var(Y) p(X, Y) = \frac{\text{cov(X, Y)}}{\sqrt{\text{Var}(X)\text{Var}(Y)}}

  • Individual variances must be non-zero.
  • p(X,Y)p(X, Y) lies in the range [1,1][-1, 1].

Joint Distributions

fX,Y:R2[0,1],fX,Y(x,y)=P(X=x,Y=y)if X,Y are discretef_{X,Y}:\mathbb{R}^2\to[0,1], \\ f_{X,Y}(x,y) = P(X=x, Y=y) \quad \text{if } X, Y \text{ are discrete}

  • Joint Probability Mass Function (PMF) for discrete random variables XX and YY.
Y
1 ┤ ● 1/4 ● 1/4
│ (0,1) (1,1)
0 ┤ ● 1/4 ● 1/4
│ (0,0) (1,0)
└──────────────────── X
0 1

Marginal Distributions

fX(x)=yfX,Y(x,y)fY(y)=xfX,Y(x,y)f_X(x) = \sum_{y} f_{X,Y}(x,y) \\ f_Y(y) = \sum_{x} f_{X,Y}(x,y)

  • Fixing one variable and summing over the other variable gives the marginal distribution of the fixed variable.
Y=0 Y=1 행의 합
X=0 0.10 0.20 0.30
X=1 0.30 0.40 0.70
─────────────────────────
열의 합 0.40 0.60 1.00
  • fX(0)=0.10+0.20=0.30f_X(0) = 0.10 + 0.20 = 0.30: sum of the first row.
  • fX(1)=0.30+0.40=0.70f_X(1) = 0.30 + 0.40 = 0.70: sum of the second row.
  • fY(0)=0.10+0.30=0.40f_Y(0) = 0.10 + 0.30 = 0.40: sum of the first column.
  • fY(1)=0.20+0.40=0.60f_Y(1) = 0.20 + 0.40 = 0.60: sum of the second column.
  • Marginalization: It sums or integrates over all possible values of an unwanted variable to obtain the distribution of the variable of interest.

Joint and Marginal Distributions

Conditional Distributions

fXY(xy)=P(X=xY=y)=fX,Y(x,y)fY(y)if fY(y)>0f_{X|Y}(x|y) = P(X = x | Y = y) = \frac{f_{X,Y}(x,y)}{f_Y(y)} \quad \text{if } f_Y(y) > 0

  • It represents the probability distribution of XX given that YY has a specific value.
  • If fY(y)=0f_Y(y) = 0, then fXY(xy)f_{X|Y}(x|y) is undefined.

Conditional Distribution

Bernoulli Distribution

X={1,with probability p0,with probability 1pX = \begin{cases} 1, & \text{with probability } p \\ 0, & \text{with probability } 1-p \end{cases}

  • E[X]=pE[X] = p
  • Var(X)=p(1p)\text{Var}(X) = p(1-p)
  • The outcome of a Bernoulli trial is either a success (1) or a failure (0).

Binomial Distribution

  • probability of success in a single trial: pp
  • probability of failure in a single trial: q=1pq = 1 - p

P(X=xn,p)=(nx)pxqnxwhere(nx)=n!x!(nx)!,0xn P(X = x|n, p) = \binom{n}{x} p^x q^{n-x} \\ \text{where} \binom{n}{x} = \frac{n!}{x!(n-x)!}, \quad 0 \leq x \leq n

  • E[X]=npE[X] = np
  • Var(X)=npq=np(1p)\text{Var}(X) = npq = np(1-p)
  • The binomial distribution describes the number of successes in a fixed number of independent Bernoulli trials.
  • XBinomial(10,0.7)X \sim \text{Binomial}(10, 0.7)
    • P(X=7)=(107)(0.7)7(0.3)30.2668P(X = 7) = \binom{10}{7} (0.7)^7 (0.3)^3 \approx 0.2668

Geometric Distribution

  • probability of success in a single trial: pp
  • probability of failure in a single trial: q=1pq = 1 - p

P(X=xp)=(qx1)pwhere x=1,2,3,...P(X = x|p) = (q^{x-1}) p \\ \text{where } x = 1, 2, 3, ...

  • E[X]=1pE[X] = \frac{1}{p}
  • Var(X)=qp2\text{Var}(X) = \frac{q}{p^2}
  • The geometric distribution describes the number of trials before the first success in a sequence of independent Bernoulli trials.
  • XGeometric(0.7)X \sim \text{Geometric}(0.7)
    • P(X=3)=(0.3)2(0.7)0.063P(X = 3) = (0.3)^2 (0.7) \approx 0.063

Uniform Distribution

fX(xa,b)={1ba,axb0,otherwisef_X(x|a,b) = \begin{cases} \frac{1}{b-a}, & a \leq x \leq b \\ 0, & \text{otherwise} \end{cases}

  • E[X]=a+b2E[X] = \frac{a+b}{2}
  • Var(X)=(ba)212\text{Var}(X) = \frac{(b-a)^2}{12}
  • The uniform distribution describes a continuous random variable that has an equal probability of taking any value within a specified range.
  • The probability depends on the length of the interval, not its location.

Normal Distribution

fX(x)=12πσ2e(xμ)22σ2,<x<f_X(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}, \quad -\infty < x < \infty

XN(μ,σ2)X \sim N(\mu, \sigma^2)

  • Central Limit Theorem: the distribution of the sum (or average) of a large number of independent, identically distributed variables will be approximately normal, regardless of the underlying distribution.

Xˉ=1ni=1nXiN(μ,σ2n)\bar{X} = \frac{1}{n} \sum_{i=1}^{n} X_i \approx N\left(\mu, \frac{\sigma^2}{n}\right)

Multivariate Normal Distribution

N(xμ,Σ)=1(2π)DΣe12(xμ)TΣ1(xμ)N(x|\mu, \Sigma) = \frac{1}{\sqrt{(2\pi)^D |\Sigma|}} e^{-\frac{1}{2} (x-\mu)^T \Sigma^{-1} (x-\mu)}

  • μ\mu is the DD-dimensional mean vector.
  • Σ\Sigma is the D×DD \times D covariance matrix.
  • Σ|\Sigma| is the determinant of the covariance matrix.

Beta Distribution

f(xα,β)=Γ(α+β)Γ(α)Γ(β)xα1(1x)β1,0<x<1f(x|\alpha, \beta) = \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha)\Gamma(\beta)} x^{\alpha - 1} (1 - x)^{\beta - 1}, \quad 0 < x < 1

  • Γ(n)=(n1)!\Gamma(n) = (n-1)! is the gamma function.
  • E[X]=αα+βE[X] = \frac{\alpha}{\alpha + \beta}
  • Var(X)=αβ(α+β)2(α+β+1)\text{Var}(X) = \frac{\alpha \beta}{(\alpha + \beta)^2 (\alpha + \beta + 1)}
α < β α = β α > β

높이 높이 높이
│╲ │ ╭──╮ │ ╱
│ ╲___ │ ╭─╯ ╰─╮ │ ___╱
└──────── x └────────── x └──────── x
0 1 0 1 0 1

0 쪽 강조 가운데 강조 1 쪽 강조
Beta(8,2) Beta(80,20)

╭────╮ /\
╭─╯ ╰─╮ / \
─────╯ ╰─── ─────/────\─────
0.8 0.8

불확실성 큼 불확실성 작음
  • pdataBeta(α+s,β+f)p | \text{data} \sim \text{Beta}(\alpha + s, \beta + f)
    • where new observations are ss successes and ff failures.
  • The Beta distribution is a distribution of success probabilities for a Bernoulli or Binomial distribution.
  • Application
    • Measuring uncertainty in the probability of success for a Bernoulli or Binomial distribution.
    • Conversion rate or click-through rate (CTR) in online advertising.
    • Defect rate in manufacturing.

Linear Algebra

Axioms of Vector Spaces

  • Commutative Law: u+v=v+u,u,vVu + v = v + u, \quad \forall u, v \in V
  • Associative Law: (u+v)+w=u+(v+w),u,v,wV(u + v) + w = u + (v + w), \quad \forall u, v, w \in V
  • Additive Identity: 0V\exists 0 \in V such that v+0=v,vVv + 0 = v, \quad \forall v \in V
  • Additive Inverse: vV,vV\forall v \in V, \exists -v \in V such that v+(v)=0v + (-v) = 0
  • Distributive Law:
    • a(u+v)=au+av,aF,u,vVa(u + v) = au + av, \quad \forall a \in F, u, v \in V
    • (a+b)v=av+bv,a,bF,vV(a + b)v = av + bv, \quad \forall a, b \in F, v \in V
  • Associative Law: (ab)v=a(bv),a,bF,vV(ab)v = a(bv), \quad \forall a, b \in F, v \in V
  • Unitary Law: 1v=v,vV1v = v, \quad \forall v \in V

Subspace

  • x+αyW,x,yW,αRx + \alpha y \in W, \quad \forall x, y \in W, \forall \alpha \in \mathbb{R}

Norm

f:RnRf: \mathbb{R}^n \to \mathbb{R}

  • It outputs a real number that represents the length or size of a vector in a vector space.

x=(x1,x2,,xn)f(x)=xx=(x_1,x_2,\ldots,x_n) \mapsto f(x)=\lVert x\rVert

  • Non-negativity: xRn,x0\forall x \in \mathbb{R}^n, \quad \lVert x\rVert \geq 0
  • Definiteness: f(x)=0    x=0f(x) = 0 \iff x = 0
  • Homogeneity: xRn,tR,f(tx)=tf(x)\forall x \in \mathbb{R}^n, \quad \forall t \in \mathbb{R}, f(tx) = |t| f(x)
  • Triangle inequality: x,yRn,f(x+y)f(x)+f(y)\forall x,y \in \mathbb{R}^n, \quad f(x+y) \leq f(x) + f(y)
    • x+yx+y\lVert x + y \rVert \leq \lVert x \rVert + \lVert y \rVert
  • A norm is non-negative, only the zero vector has a norm of zero, scaling a vector by two doubles its norm, and the direct distance cannot be greater than the detoured distance.

xp=(i=1nxip)1p,p1\lVert x \rVert_p = (\sum_{i=1}^{n} |x_i|^p)^{\frac{1}{p}}, \quad p \geq 1

  • L1 norm: x1=i=1nxi\lVert x \rVert_1 = \sum_{i=1}^{n} |x_i|
    • Manhattan distance.
  • L2 norm: x2=i=1nxi2\lVert x \rVert_2 = \sqrt{\sum_{i=1}^{n} |x_i|^2}
    • Euclidean distance.
  • L-infinity norm: x=maxixi\lVert x \rVert_\infty = \max_i|x_i|
    • (3,4)=max{3,4}=4\lVert (3, 4) \rVert_\infty = \max\{3, 4\} = 4

AF=i=1mj=1naij2=tr(ATA)\lVert A \rVert_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} |a_{ij}|^2} = \sqrt{\text{tr}(A^T A)}

  • Frobenius norm: A=[1234]A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}
    • AF=12+22+32+42=30\lVert A \rVert_F = \sqrt{1^2 + 2^2 + 3^2 + 4^2} = \sqrt{30}
    • It is the square root of the sum of the absolute squares of its elements.

Span

span{x1,x2,...,xn}={α1x1+α2x2+...+αnxn:αnR}span\{x_1, x_2, ..., x_n\} = \{ \alpha_1 x_1 + \alpha_2 x_2 + ... + \alpha_n x_n : \alpha_n \in \mathbb{R}\}

  • A set of vertors X={x1,x2,...,xn}X = \{x_1, x_2, ..., x_n\} in a vector space VV is said to span VV if every vector in VV can be expressed as a linear combination of the vectors in XX.
  • Span is the entire region that can be reached by scaling and adding the given vectors.

Range

R(A)={α1a1+α2a2+...+αnan:αnR}R(A) = \{\alpha_1 a_1 + \alpha_2 a_2 + ... + \alpha_n a_n : \alpha_n \in \mathbb{R}\}

  • The range of a matrix AA is the set of all possible linear combinations of its column vectors.
  • Same as the columnspace of the matrix AA.

Nullspace

N(A)={xRn:Ax=0}N(A) = \{x \in \mathbb{R}^n : Ax = 0\}

  • A set of all vectors that equal 0 when multiplied by the matrix AA.
  • The dimensionality of the nullspace is called the nullity of the matrix AA.

Linear Independence

  • A set of vectors {v1,v2,...,vn}\{v_1, v_2, ..., v_n\} is said to be linearly independent if the only solution to the equation α1v1+α2v2+...+αnvn=0\alpha_1 v_1 + \alpha_2 v_2 + ... + \alpha_n v_n = 0 is α1=α2=...=αn=0\alpha_1 = \alpha_2 = ... = \alpha_n = 0.
  • Column rank: The maximum number of linearly independent column vectors in a matrix.
  • Row rank: The maximum number of linearly independent row vectors in a matrix.
  • If one row vector is a combination of other row vectors, then it is linearly dependent.
  • The number of rows that are removed due to redundancy is the Rank of the matrix.
  • Due to the redundancy, the number of directions which is vanishing is the Nullity of the matrix.

Rank

Rank(A)=dim(R(A)),ARm×nRank(A) = \text{dim}(R(A)), \quad A \in \mathbb{R}^{m \times n}

  • rank(A)min(m,n),ARm×nrank(A) \leq \min(m, n), \quad A \in \mathbb{R}^{m \times n}
    • if rank(A)=min(m,n)rank(A) = min(m, n), then AA is said to be full rank.
    • Rank cannot exceed the number of rows or columns in the matrix.
  • rank(A)=rank(AT),ARm×nrank(A) = rank(A^T), \quad A \in \mathbb{R}^{m \times n}
    • The rank of a matrix is equal to the rank of its transpose.
    • The amount of independent information in the rows is equal to the amount of independent information in the columns.
  • rank(AB)min(rank(A),rank(B)),ARm×n,BRn×prank(AB) \leq \min(rank(A), rank(B)), \quad A \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{n \times p}
    • The information content of the product of two matrices cannot exceed the information content of either matrix.
  • rank(A+B)rank(A)+rank(B),A,BRm×nrank(A + B) \leq rank(A) + rank(B), \quad A, B \in \mathbb{R}^{m \times n}
    • The information content of the sum of two matrices cannot exceed the sum of the information content of each matrix.

Orthogonal Matrices

URn×n is orthogonal     viTvj={1if i=j0if ijU \in \mathbb{R}^{n \times n} \text{ is orthogonal } \iff v_i^T v_j = \begin{cases} 1 & \text{if } i = j \\ 0 & \text{if } i \neq j \end{cases}

  • UUT=UTU=InUU^T = U^TU = I_n
  • Ux2=x2,xRn\lVert Ux \rVert_2 = \lVert x \rVert_2, \quad \forall x \in \mathbb{R}^n
  • Orthonormal: A set of vectors is orthonormal if they are all unit vectors and orthogonal to each other.
  • Rotation: R(θ)=[cosθsinθsinθcosθ]R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix}
  • Reflection: R=[1001]R = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}

Quadratic Form

Q(x)=xTAx,ARn×nQ(x) = x^T A x, \quad A \in \mathbb{R}^{n \times n}

  • The quadratic form xTAxx^TAx gives a scalar value that measures the cost, energy, or weighted magnitude of the vextor xx, according to the quadratic surface defined by the matrix AA.
    • Positive definite: Q(x)>0,x0Q(x) > 0, \quad \forall x \neq 0
    • Positive semi-definite: Q(x)0,x0Q(x) \geq 0, \quad \forall x \neq 0
    • Negative definite: Q(x)<0,x0Q(x) < 0, \quad \forall x \neq 0
    • Negative semi-definite: Q(x)0,x0Q(x) \leq 0, \quad \forall x \neq 0
    • Indefinite: Q(x)Q(x) can be positive or negative for different x0x \neq 0

Matrix definiteness

  • 행렬의 정부호성(양의 정부호, 양의 준정부호, 음의 정부호, 음의 준정부호, 부정정부호)

ATA=ATA    Q(x)=xTATAx=(Ax)T(Ax)=Ax20A^TA = A^TA \implies Q(x) = x^T A^T A x = (Ax)^T (Ax) = \lVert Ax \rVert^2 \geq 0

  • Always positive semi-definite because it is the square of the norm of the vector AxAx.

Eigenvalues & Eigenvectors

λR is an eigenvalue of ARn×n    Ax=λx,xRn,x0\lambda \in \mathbb{R} \text{ is an eigenvalue of } A \in \mathbb{R}^{n \times n} \iff A\vec{x} = \lambda \vec{x} , \quad \vec{x} \in \mathbb{R}^n, \vec{x} \neq 0

  • An eigenvector is a nonzero vector that remains on the same line when transformed by a matrix.
  • Its eigenvalue tells us how much the vector is scaled and whether its direction is reversed.

det(AλI)=0\text{det}(A - \lambda I) = 0

  • A=[4123]A = \begin{bmatrix} 4 & 1 \\ 2 & 3 \end{bmatrix}
  • AλI=[4λ123λ]A - \lambda I = \begin{bmatrix} 4 - \lambda & 1 \\ 2 & 3 - \lambda \end{bmatrix}
  • det(AλI)=(4λ)(3λ)2=λ27λ+10=(λ5)(λ2)=0\text{det}(A - \lambda I) = (4 - \lambda)(3 - \lambda) - 2 = \lambda^2 - 7\lambda + 10 = (\lambda - 5)(\lambda - 2) = 0
  • λ1=5,λ2=2\lambda_1 = 5, \quad \lambda_2 = 2

tr(A)=i=1nλi\text{tr}(A) = \sum_{i=1}^{n} \lambda_i

  • The trace is the sum of the scaling factors along all eigenvector directions.

det(A)=i=1nλi\text{det}(A) = \prod_{i=1}^{n} \lambda_i

  • The determinant is the product of the eigenvalues, representing the overall signed scaling factor for area or volume.

rank(A)=number of non-zero eigenvalues of Arank(A) = \text{number of non-zero eigenvalues of } A

  • For a diagonalizable matrix, the rank equals the number of nonzero eigenvalues, counted with multiplicity.

λi(A1)=1λi(A)\lambda_i (A^{-1}) = \frac{1}{\lambda_i(A)}

  • The eigenvalues of the inverse of a matrix are the reciprocals of the eigenvalues of the original matrix.

Ax=λx    A1Ax=A1λx    x=λA1x    A1x=1λx A \vec{x} = \lambda \vec{x} \\ \implies A^{-1} A \vec{x} = A^{-1} \lambda \vec{x} \\ \implies \vec{x} = \lambda A^{-1} \vec{x} \\ \implies A^{-1} \vec{x} = \frac{1}{\lambda} \vec{x}

Diagonalization

S=[v1v2vn]S = \begin{bmatrix} \vdots & \vdots & \cdots & \vdots \\ \vec{v_1} & \vec{v_2} & \cdots & \vec{v_n} \\ \vdots & \vdots & \cdots & \vdots \end{bmatrix} AS=[λ1v1λ2v2λnvn]=[v1v2vn][λ1000λ2000λn]=SΛAS = \begin{bmatrix} \vdots & \vdots & \cdots & \vdots \\ \lambda_1\vec{v_1} & \lambda_2\vec{v_2} & \cdots & \lambda_n\vec{v_n} \\ \vdots & \vdots & \cdots & \vdots \end{bmatrix} \\ = \begin{bmatrix} \vdots & \vdots & \cdots & \vdots \\ \vec{v_1} & \vec{v_2} & \cdots & \vec{v_n} \\ \vdots & \vdots & \cdots & \vdots \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} \\ = S\Lambda

  • S1AS=ΛS^{-1}AS = \Lambda
    • AS=SΛAS = S\Lambda
    • S1AS=S1SΛ=IΛ=ΛS^{-1}AS = S^{-1}S\Lambda = \mathbb{I}\Lambda = \Lambda
    • A matrix AA that appears complicated in the original coordinate system becomes the diagonal matrix Λ\Lambda when expressed in the eigenvector coordinate system.
  • A=SΛS1A = S\Lambda S^{-1}
    • In the eigenvector basis, the matrix AA becomes the diagonal matrix Λ\Lambda.

Symmetric Matrices

  • A real symmetric matrix satisfies A=ATA=A^T.
  • All eigenvalues of a real symmetric matrix are real.
  • A real symmetric matrix has a complete set of orthonormal eigenvectors.
  • Therefore, the eigenvector matrix SS is orthogonal.
STS=IS1=STS^TS=\mathbb{I} \quad\Longrightarrow\quad S^{-1}=S^T
  • The diagonalization of a symmetric matrix is
A=SΛSTA=S\Lambda S^T
  • SS contains the orthonormal eigenvectors of AA.
  • Λ\Lambda contains the corresponding eigenvalues.
  • STS^T converts xx into the eigenvector basis.
  • Λ\Lambda scales each eigenvector direction by its corresponding eigenvalue.
  • SS converts the result back to the original basis.

Definiteness of Symmetric Matrices

  • Using A=SΛSTA=S\Lambda S^T and y=STxy=S^Tx,
xTAx=xTSΛSTx=yTΛy=i=1nλiyi2x^TAx = x^TS\Lambda S^Tx = y^T\Lambda y = \sum_{i=1}^{n}\lambda_i y_i^2
  • yiy_i is the component of xx along the ii-th eigenvector.

  • Since yi20y_i^2\geq0, the sign of xTAxx^TAx depends entirely on the signs of the eigenvalues.

  • If all eigenvalues are positive, AA is positive definite.

λi>0 for all ixTAx>0 for all x0\lambda_i>0\text{ for all }i \quad\Longrightarrow\quad x^TAx>0\text{ for all }x\neq0
  • If all eigenvalues are non-negative, AA is positive semidefinite (PSD).
λi0 for all ixTAx0\lambda_i\geq0\text{ for all }i \quad\Longrightarrow\quad x^TAx\geq0
  • If all eigenvalues are negative, AA is negative definite.
λi<0 for all ixTAx<0 for all x0\lambda_i<0\text{ for all }i \quad\Longrightarrow\quad x^TAx<0\text{ for all }x\neq0
  • If all eigenvalues are non-positive, AA is negative semidefinite (NSD).
λi0 for all ixTAx0\lambda_i\leq0\text{ for all }i \quad\Longrightarrow\quad x^TAx\leq0
  • If AA has both positive and negative eigenvalues, AA is indefinite.
  • The eigenvectors determine the principal directions of the quadratic surface.
  • The eigenvalues determine the curvature and sign along those directions.
  • The definiteness of a symmetric matrix is determined entirely by the signs of its eigenvalues.

Eigenvalues of a Positive Semidefinite Matrix

  • If AA is positive semidefinite, then
xTAx0x^TAx\geq0
  • For an eigenvector x0\vec{x}\neq\vec{0} with eigenvalue λ\lambda,
Ax=λxA\vec{x}=\lambda\vec{x} xTAx=xT(λx)=λxTx=λx20\vec{x}^{\,T}A\vec{x} = \vec{x}^{\,T}(\lambda\vec{x}) = \lambda\vec{x}^{\,T}\vec{x} = \lambda\lVert\vec{x}\rVert^2 \geq0
  • Since x0\vec{x}\neq\vec{0},
x2>0\lVert\vec{x}\rVert^2>0
  • Therefore,
λ0\lambda\geq0
  • Hence, all eigenvalues of a positive semidefinite matrix are non-negative.
  • A zero eigenvalue means that the corresponding eigenvector direction is collapsed to the zero vector.

Singular Value Decomposition

  • Diagonalization is generally defined for square matrices, while singular value decomposition can be applied to any rectangular or square matrix.
A=UΣVTA=U\Sigma V^T
  • For ARm×nA\in\mathbb{R}^{m\times n},
URm×m,ΣRm×n,VRn×nU\in\mathbb{R}^{m\times m}, \qquad \Sigma\in\mathbb{R}^{m\times n}, \qquad V\in\mathbb{R}^{n\times n}
  • The columns of VV are the right singular vectors and represent orthonormal directions in the input space.
  • The columns of UU are the left singular vectors and represent orthonormal directions in the output space.
  • The diagonal entries of Σ\Sigma are the singular values.
σ1σ20\sigma_1\geq\sigma_2\geq\cdots\geq0
  • For each singular-vector pair,
Avi=σiuiA\vec{v_i}=\sigma_i\vec{u_i}
  • vi\vec{v_i} is an input direction.

  • σi\sigma_i is the scaling factor.

  • ui\vec{u_i} is the corresponding output direction.

  • The transformation AA can be interpreted as three steps:

    • VTV^T expresses the input in the right singular-vector basis.
    • Σ\Sigma scales each direction by its singular value.
    • UU maps the scaled result into the output space.
  • UU and VV are orthogonal matrices.

UTU=I,VTV=IU^TU=\mathbb I, \qquad V^TV=\mathbb I
  • The singular vectors and singular values are related to the eigenvectors and eigenvalues of ATAA^TA and AATAA^T.
ATAvi=σi2viA^TA\vec{v_i}=\sigma_i^2\vec{v_i} AATui=σi2uiAA^T\vec{u_i}=\sigma_i^2\vec{u_i}
  • The rank of AA equals the number of nonzero singular values.
  • SVD is commonly used for dimensionality reduction, data compression, noise reduction, pseudoinverses, and latent-factor analysis.

SVD

SVD Matrix Flow

xn×1VTVTxn×1ΣΣVTxm×1UUΣVTxm×1=Axm×1\underbrace{x}_{n\times 1} \xrightarrow{V^T} \underbrace{V^Tx}_{n\times 1} \xrightarrow{\Sigma} \underbrace{\Sigma V^Tx}_{m\times 1} \xrightarrow{U} \underbrace{U\Sigma V^Tx}_{m\times 1} = \underbrace{Ax}_{m\times 1}
  • UU is such that the mm columns of UU are the eigenvectors of AATAA^T, known as the left singular vectors of AA.
  • VV is such that the nn columns of VV are the eigenvectors of ATAA^TA, known as the right singular vectors of AA.
  • Σ\Sigma is a rectangular diagonal matrix with each element being the square root of an eigenvalue of AATAA^T or ATAA^TA.
  • SVD allows us to construct a lower rank approximation of a rectangular matrix.
    • Choose only the top rr singular values in Σ\Sigma.
    • The corresponding columns in UU and rows in VTV^T are also selected.
  • VV represents the principal directions in the input space, UU shows where those directions are mapped in the output space, and Σ\Sigma shows how much each direction is scaled.

Gradient

Af(A)=[fA11fA1nfAm1fAmn]\nabla_A f(A) = \begin{bmatrix} \frac{\partial f}{\partial A_{11}} & \cdots & \frac{\partial f}{\partial A_{1n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f}{\partial A_{m1}} & \cdots & \frac{\partial f}{\partial A_{mn}} \end{bmatrix}
  • The gradient with respect to AA is a matrix that shows how the function f(A)f(A) changes with respect to each element of AA.
(Af(A))ij=f(A)Aij\left(\nabla_A f(A)\right)_{ij} = \frac{\partial f(A)}{\partial A_{ij}}
  • Each element of the gradient measures how sensitive f(A)f(A) is to a small change in the corresponding element AijA_{ij}.

  • If f(x1,x2)=x12+2x22f(x_1,x_2)=x_1^2+2x_2^2 then the gradient is

f(x)=[2x14x2].\nabla f(x) = \begin{bmatrix} 2x_1 \\ 4x_2 \end{bmatrix}.
  • The gradient points in the direction of the steepest increase of the function.
    • f(x)\nabla f(x) is a direction of steepest increase.
    • f(x)-\nabla f(x) is a direction of steepest decrease.
  • The magnitude of the gradient indicates how steeply the function increases.
  • To reduce the function value, optimization moves in the opposite direction of the gradient. This method is called gradient descent.
xnew=xoldηf(xold)x_{\mathrm{new}} = x_{\mathrm{old}} - \eta\nabla f(x_{\mathrm{old}})
  • η\eta is the learning rate, which controls the size of each update step.

Hessian

f:RnRf:\mathbb{R}^n\to\mathbb{R} H(x)=x2f(x)=[2fx122fx1xn2fxnx12fxn2]H(x) = \nabla_x^2f(x) = \begin{bmatrix} \frac{\partial^2f}{\partial x_1^2} & \cdots & \frac{\partial^2f}{\partial x_1\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac{\partial^2f}{\partial x_n\partial x_1} & \cdots & \frac{\partial^2f}{\partial x_n^2} \end{bmatrix}
  • A Hessian matrix is a square matrix containing all second-order partial derivatives of a scalar-valued function.

  • It describes the local curvature of the function.

  • If the second-order partial derivatives are continuous, then the Hessian is symmetric.

  • If

f(x1,x2)=x12+2x22,f(x_1,x_2)=x_1^2+2x_2^2,

then the gradient is

f(x)=[fx1fx2]=[2x14x2].\nabla f(x) = \begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \frac{\partial f}{\partial x_2} \end{bmatrix} = \begin{bmatrix} 2x_1 \\ 4x_2 \end{bmatrix}.
  • The Hessian is obtained by differentiating each component of the gradient with respect to every input variable.
H(x)=[x1(fx1)x2(fx1)x1(fx2)x2(fx2)]H(x) = \begin{bmatrix} \frac{\partial}{\partial x_1} \left(\frac{\partial f}{\partial x_1}\right) & \frac{\partial}{\partial x_2} \left(\frac{\partial f}{\partial x_1}\right) \\ \frac{\partial}{\partial x_1} \left(\frac{\partial f}{\partial x_2}\right) & \frac{\partial}{\partial x_2} \left(\frac{\partial f}{\partial x_2}\right) \end{bmatrix} =[x1(2x1)x2(2x1)x1(4x2)x2(4x2)]=[2004].= \begin{bmatrix} \frac{\partial}{\partial x_1}(2x_1) & \frac{\partial}{\partial x_2}(2x_1) \\ \frac{\partial}{\partial x_1}(4x_2) & \frac{\partial}{\partial x_2}(4x_2) \end{bmatrix} = \begin{bmatrix} 2&0 \\ 0&4 \end{bmatrix}.
  • At a stationary point where f(x)=0\nabla f(x)=0:

    • If H(x)0H(x)\succ0, then the point is a strict local minimum.
    • If H(x)0H(x)\prec0, then the point is a strict local maximum.
    • If H(x)H(x) has both positive and negative eigenvalues, then the point is a saddle point.
    • If H(x)H(x) is only positive semidefinite or negative semidefinite, the Hessian test may be inconclusive.
  • If H(x)0H(x)\succeq0 for every xx, then ff is convex.

  • If H(x)0H(x)\preceq0 for every xx, then ff is concave.

Differentiating a Linear Function

  • For a constant vector bRnb\in\mathbb{R}^n,
f(x)=bTx=i=1nbixif(x)=b^Tx = \sum_{i=1}^{n}b_ix_i
  • When differentiating with respect to xkx_k, every term except bkxkb_kx_k is treated as a constant.
f(x)xk=bk\frac{\partial f(x)}{\partial x_k} = b_k
  • Collecting all partial derivatives gives
xf(x)=[b1b2bn]=b\nabla_x f(x) = \begin{bmatrix} b_1\\ b_2\\ \vdots\\ b_n \end{bmatrix} = b
  • Therefore,
x(bTx)=b\nabla_x(b^Tx)=b
  • Since f(x)=bTxf(x)=b^Tx is linear, its gradient is constant and does not depend on xx.

Differentiating a Quadratic Function

  • For f(x)=xTAxf(x)=x^TAx, where ARn×nA\in\mathbb{R}^{n\times n},
xf(x)=(A+AT)x\nabla_x f(x) = (A+A^T)x
  • The two terms appear because each variable can occur in both positions of the product xixjx_ix_j.

  • If AA is symmetric, then A=ATA=A^T, so

x(xTAx)=2Ax\boxed{ \nabla_x(x^TAx)=2Ax }
  • The ll-th component of the gradient is
f(x)xl=(2Ax)l=2i=1nAlixi\frac{\partial f(x)}{\partial x_l} = (2Ax)_l = 2\sum_{i=1}^{n}A_{li}x_i
  • Differentiating the ll-th gradient component with respect to xkx_k gives the (l,k)(l,k)-th entry of the Hessian.
Hlk=xk(f(x)xl)=xk(2i=1nAlixi)=2AlkH_{lk} = \frac{\partial}{\partial x_k} \left( \frac{\partial f(x)}{\partial x_l} \right) = \frac{\partial}{\partial x_k} \left( 2\sum_{i=1}^{n}A_{li}x_i \right) = 2A_{lk}
  • Therefore,
x2(xTAx)=2A\boxed{ \nabla_x^2(x^TAx)=2A }
  • The gradient depends on xx, while the Hessian is constant because f(x)=xTAxf(x)=x^TAx is a quadratic function.

대수의 법칙과 중심극한정리

· 약 5분

대수의 법칙과 중심극한정리의 개요

대수의 법칙과 중심극한정리의 개념

  • 대수의 법칙 (LLN): 표본의 크기 nn이 커짐에 따라 표본평균이 모평균(기댓값)에 확률수렴 또는 거의 확실하게 수렴함을 밝히는 기초 정리.
  • 중심극한정리 (CLT): 모집단의 원래 분포 형태와 무관하게 표본의 크기 nn이 충분히 크면 표본평균들의 집합 분포가 정규분포에 근사(분포수렴)함을 규명하는 정리.

대수의 법칙과 중심극한정리의 시사점

  • 표본추출 통계의 타당성 확보: 모집단 전수조사가 불가능한 상황에서 부분 표본(Sampling) 분석만으로 전체 집단의 참값(모수)을 정밀하게 추론할 수 있는 과학적 기초를 제공함.
  • AI 및 기계학습 모델의 설계 근거: 미니배치 경사하강법(SGD)의 그래디언트 추정 안정성 확보, 생성형 모델(Generative Models)의 노이즈 가우시안 수렴성 설계, 몬테카를로 시뮬레이션의 차원 최적화 등에 핵심 구동 메커니즘으로 작용함.

대수의 법칙과 중심극한정리의 구조 및 메커니즘

대수의 법칙과 중심극한정리의 개념 구조도

대수의 법칙과 중심극한정리의 핵심 수식

1. 약한 대수의 법칙 (WLLN: Weak Law of Large Numbers)

  • 표본평균이 모평균에 확률 수렴함을 나타내며, 임의의 양수 ϵ\epsilon에 대해 표본 크기 nn이 무한대로 갈 때 오차가 발생할 확률이 0이 됨을 증명함. limnP(Xˉnμ<ϵ)=1\lim_{n \to \infty} P(|\bar{X}_n - \mu| < \epsilon) = 1

2. 강한 대수의 법칙 (SLLN: Strong Law of Large Numbers)

  • 표본평균이 모평균에 거의 확실하게(Almost Surely) 수렴함을 의미하며, 확률적으로 1의 확신을 가지고 완벽하게 일치하게 됨을 뜻함. P(limnXˉn=μ)=1P\left( \lim_{n \to \infty} \bar{X}_n = \mu \right) = 1

3. 린데베르그-레비 중심극한정리 (Lindeberg-Lévy CLT)

  • 독립항등분포(i.i.d.) 가정을 따르는 확률변수의 표준화된 표본평균이 표본 크기 nn이 무한해짐에 따라 표준정규분포로 분포 수렴함을 규명함. n(Xˉnμ)σdN(0,1)\frac{\sqrt{n}(\bar{X}_n - \mu)}{\sigma} \xrightarrow{d} N(0, 1)

4. 표본평균의 정규 근사성

  • 모집단의 평균이 μ\mu, 분산이 σ2\sigma^2일 때, 표본 크기 nn이 충분히 크면(n30n \ge 30) 표본평균의 분포는 정규분포에 근사함. XˉnN(μ,σ2n)\bar{X}_n \sim N\left(\mu, \frac{\sigma^2}{n}\right)

대수의 법칙과 중심극한정리의 핵심요소

구분핵심요소설명비고
대수의 법칙 (LLN)확률 수렴 (Convergence in Probability)표본 수가 많아질수록 표본평균이 모평균에 가까워질 확률이 1에 가깝게 누적됨약한 대수의 법칙 (WLLN)
거의 확실한 수렴 (Almost Sure Convergence)표본평균 수열이 모평균 지점으로 수렴하는 사건의 확률 자체가 1이 됨강한 대수의 법칙 (SLLN)
중심극한정리 (CLT)분포 수렴 (Convergence in Distribution)표본 평균을 표준화한 통계량의 누적분포함수가 표준정규분포에 근사적으로 일치함린데베르그-레비 정리
표본평균의 정규 근사모집단의 고유 분포와 무관하게 표본평균 분포가 정규성을 획득하는 성질Z-검정 및 T-검정 근거

대수의 법칙과 중심극한정리의 비교 및 적용 방안

대수의 법칙(LLN)과 중심극한정리(CLT)의 상세 비교

구분대수의 법칙 (LLN)중심극한정리 (CLT)
관점 및 지향점표본평균이 어디로(수렴값) 수렴하는가?표본평균이 **어떤 형태(분포)**를 이루는가?
수학적 수렴 종류확률 수렴 (P\xrightarrow{P}) 및 거의 확실한 수렴 (a.s.\xrightarrow{a.s.})분포 수렴 (d\xrightarrow{d})
전제 및 조건모평균 μ\mu가 유한하게 존재함 (기댓값 존재)모평균 μ\mu 및 모분산 σ2\sigma^2이 유한하게 존재함
수학적 결과물하나의 상수값(모평균 μ\mu)으로 수렴특정 확률분포(정규분포 N(μ,σ2/n)N(\mu, \sigma^2/n))로 근사
주요 활용 분야몬테카를로 적분, 매개변수 추정의 일치성(Consistency) 증명표본 검정(Z-test, T-test), 신뢰구간 추정, 오차 한계 산정

기술적 시사점: 대수의 법칙은 빅데이터 분석에서 표본 크기가 커질수록 표본 통계량이 모수에 완벽하게 정렬되는 **'대표성'**을 보장하며, 중심극한정리는 모집단의 미지 상태에서도 정규분포를 가정하여 실무적 **'가설검정 및 추론'**을 가능케 하는 상호 유기적 관계임.

실무 적용 및 비즈니스 활성화 방안

구분내용비고
공공 분야대규모 국가 센서스 및 보건 정책 표본 조사 설계 시, 최적의 통계적 정밀도 충족을 위한 표본 크기(nn) 결정에 수식 활용국가통계 신뢰성 확보
금융 분야몬테카를로 시뮬레이션 기반 위험가치(VaR) 산정 및 주가 지수 움직임 모의 실험 시 자산 분포 안정성 확보리스크 제어 및 관리
민간/AI 분야딥러닝 모델 미니배치(Mini-batch) 구성 시 배치 크기가 충분하면 매 스텝의 그래디언트 오차가 정규분포를 따르므로 가파른 수렴 유도MLOps 파이프라인 최적화

대수의 법칙과 중심극한정리 도입 시 실무적 고려사항

단계별 장애 요인 및 극복 방안

구분문제점해결방안
i.i.d. 가정의 위배시계열 데이터(주가, 서버 트래픽 등)나 공간 데이터는 데이터 간 종속성(Dependency)과 이질성(Heterogeneity)이 존재함체계적 샘플링(Systematic Sampling) 기법을 고도화하고, 시계열 데이터는 차분(Differencing) 및 변환을 통해 정상성(Stationarity)을 확보한 후 적용
헤비 테일(Heavy-tailed) 분포금융 극단 재해, 사이버 위기 트래픽 등 극단적 아웃라이어가 잦은 분포(Cauchy, Pareto 등)는 분산이 무한해 수렴이 불가능함이상치 영향도가 제거된 절단 표본평균(Trimmed Mean), 분위수 회귀 분석(Quantile Regression) 등의 견고한(Robust) 비모수 검정 기법 병행
소표본(n<30n < 30) 환경스타트업 초기 서비스나 희귀 질병 분석과 같이 샘플 수집의 물리적 한계로 표본 정밀도가 성립하지 않는 경우정규성 검정(Shapiro-Wilk)을 필수 선행하고, 미충족 시 부트스트랩(Bootstrap) 재표본 기법 및 T-분포 기반 통계적 추론 검정(T-test) 도입

차세대 기술 융합 및 미래 활성화 방안

  • 최근 급격히 발전 중인 거대 언어 모델(LLM)의 강화학습 정렬 기술인 RLHF(Reinforcement Learning from Human Feedback)에서 다수의 인간 피드백 에이전트가 제시하는 보상 함수(Reward Function)의 기댓값 추정 신뢰도 보장을 위해 대수의 법칙이 기반으로 자동 작동함.
  • 디퓨전 이미지 생성 모델(Diffusion Model)의 순방향 확산 과정에서 연속적으로 임의의 미세 노이즈를 누적 주입할 때, 각 단계의 독립 노이즈 분포와 무관하게 최종 잠재 벡터의 분포가 완전한 정규분포(가우시안 노이즈)로 정렬되는 물리적 기초가 바로 중심극한정리에 기인하는바, 차세대 생성 AI 아키텍처 설계를 위한 수학적 필수 뼈대로 활발히 응용되고 있음.

다중 에이전트 시스템

· 약 4분

다중 에이전트 시스템(MAS) 개념

  • 다중 에이전트 시스템(MAS, Multi-Agent System)이란 하나의 환경에서 자율성·반응성·능동성·사회성을 갖춘 다수의 에이전트가 통신·협상·조정을 통해, 단일 에이전트로 해결하기 어려운 복잡한 대규모 문제를 분산 협업으로 해결하는 지능형 시스템 아키텍처이다.
  • 단일 거대 LLM의 할루시네이션, 제한된 컨텍스트 윈도우, 다단계(Multi-step) 태스크의 성능 저하를 극복하기 위해 역할을 특화(Divide & Conquer)하고, A2A(Agent-to-Agent) 협업과 MCP(Model Context Protocol) 도구 연동으로 신뢰성과 비용 효율을 동시에 확보하려는 필요성에서 대두되었다.

다중 에이전트 시스템 구성도, 핵심요소, 적용방안

단일 에이전트와 다중 에이전트의 구조 대비도

다중 에이전트 시스템의 핵심 구성요소

구분핵심요소설명
에이전트(Agent)자율성, 반응성, 능동성, 사회성역할(Persona)별로 특화된 자율 의사결정 단위
오케스트레이션Supervisor, Graph 기반 라우팅LangGraph·CrewAI로 태스크 위임·흐름 제어
A2A 프로토콜Agent Card, JSON-RPC 기반 협업에이전트 간 능력 발견·태스크 위임 고수준 규격
MCPTool·Resource·Context 연동개별 에이전트의 도구·데이터 접근 저수준 규격
공유 상태Blackboard, State Persistence메모리 동기화 및 협력적 의사결정 기반

다중 에이전트 시스템 적용방안

구분내용비고
비즈니스 관점SDLC·공급망(SCM) 등 End-to-End 업무 자동화Human-in-the-loop 최소화
기술 관점역할별 sLLM 분산 배치로 토큰 비용 최적화LangGraph/CrewAI/AutoGen
보안 관점내부 메모리 비공유 협업으로 IP 보호A2A Agent Card 기반 인증

단일 에이전트와 다중 에이전트 시스템의 비교

구분단일 에이전트(Single-Agent)다중 에이전트(Multi-Agent, MAS)
아키텍처중앙 집중형 독립 구조분산형 자율 협업·오케스트레이션 구조
상호작용모델 내부 도구 호출(Tool Call)에이전트 간 통신(A2A Protocol)
내결함성단일 실패점(SPOF), 오류 시 전체 중단개별 에이전트 대체·자율 복구 가능
확장성컨텍스트·도구 증가 시 성능 저하신규 전문 에이전트 동적 추가로 확장

기술적 시사점: 단일 에이전트는 단순 Q&A에 최적이나, 복잡한 자율 워크플로우(Agentic Workflow)의 신뢰성과 확장성을 확보하려면 분산 협업형 MAS로의 전환이 효과적이다.

다중 에이전트 시스템 적용전략

  • 상호 검증 기반 신뢰도 향상: 서로 다른 관점의 에이전트가 결과를 토론(Debate)·자아 성찰(Self-Reflection)하여 할루시네이션을 억제하고 의사결정 정확도를 높인다.
  • A2A와 MCP의 상호 보완 통합: 고수준의 에이전트 간 협업은 A2A로, 개별 에이전트의 도구·데이터 접근은 MCP로 처리하는 이중 규격 하이브리드 아키텍처로 수렴한다. 두 표준은 각각 별도 거버넌스로 오픈 표준화가 진행되어, A2A는 2025년 6월 Google이 Linux Foundation에 기증해 Agent2Agent 프로토콜 프로젝트로 운영되고, MCP는 2025년 12월 Anthropic이 Linux Foundation 산하 directed fund인 Agentic AI Foundation(AAIF)에 기증하였다.
  • 프레임워크 선택 전략: 복잡·대규모 상태 오케스트레이션은 LangGraph, 역할 기반 협업은 CrewAI, 대화형 합의는 AutoGen을 활용하되, 조직 요구에 따라 혼합 적용한다.

다중 에이전트 시스템 도입 시 고려사항

구분문제점해결방안
기술에이전트 간 의견 충돌로 무한 루프·데드락 발생최대 대화 횟수(Max Rounds) 제한, 오케스트레이터 상태 조율·조기 종료
제도자율 의사결정의 책임 소재·통제 불명확온톨로지 기반 역할 사전 정의, AgentOps 거버넌스·감사 로깅
비즈니스메시지 교환 증가로 레이턴시·토큰 비용 누적비동기 메시징, 공유 블랙보드 활용, 경량 sLLM 융합 설계

향후 MAS는 A2A·MCP 표준화와 AgentOps 거버넌스 위에서, 멀티 프레임워크가 도구를 공유하는 차세대 지능형 자동화 인프라로 발전할 전망이다.

참조

맥케이브 순환복잡도(McCabe's Cyclomatic Complexity)

· 약 3분

맥케이브 순환복잡도 개념

  • 제어 흐름 그래프(Control Flow Graph)를 기반으로 프로그램 내 선형 독립 실행 경로(Linearly Independent Path)의 수를 정량 측정하는 정적 소프트웨어 복잡도 지표.
  • 기본 경로 테스트(Basis Path Testing)의 최소 테스트 케이스 수를 결정하는 상한 기준으로, 화이트박스 테스트 설계와 유지보수성 평가에 활용.

맥케이브 순환복잡도 개념도

  • 위 그래프는 간선 수 E=5E=5, 노드 수 N=5N=5, 판단 노드 수 D=1D=1이며 단일 모듈(P=1P=1)이므로 V(G)=EN+2P=55+2=2V(G)=E-N+2P=5-5+2=2로 산출.

맥케이브 순환복잡도 구성도, 핵심요소, 적용방안

맥케이브 순환복잡도 구성도

  • 소스코드의 제어 흐름을 노드(명령 구문)와 간선(분기 경로)으로 추상화하여 분기 구조를 시각화.

맥케이브 순환복잡도 핵심요소

구분핵심요소설명
간선-노드 방식V(G)=EN+2PV(G)=E-N+2P간선 수 EE, 노드 수 NN, 연결 요소 수 PP (단일 모듈은 P=1P=1) 기반 일반식
판단 노드 방식V(G)=D+1V(G)=D+1판단(Predicate) 노드 수 DD (if, while, for, case 등) 기반의 간소식
폐영역 방식V(G)=RV(G)=R평면 그래프가 분할하는 폐영역과 외부 영역의 합인 총 영역 수 RR 과 매핑
복잡도 등급V(G)10V(G)\le 10통상 10 이하 안정, 1120 보통, 2150 고위험, 50 초과 리팩토링 대상

맥케이브 순환복잡도 적용방안

구분내용비고
공공공공 SW 사업 정적 감리 시 소스코드 품질 요구사항 임계치로 반영감리 점검 기준
금융계정계 핵심 거래 모듈 단위 복잡도를 V(G)5V(G)\le 5 로 엄격 통제결함 최소화
민간CI/CD 정적 분석 도구(SonarQube 등) 품질 게이트 규칙으로 자동 통제파이프라인 연동

맥케이브 순환복잡도와 인지 복잡도 비교

구분맥케이브 순환복잡도인지 복잡도(Cognitive Complexity)
측정 목적기계적 테스트 경로 충분성·구조 복잡성 측정코드를 읽고 이해하는 정신적 부하 측정
측정 요소제어 흐름 분기 수의 단순 합산흐름 단절·중첩 깊이·논리 가중치 산출
중첩 가중치미반영 (중첩 if와 순차 if를 동일 측정)반영 (중첩 깊이에 비례 가산)
주요 활용기본 경로 테스트 케이스 설계가독성 향상·리팩토링 타깃 식별
  • 시사점: 순환복잡도는 테스트 경로 설계, 인지 복잡도는 유지보수 생산성에 특화되어 상호 보완적으로 운용해야 함.

맥케이브 순환복잡도 도입을 위한 고려사항

구분문제점해결방안
형식적 측정수치 충족만을 위한 비정상적 코드 분할 왜곡 발생인지 복잡도 혼용 정책으로 가독성 함께 통제
비용 부담과도한 경로로 테스트 케이스 설계·실행 비용 급증핵심 로직 선택 적용·정적 분석 자동화로 공수 절감
설계 경직성대용량 파싱 등 본질적 분기 로직에서 오탐 발생도메인별 복잡도 임계치(Threshold) 유연 정의
  • 복잡도 지표는 정적 분석·형상 통제의 핵심 도구로 SW 전 생명주기에 걸쳐 체계적으로 관리되어야 함.

참조

LLM AX 학습 파이프라인 (RAG, Fine-Tuning, RLHF, RAFT)

· 약 3분

LLM AX 학습 파이프라인의 개요

LLM AX 학습 파이프라인의 개념

  • 기업의 AI 전환(AX)을 위해 범용 대형언어모델(LLM)에 기업 내부 지식자산을 결합하여 도메인 특화 성능 및 신뢰성을 고도화하는 학습 및 추론 최적화 아키텍처.
  • 내재화된 파라미터 업데이트 방식(Fine-Tuning)과 외부 지식 연계 추론 방식(RAG)의 하이브리드 결합 모델 지향.

LLM AX 학습 파이프라인의 필요성

  • 도메인 정합성: 내부 기밀 규정, 제품 명세 등 비공개 특화 지식에 대한 정확한 추론 필요.
  • 최신성 및 환각 제어: 실시간 데이터 미반영으로 인한 시간적 지체 방지 및 정보 왜곡(Hallucination) 최소화.

파인튜닝(Fine-Tuning)과 RAG의 개념 및 역할

하이브리드형 LLM AX 최적화 개념도

파인튜닝과 RAG의 개념 및 역할 비교

구분파인튜닝 (Fine-Tuning)RAG (Retrieval-Augmented Generation)
개념사전 학습된 LLM의 가중치(Weight)를 특화 데이터로 업데이트질의에 부합하는 외부 지식을 검색(Search)하여 프롬프트에 결합
핵심 역할모델의 말투, 출력 형식(JSON 등), 도메인 지식의 내재화실시간 외부 데이터 접근성 확보 및 정보 근거 제시
데이터 반영가중치에 물리적 반영 (정적 학습)프롬프트 컨텍스트에 동적 주입 (실시간 반영)
장단점지식 고밀도화 / 높은 학습 리소스 및 파라미터 왜곡 위험외부 데이터 실시간성 / 컨텍스트 윈도우 크기 제약

RLHF와 RAFT 기반 학습 파이프라인 비교

RLHF 및 RAFT 기반 학습 메커니즘

  • RLHF 파이프라인: SFT 모델 기반으로 인간 선호도 데이터셋 학습을 통한 Reward Model(RRMR_{RM}) 생성 후, PPO 알고리즘을 사용해 가중치를 정렬.
    • 가중치 붕괴 방지를 위해 KL-Divergence 패널티를 보상에 적용: Raugmented(x,y)=RRM(x,y)βDKL(πθ(yx)πref(yx))R_{\text{augmented}}(x, y) = R_{\text{RM}}(x, y) - \beta \cdot D_{KL}(\pi_{\theta}(y|x) || \pi_{\text{ref}}(y|x))
  • RAFT 파이프라인: 오픈북 RAG 환경을 모방하여, 질문과 함께 Oracle 문서(DD_*, 정답 포함) 및 Distractor 문서(DkD_k, 무관한 노이즈)를 혼합 주입 후 Chain-of-Thought(CoT)로 추론하도록 SFT 진행.
    • 노이즈 문서 속에서 정답 문서의 근거를 발췌하는 RAG 독해력 자체를 내재화.

RLHF와 RAFT 파이프라인의 특성 비교

구분RLHF 기반 파이프라인RAFT 기반 파이프라인
최적화 목적인간의 윤리적 가치, 지시 이행 선호도(Alignment)에 모델 정렬도메인 특화 RAG 적용 시 노이즈 필터링 및 독해 성능 극대화
데이터 구성인간이 평가한 비교 쌍 데이터 (Pairwise Preference Dataset)질문 + 정답 문서(Oracle) + 무관 문서(Distractor) + CoT 답변
핵심 알고리즘강화학습 (PPO Policy Gradient, Actor-Critic)지도학습 (CoT 기반 Supervised Fine-Tuning)
구축 한계고비용의 인간 피드백 비용 및 RL 학습의 불안정성(Reward Hacking)Distractor 비중에 따른 학습 데이터셋 구축 난이도 존재

LLM AX 시스템 도입 시 실무적 고려사항

단계별 장애 요인 및 극복 방안

구분문제점해결방안
기술적 관점무분별한 파인튜닝 시 Catastrophic Forgetting(기존 지식 망각) 발생PEFT(LoRA/QLoRA) 도입 및 원본 모델과의 가중치 보존 비율 조정
보안적 관점RAG 구동 시 외부 문서 유출 및 민감 개인정보 유출 위험데이터 익명화 필터링 적용 및 엔터프라이즈 권한 제어(IAM) 연계
비즈니스 관점데이터셋 가공(Annotation) 및 GPU 서버 유지 비용 가중소형 오픈소스 모델(sLLM) 다중화 및 RAG-First 하이브리드 아키텍처 채택

차세대 기술 융합 및 미래 활성화 방안

  • 에이전틱 AI(Agentic AI) 연계: 향후 단일 LLM을 넘어 도구 사용(Tool Use) 능력을 결합한 멀티 에이전트 시스템으로 확장하여 기업 업무 프로세스 자동화를 AX의 종착지로 설정.
  • 온디바이스 AI 결합: Edge 단말에서의 초경량 sLLM 파인튜닝과 중앙 서버의 하이브리드 RAG 망 구성을 병행하여 인프라 비용 저감 및 응답 속도 최적화 실현