신경망학습

매일 공부(ML)·2021년 11월 15일
0

딥러닝 교과서

목록 보기
4/8

신경망 학습의 의미

  1. 입출력의 매핑 규칙은 어떤 형태로 존재할까?
  • 함수적 매핑 관계: 입력 데이터 -> 신경망 -> 출력데이터

  • 신경망의 계층 구조: 가중 합산과 활성 함수 연결되어 뉴런 구성 -> 계층 구성.

  • 학습 전: 신경망의 구조와 관련된 것

  • 학습 과정: 모델 파라미터의 값 찾기

  • 모델 파라미터: 뉴런의 연결 강도(가중치와 편향), 활성함수, 정규화등이포함된다.

  1. 입출력의 매핑 규칙에서 학습해야 할 것들
  • 모델의 가중치와 편향 조정하여 최적의 값 결정하여 예측하는 추론능력 가진다.

  • 최적화 기법 사용: 함수의 해를 근사적으로 찾는 방법, 신경망이 관측데이터를 가장 잘 표현하는 함수가 되도록함

신경망 학습과 최적화

  1. 최적화
  • 목적함수와 여러 제약 조건으로 이뤄짐(부등식 형태 혹은 등식 형태 제약조건)

  • 유한한 방정식으로 정확한 해를 못 구할 때 근사적으로 구하는 방법

  • 다양한 제약 조건 만족하면서 목적함수를 최대화 혹은 최소화하는 해 반복

  • 최적화 문제의 표준 형태

    • 변수 x에 대한 등식과 부등식으로 표현되는 여러 제약 조건을 만족하면서 목적함수 최소화하는 x의 값 찾는 문제

    • x의 값은 최적해

    • 최적해에 가까이 가는 상태를 수렴한다.

  1. 최소화와 최대화 문제의 관계
  • 최대화 최소화 문제가 왔다리 갔다리한다.

  • 목적함수는 비용함수와 손실함수로 불린다.

신경망 학습을 위한 최적화 문제 정의

  1. 회귀문제를 최적화 문제로 정의
  • 목적: 타킷과 예측값의 오차를 최소화하는 파라미터 찾기

  • 손실함수: 평균 제곱오차로 정의(타깃과 예측값의 오차 나타냄)

  • 제약 조건은 없지만, 정규화 기법이 적용되거나 문제가 확장되면 조건 추가

  1. 분류문제를 최적화 문제로 정의
  • 목적: 관측 확률분포와 예측 확률 분포의 차이를 최소화하는 파라미터 찾기

  • 손실함수: 크로스 엔트로피

  • 제약 조건은 없지만, 정규화 기법이 적용되거나 문제가 확장되면 조건 추가

최적화를 통한 신경망 학습

  • 최적화: 손실 함수의 임의의 위치에서 출발하여 최적해가 있는 최소 지점 찾기

  • 경사 하강법: 예상방향은 현재 위치에서 가장 가파른 방향이고 이동 폭은 고정

경사 하강법

손실함수

  • 하나의 전역 최소와 수 많은 지역 최소가 있다.

  • 전역 최소는 함수 전체에서 가장 낮은 곳

  • 지역 최소는 함수에서 부분적으로 낮은 곳

  • 최적해는 전역 최소지만 비용이 많이 들고 못 찾을 수도 있기에 최적화 알고리즘의 목표는 지역최소 찾기

신경망 학습을 위한 최적화 알고리즘

  • 열린 상태인 함수 -> 미분해서 최대, 최소 구할 수 없다

  • 임의의 초기화 상태에서 반복적으로 조금씩 해에 접근하는 방식이다.

  • 미분 차수

    • 1차 미분

      • 수렴 속도는 느리지만, 손실 함수 곡면이 볼록하지 않아도 최적해 찾기 가능하다

      • 신경망에서도 안정적으로 사용 가능

      • 경사하강법

      • 경사하강법의 변형 알고리즘: SGD, SGD 모멘텀 , AdaGrad, RMSProp, Adam

    • 1.5차 미분

      • 1차 미분을 이용하여 2차 미분 근사하는 방식으로 최적해 찾기

      • 2차 미분을 근사하는 알고리즘을 실행해야 하므로 2차 미분값을 저장해야한다 고로 메모리 사용량 많다

      • 준 뉴턴 방법

      • 켤레 경사 하강법

      • 레벤버그-마쿼트 방법

    • 2차 미분

      • 곡률을 사용하여 최적해를 빠르게 찾을 순 있지만, 손실함수 곡면이 볼록해야만 가능.

      • 신경망에서 사용하긴 어렵다

      • 뉴턴 방법

      • 내부점법

경사하강법

  • 참고 사이트:링크텍스트

  • 정의: 손실 함수의 최소 지점 찾기 위해 경사가 가장 가파른 곳을 찾아서 내려가는 방식

  • 방식: 손실 함수의 기울기를 구하고 기울기의 반대 방향으로 내려간다.

  • 사진

신경망에 경사 하강법 적용

  1. 2계층 신경망 회귀 모델
  • 은닉계층: ReLU

  • 출력 계층: 항등함수(WHY?)

  • 손실함수: 평균 제곱 오차

  1. 파라미터 업데이트 식
  • 손실 함수에 대한 가중치 미분 -> 업데이트 식 이용 -> 경사하강법을 이용한 가중치 값 업데이트 가능

  • 위의 과정을 바로 할 수 없다(BY 손실함수에는 가중치 변수 포함 안됨)

  • 가중치 변수는 은닉 뉴런에 정의되고, 출력 뉴런을 거쳐 손실 함수에 간접 영향을 미친다. 고로, 손실함수는 합성 함수로 정의되고 CHAIN RULE를 이용하여 미분한다.

*합성함수

  1. 연쇄 법칙을 사용한 미분 계산

  1. 신경망에서 연쇄 법칙으로 미분하는 과정

역전파 알고리즘

  1. 역전파 알고리즘
  • 정의: 손실함수에서 각 가중치까지의 신경망의 역방향으로 실행했던 함수 따라가서 미분 후 곱하기

  • 공통부분: 한 번 계산해두면 같은 뉴런에 속한 모든 가중치의 미분 계산 시 재사용 가능

  • 공통부분 계산 중복X: 손실 함수에서 시작해서 입력 계층 방향으로 계산된 미분값 역방향 전파

  1. 역전파 알고리즘의 실행순서

I) 손실 함수 미분

  • 미분하여 출력 계층으로 전달

II) 출력 뉴런 미분

  • 전달 받은 가중치의 미분 계산 후 가중치 업데이트한다.

  • 입력 미분 계산하여 은닉 계층에 전달

  • 활성함수와 가중 합산으로 이루어진 것에 대한 미분을 별도로 수행한다.

III) 은닉 뉴런 미분

  • 전달받은 전역 미분을 가중치의 미분으로 계산한 후 가중치 업데이트 시킨다.

  • 다음 은닉 계층은 없으므로 입력 미분 하지 않는다

IV) 역전파 알고리즘 종료

  • 은닉 계층의 가중치가 업데이트 완료되면 종료한다.
  1. 뉴런 관점에서 보는 역전파 알고리즘
  • 손실함수를 z에 대해 미분 후 뉴런에 미분값 전달(뉴런의 지역미분 구하기)

  • 전역미분: 함수 미분

  • 지역미분: 각각 미분

  • 뉴런 입장에서 미분 계산 방식

    *I) 뉴런의 가중치 업데이트

    • 가중치에 대한 지역 미분 구하기

    • 전달받은 전역 미분에 곱해서 가중치의 전역 미분 계산

    • 계산된 가중치의 전역 미분으로 가중치 업데이트

      *II) 은닉 꼐층에 미분 전달

    • 입력에 대한 지역 미분 구하기

    • 전달받은 전역 미분에 곱하여 입력에 대한 전역 미분 계산

    • 계산된 입력에 대한 전역 미분을 다음 뉴런에 전달

3-1. 계층 단위의 미분

  • 벡터가 아닌 행렬로 표현

  • 야코비안 행렬로 표현: 가중치와 미분을 나타냄, 벡터 형태의 함수 미분

    • 입력의 차원별로 함숫값의 각 차원 편미분해서 정의
    • 비선형 변환를 선형 변환으로 근사시킴

3-2. 기하학적 선형 변환 의미

  • 변환 후에도 원점의 위치가 변하지 않고,

  • 변환 후에도 격자들의 형태가 직선의 형태를 유지하고 있으며,

  • 격자 간의 간격이 균등해야 한다.

참고 사이트: 링크텍스트

  1. 주요 활성 함수의 미분

profile
성장을 도울 아카이빙 블로그

0개의 댓글