본문 바로가기

Tech82

[NLP] 셀프 어텐션의 작동 원리 셀프 어텐션의 작동 원리 A dog ate the food because it was hungry. 이 문장에서 'it'은 'dog'나 'food'를 의미할 수 있다. 하짐나 문장을 자세히 살펴보면 'it'은 'food'가 아닌 'dog'를 의미한다는 것을 쉽게 알 수 있다. 위와 같은 문장이 주어질 경우 모델은 'it'이 'food'가 이닌 'dog'라는 것을 알 수 있을까? 이때 셀프 어텐션이 필요하다 이 문장이 입력되었을 때, 모델은 가장 먼저 단어 'A'의 표현 (representation)을, 그 다음으로 단어 'dog'의 표현을 계산한 다음 'ate'라는 단어의 표현을 계산한다. 각각의 단어를 계산하는 동안 각 단어의 표현들은 문장 안에 있는 다른 모든 단어의 표현과 연결해 단어가 문장 내에서.. 2022. 9. 26.
[NLP] NLP의 이해 NLP(Natural Language Procssing)의 이해 먼저 자연어 (Natural Language) 란 무엇일까? 자연어란 컴퓨터에서 사용하는 프로그램 작성 언어 (기계어)와 구분하여 우리가 일상 생활에서 사용하는 언어이다. 자연어 처리 (NLP, Natural Language Processing) 컴퓨터를 이용해서 사람의 자연어를 분석하고 처리하는 기술 자연어 이해 (NLU, Natural Language Understanding) 사람이 이해하는 자연어를 컴퓨터가 이해할 수 있는 언어으로 바꾸는 과정 자연어 생성 (NLG, Natural Language Generation) 컴퓨터에서 사용하는 언어를 사람이 이해할수 있는 자연어로 바꾸는 과정 NLP에는 NLU(Natural Language.. 2022. 9. 26.
[CV] 특징(Feature) 이란? 특징 (Feature) 이란? 머신러닝에서 말하는 특징은 관찰된 현상에서 측정할 수 있는 속성 (property)이나 특성 (characteristic)을 말한다. 머신러닝 모델은 특징을 입력받아 예측 또는 분류 결과를 내놓는다. 예를 들어 주택 가격을 예측할 때, 면적, 방의 수, 욕실 등과 같은 속성을 입력하면 모델은 특징값을 기반으로 예측한 주택 가격을 출력한다. 대상을 잘 드러내는 좋은 특징을 선택해야 머신러닝 알고리즘의 정확도를 높일 수 있다 왜 특징을 사용할까? 입력 이미지에는 분류와 무관한 정보가 너무 많다. 그러므로 전처리 후 가장 먼저 해야할 일은 분류에 중요한 정보만 남겨 단순화 시키고 불필요한 정보는 빼는 것이다. 복잡하고 많은 양의 데이터를 이미지의 중요한 일부분이나 색상을 추출하는.. 2022. 9. 26.
[Paper] Attention Attention [논문] NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE 해당 논문은 Dzmitry Bahdanau의 이름을 따서 Bahdanau Attention으로도 유명한 Attention의 시작 논문이다. Abstract 논문에서는 encoder-decoder 를 구성하는 아키텍처에서 고정된 길이 벡터(fixed-length vector)로 인코딩하여 디코더가 번역을 생성하는 부분에서 병목 현상 (bottleneck)이 있다고 추축하고, 이러한 부분을 고정적인 분할 (segment)를 하지 않고 번역 대상 단어와 관련된 번역 원문이 어떤 부분인지 자동적으로 해결하고자 제안된 논문이다. Introduction 기존의 en.. 2022. 9. 15.
[CV Paper] Vision Transformer Vision Transformer AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE Google Research, Brain Team (Published as a conference paper at ICLR 2021) ViT는 트랜스포머가 컴퓨터 비전의 기본 문제인 분류 문제를 얼마나 잘 푸는지 확인할 목적으로 [Vaswani2017]이 제안한 원래 트랜스포머 구조를 최대한 그대로 따라 실험한다. 원래 트랜스포머는 언어 번역을 위해 개발되었기 때문제 문장을 입력 받아 문장을 출력하는 구조, 즉 인코더는 입력 문장을 처리하고 디코더는 출력 문장을 처리하는 구조를 가진다. 문장은 단어가 순서대로 배열된 1차원 구조의 데이터인.. 2022. 8. 25.
[CV] albumentations (Image Augmentation) albumentations Albumentations는 Image Augmentations을 위한 python 라이브러리이다. Image augmentation 은 딥러닝과 컴퓨터 비전에서 학습모델의 성능을 향상시키는 역할을 한다. Image augmentation의 목적은 현재의 데이터로부터 새로운 학습 샘플링을 만들기 위함이다. albumentations의 장점 1. 모든 컴퓨터 비전의 task 를 지원한다 ex) classification, semantic segmentation, instance segmentation, object detection, and pose estimation. 2. 단순화된 통일된 API로 공급 3. 70개 이상의 서로 다른 Augmentation를 포함 4. Fast.. 2022. 8. 23.
[Paper] Fast RCNN Fast RCNN Fast R-CNN은 R-CNN의 단점을 보완하여 개발한 Method이다. 기존의 RCNN은 위에서 보이는 그림과 같이 input image에 대해서 SS(Selective Search) 등 을 통해서 얻은 ROI별로 각각 Conv Net의 모델로 학습하고 학습된 Feature map을 통하셔 SVM을 통해서 Predict하는 형태로 많은 저장 공간과 느리다는 단점을 가지고 있었다. 그래서 Fast R-CNN이 등장하였고 기존의 각각의 ConVNet을 하나의 ConVNet을 사용할 수 있도록 Crop + Resize 된 동일한 형태의 fixed-size를 만들어 하나의 ConVNet 공간에서 학습 할 수 있도록 만들었고, 두개의 동일한 형태는 classification, regresso.. 2022. 8. 23.
[Paper] An overview of gradient descent optimization algorithms An overview of gradient descent optimization algorithms introduction Gradient descent algorithms Gradient descent 여러 종류의 문제에서 최적의 해법을 찾을 수 있는 일반적인 최적화 알고리즘 목적 함수의 기울기 와 반대 방향으로 parameter 쎄타를 업데이트하며 목적 함수 \(\triangledown\theta\)를 최소화 하는 방법이다 learning rate (lr) parameter step의 크기 lr가 너무 작으면 알고리즘이 수형하기 위해 반복을 많이 진행해야 하므로 시간이 오래 걸리고, lr가 너무 크면 골짜기를 가로 질러 반대편으로 건너뛰게 되어 이전보다 더 큰 값으로 발산 할 수 있다. Gradien.. 2022. 8. 23.
[CV] 합성곱 신경망 (Convolutional Neural Network, CNN) 합성곱 신경망 (convolution neural network: CNN) CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 사용되는데,특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의다 CNN을 기초로 한다. 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있고, 이를 완전연결 (fully-connected, 전결합)이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현하고 있다. 완전한 신경망은 Affine 계층 뒤에 활성화 함수인 ReLU계층 (sigmoid계층)이 이어진다 * Fully-Connected Layer 와 Fully Convolutional Network은 서로 다른 개념 Affine 계층을 사용하면, 가령 층이 5개인 완전 연결 신경망은 아래와 같이 구현할 수.. 2022. 8. 23.