[UDL 스터디 노트] 4장 - Deep neural networks

Jzahnny
August 10, 2025

[UDL 스터디 노트] 4장 - Deep neural networks

Use Original Cover Image
Type
Post
Children
Language
ko
Tags
Deep Learning
UDL
Deep Neural Networks
Hidden Unit
Hidden Layer
Bias
Hyper Parameter
Weight
Region
Authors
Jzahnny
Published
August 10, 2025

개요

해당 포스팅 시리즈는 “Unerstanding Deep Learning” 책을 학습하는 과정을 기록하는 스터디 노트이다. 이번에는 4장, Deep neural networks를 다룬다.
 

1. 두 Layer 사이 관계는 합성함수 관계이다.

각 Layer에서 hidden unit을 통한 계산이 단순히 전파되는 걸로만 알고 있었는데 수학식으로 자세히 알아보니 고등학생 때 흔하게 접한 합성함수 관계였던 걸 알 수 있었다. Input에 따른 Output 그래프를 그릴 때도 전부 합성함수 원리에 따라 생각하면 쉽게 이해할 수 있었다.
 

2. General Formulation의 익숙함

이 식을 보면서 마다 각각 의미가 있는 건지 헷갈렸는데 아래처럼 일반화하는 식을 보니까 오히려 더 이해가 갔다. 사실 마다 각 의미가 있는 건 아니고 모두 parameter를 나타냈을 뿐이었던 것이다.

3. Weight Matrix의 크기

바로 위의 일반화 식에서, 번째 layer가 의 hidden unit을 가진다면 의 크기를 가진다는 내용이 있다. 이게 처음에는 잘 이해가 안 갔는데 생각해보니 당연할 말이었다. 그 이유는 와 곱해지는데 이때 행렬 곱을 수행하려면 matrix의 크기 자체가 만큼의 row를 가져야 하고 이를 통해 곱해서 얻는 hidden unit이 이라 만큼의 column을 가져야하기 때문이다.
 
 

4. 2개 hidden unit의 linear region

Problem 4.9 에 이런 문제가 있다. 2개의 hidden unit을 가지는 하나의 shallow network가 아래 그림과 같이 3개의 linear region을 가질 수 있냐는 문제였다. 일단 hidden unit과 output 자체의 식 때문에 3개의 linear region을 가지는 건 맞는데 아래처럼 0과 1을 진동하는 linear region이 가능하냐는 것이었다. 답지를 확인하면 불가능하다고 하는데 그 이유가 명확히 나오지 않았다.
 
책에서 제공하는 Interactive Figure로 조작해보니 왜 그런지 알 수 있었다.
 
아래 그림과 같이 첫 번째 hidden unit, 두 번째 hidden unit이 있을 때 실제 유의미한 slope는 각 unit에서 active한 부분만 사용되는 것을 알 수 있다. 0과 1을 진동하려면 + slope 2개, - slope 1개가 필요한데 hidden unit이 2개이기 때문에 2개의 slope만 만들 수 있고 나머지 하나는 무조건 0이 되게 된다.
 
 
좀 더 엄밀히 말하면 hidden unit이 2개라면 joint가 2개뿐이고 그러면 x축 영역을 3개로 분할시킬 수 있다. [0, j1], [j1, j2], [j2, 1]과 같이 말이다. 그 결과 영역 중 한 곳은 반드시 모든 unit이 inactive한 영역이 생긴다. inactive하면 slope가 없기 때문에 진동하는 형식을 못 만든다.
 
한편 unit 수가 3 이상이 되면 어떤 경우에도 모든 x축 영역에서 적어도 하나 이상의 unit이 active하기 때문에 모든 구간에서 마음대로 slope를 정의할 수 있는 것이다.

Reference

[1] Prince, S. J. D. (2023). Understanding Deep Learning. The MIT Press. Retrieved from http://udlbook.com