1. 인공지능 개요

1.1. 인공지능이란?

  • 역량에 따른 분류

    • 협의적 인공지능: 약인공지능(weak), 좁은 인공지능(narrow)
    • 범용 인공지능(general): 강인공지능(strong), 인공 일반 지능(AGI)
    • 초지능 인공지능(super)
  • 전통적 프로그래밍과 머신러닝의 차이

    • 전통적 프로그래밍: 프로그래머가 직접 작성한(explicit) 프로그램에 입력 데이터를 사용하고 프로그램을 실행하여 출력을 생성한다. (data + program(fuction) → output)
    • 머신러닝: 입력 데이터와 정답이 있는 출력이 알고리즘에 공급되어 프로그램(모델)을 생성한다. (data + output → program(fuction))
    • 코드 vs 데이터의 관점?

1.2. 인공지능 역사

  • 규칙 기반의 논리적 추론(기호주의)에서 신경망과 분산 계산(연결주의)으로의 패러다임 전환

  • 기호주의(symbolism)

    • 인간의 지능과 지식을 기호화하여 학습시키는 방법
    • 전문가 시스템(expert system)
  • 연결주의(connectionism)

    • 두뇌 신경 조직을 모형화하고 여러 신경을 네트워크 구조로 연결해 연결 강도를 학습시키는 방법

1.3. 인공지능과 머신러닝, 딥러닝

  • 인공지능 > 머신러닝 > 딥러닝

    • 인공지능(AI): 인간의 지능을 구현하고자 하는 기술
    • 머신러닝(ML): 주어진 데이터를 기반으로 기계가 스스로 학습하는 기술
    • 딥러닝(DL): 퍼셉트론으로 구성된 인공신경망으로 여러 단계의 심층 학습을 통하여 스스로 학습하는 기술
  • 머신러닝과 딥러닝의 대략적인 차이

    • 머신러닝: 특징을 수동으로 추출한다.
    • 딥러닝: 특징을 자동으로 추출한다.
    • 정확히는 전통적인 ML도 특징 학습이 가능하지만 표현학습의 수준과 규모가 다르다.
  • 표현 학습

    • 원시 데이터를 기계가 이해하고 처리하기 쉬운 형태(표현)로 자동으로 변환하는 방법을 배우는 과정
    • e.g. 합성곱 신경망(CNN)

2. 머신러닝

2.1. 머신러닝 절차와 주요 용어

(1) 머신러닝 절차

  • 머신러닝 수행 과정
    • 0. 문제 정의
      1. 데이터 수집: kaggle, 공공 dataset 등
      1. 데이터 전처리: 정규화 등
      1. 모델 설계: 활성화 함수 선택, CNN 등
      1. 모델 학습, 시각화, 성능 개선 등
      1. 평가, 배포, 모니터링 등

(2) 주요 용어

  • 문제 파악

    • 회귀(regression): 연속값을 예측하는 문제
    • 분류(classification): 불연속적인 이산값을 예측하는 문제
  • 데이터 종류 예시

    • 이미지 (→ 합성곱 CNN)
    • 시계열 (→ 순환 RNN)
  • 탐색적 데이터 분석(EDA: Exploratory Data Analysis)

    • 특성(features): 예측값, 목표(target)를 위한 속성
    • 레이블(label): 이미 아는 정답
    • 결측치(missing value): 빠진 데이터 값
    • 이상치(outlier): 정상적인 범주를 벗어난 값
  • dataset 분할

    • train 80%, validation 10%에 test 10% 등
    • 테스트 데이터는 절대 모델 학습이나 튜닝에 사용되지 않아야 한다.
  • 하이퍼파라미터(hyperparameter)

    • 모델이 학습을 통해 자동으로 찾는 파라미터가 아닌, 개발자가 직접 설정해주는 값
    • 선형 회귀: 배치 경사하강법의 학습률(learning rate)
    • 신경망: 층 수, 뉴런 수, batch size, epoch 수, 옵티마이저 종류, 드롭아웃 비율
    • CNN: 필터 크기, 채널 개수

2.2. 머신러닝 분류

  • 지도 학습(supervised learning)

    • label이 있는 데이터로 학습하는 방법
    • 지도 학습의 대표적 알고리즘: 선형 모델과 K-최근접 이웃(KNN) 알고리즘
  • 비지도 학습(unsupervised learning)

    • label이 없는 데이터로 학습하는 방법
    • 비지도 학습의 대표적 알고리즘: K-평균(means) 군집화(clustering) 알고리즘과 차원 축소
  • 강화 학습(reinforcement learning)

    • 보상을 얻기 위한 정책을 다음 행동에 반영시키는 방법
    • agent가 환경(environment)을 관찰(observation)하여 다음 행동(action)을 하면 reward 또는 penalty를 줌으로써, 가장 큰 보상을 얻기 위한 정책(policy)를 통해 스스로 학습하는 방법
  • 자기지도 학습(self-supervised learning)

    • 2025년 AI 트렌드에서 핵심 기술 중 하나
    • 데이터 자체에서 학습에 필요한 신호(가짜 라벨)를 만들어서 학습하는 방식

2.3. 평가 지표

  • 분류(Classification) 모델의 성능을 평가하는 혼동행렬

3. 딥러닝

3.1. 퍼셉트론과 인공신경망

(1) 퍼셉트론

  • 퍼셉트론(perceptron):

    • 뉴런을 모방한 모델로, 다수의 신호를 입력 받아서 하나의 신호로 출력한다.
    • 출력(output):
  • 가중합(weighted sum):

    • 가중치(weight):
    • 입력(input):
    • 편향(bias):
    • 딥러닝 알고리즘(SGD 등)에 의해 가중치와 편향의 최적값이 자동으로 결정된다.
  • 활성화 함수(activation function):

    • 퍼셉트론에서 최종 값을 결정하는 함수
  • 활성화 함수의 종류

    • 단위 계단 함수(unit step function)
    • ReLU(Rectified Linear Unit)
    • 시그모이드(sigmoid)
    • 하이퍼볼릭탄젠트(tanh)
    • softmax
  • softmax

    • 출력값이 확률 분포로 해석되어 총합이 항상 1이 된다.
    • 숫자 인식과 같이 여러 label 중에 1개를 classification할 때는 softmax가 적합하다
    • 단, O/X 문제와 같이 2개를 classification할 때는 sigmoid도 사용 가능하다.

(2) 인공신경망

  • 인공신경망(ANN: Artificial Neural Network)

    • 퍼셉트론을 여러 층으로 확장한 모델
  • 다층 퍼셉트론(MLP: Multi-Layer Perceptron)

    • 인공신경망을 확장해 여러 개 연결한 층를 쌓아 구성된다.
  • 심층신경망(DNN: Deep Neural Network) → 딥러닝

    • 입력층과 출력층 사이에 여러 개의 은닉층으로 구성된다.
  • 신경망의 층(layer)

    • 입력층(input layer): 활성화 함수가 없기 때문에 층/수로 취급하지 않는다.
    • 은닉층(hidden layer): 사람이 보고 이해할 수 없는 내용의 층이다.
      • 은닉층이 0~1개이면 shallow neural network
      • 은닉층이 2개 이상이면 deep neural network
    • 출력층(output layer)
    • e.g. 2층 신경망은 입력층(0층), 은닉층(1층), 출력층(2층)으로 구성된다.
  • 합성곱 신경망(CNN: Convolutional Neural Network)

  • 순환 신경망(RNN: Recurrent Neural Network)

    • 주로 순차적인 데이터(시계열 데이터 등)에 사용됨

3.2. 인공신경망의 학습

(1) ‘학습한다’의 의미

  • 개념적 설명: 데이터에 대한 추세선을 가장 작은 MSE로 구하는 것
  • 수식적 설명: 미분값이 0이 되어 오차가 더이상 변하지 않을 때까지 W를 갱신한다.
    • learning rate만큼 갱신, 데이터에 따라 적절한 learning rate(η) 값이 중요

(2) 신경망 학습 과정

    1. 순전파(forward propagation)
    • 입력을 받아서 신경망을 따라 출력을 계산한다. (prediction)
    1. 손실 계산(loss calculation)
    • 모델의 예측 결과와 실제 정답(label) 간의 오차(loss)를 MSE 등의 함수로 계산한다.
    1. 역전파(Backpropagation)
    • 오차를 기반으로 각 가중치가 손실에 미친 영향을 계산한다.
    • 이때 미분을 사용해서 손실 함수에 대한 가중치의 기울기(gradient)를 구한다.
    • 오차역전파(error backpropagation): 학습 과정에서 가중치를 수정하기 위해 순전파의 반대 방향으로 학습을 하는 과정
    1. 가중치 업데이트(gradient descent)
    • 가중치를 기울기 방향의 반대 방향으로 조정하여 손실을 줄인다. (feedback)

(3) 손실 함수

  • 손실 함수(loss function), 비용 함수(cost function), 목적 함수(objective function)

    • 인공신경망에서 학습 지표인 목표값의 계산식 (→ 오차를 정의한 함수)
  • 회귀 문제의 평균 제곱 오차(MSE: Mean Squared Error)

    • 예측값과 실제값의 차이를 제곱해서 평균, 큰 오차에 더 민감
  • 분류 문제의 교차 엔트로피 손실(CEL: Cross-Entropy Loss)

    • 정답 클래스에 높은 확률을 줄수록 loss 감소
    • 정답 클래스에 낮은 확률을 주거나, 오답 클래스에 높은 확률을 줄수록 loss 증가
  • 엔트로피: Σ 발생 확률(확률 분포) × 코딩 길이 → 정답 분포 자체의 불확실성

    • 각 사건의 발생 확률이 같은 균일 분포일 때 최대 (worst case)

(4) 옵티마이저

  • 옵티마이저(optimizer)

    • 손실 함수를 최소화(minimize)하기 위해 모델의 파라미터(가중치 등)를 조정하는 최적화 알고리즘
  • 경사하강법(gradient descent)

    • 어떤 손실함수가 정의되었을 때, 손실함수의 값이 최소가 되는 지점을 찾아 가는 방법
  • 확률적 경사하강법(SGD: Stochastic Gradient Descent)

    • 매개변수 W를 갱신()하는 알고리즘
    • early stopping·epoch 제한 등으로 오차가 더 이상 변하지 않을 때까지 반복한다.
  • adam(adaptive moment estimation)

(5) 가중치 업데이트 파라미터

  • 학습률(learning rate)
    • 가중치 업데이트 정도(학습 진행 속도)를 조절하는 하이퍼파라미터
    • 너무 작으면 학습 속도가 매우 느리거나 local minimum에 빠져 정체 될 수 있음
    • 너무 크면 loss값이 발산하여 학습이 전혀 안 될 수 있음

3.3. 성능 저하

  • 경사 소실(vanishing gradient)

    • 역전파할 때 기울기(gradient)가 너무 작아져서 가중치가 거의 업데이트되지 않는 현상
  • 과적합(overfitting)

    • 모델이 학습 데이터에는 너무 잘 맞지만, 새로운 데이터에는 성능이 나쁜 경우
  • dropout

    • 과적합을 줄이기 위한 정규화 기법
    • 학습 중에 일부 뉴런의 출력을 확률적으로 0으로 만들어 변경된 신경망을 통해 학습을 수행
    • 매번 미니배치 학습을 할 때마다 새로 랜덤으로 dropout을 적용하여 학습
  • 극소(local minimum)

    • 비용 함수(loss function)에서 더 이상 내려갈 수 없지만, 진짜 최소값(전역 최소, global minimum)은 아닌 지점
    • 사실 딥러닝같은 고차원 함수에서는 극소보다는 saddle point가 훨씬 많다.

3.4. 다양한 인공신경망 라이브러리

3.5. transformer 아키텍처

  • 2017년 논문 “Attention Is All You Need” (Vaswani et al.)에서 제안

  • RNN·CNN의 순차 계산 병목을 해소해 대규모 병렬 학습·긴 문맥 처리가 가능해짐

  • 2017 이후 딥러닝 연구·산업 양쪽에서 사실상 표준

  • 주요 파생 모델

    • BERT(양방향 인코더) → 문장 이해
    • GPT 시리즈(오토리그레시브 디코더) → 텍스트 생성