코딩스뮤:)
simCLR을 통해 Contrastive Learning 이해하기
해당 게시글은 Ekin Tiu님의 Understanding Contrastive Learning글을 참고하여 번역 및 요약한 글입니다. What is Contrastive Learning? Contrastive learning is a machine learning technique used to learn the general features of a dataset without labels by teaching the model which data points are similar or different. 예로, 고양이와 개에 대해 아무런 정보가 없는 어린아이에게 아래의 세 장의 사진을 보여준다고 생각해봅시다. 아이가 두 동물에 대한 사전지식이 없다고 해도 "뾰족한 귀", "긴 수염" 등의 특징을 통..
머신러닝의 종류: 지도학습과 비지도학습
머신러닝의 종류: 지도학습과 비지도학습 1. 머신러닝 시스템의 종류 데이터에 레이블(label)의 유무, 학습하는 동안 감독 형태/정보량으로 구분 기준을 둘 경우 머신러닝은 크게 지도학습과 비지도 학습으로 나뉘게 됩니다. 2. 지도 학습(Supervised Learning) 훈련 데이터에 레이블(label)이 주어지는 경우로, 다음과 같이 학습 데이터 셋이 구성되어 있다고 볼 수 있습니다. $Given = \{(x^{(1)}, y^{(1)}), \dots, (x^{(N)}, y^{(N)})\}$ 지도학습의 목표는 학습데이터에는 없는 새로운 데이터 x가 들어왔을 때 y를 올바르게 예측하는 것입니다. $Goal= Learn \ a \ rule \ (𝑓: 𝑥 \to 𝑦) $ 지도학습에는 크게 이산적인(Disc..
[vim/vi] 기본 설정하기(1): vim 설치, 자동 들여쓰기, 줄번호 항상 표시
리눅스 터미널과 Mac OS의 iTerm에서 vi/vim 을 처음 사용할 때 설정해두면 좋은 세팅을 소개합니다. 0. vim 설치 만약 vim이 없다면 다음의 명령어로 설치를 먼저 진행해주시면 됩니다. sudo apt-get install vim 1. 자동 들여쓰기 pycharm, vs code와 다르게 vi를 써서 코딩을 한다면 줄마다 들여쓰기(indent)를 일일이 해줘야 합니다. 이를 자동으로 해주기 위해서는 아래의 코드를 ~/.vimrc 파일에 추가해주면 됩니다. >> 아래 코드로 vimrc 파일 오픈 vi ~/.vimrc >> 아래 코드를 vimrc 파일에 처음에 추가 set ts=8 set sw=4 set sts=4 set smartindent set cindent 2. 줄번호 항상 표시 기존..
End-to-End Memory Networks, 엔드-투-엔드 메모리 네트워크
End-to-End Memory Networks 2015년 NIPS에 FaceBook AI Research가 발표한 논문으로 당시 자연어처리 분야에서 가장 좋은 성능을 보여주었던 모델 중 하나입니다. 기존의 일반적인 신경망 모델과 다르게 메모리(Memory)라는 구조를 사용한다는 점이 가장 큰 특징입니다. Model Architecture(1): Single Layer 이해를 돕기 위해 먼저 본 논문에서 제안하는 모델의 싱글 레이어 구조를 살펴보도록 하겠습니다. 모델의 입력값으로는 Context 문장, Question 문장이 들어가고 학습시 업데이트 되는 파라미터는 Fig1.의 Embedding $A,B,C$와 Weight Vector $W$입니다. 모델의 학습 과정은 크게 다음과 같이 세 단계로 이루어..
윈도우 Alt/Ctrl, 한영키/Capslock 으로 변경하는 방법
개인pc는 아이맥과 맥북을 사용하는데 연구실에서는 윈도우를 사용해 키들이 엄청나게 헷갈리기 시작했습니다. 다른 키는 제쳐두더라도 가장 많이 사용하는 한영전환(윈도우: 한영키 -> 맥북: Caps Lock키)과 윈도우와 맥북에서 반대로 사용되는 키인 Ctrl -> Alt는 통일시킬 필요를 강하게 느껴 맥북 기준으로 윈도우에서 설정하고자 합니다. 다음의 순서를 따르면 빠르게 설정을 바꿀 수 있습니다. step1. 레지스트리 편집기를 킵니다. step2. 아래의 경로로 들어갑니다. path: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layout/ 추후 커스터마이징을 또 할 것 같다면 경로가 굉장히 길어 Keyboard Layout을 [상단의 ..
Few-shot Learning, 퓨샷 러닝
Few-shot Learning이란? 훈련 데이터(train data)의 수가 매우 제한적인 상황에서 모델을 개발하려는 기술 혹은 알고리즘을 의미합니다. 즉, 상대적으로 적은 훈련 데이터에서도 새로운 입력 값으로 주어지는 데이터(unseen data)를 잘 인식하고 분류하고자 하는 것입니다. 매우 많은 데이터로 모델을 구축하는 전통적인 인공지능 트랜드와는 달리, 매우 적은 데이터에서도 모델을 잘 구축하는 것이 핵심이라고 할 수 있습니다. 등장 배경 학습 데이터가 적은 상황에서는 딥러닝 모델의 구축 자체에 어려움이 있었고, 몇 장의 사진만을 보고 직관적으로 분류할 수 있는 사람과는 달리 인공지능 모델은 적게는 수천 개, 많게는 몇 십만 개에 달하는 사진이 필요했습니다. 이에 인공지능 개발자들은 소량의 데이..
Prompt-Based Learning, 프롬프트 기반 학습
해당 강의노트는 Vilhelm Gustavsson님의 [Prompt-based Learning: A paradigm shift in NLP]를 참고하여 작성됐습니다. Prompt-Based Learning이란? 모델에 들어가는 입력 데이터(input data)를 사람이 읽을 수 있는 설명(human readable instructions)으로 잘 작성된 텍스트와 연결하여 수정하게 되는데 이 때 만들어지는 텍스트를 프롬프트(prompt)라고 합니다. 프롬프트는 task-specific하게 훈련되지 않아도 사전학습 언어모델(PLM, Pre-trained Lanugage model)이 새로운 테스크(e.g. 질의응답, 기계번역 등)에 대해서 잘 수행되도록 합니다. 즉, 단지 자연어로 모델이 어떤 일을 수행해야..
앙상블(Ensemble) 기법
Intro. 앙상블(Ensemble) 기법이란 여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법을 말합니다. 이는 강력한 하나의 모델을 사용하는 대신, 보다 약한 모델 여러 개를 조합하여 더 정확한 예측에 도움을 주는 방식입니다. 앙상블 기법은 일반적으로 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 세 가지 유형으로 나눌 수 있습니다. 보팅(Voting) 보팅이라는 표현에서 알 수 있듯이, 서로 다른 알고리즘을 가진 분류기 중 투표를 통해 최종 예측 결과를 결정하는 방식입니다. 알고리즘에는 흔히 알고 있는 결정 트리(Decision tree)나 KNN(K-Nearest Neighbor), 로지스틱(Logistic) 같은 걸 의미합니다. 보팅은 ..