Deep Neural Networks(DNNs)
- DNN = Hidden Layer가 여러개
- 은닉층이 2개 이상이면 Deep Neural Network -> DNN
- 은닉층이 1개 -> SNN
- Width(너비) vs Depth(깊이)

Composing Neural Networks
얕은 신경망(SNN) 2개를 이어 붙이면 더 깊은 네트워크가 된다.

x → (SNN #1) → y → (SNN #2) → y'
첫 번째 네트워크의 출력 y가 두 번째 네트워크의 입력으로 들어감
신경망을 연결(Composing)하면, 더 깊은 신경망을 만들 수 있다.

DNN은 입력 공간을 접는다.

- 입력 x에 대해 출력 y가 단순한 꺾인 선 형태
- 배경이 찌그러진 모양 -> 입력 공간이 변형됨 (접힘)
DNN as Duplicated Divisions
- DNN은 입력 공간을 여러 번 나누고, 그것을 반복해서 사용한다.

- 위쪽 구조
첫번째 네트워크 :
$ 입력 (x_1, x_2) -> 출력 y $
두번째 네트워크 :
$ y -> 최종 출력 y' $
앞 내용 처럼 SNN 두개를 이어 붙인 구조
- 왼쪽 아래 구조
- x1, x2 공간들이 직선들로 나뉘어 있다
- 색이 다른 영역 -> 서로 다른 구간
-> 첫 번째 네트워크가 입력 공간을 여러 개의 영역으로 분할 (divide)
- 오른쪽 아래 그림
- 입력 y 기준으로 또 꺾인 형태
-> 이미 나뉜 결과 y를 가지고 다시 한 번 나눔
DNN은 입력 공간을 여러 번 나누고, 그 분할을 반복해서 더 복잡한 구조를 만든다.
SNN vs DNN

- SNN (위 그림)
입력 x (1개)
-> hidden (6개)
-> 출력 y (1개)
- weight : 1 x 6 = 6
- bias : 6
총 12개
- weight : 6 x 1 = 6
- bias : 1
총 7개
총합 : 12 + 7 = 19
- DNN (아래 그림)
입력 x (1개)
-> hidden (3개)
-> y (중간 출력)
-> hidden (3개)
-> y'
- weight: 1 x 3 = 3
- bias : 3
총 6개
- weight : 3 x 1 = 3
- bias : 1
총 4개
- weight : 1 x 3 = 3
- bias : 3
총 6개
- weight : 3 x 1 = 3
- bias : 1
총 4개
총합 : 6 + 4 + 6 + 4 = 20개
파라미터 수는 거의 같지만, depth 때문에 표현력이 더 커진다.
SNN vs DNN : Linear Region 관점
- region => 입력 공간을 나눈 조각
- region이 많을수록 => 더 복잡한 함수 표현 가능
이론적 결과 (논문 기반)
- 최소 (Lower bound)
-> 깊이가 깊어질수록 region 수는 급격히 증가
- 최대 (Upper bound)
-> hidden unit이 N개일 때
-> region <= (2^N)
ex : hidden unit = 6
- SNN
- parameter : 19
- region : 최대 7
- DNN
- parameter : 20
- region : 최소 9, 최대 64