Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save hongsw/208f132f03cff644d5a32168135c806a to your computer and use it in GitHub Desktop.
Save hongsw/208f132f03cff644d5a32168135c806a to your computer and use it in GitHub Desktop.

Revisions

  1. hongsw revised this gist Apr 1, 2025. 1 changed file with 47 additions and 16 deletions.
    Original file line number Diff line number Diff line change
    @@ -6,14 +6,20 @@ flowchart TB
    PARSE["구문 분석 트리<br>- 문장 구조 표현<br>- 계층적 분석<br>- 의미 파악 제한"]
    end
    subgraph "대수학적 기반 (1900s~)"
    LA["선형대수학<br>(Linear Algebra)"]
    SVD["특이값 분해<br>(SVD)<br>- 행렬을 직교행렬과 대각행렬로 분해<br>- 데이터의 주요 방향성 파악"]
    PCA["주성분 분석<br>(PCA)<br>- 고차원 데이터에서 중요한 구조적 정보 추출"]
    OB["직교 기저<br>(Orthogonal Basis)<br>- 벡터 공간 표현"]
    DOT["내적 연산<br>(Dot Product)<br>- 벡터 간 유사도 계산"]
    MLE["최대우도법<br>(Maximum Likelihood Estimation)<br>- 관측 데이터를 설명하는 최적의 모델 파라미터 추정"]
    IP["정보이론<br>(Information Theory)<br>- 엔트로피, 상호정보량<br>- 분포 간 거리 측정"]
    subgraph "수학적 기반"
    subgraph "선형대수학 (Linear Algebra)"
    LA["선형대수학<br>기본 개념"]
    SVD["특이값 분해<br>(SVD)<br>- 행렬을 직교행렬과 대각행렬로 분해<br>- 데이터의 주요 방향성 파악"]
    PCA["주성분 분석<br>(PCA)<br>- 고차원 데이터에서 중요한 구조적 정보 추출"]
    OB["직교 기저<br>(Orthogonal Basis)<br>- 벡터 공간 표현"]
    DOT["내적 연산<br>(Dot Product)<br>- 벡터 간 유사도 계산"]
    end
    subgraph "확률 및 통계"
    PROB["확률론"]
    MLE["최대우도법<br>(Maximum Likelihood Estimation)<br>- 관측 데이터를 설명하는 최적의 모델 파라미터 추정"]
    IP["정보이론<br>(Information Theory)<br>- 엔트로피, 상호정보량<br>- 분포 간 거리 측정"]
    end
    end
    subgraph "통계적 기법 (1980s~1990s)"
    @@ -22,7 +28,6 @@ flowchart TB
    end
    subgraph "임베딩 모델 (2013~2014)"
    NG --> W2V & GLOVE
    W2V["Word2Vec<br>- Skip-gram, CBOW<br>- 로컬 문맥 정보만 반영<br>- 장거리 문맥 정보 부족"]
    GLOVE["GloVe<br>- 단어 공기행렬 활용<br>- 전역 통계 반영<br>- 동적 상호작용 불가"]
    end
    @@ -57,46 +62,72 @@ flowchart TB
    ALIGN["정렬 기술<br>- RLHF(인간 피드백 강화학습)<br>- Constitutional AI<br>- 다중 목표 최적화"]
    end
    %% 전통적 접근법 내부 연결
    SYM --> RULE --> PARSE
    %% 전통적 접근법과 통계적 기법 연결
    SYM --> NG
    PARSE --> NG
    LA --> SVD & OB & DOT & MLE & IP
    %% 수학적 기반 내부 연결
    LA --> SVD & OB & DOT
    SVD --> PCA
    PROB --> MLE & IP
    %% 수학적 기반과 통계적 기법 연결
    IP --> NG & BS
    MLE --> NG & BS
    BS --> NG
    SVD --> PCA
    %% 수학적 기반과 임베딩 모델 연결
    OB & DOT --> W2V & GLOVE
    PCA --> W2V & GLOVE
    MLE --> W2V & GLOVE
    NG --> W2V & GLOVE
    IP --> W2V
    %% 통계적 기법과 임베딩 모델 연결
    NG --> W2V & GLOVE
    %% 임베딩 모델과 시퀀스 모델 연결
    W2V & GLOVE --> RNN
    %% 시퀀스 모델 내부 연결
    RNN --> LSTM
    LSTM --> S2S
    MLE --> S2S
    S2S --> ATT
    LSTM --> ATT
    %% 시퀀스 모델과 Transformer 연결
    ATT --> SA & MHA
    DOT --> SA
    MLE --> SA
    %% Transformer 내부 연결
    PE & MHA & SA & LN & FFN --> TF
    %% Transformer와 Transformer 기반 모델 연결
    LSTM --> ELMO
    ELMO --> BERT
    TF --> BERT & GPT & T5
    %% Transformer 기반 모델과 이후 발전 방향 연결
    BERT & GPT & T5 --> SCALING & EFFIC & ARCH & ALIGN
    %% 스타일 정의
    style RULE fill:#fff0e6,stroke:#333,stroke-width:1px
    style SYM fill:#fff0e6,stroke:#333,stroke-width:1px
    style PARSE fill:#fff0e6,stroke:#333,stroke-width:1px
    style LA fill:#f9f9f9,stroke:#333,stroke-width:1px
    style LA fill:#f0f0ff,stroke:#333,stroke-width:1px
    style SVD fill:#f0f0ff,stroke:#333,stroke-width:1px
    style PCA fill:#f0f0ff,stroke:#333,stroke-width:1px
    style OB fill:#f0f0ff,stroke:#333,stroke-width:1px
    style DOT fill:#f0f0ff,stroke:#333,stroke-width:1px
    style MLE fill:#f0f0ff,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style IP fill:#f0f0ff,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style PROB fill:#e6f7ff,stroke:#333,stroke-width:1px
    style MLE fill:#e6f7ff,stroke:#333,stroke-width:1px
    style IP fill:#e6f7ff,stroke:#333,stroke-width:1px
    style NG fill:#ffebcc,stroke:#333,stroke-width:1px
    style BS fill:#ffebcc,stroke:#333,stroke-width:1px
    @@ -114,7 +145,7 @@ flowchart TB
    style SA fill:#ffe6e6,stroke:#333,stroke-width:1px
    style FFN fill:#ffe6e6,stroke:#333,stroke-width:1px
    style LN fill:#ffe6e6,stroke:#333,stroke-width:1px
    style TF fill:#ffe6e6,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style TF fill:#ffe6e6,stroke:#333,stroke-width:1px
    style ELMO fill:#d6f5d6,stroke:#333,stroke-width:1px
    style BERT fill:#d6f5d6,stroke:#333,stroke-width:1px
  2. hongsw revised this gist Apr 1, 2025. No changes.
  3. hongsw created this gist Apr 1, 2025.
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,128 @@
    ```mermaid
    flowchart TB
    subgraph "자연어 처리 전통적 접근법 (1950s~1980s)"
    RULE["규칙 기반 시스템<br>- 문법 규칙 수동 정의<br>- 전문가 지식 기반<br>- 확장성 한계"]
    SYM["기호주의 접근법<br>- 형식 언어 및 문법<br>- 논리 기반 추론<br>- 애매성 처리 어려움"]
    PARSE["구문 분석 트리<br>- 문장 구조 표현<br>- 계층적 분석<br>- 의미 파악 제한"]
    end
    subgraph "대수학적 기반 (1900s~)"
    LA["선형대수학<br>(Linear Algebra)"]
    SVD["특이값 분해<br>(SVD)<br>- 행렬을 직교행렬과 대각행렬로 분해<br>- 데이터의 주요 방향성 파악"]
    PCA["주성분 분석<br>(PCA)<br>- 고차원 데이터에서 중요한 구조적 정보 추출"]
    OB["직교 기저<br>(Orthogonal Basis)<br>- 벡터 공간 표현"]
    DOT["내적 연산<br>(Dot Product)<br>- 벡터 간 유사도 계산"]
    MLE["최대우도법<br>(Maximum Likelihood Estimation)<br>- 관측 데이터를 설명하는 최적의 모델 파라미터 추정"]
    IP["정보이론<br>(Information Theory)<br>- 엔트로피, 상호정보량<br>- 분포 간 거리 측정"]
    end
    subgraph "통계적 기법 (1980s~1990s)"
    NG["N-gram 모델<br>- 연속된 n개 토큰의 통계<br>- 마르코프 가정 기반<br>- 희소성 문제와 저장 공간 제약"]
    BS["Back-off & Smoothing<br>- 희소 데이터 처리<br>- 관측되지 않은 패턴 확률 추정"]
    end
    subgraph "임베딩 모델 (2013~2014)"
    NG --> W2V & GLOVE
    W2V["Word2Vec<br>- Skip-gram, CBOW<br>- 로컬 문맥 정보만 반영<br>- 장거리 문맥 정보 부족"]
    GLOVE["GloVe<br>- 단어 공기행렬 활용<br>- 전역 통계 반영<br>- 동적 상호작용 불가"]
    end
    subgraph "시퀀스 모델 (2014~2017)"
    RNN["RNN 구조<br>- 순환 연결<br>- 시퀀스 처리의 기초<br>- 기울기 소실/폭발 문제"]
    LSTM["LSTM & GRU<br>- 장기 의존성 문제 해결<br>- 게이트 메커니즘 도입"]
    S2S["Seq2Seq<br>- 고정 크기 컨텍스트 벡터<br>- 긴 시퀀스에서 정보 손실"]
    ATT["Attention Mechanism<br>- 입력 시퀀스에 동적 가중치 할당<br>- 정보 압축 문제 해결"]
    end
    subgraph "Transformer (2017)"
    PE["위치 인코딩<br>(Positional Encoding)<br>- 순서 정보 삽입<br>- 상대적/절대적 위치 표현"]
    MHA["Multi-Head Attention<br>- 다양한 관점의 Attention<br>- 서로 다른 표현 공간 학습"]
    SA["Self-Attention<br>- QKV 벡터의 내적과 Softmax<br>- 모든 토큰 쌍의 유사도 계산<br>- 병렬 연산과 전역 문맥 처리"]
    FFN["Position-wise Feedforward Network<br>- Attention 정보의 비선형 변환<br>- 표현력 강화"]
    LN["Layer Normalization<br>- 학습 안정화<br>- 기울기 문제 완화"]
    TF["Transformer 아키텍처<br>- RNN의 순차적 처리 문제 해결<br>- 장기 의존성 문제 해결"]
    end
    subgraph "Transformer 기반 모델 (2018~2020)"
    ELMO["ELMo<br>- 양방향 LSTM 활용<br>- 문맥적 단어 임베딩<br>- 전이 학습 접근법"]
    BERT["BERT<br>- 양방향 인코더<br>- 마스킹 기반 사전 학습<br>- 문맥적 표현"]
    GPT["GPT<br>- 단방향 디코더<br>- 자기회귀 언어 모델<br>- 생성 능력"]
    T5["T5<br>- 모든 NLP 작업을 텍스트-투-텍스트로 통합<br>- 다양한 손상 기법 적용"]
    end
    subgraph "Transformer 이후 발전 방향 (2020~현재)"
    SCALING["대규모화(Scaling)<br>- GPT-3/4/5, PaLM, LLaMA<br>- 수천억 파라미터 규모<br>- 새로운 능력 발현(Emergence)"]
    EFFIC["효율성 개선<br>- Performer, Reformer<br>- FLASH Attention<br>- Mixture of Experts(MoE)"]
    ARCH["아키텍처 발전<br>- Mamba(State Space Models)<br>- RetNet(Retention Network)<br>- Multimodal Transformers"]
    ALIGN["정렬 기술<br>- RLHF(인간 피드백 강화학습)<br>- Constitutional AI<br>- 다중 목표 최적화"]
    end
    SYM --> RULE --> PARSE
    SYM --> NG
    PARSE --> NG
    LA --> SVD & OB & DOT & MLE & IP
    IP --> NG & BS
    MLE --> NG & BS
    BS --> NG
    SVD --> PCA
    OB & DOT --> W2V & GLOVE
    PCA --> W2V & GLOVE
    MLE --> W2V & GLOVE
    NG --> W2V & GLOVE
    IP --> W2V
    W2V & GLOVE --> RNN
    RNN --> LSTM
    LSTM --> S2S
    MLE --> S2S
    S2S --> ATT
    LSTM --> ATT
    ATT --> SA & MHA
    DOT --> SA
    MLE --> SA
    PE & MHA & SA & LN & FFN --> TF
    LSTM --> ELMO
    ELMO --> BERT
    TF --> BERT & GPT & T5
    BERT & GPT & T5 --> SCALING & EFFIC & ARCH & ALIGN
    style RULE fill:#fff0e6,stroke:#333,stroke-width:1px
    style SYM fill:#fff0e6,stroke:#333,stroke-width:1px
    style PARSE fill:#fff0e6,stroke:#333,stroke-width:1px
    style LA fill:#f9f9f9,stroke:#333,stroke-width:1px
    style SVD fill:#f0f0ff,stroke:#333,stroke-width:1px
    style PCA fill:#f0f0ff,stroke:#333,stroke-width:1px
    style OB fill:#f0f0ff,stroke:#333,stroke-width:1px
    style DOT fill:#f0f0ff,stroke:#333,stroke-width:1px
    style MLE fill:#f0f0ff,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style IP fill:#f0f0ff,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style NG fill:#ffebcc,stroke:#333,stroke-width:1px
    style BS fill:#ffebcc,stroke:#333,stroke-width:1px
    style W2V fill:#e6f3ff,stroke:#333,stroke-width:1px
    style GLOVE fill:#e6f3ff,stroke:#333,stroke-width:1px
    style RNN fill:#e6ffe6,stroke:#333,stroke-width:1px
    style LSTM fill:#e6ffe6,stroke:#333,stroke-width:1px
    style S2S fill:#e6ffe6,stroke:#333,stroke-width:1px
    style ATT fill:#e6ffe6,stroke:#333,stroke-width:1px
    style PE fill:#ffe6e6,stroke:#333,stroke-width:1px
    style MHA fill:#ffe6e6,stroke:#333,stroke-width:1px
    style SA fill:#ffe6e6,stroke:#333,stroke-width:1px
    style FFN fill:#ffe6e6,stroke:#333,stroke-width:1px
    style LN fill:#ffe6e6,stroke:#333,stroke-width:1px
    style TF fill:#ffe6e6,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style ELMO fill:#d6f5d6,stroke:#333,stroke-width:1px
    style BERT fill:#d6f5d6,stroke:#333,stroke-width:1px
    style GPT fill:#d6f5d6,stroke:#333,stroke-width:1px
    style T5 fill:#d6f5d6,stroke:#333,stroke-width:1px
    style SCALING fill:#e6f7ff,stroke:#333,stroke-width:1px
    style EFFIC fill:#e6f7ff,stroke:#333,stroke-width:1px
    style ARCH fill:#e6f7ff,stroke:#333,stroke-width:1px
    style ALIGN fill:#e6f7ff,stroke:#333,stroke-width:1px
    ```