본문 바로가기

[NLP] BERT (Bidirectional Encoder Representations from Transformer) 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. 구글에서 공개한 모델인 BERT는 앞에서 소개했던 트랜스포머 블록을 사용하고 bi-directional하기 때문에 좋은 성능을 내어 많이 사용되고 있다. (논문 pdf : https://arxiv.org/pdf/1810.04805.pdf) 이전 다른 모델들(GPT, ELMo)과 BERT를 비교해보자. GPT는 주어진 sequence로 다음 단어를 예측하는 언어 모델이라서 단어 sequence를 한 방향으로만 보는 아키텍쳐를 지니고 있으며, ELMo는 bi-LSTM layer 상단은 양방향이지만 중간 layer는 한 방향으로 학습되는 모델이다. ..
[NLP] Transformer Network 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. 구글 NIPS에서 공개한 트랜스포머 네트워크는 자연어처리에 큰 획을 그었다. 이후 개발된 BERT, GPT 등의 모델은 모두 이 트랜스포머 블록을 기본 모델로 사용하고 있다. (논문 pdf : https://arxiv.org/pdf/1706.03762.pdf) Scaled Dot-Product Attention Transformer block의 주 요소 중 하나인 Scaled Dot-Product Attention은 아래 수식을 통해 계산된다. 행렬 형태인 입력 X는 (입력 문장 단어 수) * (입력 임베딩 차원 수) 크기를 가지고 있으며, 쿼..
[NLP] ELMo (Embeddings from Language Models) 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. ELMo는 문장 임베딩 기법 중 하나로, 전이 학습(transfer learning)을 NLP에 접목시킨 언어 모델이다. 단어 sequence가 얼마나 자연스러운지에 대해 확률값을 부여하며, 입력한 단어들 뒤에 어떤 단어가 올지 맞추는 방식으로 학습된다. ELMo가 등장한 이후, 모델을 pre-train시킨 뒤 각종 downstream task (classification 등 우리가 풀고 싶은 task들)에 적용하는 방식이 일반화되었으며, 이런 과정을 pre-train model을 downstream task에 맞게 fine tuning한다고 ..
[NLP] 잠재 디레클레 할당 (LDA) 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. 토픽 모델링 (Topic Modeling)이라고 불리기도 하는 LDA (Latent Dirichlet Allocation)란, 각 문서에 어떤 주제가 존재하는지 나타내는 확률 모형이다. LDA는 말뭉치 이면에 존재하는 정보를 추론하는, 잠재 정보를 알아내는 과정이므로 잠재(Latent)라는 단어가 붙으며, 변수 중 디레클레 분포를 따르는 변수가 있기 때문에 디레클레(Dirichlet)라는 단어로 명명되어 있다. http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf http://www.cs.columb..
[INTERVIEW] 엔씨소프트 2020 Summer Intern 면접 준비 나의 상반기 인턴 마지막 카드인 ncsoft... 지원동기 시작을 '게임에 대해 아는 것이 거의 없고, 게임을 잘 할 줄도 모르는'이라고 했던 서류가 붙었다니 신기하면서 이거 참 큰일났다는 생각이 들었다. 그래도 어려운 코로나 시국 속 면접을 보게해 준 유일한 곳이라 너무 감사하면서도, 학교 현장실습이 아닌 공식 채용 면접은 처음이라 너무 긴장이 된다. 미래에 나처럼 벌벌 떨고 있을 다른 누군가를 위해 조금이나마 도움이 되지 않을까 하여 준비 과정을 적어보려고 한다. 지원 직군 : AI R&D - Knowledge AI (여기를 넣은 이유는... 다른 직군은 내가 지원할 수 없었기에....😅) 1. 지원 서류 관련 준비 본인은 긴장을 너무나도 많이 하는 쫄보 스타일이기에, 1차 면접 진행 소식을 들었을 ..
[Python] Pandas 행, 열 출력 개수 설정 import pandas as pd pd.options.display.max_rows = 999 pd.options.display.max_columns = 999
[ADsP] 3-5. 정형 데이터 마이닝 (6) 연관 분석 1. 연관규칙 (Association Analysis) 상품 구매, 서비스 등 일련의 거래 또는 사건들 간 규칙 발견 위해 적용 (장바구니 분석, 서열분석) 개념 - if-then 형태 (Item set A → Item set B) 측도 - 지지도(support) = P(A∩B) - 신뢰도(confidence) = P(A∩B) / P(A) = 지지도(support) / P(A) - 향상도(lift) = P(B|A) / P(B) = P(A∩B) / P(A)*P(B) 절차 - 최소 지지도 결정 → 최소 지지도보다 넘는 품목 분류 → 2가지 품목 집합 생성 → 반복적 수행 통해 자주 나오는 품목 집합 찾기 - 처음에는 5% 정도로 잡고 규칙 충분히 도출되는지 확인 후 다양하게 조절하여 시도 장점 - 탐색적 기..
[ADsP] 3-5. 정형 데이터 마이닝 (5) 군집 분석 1. 군집분석 개요 각 객체 유사성 측정하여 유사성 높은 대상집단 분류 군집 속한 객체 유사성과 서로 다른 군집 속한 객체간 상이성 규명하는 분석 방법 거리 기준으로 군집화 유도 * 요인분석 : 유사한 변수 함께 묶어줌 * 판별분석 : 사전에 나눠진 집단 자료 통해 새로운 데이터를 기존 집단에 할당 2. 전통적 군집분석 통계적 기법 - clustering, k-means - 변수 선정하고 구간대로 나눈 뒤 격자형으로 단순히 나누고 집단 적으면 병합하기도 - 집단 간 프로파일 차이 나지 않을 때 존재 / 특성 변동 따라 고객 집단 이동할수도 목표기반 세분화 방법 - 고객가치, 특정상품 구매 고객 타겟으로 세분화 - 해당 집단 많이 존재하는 군집 구분 프로파일링 방법 - 격자 세분화 → 집단간 차이가 세분화..