본문 바로가기
Artificial Intelligence/Deep Leaning

Applying Neural Networks(신경망 적용)

by YUNZEE 2023. 12. 30.
728x90
신경망 적용의 예

내가 이 수업을 통과할 수 있을까?라는 문제이다.
x1 = 수강하는 강의 수
x2 = 최종 프로젝트에 소요된 시간

초록색점은 Pass

빨강색점은 Fail

 

여기서 나는 수강하는 강의의 수가 4개이고 최종 프로젝트에 소요되는 시간은 5시간이다. 

과연 이 수업을 통과할 수 있는지 신경망을 이용해서 결과를 찾아보자

다층 퍼셉트론의 신경망 구조를 사용해서 문제를 풀어보자

Predicted: 0.1

: 신경망이 예측한 값으로는 0.1이라고 했는데, 이 경우는 수업에 통과할 가능성이 10%라고 예측하는 것이다.

Actual: 1

: 실제 값을 나타낸 것으로 수업 결과는 통과를 의미한다.

 

따라서, 신경망이 이 수업에 통과할 가능성이 낮다고 예측했지만, 실제 결과는 통과였다는 것을 보여줍니다.

왜 그런 결과가 나온 것인가?라는 질문에서 얻을 수 있는 답변은 위에 신경망은 방금 생성 된 것처럼 4와 5가 어떤 의미를 갖는지도 모르는 아무런 훈련이 되어있지 않은 신경망이라는 것이다.

Quantifying Loss(손실 함수 수량화)

네트워크의 손실은 잘못된 예측으로 인해 발생하는 비용을 측정한다. 손실 함수의 값이 작을수록 모델의 성능이 더 좋아진다.

먼저 첫 번째 일은 신경망을 학습시기는 것이고, 그 중 한 부분은 신경망이 실수를 했을 때 그것을 알려주는 것이다. 수학적으로 고려했을 때, 스스로 질문을 하면서 문제를 해결해 나가야 됩니다. 먼저, 나의 신경망은 실수를 했습니까? 만약 실수를 했다면 어떻게 얼마나 큰 실수를 했습니까? 그 실수의 정도를 알려주고 다음번에 이 데이터 지점에서 그 실수를 최소화할 수 있을까요?라는 식으로 질문을 하면서 문제를 해결해 나가야 한다. 

 

신경망 용어로는 '손실(loss)'이라고 합니다. 그리고 특히 '손실 함수(loss function)'를 정의해야 한다.

이 함수는 예측값과 얼마나 멀리 떨어져 있는지, 얼마나 큰 손실이 있는지 알려줘야 한다.

 

핵심

1. 신경망을 학습시키는 것을 실수를 최소화 하는 과정이라고 한다.

2. 신경망의 실수는 '손실'이라고 한다.

3. 손실 함수는 예측값과 실제 예측값의 차이를 나타낸다.

4. 손실 함수를 사용하여 신경망의 학습을 개선한다.

 

Empirical Loss(경험적 손실)

경험적 손실은 전체 데이터 세트에 대한 총 손실을 측정하는데 구체적으로 설명하자면

뉴럴 네트워크를 이용하여 분류 작업을 수행하는데 우리는 그때 뉴럴 네트워크와 딥 러닝에서는 동일한 개념을 표현하는 다양한 용어가 사용된다.

그중에 손실 함수(loss function), 목적 함수(objective function), 경험적 함수(empirical risk), 비용 함수(cost function)를 활용해서 실수를 줄이고 개선해 나간다.

결론적으로, 우리의 목표는 개별 데이터 포인트의 실수가 아닌 전체 데이터 세트에 걸쳐 평균적으로 뉴럴 네트워크가 범하는 실수를 최소화하는 것이다.

 

Binary Cross Entropy Loss

교차 엔트로피 손실은 0과 1 사이의 확률을 출력하는 모델에 사용될 수 있다.

 

이진 분류 문제는 예를 들어 '이 수업을 통과할까 말까'처럼 '예' 또는 '아니요'로 답하는 문제를 살펴볼 수 있다. 이런 이진 분류 문제에는 소프트맥스 교차 엔트로피 손실이라는 손실 함수를 사용할 수 있다.  신경망 훈련에 매우 중요한 개념이다.

 

추가 설명

소프트맥스: 여러 값을 확률로 변환하는 함수

교차 엔트로피: 실제 분포와 예측  분포의 차이를 측정하는 방법

손실 함수: 모델의 오차를 수치화하는 함수

이진 교차 엔트로피 손실: 이진 분류 문제에서 사용하는 손실 함수

728x90