BERT 기초 개념 BERT: Transformer에서 Encoder만 사용하는데 에떄 Bidirectional 정보만 사용한다. Pretrain: 언어 모델링 과정 Masked Language Model(MLM): 특정 위치의 부분을 Masking하고 예측하도록 만든다. 즉, 양방(forward, backward)으로 Masked 단어 주변을 모두 사용해 예측한다. Next sentence prediction(NSP): 특정한 두 쌍의 sentence가 들어왔을 때 해당하는 다음 sentence가 들어왔을 때 corpus에서 실직적으로 원래 다음에 등장한 것인지 판별한다. Fine-Tuning: Pre-train된 모델을 가져와 BERT의 제일 윗단에 하나의 단순한 레이어만을 추가해서 Fine-Tuni..
Transformer: RNN과 다르게 한번에 모든 토큰을 처리한다. 즉, Attention 사용 + 속도가 매우 빠르다. Transformer의 구조 Encoder: 한번에 모든 Sequence를 사용해 Unmasked 구조이다. Decoder: 생성 시 순차적으로 처리해야하므로 순서에 따라 Masked 구조이다. Encoder, Decoder component: 여러개의 Layer을 반복적으로 Stack 쌓음. Encoder: 2단구조( Self Attention Layer + Feed Forward Neural Network) Self Attention Layer: Token 처리 시 함께 주어진 다른 Input들을 얼마나 중요하게 볼 것인지에 대한 계산. 이때 단어의 Position은 그대로 적용..
Sequence to Sequence(Seq2seq) : 이름 그대로 sequential data를 Input으로 받은 후 일련의 처리과정을 거쳐 sequential output으로 반환하는 방법 특징: 입력과 출력의 sequence 수는 같지 않아도 된다 Encoder와 Decoder로 이루어져 있다. Encoder: 입력된 정보를 어떻게 처리해서 저장 할 것인지? Decoder: Encoder로부터 압축된 정보를 어떻게 풀어 낼 것인지? Encoder에서 각각의 item input sequence를 process해서 해당 정보들을 하나의 벡터로 생성한다. 이게 Context vector Decoder는 해당 Context vector를 받아 output sequence를 생성한다. RNN에서의 작동 ..
Image Classification: 일반적으로 이미지를 입력, 클래스 레이블을 출력으로 학습 Traditional superviesed(지도학습) image classifiers: 대규모 데이터셋을 기반으로 모델을 pre-training(ResNet,VGGNet,EfficientNet 등) Pretraining(사전학습): 모델을 우리가 원하는 데이터에 학습시키기 전, 다른 데이터에 대해 먼저 학습시키는 것. 다른 데이터에 대한 파라미터를 바탕으로 우리가 원하는 데이터의 파라미터를 만들어간다.(재학습) Limitation: Fine-tuning없이 새로운 task에 적용하기 어려워 모델의 일반화가 어렵다. 새로운 downstream task에 적합한 다량의 이미지와 레이블링 작업을 요함. 그렇기에 이..
불균형 데이터: 정상 범주의 관측시 수와 이상 범주의 관측치 수의 차이가 크게 나타날 때( + 클래스 별 관측치의 수가 현저하게 차이나는 데이터) 문제인 이유: 정상(다수)를 정확히 분류하는 것과 이상(소수)을 정확히 분류하는 것 중 이상(소수를 정확히 분류하는 것이 더 중요하다) 성능평가 위 문제에 대한 해결 방안 데이터를 조정: 샘플링 기법(Sampling Method) 언더 샘플링 오버 샘플링 모델을 조정: 비용 기반 학습(Cost sensitive learning) 단일 클래스 분류 기법(Novelty detection) 언더 샘플링(Undersampling) 다수 범주를 줄여 소수 범주의 개수와 비슷하게 만들자 Random Undersampling 다수 범주에 속한 관측치를 무작위로 줄인다: 매..
1. 미니배치 경사하강법(Mini-batch Gradient Descent) Batch gradient descent에서는 모든 반복에서 전체 훈련세트를 진행하고 각각의 반복마다 비용이 감소하기를 기대한다. 그렇기에 모든 반복마다 감소해야 한다. Mini Batch gradient descent는 모든 반복마다 감소하지는 않는다. 약간의 노이즈가 발생함. X{1}, Y{1}은 상대적 쉬운 미니배치라 비용이 낮은데 우연적으로 X{2}, Y{2}가 비용이 높은 미니배치일 수 있다. 미니배치 사이즈의 크기에 따라 학습 속도의 차이가 나기에 최적의 값을 찾아야 한다. 훈련 세트가 작을 떄(2000개 이하): 모든 훈련세트 한번에 삭습시키는 배치 경사 하강 진행 훈련세트가 클 때: 64,138,356,512와 같..
고차원 데이터의 경우 변수의 수가 많다는 의미는 불필요한 변수 존재 + 시각적 표현 어려움 + 계산 복잡도 증가 등의 문제가 발생하낟. 이를 위해 주요 변수만 선택 하는 것을 차원 축소라고 한다. 차원축소 방법 변수 선택(Selection): 분석 목적에 부합하는 소수의 예측 변수만을 선택 선택한 변수 해석 용이하지만 변수간 상관관계 고려가 어렵다. 변수 추출(Extraction): 예측 변수의 변환을 통해 새로운 변수 추출 변수간 상관관계를 고려할 수 있지만 추출된 변수의 해석이 어렵다. 4가지 종류 Supervised Featue Selection: Information gain, LASSO, Stepwise regression... etc Superviesd Feature Extraction: Pa..
1. Support Vector Machine 모델 개요 SVM : 고차원 데이터의 분류 문제에 좋은 성능을 타나낸다 기번적으로 Training Data에 대해 성능이 좋아야하지만 Overfitting되면 안된다(Generalization ability) 보통 Generalization abality와 Training Data의 성능은 Trade-Off 관계 하지만 SVM은 Test data의 성능이 좋을수록 Generalization ability가 좋아진다. 질문: 어떤 Hyperplane이 가장 좋을까?? - Maximizing Margin over the train set = minimizing generalization error Margin 2. Margin의 수학적 정의 Linear SVM ..