본문 바로가기

Machine-Learning51

[Paper] RCNN R-CNN RCNN은 논문에 설명하는 것처럼 거시적인 측면에서 봤을 때, Input image을 ROI를 통해서 각각의 Region에 해당하는 영역을 Selective Search를 통해서 약 2천장의 Proposal로 분석하고, 나눠진 Proposal을 통합 (Warp)하여 CNN 통해서 학습시켜 각각을 Classification을 할 수 있다. 논문의 사진을 다음과 같이 나누어 설명할 수 있는데, Proposal Method로부터 이미지를 Selective Search를 통해서 선정된 영역을 각각의 ConVN 으로 학습시킨 후 Feature map을 통하여 SVMs과 BBox reg으로 Validation and Evaluation을 할 수 있다. * Selective Search (SS) Regio.. 2022. 10. 6.
[NLP] Seq2Seq Seq2Seq Sequence to Sequence Learning with Neural Networks: https://arxiv.org/pdf/1409.3215.pdf 기존 LSTM 기반의 번역은 한계가 있었다. 왜냐하면 LSTM은 하나가 들어오면 바로 하나의 output을 낼 수 있는데 이것이 문제가 된다. 문자 그대로 인코더는 입력 데이터를 인코딩(부호화)하고, 디코더는 인코딩 된 데이터를 디코딩(복호화) 한다. 즉 인코더는 입력을 처리하고 디코더는 결과를 생성한다. Context벡터는 입력에 대한 정보를 압축하고 있는 벡터. 즉 인코더는 문장을 가지고 context 벡터를 만들어주는데, 이 context 벡터에는 문장에 대한 정보가 응축되어 있다. 반면 디코더는 정보가 응축되어 있는 contex.. 2022. 10. 4.
[NLP] LSTM /GRU LSTM (Long Short-Term Memory) RNN은 가변 길이의 시퀀셜 데이터 형태 입력에는 훌륭하게 동작하지만, 그 길이가 길어지면 앞서 입력된 데이터를 잊어버리는 단점을 가지고 있다. 하지만 LSTM의 등작으로 RNN을 단점을 보완할 수 있게 되었다. LSTM은 기존 RNN의 은닉 상태 이외에도 별도의 셀 스테이트 (cell state)라는 변수를 두어 그 기억력을 증가 시킨다. 그 뿐만 아니라 여러 가지 게이트(gate)를 둠으로써 기억하거나, 잊어버리거나, 출력하고자 하는 데이터의 양을 상황에 따라 마치 수도꼭지를 잠갔다가 열듯이 효과적으로 제어한다. 그 결과 긴 길이의 데이터에 대해서도 효율적으로 대처할 수 있게 되었다 요약하면 장단기 메모리(Long Short-Term Memory).. 2022. 9. 29.
[NLP] RNN (Recurrent Netural Network) RNN (Recurrent Netural Network, 순환신경망) RNN (Recurrent Netural Network, 순환신경망)은 NLP 처리 분야에서 뿌리가 될 만큰 중요한 것이다. NLP 분야에서 단어들이 모여 문장이 되고, 문장이 모여 문서가 되는 듯이 문장 내 단어들은 앞뒤 위치에 따라 서로 영향을 주고 받는다. 문서 내 문장들도 마찬가지다. 따라서 단순히 \(y = f(x)\)와 같은, 순서의 개념 없이 입력을 넣으면 출력이 되는 함수가 형태가 아닌, 순차적(Sequential)으로 입력을 넣고, 입력에 따라 모델의 은닉 상태 (Hidden State)가 순차적으로 변하며, 상태에 따라 출력 결과가 순차적으로 변환되는 함수가 필요했다. 이러한 시간 개념 또는 순서 정보를 사용하여 입력.. 2022. 9. 29.
[ML] SVM(Support Vertor Machine) 서포트 벡터 머신 (Support Vector Machine, SVM) 서포트 벡터 머신은 서포트 벡터를 기준으로 클래스를 판별한다. SVM은 퍼셉트론의 확장이라고 생각할 수 있으며, 퍼셉트론 알고리즘을 사용하여 분류 오차를 최소화 한다. SVM의 최적화 대상은 마진을 최대화 하는 것이다. 마진은 클래스를 구분하는 초평면(결정 경계)과 이 초평면에 가장 가까운 훈련 샘플 사이의 거리로 정의 된다. 이런 샘플을 서포트 벡터(support vector)라고 한다 최대 마진(large margin)의 결정 경계를 원하는 이유는 일반화 오차가 낮아지는 경향이 있기 대문이다. 반면 작은 마진의 모델은 과대적합되기 쉽다. 소프트 마진 (soft margin) 서포트 벡터 머신은 데이터가 잘못 분류되는 경우는 고려하.. 2022. 9. 26.
[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.