AI 36

GPT-1 간단하게 알아보기

GPT-1 Open AI에서 개발한 모델로 다양한 자연어처리 task를 처리할 수 있는 통합된 모델이 중요한 특징이다. 모델 구조와 학습 방식 우선 Text를 position 임베딩을 더한다. self-attention 블럭을 12개 쌓는다. Text Prediction : 첫 단어부터 다음 단어까지 순차적으로 예측하는 모델이다. 동시에 모델의 큰 변형없이 classification도 수행하기 위해 Text Classifier에 Extract 벡터를 최종 output layer에 전달하도록 한다. Classification이 외에 Entailment, Similarity, Multiple Choice와 같이 다른 task에도 사용가능하다. 다른 task의 transfer learning에 활용하고 싶다면..

AI/NLP 2023.12.25

BLEU Score에 대해 알아보기

BLEU Score NLP 논문을 읽다보면 정말 자주 나오는 것 같다. 우선 precision과 recall을 먼저 알고 넘어가야한다. Precision & Recall 이미지 분류 모델처럼 cross-entropy loss와 같이 일반적인 loss 방법들을 사용하면 NLP에서 맞지 않을 수 있다. 가령 문장 생성 task에서 한 문장이나 단어를 빼먹거나 문장을 더 많이 생성한다면 현재 상황을 제대로 반영하지 못한다. 예를 들어 I love you -> Oh I love you로 예측했다고 하면, 결론적으로 이 모델은 하나도 맞추지 못한 것이다. 하지만 이 경우는 Oh를 제외하기만 하면 모두 맞는 모델인데 기존 평가방법들은 이러한 정보를 반영하지 못한다. 그래서 precision과 recall 개념을 이..

AI/NLP 2023.12.25

Beam Search에 대해 알아보기

Beam Search Greedy decoding 매 타임 스텝마다 높은 확률을 가지는 단어 하나만을 선택해서 진행한다. 이를 Greedy decoding이라고 한다. 알고리즘 공부했을 때 배운, 그리디 알고리즘처럼 당시 상황에서의 최선의 선택을 하기 때문에 앞에 Greedy가 붙은 것 같다. 이 단점 중 하나는 뒤로 못 돌아가는 것이다. Exhaustive Search 그래서 joint probability를 수식으로 사용해서 해결한다. 이렇게 해서 P(y1​∣x)에서 작은 값을 가졌더라고 이후 값들에서 큰 값을 얻어 바뀔 수 있다. time step t까지의 모든 가능성을 따진다. -> 너무 큰 시간 복잡도 Beam Search 하나의 가능성만 보는 Greedy decoding과 모든 가능성을 보는 ..

AI/NLP 2023.12.25

Sequence-to-Sequence | Attention 에 대해 알아보기

Attention은 transformer 논문을 보면서 들었다. 이번에 포스팅으로 정리하면서 왜 attention이라고 부르는 지 궁금했는다. RNN기반의 모델에 비해 각 단어들의 hidden vector들과 연산을 통해 무엇을 선별적으로 선택할 지를 말해주는 vector를 만들어서 무엇을 attention할 지를 말해주기 때문이라고 생각했다. Seq2Seq Sequence to Sequence 모델은 NLP 중 many-to-many 타입에 해당되는 모델이다 인코더와 디코더로 구성되어 인코더는 input을 받고 디코더는 output을 낸다. 서로 share하지 않는다. 세부구조를 보면 여기서는 lstm을 선택한 것을 볼 수 있다. 인코더 마지막 hidden state vector는 이전 타입 스텝의 h..

AI/NLP 2023.12.25

[Word Embedding] - Word2Vec, GloVe에 대해 알아보기

Word Embedding 단어들을 특정한 차원으로 이루어진 공간 상의 한 점, 좌표로 변환해주는 기법 text dataset을 학습 데이터로 제공하고 dimension수를 사전에 정하여 알고리즘에 전달하면 결과 값으로 각각의 단어의 최적의 벡터 표현형이 나온다. 비슷한 단어는 가까운 공간에 표현되도록 한다. 이후 다른 task 모델에 데이터를 넣을 때, 성능을 향상시킨다. Word2Vec 워드 임베딩 중 유명한 알고리즘이다. 같은 문장에서 나타난 인접한 단어들 간의 의미가 비슷할 것이라는 가정을 사용한다. e.g The cat purrs. This cat hunts mice. cat 주변 단어들의 확률분포를 예측한다. 주어진 학습 데이터: "I study math." -> Tokenizing -> 단어..

AI/NLP 2023.12.25

Bag-of-Words & NaiveBayes Classifier 에 대해 알아보기

Bag-of-words 단어 등을 숫자형태로 나타내는 기법 Step 1. Vocabulary 구축 유니크한 단어들을 모아서 사전에 등록한다. 예시로 "John really really loves this movie","Jane really likes this song." 문장이 있다면 사전 Vocabulary에는 {"John","really","loves","this","movie","Jane","likes","song"}이 등록된다. Step 2. Encoding Categorical 데이터를 모델에 적용하기 위해 one-hot vector로 바꿔준다. -> 어떤 단어쌍이든 유클리드 distance : root(2) -> cosine 유사도 : 0 => 의미에 상관없이 모두가 동일한 관계 Step 3...

AI/NLP 2023.12.24

SVM 복잡한 수식 쉽게 이해하기!

SVM 전반적인 설명 svm : support Vector Machine 고차원 데이터의 분류문제에 좋은 성능 트레이드오프(generalization ability, training data) 관계에서 generalization ability 증가시키는 방향 Statistical learning theory에 근거 SVM 상황 -> 이진분류문제의 예시이다. 이처럼 hyper plane, decision boundary를 찾는 것이 목표이다! 그런데 이렇게 클래스를 구별할 수 있는 경계들이 너무 많다... 그러면 기준을 세워볼까...? svm 기준 | Margin 바로 Margin! 마진을 최대화할 수 있는 hyperplane을 찾자 → generalization error를 최소화 Margin : 각 클..

AI/ML 2023.12.24

RNN에 대해 알아보기

RNN Basic 시퀀스 데이터 먼저 시퀀스 데이터란 소리, 문자열, 주가 등의 데이터처럼 나열된 데이터를 말한다. 이벤트의 순서가 중요하다는 특징이 있다. 독립동등분포가정을 잘 위배하기 때문에 순서를 바꾸거나 과거정보에 손실이 발생하면 데이터의 확률분포도 바뀐다. 조건부 확률을 이용해 앞으로 발생할 데이터의 확률분포 다룬다. *** 과거의 모든 정보를 가지고 예측할 필요 없다. AR(τ) : 고정된 길이만큼의 시퀀스만 사용하는 경우를 표시한다. W(2),W_X(1)​,W_H(1)​은 시간 t에 따라 변하지 않는다. t에 따라 변하는 것은 잠재변수, 입력, 데이터이다. BPTT RNN의 역전파 방법이다. 잠재변수의 연결 그래프에 따라 순차적으로 계산한다. ( 현재에서 과거까지 ) ∏부분은 시퀀스 길이가 ..

AI/ML 2023.12.24

CNN에 대해 알아보기

CNN Basic Convolution 연산 신호(signal)를 커널을 이용해 국소적으로 증표 또는 감소시켜서 정보를 추출, 필터링하는 것 CNN에서 사용하는 연산은 계속 convolution이라고 불러왔지만 정확히는 cross-correlation이다. *** 위치(i,j)에 따라 커널이 바뀌지 않는다. 각 원소 성분곱으로 위의 결과는 19이다. 결과는 입력 크기 - 커널 크기 + 1 이다. 여러개의 2차원은 3차원으로 보고 Tensor라고 부른다. 채널이 여러 개인 2차원은 convolutions은 채널 개수만큼 커널을 만들고 각각의 2차원 입력에 적용한 후 더하면서 수행한다. Back propagation 포워딩 반대로 미분을 이용하여 가중치를 업데이트 시켜주는 과정이다. 으로 forwarding..

AI/ML 2023.12.24

베이즈 통계학 알아보기

베이즈 통계학 먼저 조건부 확률부터 살펴보면 P(A∩B)=P(B)P(A∣B) 베이즈 정리는 조건부확률을 이용하여 정보를 갱신하는 방법을 알려준다. 사전확률 - 데이터 분석 전, 모수나 가설 등 사전에 설정하는 확률분포 Evidence - 데이터 자체의 분포 사전확률을 베이즈 정리를 이용하여 업데이트한다. 새로운 데이터가 들어오면 이전 사후확률을 사전확률에 넣어 사후확률을 갱신할 수 있다. 조심! - 조건부 확률로 함부로 인과관계 추론하면 안된다. 인과관계 데이터 분포의 강건한 예측모형을 만들 때 필요하다. 중첩요인의 효과 제거하고 원인에 해당하는 변수만의 인과관계를 계산한다. 가짜연관성 없애기 위해

AI/ML 2023.12.24