인공지능 개론 (10) : 인공지능 개론 Summary

STUDY_J·2024년 8월 26일
0

인공지능개론

목록 보기
11/13

1. 인공지능 개요

1-1. 인공지능(AI), 머신러닝(Machine learning), 딥러닝(Deep learning)

  • 인공지능(AI): 인공지능은 컴퓨터가 인간의 인지적 능력을 모방하는 기술로, 추론, 문제 해결, 학습, 감지, 자연어 처리 등 다양한 작업을 자동으로 수행할 수 있는 시스템을 포함한다.
  • 머신러닝(ML): 머신러닝은 데이터를 기반으로 컴퓨터가 스스로 학습하여 예측하거나 결정을 내리는 기술이다.
    머신러닝은 인공지능의 하위 분야이며, 지도학습, 비지도학습, 강화학습으로 나뉜다.
    • 지도학습 : 정답이 있는 데이터를 학습하여 결과를 예측하는 것
      • 예시) 회귀, 분류 ...
    • 비지도학습 : 정답이 없는 데이터를 통해 숨겨진 패턴이나 구조를 발견하는 학습 방식
      • 예시) 군집화, 차원축소 ...
  • 딥러닝(DL): 딥러닝은 인공신경망을 사용한 머신러닝의 하위 분야로, 복잡한 데이터 패턴을 학습하고 처리하기 위해 여러 층의 신경망(은닉층)을 사용하여 성능을 향상시키는 기법이다.

2. 선형회귀 (Linear Regression)

  • 선형회귀 :
    데이터를 기반으로 독립 변수와 종속 변수 사이의 선형 관계를 찾는 방법
  • 최소 제곱법:
    선형 회귀에서 가장 적합한 직선을 찾기 위한 방법으로, 예측 값과 실제 값 간의 차이(잔차)의 제곱합을 최소화하는 방법
  • 평균 제곱 오차(MSE):
    회귀 모델의 예측 값과 실제 값 간의 오차를 측정하는 지표로, 오차의 제곱 평균을 계산하여 모델의 성능을 평가하는 데 사용됨
  • 경사 하강법 :
    기울기와 가중치를 반복적으로 조정하여 비용 함수(오차)를 최소화하고 최적의 직선을 찾는 방법

3. 로지스틱 회귀 (Logistic Regression)

  • 로지스틱 회귀는 선형 회귀의 한계점(출력값이 무한대까지 갈 수 있음)을 극복하기 위해 사용된다.
    로지스틱 회귀는 출력값을 확률로 변환한 뒤 이진 분류를 수행하는데, 확률 값을 결정하는 데 사용되는 함수가 시그모이드 함수이다.

3-1. 시그모이드 함수 (Sigmoid function)

  • 시그모이드 함수란 로지스틱 회귀에서 핵심적으로 사용되는 함수로, 선형 회귀의 예측값을 확률로 변환한다.

선형회귀와 로지스틱 회귀의 차이점

  • 선형 회귀 : 예측 값과 실제 결과 값의 오차가 제일 작은 최적의 직선을 찾아 입력 값에 대한 예측 값을 찾는 알고리즘
  • 로지스틱 회귀 : 출력 값이 0과 1사이의 확률로 나타나며 주로 이진 분류 문제에서 사용되는 알고리즘
    • 예시) 스팸 이메일 분류, 질병 유무 진단, 광고 클릭 여부 예측

4. 인공지능의 시작 : 퍼셉트론

  • 퍼셉트론:
    뇌의 뉴런이 작동하는 원리를 모방한 간단한 형태의 인공 신경망(Artificial Neural Network)
  • 퍼셉트론의 문제점 :
    퍼셉트론은 입력과 출력을 선형적으로 분리할 수 있는 문제에서는 매우 잘 작동하지만, 복잡한 문제를 해결하는 데에는 한계가 있음
  • 이를 해결하기 위해 다층 퍼셉트론(Multilayer Perceptron, MLP)이 도입되었음
  • 다층 퍼셉트론:
    입력층, 은닉층(hidden layer), 출력층으로 구성된 다층 신경망을 통해 복잡한 문제도 해결할 수 있음

4-1. 오차역전파(Backpropagation)

  • 다층 퍼셉트론(Multilayer Perceptron, MLP) :
    복잡한 비선형 문제를 해결할 수 있지만, 어떻게 학습할 것인지가 중요한 과제임
  • 오차 역전파(Backpropagation) :
    MLP가 성공적으로 학습할 수 있게 만든 핵심 알고리즘

4-2. 오차역전파의 문제점

  • 오차 역전파 알고리즘은 MLP를 학습시키는 중요한 역할을 하지만, 초기 딥러닝 연구에서 큰 문제에 직면하게 된다

  • 그 중 하나가 기울기 소실 문제(Vanishing Gradient Problem) 이다.

  • 기울기 소실 문제
    역전파 과정에서 층이 깊어질수록, 즉 은닉층이 많아질수록 오차를 전파할 때 기울기(gradient)가 점점 작아지며, 결국 가중치 업데이트가 제대로 이루어지지 않는 문제가 발생

이 문제는 특히 시그모이드 함수와 같은 비선형 활성화 함수를 사용할 때 심각하게 발생함

  • 시그모이드 함수를 미분하면 최대치가 0.25 이므로 계속 곱하다보면 0에 가까워진다
  • 따라서 여러 층을 거칠수록 기울기가 거의 0에 수렴하며 기울기가 사라진다
    이로 인해 역전파를 통해 전달되는 기울기가 사라지면서 가중치가 거의 업데이트되지 않는 문제가 발생하게 됨

4-3. ReLU 함수의 등장

  • ReLU :
    ReLU는 입력이 0 이하일 때는 0을 출력하고, 그 외에는 입력값 그대로를 출력하는 비선형 함수
  • ReLU는 기울기 소실 문제를 완화하고, 특히 깊은 신경망에서 훨씬 효율적으로 학습할 수 있도록 도와줌

ReLU함수는 시그모이드 함수를 보완하기 위하여 등장한 것

  • 이진 분류 문제에서
    출력 층에서는 여전히 0과 1사이의 출력을 내야하므로 시그모이드 함수가 사용됨
    은닉 층에서 ReLU 함수가 사용됨

5. 고급 경사하강법의 등장

  • 딥러닝의 또 다른 문제는 속도와 정확도
  • 네트워크가 깊어지면서 학습 속도가 느려지거나, 최적의 결과를 얻지 못하는 경우가 발생할 수 있음
  • 이를 해결하기 위해 고급 경사 하강법(Optimizers) 이 도입되었음
    이러한 기법들은 단순한 경사 하강법보다 더 효율적이며, 빠르고 안정적으로 학습을 도와줌
  1. 확률적 경사 하강법(Stochastic Gradient Descent, SGD):
    전체 데이터가 아닌 랜덤하게 선택된 일부 데이터(미니배치)를 사용하여 가중치를 업데이트함으로써 학습 속도를 향상시킴
    매번 일부 데이터를 사용하기 때문에 계산량이 줄고, 더 빠르게 학습할 수 있음

  2. 모멘텀(Momentum):
    경사 하강법이 최적의 값을 찾는 동안 흔들리는 문제(진동)를 해결하기 위해 모멘텀을 사용한다.
    모멘텀은 이전 단계의 기울기 정보를 사용해 학습 속도를 더 빠르게 하고, 더 안정적인 경로로 최적화할 수 있게 해줌.

  3. Adam(Adaptive Moment Estimation):
    Adam은 경사 하강법의 발전된 형태로, 학습 속도와 정확도를 동시에 개선하는 알고리즘
    Adam은 학습 속도에 대한 자동 조정 기능을 제공하며, 모멘텀과 학습률을 동시에 고려해 가중치를 업데이트

6. 다중 분류의 문제

softmax의 등장

  • softmax :
    각 항목당 예측 확률을 0과 1사이의 값으로 나타내어, 확률의 총 합이 1인 형태로 바꾸어줌

7. 과적합 문제 (Overfitting)

  • 과적합:
    모델이 학습 데이터셋 안에서는 일정 수준 이상의 예측 정확도를 보이지만, 새로운 데이터에 적용하면 잘 맞지 않는 것을 의미

  • 과적합의 특징

    • 훈련 데이터에 대한 높은 정확도 : 훈련 데이터에 대해 매우 높은 성능을 보임
    • 테스트 데이터에 대한 낮은 일반화 성능 : 새로운 데이터에서는 예측이 부정확할 수 있음
  • 과적합의 원인

  1. 모델이 너무 복잡할 때
  2. 훈련 데이터가 부족할 때
  3. 훈련 시간이 너무 길 때

7-1. 과적합 방지 ( Training set, Test set 분리)

  • 우선적으로, 학습을 하는 데이터 셋과 테스트할 데이터셋을 완전히 구분하여 학습과 동시에 테스트를 병행하며 진행한다

7-2. 모델 성능 향상 방법 : k겹 교차 검증

  • 데이터가 많을 수록 모델 성능이 향상된다
  • 하지만 실제 프로젝트에서는 데이터를 확보하는 것이 쉽지 않거나 많은 비용이 발생하는 경우가 있음
  • 학습 데이터 : 테스트 데이터 = 70 : 30으로 설정시, 30%의 테스트 데이터는 학습에 이용할 수 없음
  • 30%의 테스트 데이터를 학습에 이용할 수 없는 단점을 해결하기 위하여 k겹 교차 검증이 고안되었음

8. 딥러닝에서 주로 사용되는 함수

8-1. 활성화 함수 (Activation Functions)

활성화 함수사용 층주 사용 상황설명
ReLU은닉층거의 모든 딥러닝 모델입력이 0 이하일 때 0, 그 외에는 그대로 출력
Sigmoid출력층이진 분류 문제출력값을 0과 1 사이의 확률로 변환
Softmax출력층다중 분류 문제각 클래스의 확률을 계산하여, 확률의 합이 1이 되도록 변환
Tanh은닉층비선형 문제 해결Sigmoid와 유사하지만 -1과 1 사이의 값 출력
Leaky ReLU은닉층ReLU의 대체음수 입력에서도 작은 기울기 부여

8-2. 손실 함수 (Loss Functions)

손실 함수주 사용 상황설명
MSE (Mean Squared Error)회귀 문제예측값과 실제값 간의 오차를 제곱하여 평균을 구함
Binary Crossentropy이진 분류 문제예측값과 실제값 간의 확률 차이를 계산하여 오차를 구함
Categorical Crossentropy다중 분류 문제예측 확률 분포와 실제 확률 분포 간의 차이를 계산

8-3. 최적화 함수 (Optimizers)

최적화 함수사용 상황설명
Adam대부분의 상황모멘텀과 적응적 학습률을 결합해 빠르고 안정적인 학습을 제공
SGD큰 데이터셋, 빠른 학습 필요데이터 일부만 무작위로 사용하여 학습, 모멘텀을 추가하여 안정성 증가 가능
RMSPropRNN, 시계열 데이터학습률을 개별적으로 조정하여 안정적 학습

0개의 댓글