본문 바로가기

ML-DL

(20)
KL Divergence [Kullback-Leibler Divergence] 1. KL Divergence ?두 확률 분포 간의 차이를 측정하는 함수로, 모델이 예측한 확률 분포와 실제 데이터 분포 간의 차이를 최소화 할 때 사용된다. 예측 분포와 실제 분포의 차이를 정량적으로 평가할 수 있으며 분류 모델에서 손실 함수로 사용 되기도 한다.KL Divergence 값이 0에 가까울 수록 두 개의 분포가 비슷하다는 것을 의미하며, 크면 클수록 두 분포가 차이가 크기 때문에 정보 손실이 크다고 해석할 수 있다. 2. 수식이산확률분포 :$\mathit{D}_{KL}(P\left| \right|Q)=\sum_{i}P(i)\cdot log(\frac{P(i)}{Q(i)})$ $=\sum_{i}P(i)logP(i)-\sum_{i}P(i)logQ(i)$ $=-H(P)+H(P, Q)$ $P(i..
DPO [Direct Preference Optimization] 이란? 1. DPO ?LLM 에서 사람의 피드백을 반영하여 성능을 최적화하는 방법 이다. Preference Optimization 을 통해 모델이 사람의 선호도를 직접 반영하는 응답을 생성하도록 학습하는 기법이다. 기존의 강화 학습과는 다르며, RLHF [Reinforcement Learning with Human Feedback] 를 대체하거나 보완하는 목적으로 사용된다. 2. 학습 방법핵심 아이디어는 사람이 선호하는 응답을 모델이 더 잘 예측하도록 하는 것이다. 일반적으로 선호되는 응답 $x_{preferred}$ 과 그렇지 않은 응답 $x_{non-preferred}$ 을 모델이 비교하여 선호되는 응답을 더 높은 확률로 예측할 수 있도록 모델을 업데이트 한다. 1. 특정 질문에 대해 여러 응답을 생성한 ..
[개인 프로젝트] S-Walk 논문 모델로 추천 모델 구현해보기 -1 [MovieLens 데이터셋 설명, 코랩 구글드라이브 연동하기, 데이터 전처리] 1. Datahttps://grouplens.org/datasets/movielens/ MovieLensGroupLens Research has collected and made available rating data sets from the MovieLens web site ( The data sets were collected over various periods of time, depending on the size of the set. …grouplens.org위의 MovieLens 데이터셋을 활용했다. 해당 데이터는 87,585개의 영화에 대해 32,000,204 개 평가와 2,000,072 개 태그가 포함되어 있으며, 모든 사용자가 최소 20개 이상을 평가했다.  Colab 에서 진행했으므로 ..
[개인 프로젝트] BERT 기반으로 비속어 [단어] 탐지 모델 구축 1. 프로젝트 정의비속어 [단어] 탐지 모델을 만들어보려고 하는데 가지고 있는 데이터가 적기 때문에 BERT 기반으로 비속어 감지 모델을 구축하고자 한다. 이때 transformers 라이브러리로 pre-trained BERT 모델을 불러오고, 가지고 있는 데이터로 fine-tuning하려고 한다. 모델을 활용해 주어진 단어가 비속어인지 아닌지 여부를 예측할 수 있다. 2. 데이터https://jizard.tistory.com/288 자주쓰는 최신 비속어 리스트 (욕설 필터링 txt 첨부파일 제공)인터넷에 떠돌아다니는 비속어 리스트를 보면...적어도 20년은 묵은듯한 단어들이 많이 나오는데, 이건 그래도 비교적 최신(?) 비속어 리스트다.jizard.tistory.com위의 사이트에서 "fword_li..
파라미터와 하이퍼파라미터 차이 1. 파라미터 [Parameter ; 매개변수] : 모델 이 데이터로부터 학습하는 값들을 말한다. 사용자에 의해 조정되지 않는다. 학습 데이터를 통해 업데이트 되고, 모델의 예측을 결정하는 핵심 요소이다. 예시1 ) 한 학교에서 학생들의 몸무게에 대한 분포를 그린다고 할때, 분포의 평균과 표준편차 값은 파라미터 이다.예시2 ) 머신러닝에서는 가중치와 편향 등이 파라미터에 해당한다.  2. 하이퍼파라미터 [Hyper Parameter] : 모델링 진행시 사용자가 직접 세팅해주는 값을 뜻한다. 정해진 최적의 값은 없으며, 휴리스틱한 방법이나 경험에 의해 결정되는 경우가 많다. 예시 ) 머신러닝에서 learning rate, epoch 등이 있다.  3. 참고https://bkshin.tistory.com/e..
Transformer Model [트랜스포머 모델] 정리 - [1] 이 글은 Transformer 에 대해 직관적으로 이해하고 이해한 바를 잊지 않기 위해 여러 글을 참고하여 작성 / 정리해둔 글입니다.  1. Transformer 배경기존 seq2seq 모델의 한계 [입력 시퀀스를 벡터로 압축하는 과정에서 정보 일부 손실 등] 를 보정하기 위해 attention 이 나왔다. 그렇다면 attention을 보정하기 위해서 추가로 사용하는 용도가 아니라 attention 만으로 인코더와 디코더를 만들어본다면?  2. Transformer 란?트랜스포머 모델은 문장 속 단어와 같은 순차 데이터 내의 관계를 추적해 맥락과 의미를 학습하는 신경망이다.  트랜스포머는 RNN을 사용하지 않지만 인코더-디코더 구조를 유지하고 있다. 이전 seq2seq 구조에서는 인코더와 디코더에서 각..
Attention Mechanism [어텐션 메커니즘] 정리 이 글은 Attention 에 대해 직관적으로 이해하고 이해한 바를 잊지 않기 위해 여러 글을 참고하여 작성 / 정리해둔 글입니다. 1. Attention 배경더보기Seq2Seq? RNN은 출력이 바로 이전 입력까지만 고려해서 정확도가 떨어진다. 전체 입력 문장을 고려하지 않고 다음 문장을 생성하기 때문이다. 그래서 등장하게된 것이 seq2seq. Seq2Seq Network [Encoder Decoder Network] 는 두 개의 RNN [1D CNN도 가능] 으로 구성된 모델이다.  1) Encoder 는 입력 시퀀스를 읽고 단일 벡터[Context Vector]를 출력한다.  2) Decoder 는 이 Context Vector를 읽어 출력 시퀀스를 생성한다. d출처 : https://jalamm..
GNN [Graph Neural Network] - 1 1. 그래프 모델이 나온 이유?CNN, RNN, Transformer 등의 Representation Learning 모델은 복잡한 구조와 관계를 지니는 경우 임베딩에 한계가 있었고, 이를 해결하기 위해 그래프를 사용한 신경망 모델이 제안되었다. 그래프 모델은 관계와 상호작용을 다루기에 적합하고 더 간단하게 표현 할 수 있다. CNN : Euclidean 공간에서 행과 열로 배열된 픽셀들로 이루어진 이미지에서 특징을 추출함RNN : Recurrent 구조를 통해 input으로 주어지는 시계열 데이터인 sequence의 특징을 추출함Transformer : self-attention 구조를 통해 어떤 한 부분에서 주의를 기울여야 할 여러 부분을 병렬적으로 함께 처리함으로써 input의 특징을 추출함 2. ..