AI 입문 필수! 머신러닝 기초 개념 완벽 가이드 (초보도 OK)
AI 공부 시작! 뭐부터 알아야 할까?
이번 시간에는 AI 공부를 시작하기 전에 꼭 알아야 할 몇 가지 기본적인 내용들을 알아볼 거야. AI를 이미 조금 공부해 본 사람들은 복습한다고 생각하고, 처음 접하는 사람들은 앞으로 배울 내용을 이해하는 데 꼭 필요한 내용들이니 집중해서 들어보자!
1. AI 학습 방법: 크게 세 가지!
AI가 학습하는 방법은 크게 세 가지로 나눌 수 있어.
-
지도 학습 (Supervised Learning):
- 데이터에 '정답' (레이블)이 있는 경우야.
- 예를 들어, 강아지 사진을 보여주면서 "이건 강아지야"라고 알려주는 거지.
- 목표는 입력(사진)을 받아서 정답(강아지)을 맞추는 함수를 배우는 거야.
- 예시:
- 분류: 사진 보고 강아지인지 고양이인지 맞추기, 스팸 메일인지 아닌지 구분하기
- 번역: 한국어 문장을 영어 문장으로 바꾸기
- 캡셔닝: 사진을 보고 사진에 대한 설명(캡션) 만들기
-
비지도 학습 (Unsupervised Learning):
- 데이터에 '정답' (레이블)이 없는 경우야.
- AI가 스스로 데이터의 특징을 파악하고 숨겨진 패턴을 찾아내도록 하는 거지.
- 예시:
- 군집화 (Clustering): 비슷한 특징을 가진 데이터끼리 묶기 (예: 비슷한 취향의 사람들끼리 그룹 만들기)
- 차원 축소 (Dimensionality Reduction): 복잡한 데이터를 더 간단하게 표현하기 (예: 수많은 특징을 가진 데이터를 몇 가지 핵심 특징으로 요약하기)
- 데이터 분포 학습: 데이터가 어떻게 퍼져 있는지, 어떤 구조를 가지고 있는지 학습하기
-
강화 학습 (Reinforcement Learning):
- AI가 어떤 행동을 했을 때 '보상'을 받으면서 학습하는 방식이야.
- 목표는 장기적으로 가장 큰 보상을 얻을 수 있는 행동을 배우는 거야.
- 예시:
- 게임: 게임 캐릭터가 점수를 많이 얻으려면 어떻게 움직여야 할지 학습하기 (바둑, 체스 등)
- 자율 주행 자동차: 안전하고 빠르게 목적지에 도착하기 위해 어떻게 운전해야 할지 학습하기
요즘은 생성 모델 (Generative Models)과 자기 지도 학습 (Self-supervised Learning) 덕분에 지도 학습과 비지도 학습의 경계가 점점 흐릿해지고 있어.
2. AI 모델 개발 과정: 단계별로 알아보자!
AI 모델을 만드는 과정은 마치 우리가 공부하고 시험 보는 것과 비슷해.
-
데이터 준비:
- AI 학습에 필요한 데이터를 모으는 단계야.
- 이때 데이터를 세 가지로 나눠서 준비해야 해.
- 훈련 세트 (Training Set): AI가 학습하는 데 사용하는 데이터 (교과서)
- 검증 세트 (Validation Set): 학습이 잘 되고 있는지 중간 점검하는 데이터 (연습 문제)
- 테스트 세트 (Test Set): 최종적으로 AI의 성능을 평가하는 데이터 (기말고사)
- 일반화 (Generalization): AI가 처음 보는 데이터에서도 잘 작동하는 능력을 말해. 기말고사에서 처음 보는 문제가 나와도 잘 푸는 것처럼 말이지!
-
모델 구축:
- AI 모델을 만들거나 이미 만들어진 모델을 가져와서 사용하는 단계야.
- 신경망 (Neural Network): 요즘 AI에서 가장 많이 쓰이는 모델인데, 사람의 뇌를 본떠서 만들었어.
- 입력층 (Input Layer): 데이터가 들어가는 곳
- 은닉층 (Hidden Layer): 데이터의 패턴을 학습하는 곳
- 출력층 (Output Layer): 최종 결과를 내보내는 곳
- 비선형성 (Non-linearity): 신경망에서 아주 중요한데, 복잡한 데이터를 더 잘 이해하고 처리할 수 있게 해줘. 마치 복잡한 문제를 풀기 위해 다양한 사고방식을 사용하는 것처럼 말이야.
-
모델 훈련:
- 준비된 데이터를 가지고 AI 모델을 학습시키는 단계야.
- 손실 함수 (Loss Function): AI가 예측한 결과와 실제 정답 사이의 '오차'를 계산하는 함수야. 이 오차를 줄이는 게 목표지.
- 최적화 (Optimization): 손실 함수를 최소화하는 AI 모델의 '파라미터' (AI가 학습하는 값들)를 찾는 과정이야.
- 경사 하강법 (Gradient Descent): 오차를 줄이기 위해 파라미터를 조금씩 조정하는 방법이야. 마치 산에서 내려올 때 가장 가파른 방향으로 내려가는 것처럼 말이지.
- 확률적 경사 하강법 (Stochastic Gradient Descent, SGD): 전체 데이터를 한 번에 사용하지 않고, 작은 묶음(미니 배치)으로 나누어 훈련하는 방식이야. 큰 데이터를 다룰 때 훨씬 효율적이지.
- 과적합 (Overfitting) vs. 과소적합 (Underfitting):
- 과적합: 연습 문제만 너무 많이 외워서 실제 시험은 못 보는 경우. (훈련 데이터는 잘 맞추는데, 테스트 데이터는 못 맞추는 경우)
- 과소적합: 공부를 너무 안 해서 연습 문제도 못 풀고 시험도 못 보는 경우. (훈련 데이터도 잘 못 맞추고, 테스트 데이터도 못 맞추는 경우)
- 조기 종료 (Early Stopping): 과적합이 일어나기 전에 훈련을 미리 멈추는 방법이야.
-
모델 평가:
- 훈련된 AI 모델이 얼마나 잘 작동하는지 평가하는 단계야.
- 정확도 (Accuracy), 정밀도 (Precision), 재현율 (Recall), F1 점수 (F1 Score), 혼동 행렬 (Confusion Matrix) 등 다양한 지표를 사용해.
-
모델 개선:
- 평가 결과가 만족스럽지 않으면, 다시 데이터 준비, 모델 구축, 훈련 단계를 반복하면서 모델을 개선해 나가.
3. 선형대수와 NumPy: AI의 언어!
AI 모델은 결국 숫자로 이루어져 있어. 이 숫자들을 효율적으로 다루기 위해 선형대수 (Linear Algebra)라는 수학 분야가 아주 중요해.
- 스칼라 (Scalar): 숫자 하나 (예: 5)
- 벡터 (Vector): 여러 개의 스칼라를 모아놓은 것 (예: [1, 2, 3])
- 행렬 (Matrix): 여러 개의 벡터를 모아놓은 것 (2차원 배열)
- 텐서 (Tensor): 행렬보다 더 높은 차원의 배열 (3차원, 4차원 등)
AI 모델의 데이터와 파라미터들은 대부분 행렬이나 텐서 형태로 표현돼. 그래서 선형대수를 잘 이해하면 AI 모델이 어떻게 작동하는지 더 깊이 이해할 수 있어.
NumPy는 파이썬에서 이런 선형대수 연산을 쉽고 빠르게 할 수 있도록 도와주는 라이브러리야. AI 개발에서 NumPy는 정말 필수적인 도구라고 할 수 있지!
이번 시간에는 AI 공부를 위한 기본적인 개념들을 살펴봤어. 다음 시간에는 더 재미있는 내용들로 돌아올게!