본문 바로가기

전체 글

(14)
Python 내장 함수 정리 (A~E) 본 게시글에서는 Python에서 기본으로 제공되는 내장 함수 A~E에 해당하는 함수들을 소개한다. 내장 함수를 잘 활용하면 코드를 더 간결하게 만들 수 있다. 기본적인 함수와 자주 사용하는 함수만 정리했고, 나머지 함수들은 Python 공식 문서에서 더 자세하게 공부할 수 있다. A abs(x) 절댓값 구할 때 사용하는 함수다. n = 123 abs(n) >> 123n = -123 abs(n) >> 123all(iterable) iterable의 모든 요소가 True 또는 비어있으면 True를 반환한다. l = [1, 2, 3, 4, 5] # 모든 요소가 int 타입인가? all(x for x in l if type(x) == int) >> Trueany(iterable) iterable의 요소 중 하나..
Language Model 관련 연구 리스트(2017~2020) Transformer 제목: Attention Is All You Need 연도: 2017 학회: NIPS url: https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf github: 정리: [논문] Attention Is All You Need | Transformer ELMo 제목: Deep contextualized word representations 연도: 2018 학회: NAACL url: https://arxiv.org/pdf/1802.05365.pdf github: GPT 제목: Improving language understanding by generative pre-training..
Passage Retrieval 관련 연구 PARM: A Paragraph Aggregation Retrieval Model for Dense Document-to-Document Retrieval 요약 Document-to-Document 검색을 위한 PARM(Paragraph Aggregation Retrieval Model)과 PARM에 적합한 순위 집계 함수 VRRF(Vector-based aggregation with Reciprocal Rank Fusion) 제안 연도: 2022 논문 url: [2201.01614] PARM: A Paragraph Aggregation Retrieval Model for Dense Document-to-Document Retrieval github: GitHub - sophiaalthammer/parm..
[논문] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding BERT는 Transformer 이후에 나온 모델이다. Transformer에서 Encoder 부분을 사용한 모델로 BERT 이후에 BERT 기반으로 개선하고 발전시킨 연구들이 많이 등장했다. 논문: https://arxiv.org/abs/1810.04805 github: GitHub - google-research/bert: TensorFlow code and pre-trained models for BERT BERT(Bidirectional Encoder Representations from Transformers) 앞에서도 말했듯이 BERT는 Transformer의 Encoder와 같은 구조이다. Transformer 설명은 [논문] Attention Is All You Need | Transfor..
[논문] Attention Is All You Need | Transformer 기존 NLP에서는 RNN 기반의 모델들이 주로 사용되었다. 2017년 구글이 Attention is all you need 논문을 발표하면서 Transformer 모델이 등장했고, 현재 NLP에서는 Transformer 기반으로 모델들이 발전되고 있다. 본 게시글은 Attention is all you need 논문과 여러 블로그의 글을 읽고 정리한 글이다. Transformer Transformer는 기계 번역 모델로 공개되었으나 다양한 NLP task에 활용된다. 기존 기계 번역 모델과의 차이점은 아래와 같다. RNN, LSTM 등을 사용하지 않고 Attention만으로 구현됨 입력을 순차적으로 받지 않기 때문에 임베딩 벡터에 단어의 순서 정보를 추가함 모델 구조 Transformer는 Sequenc..
추천 시스템 성능 평가 지표(Precision@k, Recall@k, Hit@k, MAP, MRR, nDCG) 추천 시스템이란 말 그대로 사용자가 좋아할만한 것들을 추천해주는 시스템이다. 추천 시스템은 단순히 사용자가 선호하는 아이템을 추천해주는 것 보다는 사용자가 가장 선호하는 아이템을 먼저 추천해주는 것이 더 좋은 추천 시스템이라고 볼 수 있다. 이번 글에서는 추천 시스템의 성능을 평가하는데 사용되는 metrics를 소개한다. Precision@k k개의 추천 중 선호 아이템이 얼마나 존재하는지를 측정한다. 선호 순서(rank)는 고려되지 않는다. $$ Precision@k = \frac{\sharp \ of \ recommended \ items \ @k \ that \ are \ relevant}{\sharp \ of \ recommended \ items \ @k} $$ Recall@k 전체 선호 아이템..
회귀 모델 성능 평가 지표(MAE, MSE, RMSE, MAPE 등) 회귀 모델(regression model)을 평가할 때 주로 MAE, MSE, RMSE, MAPE 등을 사용한다. MAE(Mean Absolute Error) = 평균 절대 오차 실제 정답 값과 예측 값의 차이를 절댓값으로 변환한 뒤 합산하여 평균을 구한다. 특이값이 많은 경우에 주로 사용된다. 값이 낮을수록 좋다. $$ MAE = \frac{\sum{\vert y-\hat{y} \vert}}{n} $$ 장점 직관점임 정답 및 예측 값과 같은 단위를 가짐 단점 실제 정답보다 낮게 예측했는지, 높게 했는지를 파악하기 힘듦 스케일 의존적임(scal dependency): 모델마다 에류 크기가 동일해도 에러율은 동일하지 않음 MSE(Mean Squared Error) = 평균 제곱 오차 실제 정답 값과 예측 ..
분류 모델 성능 평가 지표(Accuracy, Precision, Recall, F1 score 등) 분류 모델(classifier)을 평가할 때 주로 Confusion Matrix를 기반으로 Accuracy, Precision, Recall, F1 score를 측정한다. Confusion Matrix(혼동 행렬, 오차 행렬) 분류 모델(classifier)의 성능을 측정하는 데 자주 사용되는 표로 모델이 두 개의 클래스를 얼마나 헷갈려하는지 알 수 있다. T(True): 예측한 것이 정답 F(False): 예측한 것이 오답 P(Positive): 모델이 positive라고 예측 N(Negative): 모델이 negative라고 예측 TP(True Positive): 모델이 positive라고 예측했는데 실제로 정답이 positive (정답) TN(True Negative): 모델이 negative라고 ..