전체 글

전체 글

    Vision Transformer 이해 3. Transformer

    0. Transformer의 등장 기존 seq2seq에서는 명백한 문제가 존재했다. Encoder과정에서 이전의 시계열 데이터에 대한 state vector h가 준비되어야 하는데, 이는 병렬연산이 불가능한 직렬연산이라는 문제였다. 이전 상태 값이 준비되어야 현재 상태를 연산할 수 있다는 구조적 문제를 극복해야할 필요성이 존재했다. 1. Transformer의 기본 개념 이과정에서 등장한 것이 self-attention을 활용한 Transformer이다. 간단하게 이야기하자면 기존에는 Encoder에서 추출한 state들과 Decoder에서 추론한 state vector을 dot product과 softmax를 하여 시계열 데이터 내 각 데이터에 대한 가중치를 뽑는 방법이였다. 그런데 이것을 다른 문제로..

    Vision Transformer 이해 2. 추론 기반 NLP의 발전2(seq2seq, Attention, Transformer)

    지금까지 RNN의 대표적인 모델을 알아보았다. 이제 이 모델들을 활용하여 어떻게 시계열 데이터를 추론할 지에 대해서 알아보자. 여기서 시계열 데이터란 단순히 일련의 순서로 일정 시간동안 수집된 데이터를 일컫는다. 본 포스터에서는 대표적으로 문장과 수식을 예로 들겠다. 1. seq2seq seq2seq는 이러한 시계열 데이터를 다른 시계열 데이터로 추론하는 모델이다. 예를 들어 한국어로 나는 고양이로소이다 라는 시계열 데이터를 i am a cat이라는 시계열 데이터로 번역하는 것이 여기에 포함된다. 이 모델은 입력 시계열 데이터를 고정 길이의 벡터로 인코딩하는 Encoder와 이 정보를 해석하는 Decoder로 구분된다. 여기서 Encoder와 Decoder는 쉽게 이전에 알아본 LSTM이 연결된 형태라고..

    Vision Transformer 이해 2. 추론 기반 NLP의 발전1(word2vec, RNN, LSTM)

    0. word2vec과 그 한계 이전에 추론 기반 NLP에서 word2vec의 CBOW와 skip-gram에 대해서 알아보았다. 단어를 unique한 id로 나타낸 이후, Embedding표현으로 변환한 이후, 주위의 단어들(즉 문맥)을 입력으로 target을 추론하는 단방향 신경망 유형 즉, feed forward 유형의 인공 신경망의 구조와 적용에 대해 알아보았다. 하지만 이 word2vec에는 문제점이 존재했다. 단방향 신경망이다 보니, 시계열 데이터를 적절히 다루지 못하였고, 이러한 문제점을 해결하기 위해 순환 신경망 즉 Recurrent Neural Network(RNN)이 등장하게 되었다. 왜 word2vec이 시계열 데이터를 잘 처리하지 못했는가?는 word2vec의 구조를 보면 알 수 있다..

    Vision Transformer 이해 1. NLP의 흐름 (시소러스, 통계기반, 추론기반의 NLP)

    0. 목적 Vision Transformer란 NLP에서 높은 성능을 자랑한 Transformer를 활용한 Vision모델로, Attention을 활용하므로 확장 / 스케일링 / 학습에 장점을 갖지만 일반적으로 CNN을 사용하는 다른 모델에 비해 낮은 Locality를 갖는다는 단점이 존재하는 모델이다. 기존에 봐왔던 모델이 대부분 CNN Based 모델이었기 때문에 이 모델을 이해하기 위해서 Vision transformer의 근본인 Transformer를 이해하고자 기초 NLP의 개념을 배워보고자 하였다. NLP란 자연어 처리(Natural Language Processing)의 약어로 우리가 사용하는 언어를 컴퓨터가 이해하도록 표현하고, 표현된 언어를 바탕으로 연산을(대표적으로 추론) 하는 방식이다..

    Software Analysis and Design - ML

    1. Intelligence 1-1. Intelligence의 정의 1. The ability to learn or understand or to deal with new or trying situations 2. The ability to apply knowledge to manipulate the environment or to think abstractly as measured by objective criteria 1-2. Intelligence를 평가하는 척도 Scope of Learning Intensity of Learning Accumulation of Knowledge learned 2. Intelligent system 2-1. Intelligent system의 정의 A system ..

    Software Analysis and Design - Software Architecture Styles

    1. Software Architecture Style 1-2. Software Architecture style이란? 이전에 Design pattern에 대해서 배운적이 있다. design pattern은 특정 condition의 특정 문제에 대한 solution을 재사용 가능하게 패턴화 해놓은 것이었다. 지금 배울 Architecture style은 전체 시스템에 적용되는 재사용 가능한 설계로, form, method, materials 등 다양한 element를 포함한다. architecture style은 building block과 connection으로 나뉘어 정의된다. 즉, Architecture stlye이란, software architecture에서 일반적으로 발생하는 structura..