인공지능/딥러닝

신경망 학습의 전반적인 과정

M.랄라 2022. 12. 27. 19:36

신경망 학습을 수행하는 과정을 전반적으로 설명하자면 다음과 같다.

예를 들어 어떤 사진이 숫자 5일 확률을 예측한다면,

1. 처음에 어떤 사진이 5일 확률을 아무렇게나 예측하는 초기값을 설정해준다. 이때 설정하는 초기값은 가중치, 편향이다. 

2. 초기값이 얼마나 잘 맞췄는지를 계산해 주기 위해 활성화 함수를 통해 입력값이 출력값을 활성화 시키는지를 판별하고(시그모이드), 출력을 확률(소프트맥스)로 바꿔준다.

3.  정답데이터와 2에서 계산한 확률을 비교하여 얼마나 정답에 가까운지를 구하고 싶다. 이를 위해 2에서 계산한 확률의 좋고 나쁨의 점수(손실함수)를 계산할 것이다.


4. 그 후 할 일은 좋고 나쁨의 점수를 최솟값으로 만들어야 한다. 그래야 제일 좋은 값이다. 지금 함수 내에서 우리가 어디 있는지 정확히 알기 어려우니  어느 방향으로 움직일지 정하기 위해서 초기값인 가중치와 편향에 대해 기울기를 계산해준다.  


5. 기울기를 구했으면 기울기를 얼만큼 움직일 것인지 계산하는 학습률을 구해 학습률 * 기울기 값을 저장한다.


6. 이제 학습률 * 기울기 값만큼만 움직이면 된다. 학습률 *기울기 값만큼 움직일 것이기 때문에 1에서 설정한 초기값을 학습률*기울기 값으로 업데이트 해준다. 


7. 위의 과정을 1000번 반복한다.

활성화함수→ 손실함수, 기울기, 학습률은 한 세트

활성화 함수란 어떤 입력값이 활성화를 시키는지(즉, 이 값이 맞는 확률 같은 것을)를 판별해준다.

입력신호의 총합이 활성화를 일으키는지를 말해준다.

  • 종류
    • 시그모이드
    • 소프트맥스 (출력의 총합이 1이다. 즉, 확률로 사용할 수 있다.)
    • 렐루

손실함수를 통해 좋고 나쁨의 점수를 계산하여 이를 가장 최소로 만들어야 한다.

오차제곱합과 교차엔트로피 오차 라는 손실함수를 통해 '좋고 나쁨의 점수'를 계산한다.
가중치와 편향을 아주 조금씩 변화시켰을 때, 손실함수를 통해 나온 좋고 나쁨의 값이 어떻게 변하느냐를 본다.
만약 좋고 나쁨의 값이 음수면 가중치와 편향을 양의 방향으로 변화시켜 좋고 나쁨의 값을 줄인다.

손실함수의 좋고 나쁨의 값이 최솟값이 되는 값이, 최적의 가중치와 편향을 갖는 지점이다.

  • 종류
    • 오차제곱합
    • 교차엔트로피 오차

기울기를 통해 좋고 나쁨의 값을 최소로 할 곳의 방향을 잡을 수 있다.

손실함수의 최솟값을 찾아야 하는데, 이때 함수의 기울기를 이용해서 어느쪽으로 가야 최솟값이 있는지를 파악할 수 있다.

 

학습률은 기울기를 줄일 때 한 번에 얼마만큼 이동할지 이다.

학습률이 크면 한 번에 많이 이동하고 학습률이 작으면 한 번에 조금 이동한다.

 

 

p.s.) 인공지능은 용어가 어렵다..