사람의 지능을 모방하는 것
네 가지 항목을 비춰 논문이나 연구를 바라보게 되면, 기존 연구에 비해 어떤 장점이 있는지 쉽게 알 수 있다.
Data depend on the type of the problem to solve.
데이터라는 것은 풀고자 하는 문제에 의존하게 된다.
이미지가 주어지거나, 텍스트가 주어졌을 때 이러한 단어를 내가 직접적으로 알고 싶어하는, class label이 되었던, 문장에 대한 sentiment analysis가 되었던 다양한 인공지능 모델을 통해 데이터의 의미를 효과적으로 파악하고 예측할 수 있다.
같은 task가 주어졌더라도, 모델의 성질에 따라 결과가 달라진다.
The loss function is a proxy of what we want to achieve.
Loss function은 Model이 정해져 있고, 데이터가 정해져있을때 모델을 어떻게 학습할 것인지.
기준이 되는 loss function을 정하게 된다.
Regression Task를 푼다고 한다면, 뉴럴 네트워크의 출력값과 맞추고자 하는 타겟값 사이에 제곱 오차를 최소화하는 것이 일반적인 목적이 된다.
Classification Task를 푼다고 한다면, 뉴럴 네트워크의 출력값과 라벨 데이터 사이에 cross entropy를 최소화하는 것이 목적이다. Cross entropy는 확률 분포 간의 차이를 측정하며, 모델이 출력한 확률 분포와 실제 정답 라벨의 one-hot 분포 사이의 차이를 최소화한다.
Probabilitic Task를 푼다고 한다면, MLE 관점으로 문제를 풀게 될 수 있다. Loss 는 모델이 데이터를 생성할 가능도를 최대화하도록 유도한다.
Loss function은 우리가 실제로 원하는 성능지표(Accuracy, F1-score 등)의 근사치일 뿐이며, 항상 완벽하게 우리가 원하는 결과를 보장하지는 않는다.
예를 들어, Class Imbalance가 심한 데이터에서는 Cross Entropy만으로는 성능 저하가 발생할 수 있다.
따라서 실제 목적(metric)에 따라 적절한 loss function 선택 및 조정(class weight, focal loss 등)이 필요하다.
최적화 방법은 데이터, 모델, loss function이 정해져있을 때, 네트워크의 파라미터(가중치와 편향)를 어떻게 업데이트할지에 대한 내용이다.
뉴럴 네트워크의 파라미터를 loss function에 대해서 1차 미분한 정보를 활용할 것이다.
모델이 학습하지 않은 데이터에서 잘 동작하는 것이 중요하다.
아래와 같은 다양한 Technique들을 같이 사용해서 Test data와 실 환경에서 잘 동작하도록 해야 한다.
Converlution이라는 네트워크, 심층 합성곱 신경망(Deep Convolutional Newural Network, CNN)을 도입하여 이미지 분류 대회에서 획기적인 1위를 차지했다. 딥러닝의 대중화를 촉진했으며, 실질적인 패러다임 전환을 야기했다.
Q-learning에 딥러닝을 접목하여 인간 수준의 전략을 학습할 수 있게 한 대표적인 심층 강화학습(Deep Reinforcement Learning) 모델이다. 알파고와 같은 AI 시스템의 기반이 되는 핵심 알고리즘 구조를 제시했다.
Neural Machine Translation(NMT)의 표준이 되었으며, 자연어 처리에서 시퀀스 간 변환 문제에 응용되고 있다.
단어의 연속(문장)이 주어졌을 때, 잘 표현해서 우리가 원하는 다른 언어의 연속적인 문장으로 변환해주는 것이다.
Adam (Adaptive Moment Estimation) optimizer는 변현된 확률적인 경사하강법(SGD)에 기반하여 각 파라미터의 적응적 학습률을 자동으로 조정한다. 계산 효율성과 튜닝의 용이성으로 대부분의 딥러닝 연구와 실무에서 표준적으로 사용되고 있다.
공식 문헌에서도 Adam을 기본 선택으로 두는 경우가 많으며 빠른 수렴이 중요하거나 자원 제약이 있는 환경에서 강점이 있다.
많은 컴퓨팅 리소스가 필요한데, 일반적인 사람들은 지표가 한정적인 리소스가 있기 때문에 아담 방법론이 가장 무난하게 사용할 수 있다고 한다.
생성자 (Generator)와 판별자(Discriminator)라는 두 신경망이 경쟁적으로 학습하는 구조로, 이미지나 텍스트, 오디오 등을 생성하는 데 주로 사용된다.
Residual Networks(ResNet)의 등장으로 딥러닝이 실질적으로 깊은 네트워크를 구성할 수 있는 전환점이 마련되었다고 볼 수 있다.
이전에는 네트워크의 깊이를 늘릴수록 성능이 저하되거나 학습이 제대로 이뤄지지 않는 degradation 문제가 있었지만 ResNet이 나온 이후, 네트워크를 깊게 쌓을 수 있도록 만들어준 패러다임의 전환점이 되었다.
'Attention Is All You Need' 라는 논문에서 소개된 Transformer 아키텍처는 RNN, CNN 없이 오직 Attention 매커니즘만으로 시퀀스 데이터를 처리한다.
대부분의 자연어 처리(NLP) 과제에서 최고 성능을 기록하여 대규모 사전학습 언어모델의 토대가 되었다.
구조의 단순성과 병렬처리 효율성으로 대규모 데이터 학습이 용이해졌다는 점이 중요한 점이다.
NLP 모델은 랭귀지 모델이라는 학습을 하게 된다. 앞선 단어가 나왔을 때 다음에 올 단어를 맞추게 되는 방식이다. 이 과정을 반복하게 되면 그럴싸한 문장이나 프로그램이 만들어지게 된다.
실제 우리가 풀고자 하는 문제는 여기에 맞는 충분한 학습 데이터를 확보하기 어렵다는 한계가 있다.
예를 들어, 날씨 예측과 같은 뉴스 데이터는 수가 많지 않다.
이때, BERT는 위키피디아와 같은 대규모 일반 텍스트 데이터를 확용하여 pretraining 한 후, 우리가 원하는 작업에 맞게 소량의 도메인 데이터로 추가 학습(fine-tuning)을 한다.
즉, BERT는 일반적인 언어 이해 능력을 먼저 학습한 후 다양한 NLP task에 맞춰 쉽게 적응할 수 있도록 설계된 모델이다.
이로 인해 모델을 처음부터 새로 학습하는 것이 아니라, 사전학습된 언어 모델을 미세조정하여 문제를 해결하는 방식이 표준으로 자리잡게 되었다.
약간의 fine-tuning이나 prompt만으로 다양한 과제를 해결할 수 있게 되었다.
SimCLR : a simple framework for contrastive learning of visual representations
기존에는 한정된 학습 데이터가 주었을 때, 모델과 loss function을 바꿔가면서 최적화 하는 것이 일반적이었다.
하지만 실제 환경에서는 라벨이 없는 데이터가 더 많기 때문에, 이를 효과적으로 활용하기 위한 방법으로 Self-Supervised Learning이 제시되었다.
Self-Supervised Learning은 라벨이 없는 데이터 간의 관계나 패턴을 학습하여 의미 있는 표현(Representation)을 추출할 수 있도록 하는 학습 방식이다.
SimCLR은 이러한 Self-Supervised Learning의 대표적인 프레임워크로 이미지를 컴퓨터가 이해할 수 있는 벡터로 변환하는데 효과적인 성능을 보인다.
REFERENCE