목록딥러닝 (21)
Logical Scribbles
논문을 읽다보면 학습 과정에서 'Learning rate schedule'를 사용하는 경우를 많이 볼 수 있다. 나는 개인적으로 VPT를 학습시킬 때 모델의 정확도를 최대한 높이기 위해 다양한 scheduler를 사용해 보았다. 딥러닝을 처음 배울 때 혹은 gradient descent 방식을 배울 때 자주 접했을 그림이다. Back propagation을 진행할 때 learning rate를 정하게 되는데, 이 값에 따라 학습의 성능 혹은 속도가 많이 달라진다. 위의 그림에서 맨 왼쪽 그림은 learning rate가 너무 낮을 때 발생할 수 있는 상황을 보여준다. 너무 낮은 값은 많은 가중치 업데이트를 유발하고, 이는 학습을 위한 자원을 많이 소비할 가능성이 있다. 제일 오른쪽 그림은 learning..
시험기간이 끝나고 오랜만에 글을 써본다. 내 공부는 꾸준히 하고 있었지만 시험 기간이 겹쳐 글을 쓸 시간이 도저히 없었다. (핑계..) 오늘은 여러 논문들을 들으며 헷갈렸던 개념들, 특히 'Visual Prompt Tuning' 이라는 논문과 자연어 처리 쪽의 논문들을 읽으며 헷갈렸던 개념들(Prompt tuning, Prefix tuning)에 대해 정리를 해보고 스스로 명확하게 하고자 한다. 'Visual Prompt Tuning' 이라는 논문에 대해서는 추후 리뷰를 작성할 예정이다. 혹시 관심이 있는 분이라면 읽어보시길 바란다! Visual Prompt Tuning The current modus operandi in adapting pre-trained models involves updating..
이번 포스팅에서는 3가지의 이미지들의 유사도를 측정해보자. 학교 수업에서 진행하는 프로젝트 과정에서 이미지 유사도를 측정해야하는 일이 생겨 정리하게 되었다. 먼저 이미지를 불러오고, 이미지들을 확인해보자. 나는 바다 사진 2개와 항공 위성 사진 1개를 준비했다. 바람직한 결과로는 바다 2개의 사진은 유사하다는 결과가, 바다와 항공 위성 사진은 유사하지 않다는 결과가 나와야 할 것이다. import cv2 import numpy as np import matplotlib.pylab as plt image1 = plt.imread('/content/바다_1.jpeg') image2 = plt.imread('/content/바다_2.jpg') image3 = plt.imread('/content/P_SG-KO..
이번 포스팅에서는 전이학습에 대해 알아보자. 우선, 아래의 퀴즈를 풀며 시작해보자. 아르마딜로와 천산갑(Pangolin)을 구분하는 간단한 문제이다. 평소에 아르마딜로와 천산갑의 외형적 차이를 모르는 사람이라도 10초안에 오른쪽 그림이 천산갑임을 알아차릴 수 있을 것이다. 이제 스스로에게 물어보자. 어떻게 정답을 맞추었을까? 나는 처음에 귀의 크기를 보고 판단했다. 아르마딜로는 천산갑에 비해 귀가 상대적으로 크다고 판단했기 때문이다. 정답을 맞춘 후 두 동물의 사진을 다시 보니 천산갑의 비늘이 용의 비늘처럼 특이하다는 것도 알게 되었다. (사람마다 정답을 맞추는 근거는 다를 것이다.) 전통적인 딥러닝 모델에게 똑같은 상황이 주어진다면 (각 동물의 사진이 두장씩 주어지고, 정답을 맞춰야함), 정답을 맞출 ..
이번 포스팅에서는 NLP 및 트랜스포머 등등에서 등장하는 워드 임베딩에 대해 알아보자. 컴퓨터가 사람처럼 단어를 보고 바로 이해할 수 있었다면 이후 등장하는 원-핫 인코딩이나 워드 임베딩은 필요하지 않았을 것이다. 하지만 컴퓨터는 숫자에 익숙한 친구이기 때문에, 우리는 친절히 단어들을 이 컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정이 필수적이었다. 이번 포스팅에서는 그러한 방법 두가지를 설명할 것이다. 원-핫 인코딩과 워드 임베딩이다. 핵심 내용은 워드 임베딩이 될 것이다. 4가지 키워드(희소 벡터, 밀집 벡터, 워드 임베딩, 임베딩 벡터)를 잘 이해해보자! 1. 원-핫 인코딩 먼저 원핫 인코딩에 대해 알아보자. 원-핫 인코딩은 multi-class classification에서 자주 등장하는 용어이다..
이번 포스팅은 어텐션 메커니즘에 대한 글이다. 어텐션 메커니즘을 공부하게 된 계기는 역시 트랜스포머 모델을 이해하기 위해서이다. "Attention Is All You Need" 논문에 등장한 트랜스포머 모델 구조를 살펴보며 시작해보자. 위 구조에서 지금까지 소개한 것과 소개하지 않은 것을 구분해보았다. "Add & Norm"은 Residual link와 Nomralization을 진행하는 부분으로, ResNet에서 소개된 잔차연결을 이용한 뒤, 아래 포스팅에 소개되어 있는 nomalization을 수행한다. 약간 다른점은 layer nomalization을 사용한다는 점이다. layer nomalization은 batch에 대한 의존도를 줄이고자 사용하며, layer를 기반으로 nomalization을..
이전 포스팅에서 RNN에 대해 다루었다. 이번에는 RNN에서 조금 더 나아가보자. RNN에 대한 자세한 내용은 다음 글을 참고하면 된다. [딥러닝] RNN(Recurrent Neural Network)이란? 이번 포스팅에서는 가장 기본적인 인공 시퀀스 모델인 RNN에 대해 알아보자. RNN을 한글로 풀어서 쓰면 '순환 신경망'이 된다. 즉 network 안에서 '순환'하는 무언가가 핵심인 모델이라는 것인데, 이 stydy-sturdy.tistory.com 옛말에 '거자일소' (去者日疎) 라는 말이 있다.아무리 친밀한 사이라고 해도 죽어서 세상을 떠나면 마음에서 멀어짐을 뜻하는 사자성어이다. 요새는 몸이 멀어지면 마음도 멀어진다는 뜻으로 자주 쓰인다고 한다. (장거리 연애에 대한 논쟁에서 몸이 멀어지면 마..
이번 포스팅에서는 가장 기본적인 인공 시퀀스 모델인 RNN에 대해 알아보자. RNN을 한글로 풀어서 쓰면 '순환 신경망'이 된다. 즉 network 안에서 '순환'하는 무언가가 핵심인 모델이라는 것인데, 이 '순환'이 의미하는 바에 초점을 두고 알아보도록 하자. 번역기를 만든다고 생각해보자. 번역기에 주어지는 입력은 번역하고자 하는 문장이다. 문장은 '단어의 시퀀스'이다. 여기서 '시퀀스'란 말 그대로 순서가 있는 데이터를 가리킨다. 즉 번역기의 인풋은 단어가 순서대로 배열되어 있는 데이터이다. 이와 같이 시퀀스 데이터를 처리하기 위해 고안된 모델을 시퀀스 모델이라고 한다. 마찬가지로 주식의 가격은 시간에 따라 변화하므로 주가를 예측하고자 할 때에도 시퀀스 모델을 사용해야할 것이다. 이러한 시퀀스 모델 ..