
Deep Learning

Generalization기존의 전통적인 프로그래밍에서는 사람이 모든 경우의 수를 고려하여 명확한 조건과 규칙을 기반으로 결과를 도출했다. 이는 규칙을 기반으로 하기에 Rule-based System이라고도 한다. 하지만 우리가 다루는 데이터가 더욱 복잡해짐에 따라, 모든 경우의 수를 반영해서 프로그래밍 하는 것은 현실적으로 불가능해졌다. 이를 해결하기 위해 수집한 데이터에 있는 특성과 패턴을 파악해서 수집한 데이터 뿐만 아니라 보지 못한 모든 데이터에서도 잘 동작하는 능력인 일반화 능력을 가진 인공지능 모델을 개발하려 하는 것이다.Underfitting and OverfittingUnderfitting은 모델의 일반화 성능을 따질 것도 없이 훈련 데이터 셋에 대해서도 잘 동작하지 않는 상태이다. 말그대..

Transformer는 시퀀스 데이터를 순차적으로 처리하는 기존의 RNN 구조를 버리고 내적을 통해 집중해야 하는 정보가 어떤 것인지 스스로 학습할 수 있게 하는 Attention Mechanism을 적극 활용한 모델이다. Positional EncodingTransformer에서는 순차적으로 처리하는 RNN과 달리 Attention을 통해 시퀀스 데이터가 한 번에 처리되기 때문에 순서에 대한 정보가 들어가지 않는다.그래서 Transformer에서는 Positional Encoding 또는 Positional Embedding을 통해 얻은 위치 임베딩 벡터를 단어 임베딩 벡터에 더해 위치 정보를 담는다. Positional Encoding은 다음의 두 공식을 통해 얻은 고정된 벡터를 사용하는 방식이다. ..

Transformer는 자연어 처리 분야에서 소개된 딥러닝 구조로, 기존의 순환 신경망(RNN)이나, 컨볼루션 신경망(CNN)과는 다른 접근 방식을 사용해 효과적인 시퀀스 처리를 가능하게 한다.이런 Transformer를 이해하기 위해서는 먼저 Transformer의 등장배경에 대해 알 필요가 있다.RNNRecurrent Neural Network의 약자로, MLP에 단어들을 순차적으로 넣어보자는 접근으로 구상되었다.이전 단계의 hidden state 값과 현재 단계의 입력값을 사용해 현재 단계의 hidden state에 이전 정보를 담아낸다. 위 사진처럼 RNN은 입력값(x)을 MLP에 통과시켜 hidden state 값(h)과 출력값(y)을 얻는데, 이전 hidden state 값을 입력받아 출력값을..

정보이론이란? 정보이론이란 정보의 가치를 어떻게 나타낼 지에 대한 아이디어라고 할 수 있다. 예를 들어 '집값이 10억 오를 예정이다'라는 정보는 굉장히 가치가 크지만, '영화가 재밌다'라는 정보는 가치가 적다고 할 수 있다. 이런 정보이론은 대표적으로 통신, 압축에 많이 사용된다. 우리가 사용하는 핸드폰 요금제를 보면 10GB 요금제처럼 비트를 기준으로 책정한 요금제들이 있다. 즉, 요금을 핸드폰에 오고 간 비트의 양만큼 책정하는 것이다. 이때 이 비트를 효율적으로 통신하고자 사용하는 것이 정보이론이다. 우리는 항상 모든 정보를 똑같은 비율로 사용하지 않는다. 예를 들어 카톡에서 'ㅋ'는 많이 사용하지만, '윿'과 같은 이상한 문자는 거의 사용하지 않는다. 고로 'ㅋ'는 적은 비트수를 할당하고 '윿'은..