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)
- 보상을 통해 상은 최대화, 벌은 최소화하는 방향으로 행위를 강화하는 학습 -> 보상
- 지도학습(Supervised 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 (타겟) : 출력 층에 있는 뉴런으로, 모델이 예측하는 결과 값이나 레이블을 뜻함
- feature : 입력층에 있는 뉴런으로 모델에 제공되는 데이터를 뜻함
- 다층 신경망을 통한 딥러닝 구현 그림
- 퍼셉트론 다음에 활성화 함수를 적용하게 된 이유
- 과적합 현상을 피하기 위해 의도적으로 함수의 그래프 모양을 비틀기 위함
- 퍼셉트론은 기본적으로 선형 모델(연속적인 모델)로 작동해서, XOR 문제 처럼 비선형적인 데이터를 처리하는데는 어려움이 있기 때문
- 퍼셉트론만을 사용한 선형 모델의 경우 연속적인 선의 형태를 띄기 때문에 여러 개의 층을 적용해도 한개의 층을 적용한 것과 같은 결과를 가져올 수 있기 때문에 여러개의 특징들을 뽑아내지 못하기 때문에 활성화 함수를 통해서 비선형 변환을 해준다.
- 신경망 학습 과정
- 순전파(Forward Propagation)
- 입력 데이터를 신경망을 통해 전달하여 예측값 출력
- 각 층에서 입력 값에 대해 가중치(w)와 편향(b)를 적용한 후 , 활성화 함수를 적용해 출력 값을 계산
- 이 과정에서 각 층의 출력 값과, 활성화 함수의 결과, 기울기 등이 중간 결과로 저장됨
- 손실 함수(Loss Function) 계산
- 예측 값과 실제 값의 차이를 계산
- 역전파(Backpropagation) -> 가중치를 업데이트 하기 위한 기울기를 계산하는 과정
- 출력층에서부터 시작해서 기울기를 계산하고, 이 기울기를 각 층으로 전달하는 과정
- 손실을 최소화하기 위해 가중치와 바이어스를 조정하기 위한 기울기를 계산
- 기울기는 순전파에서 저장된 중간 결과를 기반으로 계산
- 체인 룰(Chain Rule)을 이용하여 미분
- 가중치 업데이트 -> 계속해서
- 경사 하강법(Gradient Descent) 또는 Adam 옵티마이저로 최적화 수행
- 순전파(Forward Propagation)
=> 여러번 학습할 경우 1 ~ 4 과정이 계속 반복됨