brunch

You can make anything
by writing

C.S.Lewis

by 이유민 Aug 24. 2021

10. 딥러닝 및 다층 퍼셉트론

딥러닝


딥러닝

- Gradient decent 방법 사용,

- 다수의 hidden layer

- 기존의 머신러닝 알고리즘들은 많은 분야에 잘 적용되어옴. but 인공지능 스러운 것 X


다양체 가정

- 랜덤이 아님!!!

- 실생활에서 현실에 존재하는 쪽에 확률분포가 집중 되어 있음

- 다양체는 하나 or 여러개 존재, 내부의 움직임이 의미를 가짐

- 다양체 - 의미 없는 무작위 이미지 , 의미없는 알파벳의 나열이 의미있는 단어되기 힘듬

- 다양체 내부에서의 움직임 = 점진적 변화가 있는 data의 변화

- 사람의 얼굴과 고양이의 얼굴은 서로 연결되지 않은 다양체로 설명 가능


XOR문제 : 표현학습

- 신경망의 첫번째 층에선 표현의 변환

- 신경망의 두번째 층에선 선형분류!!

 

다층 퍼셉트론 (MLP)


- 심층 순방향 신경망이라고도 부름

- 입력층 / 출력층 / 은닉층

- Feedforward  : 정보는 인풋에서 아웃풋으로 한방향! feedback, recurrent 구조 X

- 각층은 여러개의 node , fully connected

- 깊이 : 신경망의 층 수 / 넓이 : 각 층에 존재하는 node 수


신경망의 학습

- 신경망 층들 사이를 연결해주는 매개변수(가중치)의 값을 결정하는 것

- 일반적으로 경사하강법 (gradient decent)

- 비용함수를 매개변수와 node들로 표현해야함.

- 매개변수 초기값 -> 비용함수의 gradient 계산! (오차 최소!!)

- learning rate : step size 작으면 너무 천천히, 너무 크면 예측 X

- 비선형활성함수 : 비용함수가 convex하지 않아 광역최적해 (global optimum)에 도달 X

    : 많은 국소 최적해 존재, 이들 중 하나로 / 하지만 광역 최적해 보장 X


Gradient Decent Algorithm

- Forward propagation

    : 입력 x로부터 정보를 순방향으로 진행하여 예측값 y햇을 생성하여 비용함수 계산

- Backpropagation

    : 계산된 cost fuctiond을 이용해 역방향으로 정보 전파하며 gradient descent 위하여 gradient계산


신경망의 디자인

 

신경망의 디자인 : Cost Functions

- 비용함수는 어떻게 선택?

- 확률적 관점에선 조건부확률 p(y|x;세타)

- 모수 학습 위해 위 조건부 확률에 대한 최우도 추정!!  => 얘 최대화 하면 비용함수 최소화

- 비용함수의 형태 = negative log likelihood

ex) 가우시안 분포


신경망의 디자인 : Output Units

- 출력단위의 선택은 비용ㅇ함수와 밀접하게 연관!

- 수행하고자 하는 작업에 맞춰 선택

- 선형유닛

    : 회귀분석의 경우 / 정규분포의 평균 예측 하기 위해

    : cost function : 오차 제곱합

- 시그모이드 유닛

    : 이원분류/ 베르노이분포의 확률 표현

    : 크로스 엔트로피

- 소프트맥스 유닛

    : 다원분류

    : 출력 벡터 값은 각 클래스에 속할 확률


신경망의 디자인 : Hidden Units

- 은닉층 이전층으로부터 갑슬 전달바다 비선형 변환 수행 , 다음 층 출력 전달

- 비선형 활성함수

- 은닉층이 많을수록 더욱 복잡한 모델

- 이전노드들에게 가중합 받아 비선형 활성함수에 통과시켜 출력 만든 후 다음 노드에 전달


활성함수의 종류

1) 시그모이드

    - 전통적으로 널리 사용됨

    - 0~1 사이의 값으로 각 노드 활성화 된 정도 표현에 적합 (일정 역치 기준)

    - Step function 의 근사형

    - 문제점은 포화된 노드는 gradient값 사라지게 !

     - zero-centered X

    - 고비용 함수의 계산 필요

2) 하이퍼볼릭 탄젠트

    - 널리사용됨

    - -1~1사이값 출력

    - zero centered되어쓰나, 여전히 포화상태에선 gradient 값이 사라지게 만듦

3) ReLU

    - 현대 표준 활성함수

    - 입력이 양수인 부분에서 graidient 사라지지 X

    - 계산이 빠르고 효과적임

    - Sigmoid와 Tanh와 비교해 수려미 빠름

    - zero-centered X, 입력이 0보다 작은 경우 gradient = 0

4) Leaky ReLU

    - 어떤 경우에도 gradient 가 사라지지않음

    - 계산이 빠르고 효과적임

    - 수렴이 빠름 (Sigmoid, tanh)

    - 음수쪽에 곱해지는 계수를 학습으로 결정하는 방법도 있음 PReLU

5) ELU

    - ReLU의 장점을 대부분 가지고 있음

    - 큰 음수부분에 대해 영향을 덜 받아 노이즈에 강인함 !

6) Leaky ReLU Activation Function

    - ReLU와 리키의 일반화

    - 두 선형식으로 구성되기 때무네 gradient가 모든곳에서 사라지지 않음

    - 대신, 학습해야할 모수의 수는 증가!


신경망의 디자인 : Deeper Networks

- Universal Apporximation Theorem에 의해 히든레이어가 하나인 MLP또한 임의의 함수를 표현할 수 있지만 width가 감당할 수 없을 정도로 커지거나, 학습 문제 발생 가능

- Depth 통해 해결 (종이접기처럼) => 보다 단순한 형태!!!



    

  





매거진의 이전글 9. 군집화
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari