머신러닝

[딥러닝] 딥러닝 2단계: 심층 신경망 성능 향상시키기 - 7. 다중 클래스 분류, 8. 프로그래밍 프레임워크 소개

sa_woll 2024. 5. 27. 14:30

https://www.boostcourse.org/ai216/lecture/401762?isDesc=false

 

딥러닝 2단계: 심층 신경망 성능 향상시키기

부스트코스 무료 강의

www.boostcourse.org

 

7. 다중 클래스 분류

Softmax Regression

- 지금까지 보았던 문제들은 이진 분류였다.

- multilabel classification의 경우 softmax regression을 사용한다.

- 결과값은 각 label에 대한 0에서 1사이의 확률값으로 나오게 된다.

- softmax 층에서는 해당 클래스(label)에 속할 확률을 구하게 된다. 마지막 선형 출력값 z들을 각각 지수화시켜 임시변수 t = e^2를 만든다. 그 후 모든 값들의 합이 1이 될 수 있도록 모든 임시 변수값들의 합을 나눠서 정규화시킨다. 

정규화 식

Softmax 분류기 훈련시키기

- 소프트맥스 함수를 써서 분류기를 훈련시키는 방법.

- 손실함수

- L값을 최소화하여 그 클래스가 될 확률을 최대화 시킨다.

- L값을 최소화할 때 경사 하강 기법을 쓴다.

- softmax와 손실함수를 결합한 역전파의 값은

8. 프로그래밍 프레임워크 소개

지역 최적값 문제

- 고차원 비용함수에서 경사가 0인 경우는 대부분 지역 최적값이 아니라 대개 '안장점'이다.

- 안장점으로 향하는 구간인 안정지대는 미분값이 아주 오랫동안 0에 가깝게 유지되는 지역을 말한다.

- 대개 충분히 큰 Network 학습시 지역 최적값에 갇히는 일은 거의 없다.

- 안정지대의 문제점은 경사가 거의 0에 가깝기 때문에 학습속도가 느려진다는 것이다. 또한, 다른 쪽으로 방향변환이 없다면 안정지대에서 벗어나기 어렵다. 이는 Adam, RMSprop 등의 최적화 알고리즘이 해결해 준다.

Tensorflow

- 딥러닝 프레임워크 중 하나.

- 비용 함수를 최소화하는 w와 b의 값을 자동으로 찾을 수 있다.

- session을 정의하고 run함수로 w와 b의 값을 찾는다.

- add, multiply, square 함수로 정방향 전파만 구현하면 경사 구현법으로 역방향 전파를 잘 계산해 낸다.