Etc/Deep Learning

4장 딥러닝(1) - 딥러닝 출현(퍼셉트론), 구조, 용어(수정, 보완必)

z.zzz 2021. 8. 4. 15:04

4.1 인공 신경망의 한계와 딥러닝 출현

퍼셉트론

선형 분류기, 인공 신경망에서 이용하는 구조(입력층, 출력층, 가중치로 구성됨)

 

다수의 신호(흐름 有)를 입력으로 받음 → 하나의 신호를 출력

신호를 입력으로 받아 '흐른다/안 흐른다(1 또는 0)'는 정보를 앞으로 전달하는 원리로 작동

 

 

 

입력이 두 개(x1, x2)가 있을 때, 컴퓨터가 논리적으로 인식하는 방법

AND 게이트

모든 입력이 1일때 작동

x₁ x₂ y
0 0 0
1 0 0
0 1 0
1 1 1

 

 

AND 게이트에선 정상적으로 데이터 분류(검은색, 흰색 점)가 됨

 

 

 

OR 게이트

입력에서 둘 중 하나만 1이거나 둘 다 1일때 작동

x₁ x₂ y
0 0 0
1 0 1
0 1 1
1 1 1

 

 

OR게이트에서도 정상적으로 데이터 분류가 됨

 

 

 

XOR게이트(배타적 논리합)

두개 중 한 개만 1일 때 작동

x₁ x₂ y
0 0 0
1 0 1
0 1 1
1 1 0

 

 

XOR 게이트는 데이터가 비선형을 분리되기 때문에 제대로 된 분류가 어려움

 

 

 

∴ 단층 퍼셉트론에선 AND, OR에 대해선 학습이 가능하지만, XOR에 대해선 학습이 불가능

  ≫ 심층 신경망을 둬서 비선형적으로 분리되는 데이터에 대해서 학습이 가능하도록 다층 퍼셉트론을 고안

       //심층 신경망(딥러닝) : 입력층과 출력층 사이에 중간층(은닉층)이 여러 개 있는 신경망

 


4.2 딥러닝 구조

딥러닝이란?

 여러 은닉층을 가진 인공 신경망을 사용하여 학습을 수행하는 것

 

4.2.1 딥러닝 용어

딥러닝 구성 : 입력층 + 출력층 + 두 개 이상의 은닉층  //입력 신호 전달에 다양한 함수 사용

딥러닝 구조

 

딥러닝 구성 요소

구분 구성 요소 설명
입력층 데이터를 받아들이는 층
은닉층 모든 입력 노드로부터 입력 값을 받아 가중합을 계산하고,
이 값을 활성화 함수에 적용하여 출력층에 전달하는 층
출력층 신경망의 최종 결괏값이 포함된 층
가중치(weight) 노드와 노드 간 연결 강도
바이어스(bias) 가중합에 더해주는 상수. 하나의 뉴런에서 활성화 함수를 거쳐 최종적으로 출력되는 값을 조절하는 역할을 함
가중합(전달 함수) 가중치와 노드의 곱을 합한 것
함수 활성화 함수(activation function) 신호를 입력받아 이를 적절히 처리하여 출력해주는 함수
손실 함수(loss function) 가중치 학습을 위해 출력 함수의 결과와 실제값 간의 오차를 측정하는 함수

 

가중치

입력값이 연산 결과에 미치는 영향력을 조절하는 요소

예) w₁값이 0 또는 0과 가까운 0.001이라면, x₁이 아무리 큰 값이어도 x₁×w₁값은 0이거나 0에 가까운 값이 됨

    ≫ 입력값의 연산 결과를 조정하는 역할을 하는 게 가중치

 

 

 

 

 

가중합(전달 함수)

각 노드에서 들어오는 신호 × 가중치가 다음 노드로 전달되는데, 이 값들을 모두 더한 합계

 

가중합 공식

(w: 가중치, b: 바이어스)

 

//바이어스 : 활성화 함수를 거쳐, 최종적으로 출력되는 값을 조절하는 역할

 

 

활성화 함수

전달 함수에서 전달받은 값을 출력할 때, 일정 기준에 따라 출력값을 변화시키는 비선형 함수 

//비선형 함수 : 직선으로 표현할 수 없는 데이터 사이의 관계를 표현하는 함수

활성화 함수 예 : 시그모이드, 하이퍼볼릭 탄젠트, 렐루 함수

① 시그모이드 함수

  • 선형 함수의 결과를 0~1 사이에서 비선형 형태로 변형해줌
  • 사용 분야 : 로지스틱 회귀같은 분류 문제를 확률적으로 표현할 때
  • 단점 : 기울기 소멸 문제(딥러닝 모델의 깊이가 깊어지면 기울기가 사라짐) → 딥러닝 모델에서 잘 사용X

수식

시그모이드 활성화 함수와 미분 결과(위가 활성화, 아래가 미분 결과)

 

② 하이퍼볼릭 탄젠트 함수

  • 선형 함수의 결과를 -1~` 사이에서 비선형 형태로 변형해줌
  • 단점 : 시그모이드에서 결과값의 평균이 0이 아닌 양수로 편향된 문제를 해결하는데 사용했으나, 여전히 기울기 소멸 문제 발생

하이퍼볼릭 탄젠트 활성화 함수와 미분 결과

 

 

렐루 함수

  • 입력(x)이 음수일땐 0을 출력, 양수일땐 x를 출력
  • 일반적으로 은닉층에서 사용됨
  • 장점 : 경사 하강법에 영향X → 빠른 학습 속도(하이퍼볼릭 대비 6배 빠름), 기울기 소멸 문제 발생X
  • 단점 : 음수 값을 입력받으면 항상 0을 출력 => 학습 능력 감소 => 이를 예상하고 '리키 렐루' 함수 등을 사용

 

리키 렐루 함수

입력값이 음수면, 0이 아닌 0.001처럼 매우 작은 수를 반환

  → 입력값이 수렴하는 구간이 제거됨(렐루 함수를 사용할 때 생기는 문제를 해결)

 

 

소프트맥스 함수

  • 입력값을 0~1 사이에 출력되도록 정규화 → 출력값들의 총합이 항상 1이 되게 함
  • 사용 분야 : 딥러닝에서 출력 노드의 활성화 함수로 많이 사용

수식