사전 훈련된 Word2Vec 모델 불러오기
여러 오픈 소스 플랫폼에서 다양한 언어와 도메인에 대한 사전 훈련된 Word2Vec 임베딩을 찾을 수 있습니다. 이 임베딩을 불러옵니다.
임베딩 층 초기화
신경망 모델의 첫 번째 층으로 임베딩 층을 추가합니다. 이 층의 가중치를 사전 훈련된 Word2Vec 임베딩으로 초기화합니다.
학습 가능성 설정
초기 학습 단계에서 임베딩 층의 가중치를 고정(즉, 학습하지 않도록)하면 과적합의 위험을 줄일 수 있습니다. 일단 모델이 어느 정도 수렴하면, 임베딩 층의 가중치를 학습 가능하게 설정하여 미세 조정할 수 있습니다.
모델 학습
나머지 모델 구조를 정의한 후, 작은 데이터셋을 사용하여 모델을 학습시킵니다.
평가 및 미세 조정
검증 데이터셋을 사용하여 모델의 성능을 평가합니다. 필요에 따라 모델 구조나 학습률 등의 하이퍼파라미터를 미세 조정합니다.
사전학습 임베딩 벡터 모델을 잘못된 위치에서 사용하였다...ㅎㅎㅎ
전통적인 방식은 training data를 원-핫 벡터나 정수 인코딩으로 변환하고, 이를 LSTM 모델의 임베딩 레이어의 입력으로 사용하는 것입니다. 이때 임베딩 레이어의 가중치를 사전 학습된 임베딩(예: FastText)으로 초기화하게 됩니다. 이렇게 하면 모델 학습 시 이 임베딩이 미세 조정(fine-tuning)될 수 있습니다.
(나 같은 경우는 사전학습 임베딩 벡터 모델로 training data를 벡터화 하였다..ㅎㅎㅎㅎ)
기존의 사전 학습된 임베딩만을 사용했을 때와 추가 학습을 진행한 후의 성능을 비교합니다. 분류 정확도나 F1 스코어, ROC AUC와 같은 메트릭을 사용하여 두 모델의 성능 차이를 확인할 수 있습니다.
또한, 학습된 모델을 통해 특정 단어나 문장의 임베딩 벡터를 추출하고, 이를 2D 또는 3D 공간에 시각화하여 변화를 관찰하는 것도 도움이 될 수 있습니다. t-SNE나 PCA 같은 차원 축소 기법을 사용하면 임베딩 벡터의 변화를 직관적으로 파악할 수 있습니다.