Syeonny의 블로그

[언어] 기초 (4-2) 본문

딥러닝

[언어] 기초 (4-2)

syeonny 2024. 11. 9. 01:14
반응형

241107 

 

 

interpolation 보간법 vs linear regression 선형 회귀 

 

보간법이 신경망과 비슷함

 

보간법이란? 

이미 알고 있는 데이터 포인트를 기반으로 그 사이의 값을 예측하는 방법

 

선형 보간법

두 개의 인접한 데이터를 직선으로 연결하여 그 사이의 값을 추정함

 

 

신경망

 

  • 주어진 입력 데이터를 바탕으로 출력 값을 근사하거나 예측하는 역할
  • 학습된 가중치와 비선형 활성화 함수들을 통해 복잡한 함수 근사를 수행
  • 입력 계층에서 받은 데이터를 여러 층의 뉴런과 가중치 조합을 통해 출력으로 매핑하는 방식으로 동작

 

 

 

차원 축소 방법 

 

주성분 분석 

 

PCA Principal Component Analysis 주성분 분석 

 

고차원 데이터의 차원을 축소하여 데이터의 핵심 정보를 유지하면서 데이터의 복잡성을 줄이는 데 사용

차원이 늘어날수록 데이터가 정교해지고 성능은 좋아짐

그러나 공간이 낭비되기에 오히려 성능이 낮아지는 "차원의 저주"가 발생

차원이 작아져도 최대한 차원을 보존. 

 

 

차원의 저주

  • 데이터의 차원이 증가함에 따라 데이터 공간이 기하급수적으로 확장, 공간의 낭
  • 데이터 포인트 간의 거리가 점점 더 멀어짐
  • 모델의 과적합, 일반화 성능 저하 

 

feature extraction 

  • 단순하게 차원을 줄이는 게 아닌 모델에 의미가 있을만한 저차원 특징을 추출
  • 잡음은 제거되어 모델 성능 향상 
  • 주성분을 선택하여 차원을 버리는 게 아님. 실제 데이터의 중요한 부분은 유지 

 

* 3-2에 들었던 주성분분석 찾아보기 

 

 

 선형 판별 분석 

 

LDA  Linear Discriminant Analysis

 

데이터의 분산을 최대화하면서 클래스 간의 분리도를 높이는 방향으로 데이터를 변환하여 차원을 줄임 

클래스의 정보를 활용하여 레이블 된 데이터를 통해 클래스 구분이 잘되는 방향을 찾아 차원 축소함

차원 보존보단 분류가 잘되게.

 

 

 

 

J(W) 목적함수 

클래스 간 평균 차이를 클래스 내 분산 합으로 나눈 값

  • 분자: 값이 클수록 두 클래스가 투영된 방향에서 더 잘 구분 
    • 클래스 간의 평균 차이를 최대화하여, 투영된 공간에서 클래스 간의 분리도를 최대화
  • 분모
    • 값이 작을수록 클래스 내부의 데이터가 더 밀집되어 있음을 의미
    • 최소화하여 같은 클래스의 데이터들이 투영된 공간에서 더 밀집되게 만듦

 

 

PCA데이터의 분산을 최대화하는 주성분을 찾는 비지도 학습 기법으로 클래스 정보를 고려하지 않음

LDA클래스 간 분리도를 최대화하는 변환을 찾기 위해 클래스 정보를 활용하는 지도 학습 기법

 

 

 

 

RNN 

 

 

* 참조

https://ddevkingsy.tistory.com/109

 

 

  • 시간의 흐름에 따라 정보를 처리하고 각 time step에서 이전의 hidden state와 현재 입력을 기반으로 다음 hidden state를 계산함
  • 입력과 출력
    • x_t: 현재 입력 벡터
    • h_t-1: 이전 hidden state 벡터
    • h_t: 현재 hidden state 벡터
    • y_t: 출력 벡터
  • 가중치
    • w_xh: 입력 벡터와 hidden state를 연결하는 가중치
    • w_hh: 이전 hidden state와 현재 hidden state를 연결하는 가중치
    • w_hy: hidden state와 출력 벡터를 연결하는 가중치
  • 수식
    • 현재 hidden state 계산: h_t=tanh⁡(w_hh*h_t−1+w_xh*x_t)
    • 출력 계산: y_t = w_hy * h_t
  • 동작 원리
    • 각 time step에서 입력 x_t와 이전 hidden state h_t−1를 기반으로 새로운 hidden state h_t를 계산합니다.
    • 계산된 hidden state는 다음 time step으로 전달되거나 출력층으로 전달되어 최종 출력 y_t를 생성

RNN은 시간 순서에 따라 정보를 처리하고, hidden state는 일종의 메모리 역할을 하여 이전 시점의 정보를 저장하고 활용

 

 

 

 

강화학습 

 

 

 

action 의 sequence 반복되는 의사결정

 

  고전적인 강화학습  신경망 강화학습 
장점 최적해 빠른 계산
단점 시간이 오래걸림  최적이 보장 안됨 

 

 

강화학습 Reinforcement Learning (RL)

 

주어진 환경에서 에이전트가 최적의 행동(action)을 학습하여 보상최대화

  • states 에서 행동을 취하고 그에 대한 reward 를 받아 다음 상태로 이동
  • 이 과정을 통해 최적의 행동 policy 를 학습
  • 주어진 reward를 보고 최적의 action 을 찾는것 
  • 그러나 reward를 모름 (본인 자체도 모르는 경우, 항상 매순간 reward가 존재하는 게 아님)

 

 

역강화학습 Inverse Reinforcement Learning (IRL)

 

에이전트가 reward 를 모르고 주어진 행동 데이터를 통해 reward 를 역으로 추정

  • 따라하고 싶은 사람 (ex. 전문가) 의 상황에서 움직임을 봄. 
  • 행동 데이터를 분석, 역으로 추적하여 (inverse) 그 사람의 reward를 찾아줌 

 

 

모방학습  Imitation learning 

 

reward와 상관없이 states action 관찰하고 모방하여 학습

reward 없이 하나의 특정된 사람 (전문가) 의 시연 데이터를 기반으로 학습함. 모방 

 

 

 

 

LLM 

 

 

RLHF 

Reinforcement Learning by human feedback 

 

GPT Generative Pre-trained Transformer

 

미리 훈련된 모델을 갖다가 사용함 

신경망 기반 인코더 디코더 

 

 

 

 

 

반응형

'딥러닝' 카테고리의 다른 글

[언어] 기초 (4) GAN  (0) 2024.11.08
[언어] 기초 (5) PLM LLM RAG  (0) 2024.11.08
[언어] 기초 (3) 모델 셋업  (0) 2024.11.08
[언어] 기초 (2) CF CBF  (0) 2024.11.08
[언어] 기초 (1) TF-IDF Word Embedding  (0) 2024.11.08