인공지능 기초 용어
- Artificial Intelligence (AI): 기계가 인간처럼 사고하고 학습하며 문제를 해결할 수 있도록 하는 기술 및 개념.
- Machine Learning (ML): AI의 하위 분야로, 데이터를 통해 모델을 학습하여 예측하거나 분류할 수 있는 기술.
- Deep Learning (DL): ML의 하위 분야로, 인공신경망을 사용하여 데이터를 학습하는 기술. 주로 다층 신경망을 사용.
- Neuron: 신경망에서 정보의 기본 단위로, 입력을 받아 처리하고 출력을 내보내는 계산 유닛.
- Neural Network: 여러 개의 뉴런이 연결된 구조로, 입력을 받아 출력을 생성하는 모델.
- Layer: 신경망에서 뉴런들이 모여 있는 층. 입력층, 은닉층, 출력층으로 구성됨.
- Activation Function: 뉴런의 출력을 결정하는 함수. 대표적인 예로는 시그모이드 함수, ReLU 함수 등이 있음.
- Loss Function: 모델의 예측값과 실제값 간의 차이를 측정하는 함수. 이 값을 최소화하는 것이 학습의 목표.
- Gradient Descent: Loss function을 최소화하기 위해 경사를 따라 매개변수를 업데이트하는 최적화 알고리즘.
- Gradient: 함수의 기울기로, 특정 지점에서의 변화율을 나타냄. 경사 하강법에서 사용됨.
- Gradient Vanishing: 기울기 소실, 신경망의 층이 깊어질수록 역전파 과정에서 기울기가 점점 작아져 가중치 업데이트가 거의 이루어지지 않는 문제
- Learning Rate: 경사 하강법에서 매개변수를 업데이트할 때 사용하는 비율. 학습률이 너무 크면 발산하고, 너무 작으면 수렴 속도가 느려짐.
- Overfitting: 모델이 학습 데이터에 너무 맞춰져서 새로운 데이터에 일반화되지 않는 현상.
- Underfitting: 모델이 학습 데이터의 패턴을 제대로 학습하지 못하는 현상.
- Regularization: 모델이 과적합되지 않도록 하기 위해 사용하는 기법. 대표적인 방법으로 L1, L2 정규화가 있음.
- Epoch: 전체 학습 데이터를 한 번 학습하는 과정.
- Batch: 학습 데이터를 여러 묶음으로 나누어 처리하는 것. Batch size는 한 번에 처리하는 데이터의 양.
- Backpropagation: 신경망 학습 과정에서 오류를 역전파하여 가중치를 업데이트하는 방법.
- Convolutional Neural Network (CNN): 이미지 인식에 주로 사용되는 신경망 구조로, 합성곱 층을 사용하여 특징을 추출.
- Recurrent Neural Network (RNN): 시계열 데이터나 순차 데이터를 처리하는 신경망 구조로, 이전 단계의 출력을 다음 단계의 입력으로 사용.
- Hyperparameter: 모델의 성능에 영향을 미치는 매개변수로, 학습 과정에서 직접 최적화되지 않고 사람이 설정해야 함. 예: 학습률, 배치 크기 등.
자연어 처리(NLP, Natural Language Processing)
기초 용어
- Token: 텍스트를 분석하기 위해 나누는 최소 단위로, 단어, 구두점, 숫자 등이 될 수 있음.
- Tokenization: 텍스트를 토큰으로 나누는 과정.
- Corpus: 자연어 처리 연구를 위해 모아둔 텍스트 데이터의 집합.
- Vocabulary: 코퍼스에서 추출한 고유한 단어들의 집합.
- Embedding: 단어를 벡터 형태로 변환하여 수치화하는 방법.
- One-hot Encoding: 단어를 벡터의 특정 위치에 1을 표시하고 나머지 위치에 0을 두는 방식으로 표현하는 방법.
필수 용어
- Bag of Words (BoW): 문서를 단어들의 순서를 고려하지 않고 단순히 빈도를 카운팅하여 표현하는 방법.
- TF-IDF (Term Frequency-Inverse Document Frequency): 단어의 빈도와 역문서 빈도를 사용하여 단어의 중요도를 측정하는 방법.
- Word2Vec: 단어의 의미를 벡터 공간에 학습하여 표현하는 방법. 주로 Skip-gram과 CBOW 모델이 있음.
- GloVe (Global Vectors for Word Representation): 전역 단어 공동 발생 행렬을 이용하여 단어 벡터를 학습하는 방법.
- Sequence-to-Sequence (Seq2Seq): 입력 시퀀스를 다른 시퀀스로 변환하는 모델로, 주로 기계 번역에 사용됨.
- Attention Mechanism: 입력 시퀀스의 모든 위치에 대한 가중합을 계산하여 특정 부분에 집중할 수 있게 하는 방법.
- Transformer: Attention Mechanism을 기반으로 한 모델로, RNN 없이 병렬 처리가 가능하여 성능이 우수함.
- BERT (Bidirectional Encoder Representations from Transformers): 문맥을 양방향으로 학습하는 트랜스포머 기반의 사전 학습 모델.
- GPT (Generative Pre-trained Transformer): 주어진 문맥에 따라 텍스트를 생성하는 트랜스포머 기반의 사전 학습 모델.
- Named Entity Recognition (NER): 텍스트에서 사람, 장소, 기관 등의 고유 명사를 인식하는 작업.
- Part-of-Speech Tagging (POS Tagging): 단어의 품사를 식별하여 태그를 부여하는 작업.
- Dependency Parsing: 문장의 구조를 파악하여 단어들 간의 의존 관계를 분석하는 작업.
- Sentiment Analysis: 텍스트에서 감정이나 의견을 추출하여 긍정적, 부정적, 중립적 감정을 분류하는 작업.
- Language Model: 텍스트 데이터를 기반으로 다음 단어를 예측하거나 문장을 생성하는 모델.
ML과 DL의 차이점
머신러닝(Machine Learning, ML)
- 정의: 머신러닝은 컴퓨터가 명시적으로 프로그래밍되지 않아도 데이터를 통해 학습하고 예측할 수 있는 기술을 말합니다.
- 데이터 처리 방식:
- 머신러닝 모델은 주로 구조화된 데이터를 사용합니다.
- 특징 추출(feature extraction)을 통해 데이터를 분석하고, 이 특징들을 기반으로 모델을 학습합니다.
- 특징 추출은 주로 사람이 수동으로 설계합니다.
- 모델 종류:
- 지도 학습 (Supervised Learning): 레이블이 있는 데이터로 학습하는 방식. 예: 회귀, 분류 알고리즘.
- 비지도 학습 (Unsupervised Learning): 레이블이 없는 데이터로 학습하는 방식. 예: 군집화, 차원 축소 알고리즘.
- 강화 학습 (Reinforcement Learning): 에이전트가 환경과 상호작용하며 보상을 최대화하는 학습 방식.
- 알고리즘 예시:
- 회귀(Regression): 선형 회귀, 로지스틱 회귀
- 분류(Classification): 결정 트리, 랜덤 포레스트, SVM(서포트 벡터 머신)
- 군집화(Clustering): K-평균, 계층적 군집화
딥러닝(Deep Learning, DL)
- 정의: 딥러닝은 인공신경망(Artificial Neural Networks)을 사용하여 데이터를 학습하는 머신러닝의 한 하위 분야입니다. 특히 다층 신경망(Deep Neural Networks)을 사용하여 복잡한 패턴과 특징을 학습합니다.
- 데이터 처리 방식:
- 딥러닝 모델은 구조화된 데이터뿐만 아니라 비구조화된 데이터(예: 이미지, 오디오, 텍스트)도 처리할 수 있습니다.
- 특징 추출 과정이 자동화되어 있으며, 모델이 자체적으로 유의미한 특징을 학습합니다.
- 모델 종류:
- 인공신경망 (Artificial Neural Networks, ANN)
- 합성곱 신경망 (Convolutional Neural Networks, CNN): 주로 이미지 처리에 사용
- 순환 신경망 (Recurrent Neural Networks, RNN): 주로 시계열 데이터나 순차 데이터 처리에 사용
- 생성적 적대 신경망 (Generative Adversarial Networks, GAN): 새로운 데이터를 생성하는 데 사용
- 알고리즘 예시:
- CNN: 이미지 분류, 객체 검출
- RNN: 자연어 처리, 시계열 예측
- GAN: 이미지 생성, 데이터 증강
주요 차이점
- 모델 복잡성:
- 머신러닝 모델은 일반적으로 딥러닝 모델보다 덜 복잡합니다.
- 딥러닝 모델은 수많은 층을 가진 신경망 구조를 사용하여 더 복잡하고, 대규모 데이터에서 더 좋은 성능을 보입니다.
- 데이터 요구량:
- 머신러닝 모델은 비교적 적은 양의 데이터로도 좋은 성능을 낼 수 있습니다.
- 딥러닝 모델은 대량의 데이터를 필요로 하며, 데이터가 많을수록 성능이 향상됩니다.
- 컴퓨팅 자원:
- 머신러닝 모델은 일반적으로 딥러닝 모델보다 적은 컴퓨팅 자원을 필요로 합니다.
- 딥러닝 모델은 GPU와 같은 고성능 하드웨어가 필요합니다.
- 특징 추출:
- 머신러닝에서는 특징 추출을 수동으로 설계해야 합니다.
- 딥러닝에서는 모델이 자동으로 특징을 추출합니다.
- 적용 분야:
- 머신러닝은 주로 구조화된 데이터 분석에 많이 사용됩니다.
- 딥러닝은 이미지 인식, 음성 인식, 자연어 처리 등 비구조화된 데이터 처리에 강점을 가집니다.
이 두 분야는 서로 보완적이며, 많은 경우 함께 사용하여 더 나은 성능을 낼 수 있습니다. 머신러닝과 딥러닝의 이해를 통해 다양한 AI 응용 분야에서 최적의 해결책을 찾을 수 있습니다.