1. Layers
Neural Networks는 한 층(layer)안에 여러 개의 뉴런(neuron)을 삽입 가능하다. 이런 linear units들이 모여 Dense layer(or Hidden Layer)를 형성한다.
하나의 층에서 존재하는 각 원소에 입력되는 입력값들은 이전층(Input layer)의 가중치의 합이다. 여러 층을 쌓으면 쌓을수록 이런 가중치들은 점점 더 복잡하게 연결되며 비선형 문제를 해결하는데 중심이 된다.
3. The Activation Function
실생활의 문제는 대부분 비선형적인 문제로 존재하며 이러한 문제를 해결하기 위해 비선형적인 함수를 사용하게 되는데, 이것이 활성화 함수(Activation Function)이다. 이 활성화 함수는 각각의 층의 출력값에 적용이 된다.
위의 함수는 Rectifier function으로 x 축이 음수일 때 0을 양수일 때 y = x의 값을 갖는다. 이 함수를 Nueral Network의 linear unit에 적용을 하게 되면 Rectifier Linear Unit, 즉 ReLU 활성화 함수가 된다.
4. Stacking Dense Layers
Multi-layer Neural Network에서 Input layer와 output layer 사이에 있는 dense layer는 hidden layer로 정의할 수 있다.
여러 개의 활성화 함수를 가진 unit들이 한 층을 구성하고 이 층들이 여러 개로 축적되어 hidden layer를 구성하게 된다. 회귀분석에서 출력값의 활성화 함수는 linear unit으로 다른 분석에 대해서는 다른 활성화 함수를 가지게 된다.
5. Building Sequential Models
Keras.Sequential 모델에서 여러 층을 쌓을 경우, list[]안에 layer.Dense()를 여러 층으로 쌓으면 된다.
- units : 각 layer에서 출력값의 개수이며
- activation : 활성화 함수
- input_shape : 입력값의 개수를 의미한다.
from tensorflow import keras
from tensorflow.keras import layers
model = keras.Sequential([
# the hidden ReLU layers
layers.Dense(units=4, activation='relu', input_shape=[2]),
layers.Dense(units=3, activation='relu'),
# the linear output layer
layers.Dense(units=1),
])
6. Exercise : Deep Neural Networks
Step 1 : Input Shape
# YOUR CODE HERE
input_shape = [8]
Step 2 : Define a Model with Hidden Layers
from tensorflow import keras
from tensorflow.keras import layers
# YOUR CODE HERE
model = keras.Sequential([
layers.Dense(units = 512, activation = 'relu', input_shape = [8]),
layers.Dense(units = 512, activation = 'relu'),
layers.Dense(units = 512, activation = 'relu'),
layers.Dense(units = 1)
])
Step 3 : Activation Layers
### YOUR CODE HERE: rewrite this to use activation layers
model = keras.Sequential([
layers.Dense(32, input_shape=[8]),
layers.Activation('relu'),
layers.Dense(32),
layers.Activation('relu'),
layers.Dense(1),
])
Source of the corse : Kaggle Course _ Deep Neural Networks
Deep Neural Networks
Explore and run machine learning code with Kaggle Notebooks | Using data from DL Course Data
www.kaggle.com
'Course > [Kaggle] Data Science' 카테고리의 다른 글
[DL] Overfitting and Underfitting (0) | 2022.03.01 |
---|---|
[DL] Stochastic Gradient Descent (0) | 2022.03.01 |
[DL] A Single Neuron (0) | 2022.02.28 |
[SQL] Writing Efficient Queries (0) | 2022.02.24 |
[SQL] Nested and Repeated Data (0) | 2022.02.24 |