LLM 25일 코스 - Day 1: AI 핵심 용어 총정리

Day 1: AI 핵심 용어 총정리

AI를 공부하기 전에 반드시 알아야 할 용어들을 정리합니다. 이 용어들을 모르면 논문이든 블로그든 한 줄도 이해할 수 없습니다.

AI / ML / DL 관계

용어의미범위
AI (인공지능)인간의 지능을 모방하는 모든 기술가장 넓은 개념
ML (머신러닝)데이터에서 패턴을 학습하는 AI의 하위 분야AI의 부분집합
DL (딥러닝)신경망 기반의 머신러닝ML의 부분집합

학습 관련 핵심 용어

용어설명비유
파라미터(Parameter)모델이 학습하는 가중치 값뇌의 시냅스 연결 강도
에포크(Epoch)전체 데이터를 한 번 순회하는 단위교과서 1회독
배치 사이즈(Batch Size)한 번에 처리하는 데이터 수한 번에 푸는 문제 수
학습률(Learning Rate)가중치 업데이트 크기보폭의 크기
손실함수(Loss Function)예측과 정답의 차이를 측정시험 오답률
옵티마이저(Optimizer)손실을 줄이는 전략공부 방법론
과적합(Overfitting)훈련 데이터에만 잘 맞는 상태문제 답만 외운 것
일반화(Generalization)새로운 데이터에도 잘 동작응용 문제도 풀 수 있는 것

Python으로 보는 핵심 개념

import numpy as np

# 파라미터: 모델이 학습하는 값
weights = np.random.randn(3)  # 3개의 파라미터
bias = 0.0                     # 편향도 파라미터

# 간단한 예측 함수
def predict(x, weights, bias):
    return np.dot(x, weights) + bias

# 손실함수: 예측과 정답의 차이 (MSE)
def loss_function(predicted, actual):
    return np.mean((predicted - actual) ** 2)
# 학습 루프의 기본 구조
learning_rate = 0.01  # 학습률
epochs = 100          # 에포크 수
batch_size = 32       # 배치 사이즈

for epoch in range(epochs):
    for batch in get_batches(data, batch_size):
        prediction = predict(batch, weights, bias)
        loss = loss_function(prediction, labels)
        gradient = compute_gradient(loss)
        weights -= learning_rate * gradient  # 가중치 업데이트
    print(f"Epoch {epoch}: Loss = {loss:.4f}")

과적합 vs 일반화 확인하기

# 과적합 감지: 훈련 손실은 낮은데 검증 손실은 높을 때
train_loss = 0.01   # 훈련 데이터에서의 손실
val_loss = 0.85     # 검증 데이터에서의 손실

if val_loss > train_loss * 5:
    print("과적합 의심! 정규화 또는 데이터 증강 필요")
else:
    print("양호: 일반화 성능이 괜찮습니다")

이 용어들은 앞으로 30일 동안 계속 등장합니다. 완벽히 외울 필요는 없지만, 이 페이지를 북마크하고 모를 때마다 돌아오세요.

오늘의 연습문제

  1. AI, ML, DL의 관계를 벤다이어그램으로 그려보고, 각각에 해당하는 실제 서비스를 2개씩 적어보세요. (예: 체스 엔진, 스팸 필터, ChatGPT)
  2. 학습률이 너무 크면 어떤 문제가 생기고, 너무 작으면 어떤 문제가 생기는지 설명해보세요. learning_rate = 10.0learning_rate = 0.000001로 각각 실험해보세요.
  3. 에포크 수를 늘리면 항상 성능이 좋아질까요? 과적합과 연결하여 설명하고, 적절한 에포크 수를 찾는 방법(Early Stopping)을 조사해보세요.

이 글이 도움이 되었나요?