본문 바로가기

전체 글

(67)
나만의 터미널 설정 정리 먼저 sudo 권한 없이 zsh을 설치해야한다. wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download mkdir zsh && unxz zsh.tar.xz && tar -xvf zsh.tar -C zsh --strip-components 1 cd zsh # sudo apt-get install libncurses5-dev libncursesw5-dev mkdir ~/local ./configure --prefix=$HOME/local make make install echo "export PATH=$HOME/local/bin:$PATH" >> ~/.bashrc echo "exec zsh" >> ~/.bashrc oh-my..
내가 헷갈려서 정리하는 pytorch 환경 설정 1. nvidia-drivers recommend 설치 (CentOS, Ubuntu 눠서) centOS https://yoon1seok.tistory.com/48 Cent OS 7.x Linux Nvidia 그래픽 드라이버 설치 가이드 - [Linux] ※ Cent os7 설치시 minimal로 설치를 하면 /etc/default/grub의 nouveau에 대한 blacklist를 설정해줄 필요는 없다. 1. yum 업데이트 sudo yum update 2. lshw 설치 그래픽 카드 모델 확인 sudo yum install lshw.. yoon1seok.tistory.com ubuntu https://blog.naver.com/hs929kr/222368689735 NVIDIA DRIVER, CUDA, ..
[NLP] NLP 최신 모델 비교 분석 Model 비교 GPT Generative Pre-trained Transformer Transformer base의 최초 논문 이전 단어를 바탕으로 다음 단어를 예측하는 방법으로 훈련된다. 문맥파악에 약점이 있다. BERT Bidirectional Encoder Representations from Transformers Masked 된 단어를 예측하는 양방향 (문맥) 바탕 예측으로 훈련된다. NSP를 도입하여 문장간의 관계도 학습할 수 있다. : Nest Sentence prediction을 바탕으로 자연스럽게 문맥을 파악할 수 있다. Bert 기반 모델 RoBERTa(19년) - FaceBook A Robustly Optimized BERT Pretraining Approach Bert의 고정된 M..
[Python] 패키지 모듈 관리 ( __init__.py, __all__, __name__, __main__ ) 파이썬에서 패키지 관리는 디렉토리 구조로 할 수 있다. 이때 해당 디렉토리를 'package' , 해당 디렉토리 하위 파일들을 'module' 이라 한다. Python에 기본적으로 내장되어 있는 package, module들을 'library' 라고 부른다. 따라서 from 패키지 import 모듈 import 패키지 from 모듈 import 함수, 변수, 클래스 from 패키지.모듈 import 함수, 변수, 클래스 from . import 모듈 #현재 패키지에서 모듈을 가져옴 from .모듈 import 함수, 변수, 클래스 # 현재 패키지의 해당 모듈에서 요소를 가져옴 첫번째 줄은 package의 모듈(파일)을 import하게 되는 것이다. 그런데 두번째 줄처럼 package를 import했을 때..
[AI 개발 환경 세팅] Anaconda (Linux 개발환경 세팅) Anaconda는 python 라이브러리 관리를 위한 도구입니다. 주로 AI를 처음 공부하기 시작한 분들에게는 불필요하다고 생각할 수도 있지만, 로컬에 pip install 을 통한 python package 설치는 의존성이 자주 불안한 경우가 많습니다. 특히 다양한 논문들을 읽으며 직접 구현해볼때 특히 python 패키지가 문제가 되는 경우가 종종 있는데요. 이를 체계적이고 간편하게 관리하기 위해 필요한 것이 "Anaconda"입니다. 리눅스 환경에서 아래 wget 명령을 통해 쉽게 설치할 수 있습니다. wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh chmod +x Anaconda3-2019.10-Linux-x86_64..
[AI basis] Gradient Clipping 이란? Gradient Clipping의 단어를 먼저 분석해보자. 처음 이 단어를 접했을 때 cliff(절벽)의 의미로 clipping을 잘못 착각했는데 clip이라는 단어가 우리에게 익숙하기도 하면서 한국에서 자주 쓰이지 않는 의미를 의외로 가지고 있기 때문이라고 생각한다. clip 1. (클립으로) 고정하다. 2. (가위같은 것으로) 깎아내다. 이 단어를 처음 제시한 사람이 어떤 생각으로 제시했는지는 모르지만 두가지 뜻 모두 해석될 수 있는 여지가 있다고 생각한다. 첫번째 뜻으로 해석하면 "분포한 Gradient를 클립으로 찝어주는 것이다" 두번째 뜻으로 해석하면 "분포한 Gradient에서 (범위가 벗어난 gradient를) 깍아 내는 것(크기를 줄이는 것)이다. 굳이 한가지 뜻을 고르자면 첫번째 뜻이 가..
[AI basis] Norm 에 대해 알아보자 선형대수에서 "Norm"은 벡터의 길이, 크기(magnitude)를 측정하는 함수를 의미한다. Norm의 입력은 "vector" 출력은 "단일 값"이다. 이는 시각적으로 표현하면 원점에서 벡터까지 다양한 방법으로 측정할 수 있는 거리를 의미한다. $$ L_p = (\sum_i^n |x_i|^p)^{1/p}$$ 이때 n은 벡터의 요소 수(차원)을 의미하고 p는 Norm의 차수를 의미한다. Norm은 Norm의 차수 p에 따라 여러가지 이름으로 불리는데 대표적인 3가지를 소개하려고 한다. 바로 L2 Norm, L2 Norm, Maximum Norm이다. 1. L1 Norm (Manhatton Norm) L1 Norm은 Norm의 차수가 1인 함수를 의미한다. $$ L_1 = \sum_i^n |x_i| $$ ..
[AI basis] MLP(Multi layer perceptron)란? 먼저 Perceptron이란 "두뇌의 인지 능력을 모방하도록 만든 인위적인 네트워크"를 의미한다. (Single) Perceptron은 순입력 함수(net input)와 활성 함수(activation function)으로 이루어져 있다. 활성함수는 개념적으로 임계값을 넘어가면 출력하는 함수를 의미한다. Single Perceptron에서는 활성 함수로 항상 step function을 사용한다. MLP의 구조는 한개 이상의 (single) perceptron으로 구성된 Layer로 구성된다. 하지만 이 Layer 자체에 activation function을 추가하면 하나의 Layer도 하나의 perceptron처럼 동작하는 것을 알 수 있다. 그래서 MLP에서는 이런 Layer를 하나의 perceptron..