전체 글
[NLTK] 자연어 처리를 위한 패키지
자연어처리(NLP, Natural Language Processing)를 위해서는 각 테스크에 맞는 전처리(preprocessing)과정이 필수적으로 필요합니다. 본 게시글에서는 전처리를 위한 패키지인 NLTK를 간단한 예제와 함께 알아보도록 하겠습니다. NLTK에서는 다양한 기능을 제공하지만, 본 글에서는 아래의 기능 위주로 다룹니다 Searching Text Word Statistics Searching Text NLTK에서 제공하는 텍스트 예제로 진행하기 위해, book을 불러오도록 하겠습니다. import nltk from nltk.book import * NLTK에서 book을 불러올 경우 아래의 9개의 책의 텍스트를 불러올 수 있습니다. text1에 저장된 Moby-Dick으로 nltk를 적용..
윈도우 코딩용 폰트 D2Coding 설치하는 방법
네이버에서 개발한 코딩용 폰트 D2Coding은 아래 깃허브 사이트에서 다운로드 할 수 있습니다. https://github.com/naver/d2codingfont/releases Releases · naver/d2codingfont D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub. github.com 해당 게시물 작성 기준(22.12.19)으로 최신 버전은 Ver 1.3.2입니다. 아래 사진의 노란라인을 쳐둔 D2Coding-Ver1.3.2-20180524.zip 파일만 다운 받으시면 됩니다 zip 파일을 압축해제까지 하면 다음의 경로로 들어가 아해의 .tff 파일 설치를 눌러줍니다. ..
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)를 잘 인식하고 분류하고자 하는 것입니다. 매우 많은 데이터로 모델을 구축하는 전통적인 인공지능 트랜드와는 달리, 매우 적은 데이터에서도 모델을 잘 구축하는 것이 핵심이라고 할 수 있습니다. 등장 배경 학습 데이터가 적은 상황에서는 딥러닝 모델의 구축 자체에 어려움이 있었고, 몇 장의 사진만을 보고 직관적으로 분류할 수 있는 사람과는 달리 인공지능 모델은 적게는 수천 개, 많게는 몇 십만 개에 달하는 사진이 필요했습니다. 이에 인공지능 개발자들은 소량의 데이..