AI 정리

인공 지능의 종류

dawon-project 2025. 2. 27. 21:11

 

AL, ML, DL의 차이

  • AI(Artificial Intelligence, 인공지능)
    • 인간의 사고를 모방하는 기술
    • 규칙 기반 시스템부터 최신 딥러닝 모델까지 포함
    • 지능적인 행위를 하는 모든 것
      • ex)로봇 청소기(고전적인 로봇 청소기와 같은 경우 조건에 따라서 행동하는 구조), Expert System(전문가 시스템) : 번역을 할때 어떠한 법칙들을 기반으로 행동하게 만드는 것  
      • 간단하게 코딩해 놓은 규칙에 따라서 움직이도록 해놓은 것
  • ML(Machine Learning, 머신러닝)
    • AI의 하위 분야로, 데이터를 이용해 패턴을 학습하고 예측하는 기술
    • 지도 학습, 비지도학습, 강화 학습 등의 방법 포함
      • 지도학습(Supervised Learning)
        • 문제와 정답을 모두 알려주고 학습 -> 예측(prediction), 분류(Classification)
        • 주요 목표 : 데이터의 예측
      • 비지도 학습(Unsupervised Learning)
        • 답을 가르쳐주지 않고, 공부시키는 방법 -> 연관성 파악, 군집(Clustering)
      • 강화 학습(Reinforcement Learning)
        • 보상을 통해 상은 최대화, 벌은 최소화하는 방향으로 행위를 강화하는 학습 -> 보상
  • DL(Deep Learning, 딥러닝)
    • 머신러닝의 한 분야로, 다층 신경망(Neural Network)을 이용한 학습 기법
    • 데이터 양이 많을 수록 성능이 향상됨
  • 머신러닝과 딥러닝 차이
    • 머신러닝(ML)은 사람이 직접 추출해야하지만 딥러닝(DL)은 특징 추출 과정도 신경망이 자동으로 수행

딥러닝에 대해

  • 초반의 딥러닝의 경우 순전파(Forward Propagation) 방식(순방향 학습)으로 네트워크를 학습시키는데, 이는 모든 파라미터를 순차적으로 계산해야 해서 계산량이 많고, 특히 네트워크가 깊어질수록 GPU 등 컴퓨터 자원의 요구가 커졌기 때문에 학습을 시키기가 어려웠다.
  • 그러나 네트워크 출력에서부터 오류를 계산하고, 그 오류를 네트워크의 가중치에 반영해가며 가중치를 조정하는 방식인 역전파(Backpropagation) 알고리즘이 등장하면서 효율적으로 학습을 할 수 있게 되었다. 즉, 오류(실제 값 - 예측 값)를 역으로 전달하면서 가중치 업데이트를 효율적으로 할 수 있게 되어, 더 큰 네트워크와 더 많은 데이터셋을 사용할 수 있게 되었다.
    • 신경망의 역전파 알고리즘은 주로 가중치 업데이트를 최적화하기 위해 사용
    • 딥러닝의 경우 특징을 추출해서 입력값으로 넣어주는 과정이 필요 없다.

 

  • 인공 뉴런(Perceptron)
    • 생물학적 신경세포를 모방하여 개발됨
    • 뉴런이 여러개 연결되어 네트워크를 형성하면 딥러닝 모델이 됨
  • 퍼셉트론(인공뉴런)의 구조
    • 입력층(Input layer) -> 가중치(Weight)와 바이어스(Bias) 적용 -> 활성화 함수(Activation Function) -> 출력층(Output layer)

  • 딥러닝의 파라미터의 갯수
    • feature : 입력층에 있는 뉴런으로 모델에 제공되는 데이터를 뜻함
      -> 입력층의 feature들로 hiddenl layer에서 유니크한 feature을 만들어낸다
    • Hidden Layer(은닉층) : 입력층과 출력 층 사이에 존재하는 중간층으로 데이터의 특성을 추상화하고 변환하는 역할
    • Target (타겟) : 출력 층에 있는 뉴런으로, 모델이 예측하는 결과 값이나 레이블을 뜻함

  • 다층 신경망을 통한 딥러닝 구현 그림
  • 퍼셉트론 다음에 활성화 함수를 적용하게 된 이유
    • 과적합 현상을 피하기 위해 의도적으로 함수의 그래프 모양을 비틀기 위함
    • 퍼셉트론은 기본적으로 선형 모델(연속적인 모델)로 작동해서, XOR 문제 처럼 비선형적인 데이터를 처리하는데는 어려움이 있기 때문
    •  퍼셉트론만을 사용한 선형 모델의 경우 연속적인 선의 형태를 띄기 때문에 여러 개의 층을 적용해도 한개의 층을 적용한 것과 같은 결과를 가져올 있기 때문에 여러개의 특징들을 뽑아내지 못하기 때문에 활성화 함수를 통해서 비선형 변환을 해준다.

실제 그래프를 그려본 실험 데이터

  • 신경망 학습 과정
    1. 순전파(Forward Propagation)
      • 입력 데이터를 신경망을 통해 전달하여 예측값 출력
      • 각 층에서 입력 값에 대해 가중치(w)와 편향(b)를 적용한 후 , 활성화 함수를 적용해 출력 값을 계산
      • 이 과정에서 각 층의 출력 값과, 활성화 함수의 결과, 기울기 등이 중간 결과로 저장됨 
    2. 손실 함수(Loss Function) 계산
      • 예측 값과 실제 값의 차이를 계산
    3. 역전파(Backpropagation) -> 가중치를 업데이트 하기 위한 기울기를 계산하는 과정
      • 출력층에서부터 시작해서 기울기를 계산하고, 이 기울기를 각 층으로 전달하는 과정
      • 손실을 최소화하기 위해 가중치와 바이어스를 조정하기 위한 기울기를 계산
      • 기울기는 순전파에서 저장된 중간 결과를 기반으로 계산
      • 체인 룰(Chain Rule)을 이용하여 미분
    4. 가중치 업데이트 -> 계속해서 
      • 경사 하강법(Gradient Descent) 또는 Adam 옵티마이저로 최적화 수행

=> 여러번 학습할 경우 1 ~ 4 과정이 계속 반복됨