이번 시간에는 왜 활성화 함수에는 비선형 함수만 사용되는지 간단하게 알아보겠습니다.
일단, 활성화 함수부터 뭔지부터 간단히 알아보겠습니다.
활성화 함수(Activation functions)를 통해서,
저희는 매개변수 W, b를 수정하고 손실을 줄여나갈 수 있게 됩니다.
------>
딥러닝에서 주요 사용하는 활성화 함수(Activation function)는
저희가 배운 시그 로이드 함수(sigmoid function)나,
---------->
저희가 배우지는 않았지만, (tanh 함수, ReLU 함수, Leaky Relu 함수)가 자주 쓰입니다.
-------------------->
( 자료는 딥러닝에서 쓰이는 활성화 함수 그래프입니다)
딥러닝 학습에 쓰이는 활성화 함수들은
모두 선형 함수(Linear function)가 아닌 비선형 함수(non-Linear function)의 형태인데,
왜 모두 비선형 함수인 걸까요? 선형 함수는 쓰이면 안 되는 걸까요? 그 이유를 알아보겠습니다.
저희는 신경망 학습 과정에서, 오차를 최소화하는 경사 하강법을 통해 매개변수를 수정했습니다.
만약 활성화 함수가 선형 함수라면, 신경망을 거쳐 학습을 하는 의미가 사라지기 때문입니다.
예를 들어, 활성화 함수를 y = x 함수로 사용한다고 해봅시다.
--> y = 2x, y = 3x+ 1 등등 다 마찬가지입니다!
신경망을 거쳐서, a[2] = w [2] w [1] * x + (w [2] b [1]+b [2]) 가 나왔습니다.
하지만 w, b는 매개변수이기에, w [2] w [1]은 w(1) , (w [2] b [1]+b [2])은 b(1)으로 생각할 수 있습니다.
즉, 결과적으론 학습을 하나 안 하나, w(1) x + b(1)로 귀결되니
신경망을 거치는 학습의 의미가 사라지고, 경사 하강법을 통한 매개변수 수정 또한 의미가 없게 됩니다.
--> 이에 대한 상세한 설명은 따로 빼서, 인공지능 정보 글에 올리겠습니다.
다시, 딥러닝에서 활성화 함수로 쓰이는 비선형 함수(non_linear function)의 모습을 보겠습니다.
sigmoid , tanh 함수는 입력값에 따라 도함수의 값이 변하고,
Relu , leaky Relu는 0을 기점으로 모양이 변하므로,
도함수의 값을 이용하여 매개변수를 수정하는 경사 하강법을 사용할 수 있게 되며,
신경망을 통한 학습이 의미 있는 결과를 가지게 해 줍니다.
총정리 :
선형 함수 (Linear function)을 활성화 함수(Activation funtion)으로 사용하면,
신경망을 거치는 의미가 사라지고 경사 하강법을 사용하지 못하게 된다.
++ 매개변수 w를 0으로 초기화하면 안 되는 이유
매개변수를 초기화할 때 , w, b의 값을 0으로 초기화하면,
(활성화 함수를 선형 함수로 사용할 때처럼) 신경망을 거쳐 학습을 하나 안 하나 결과가 같게 됩니다.
이러한 이유로, 매개변수를 초기화해줄 때, b는 0으로 초기화해도 되지만 w는 0으로 초기화하면 안 됩니다.
또한, w를 너무 크게 초기화해도 안되기에, 랜덤 값에 0.01을 곱해줍니다.
------> w의 값을 너무 크게 초기화하면,
도함수 값이 0에 가까워져서 학습의 의미가 퇴색되거나,
함숫값이 너무 커져서 학습 속도가 느려지게 되는 문제가 생깁니다.
이상으로, 3주 차 수업내용을 마쳤습니다, 다음 시간에는 3주 차 내용을 총정리하는 퀴즈를 풀어봅시다.
이 내용들은 모두 coursera에서 앤드루 응 교수님의 강의를 요약정리 및 쉽게 재 풀이하여 적은 글이며,
내용에는 생략되거나 변형된 부분이 많으니 직접 강의를 들어보시는 걸 추천드립니다!
이 글은 상업적 목적이 아닌, 한국에서 인공지능을 배우고 싶은 분들을 위해 적은 교육적 목적에서 작성하였습니다.
'코세라 앤드류 응 AI 강의 리뷰' 카테고리의 다른 글
[인공지능 강의 리뷰] 19 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제 (0) | 2022.05.18 |
---|---|
[인공지능 강의 리뷰] 18 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제 (2) | 2022.05.17 |
[인공지능 강의 리뷰] 17 - 총정리 퀴즈. 얕은 신경망(Shallow Neural Network) (0) | 2022.05.17 |
[인공지능 강의 리뷰] 15 - 뉴럴 네트워크 And 벡터화 표현 (0) | 2022.05.17 |
[인공지능 강의 리뷰] 14 - 프로그래밍 과제 . 신경망 사고방식을 이용한 로지스틱 회귀 모델 만들기3 (고양이 사진 분류기) (0) | 2022.05.16 |
[인공지능 강의 리뷰] 13 - 프로그래밍 과제 . 신경망 사고방식을 이용한 로지스틱 회귀 모델 만들기2 (고양이 사진 분류기) (0) | 2022.05.16 |
[인공지능 강의 리뷰] 12 - 프로그래밍 과제 . 신경망 사고방식을 이용한 로지스틱 회귀 모델 만들기 (고양이 사진 분류기) (0) | 2022.05.16 |