Summary
* Neural networks 구축하는 방법 살펴보기
* Liner Unit을 결합/수정하여 복잡한 관계를 지닌 모델화하는 방법 살펴보기
<관련 포스팅>
[Intro to Deep Learning] A Single Neuron
Layers
신경망은 일반적으로 뉴런들이 포함한 layers로 구성되어 있음.
같은 입력 세트를 가진 Linear Unit을 모이면 Dense Layer가 됨.
Activation Function
신경망은 선형 함수만 학습할 수 있음.
하지만 현실에서는 비선형(nonlinear)인 것이 대부분임.
비선형을 학습하려면 Activation Function 필요함.
일반적인 것은 Rectifier Function 임. max(0,x)
Linear Unit에 Rectifier를 붙이면 Rectified Linear Unit(ReLU)이 됨.
ReLU의 출력은 max(0, w*x+b)가 됨.
Stacking Dense Layers
비선형성(Nonlinearrity) 때문에 복잡한 데이터 변환을 위해 레이어를 쌓음.(stack layers)
Hidden Layer는 출력 레이어 이전에 레이어로 Output 을 볼 수 없음.
출력의 레이어는 Linear Unit이고, 이러한 네트워크는 특정 숫자를 예측하는 회귀 작업에 적합.
classification 등과 같은 다른 작업에서는 출력 레이어에 Activation Function이 필요함.
Building Sequential Models
Sequential 모델은 리스트 형태로 레이어를 설정함.
첫번째 레이어가 입력을 받고, 마지막 레이어가 출력함.
from tensorflow import keras
from tensorflow.keras import layers
model = Sequential([
# Hidden ReLU layers
# 입력2개인 4개의 relu 뉴런을 포함한 dense layer (hidden layer) 를 추가.
layers.Dense(units=4, activation="relu", input_shape=[2]),
#3개의 relu 뉴런을 포함한 dense layer (hidden layer)추가.
layers.Dense(units=3, activation="relu"),
# linear output layer
layers.Dense(units=1),
])
<관련 포스팅>
[Intro to Deep Learning] A Single Neuron
[Intro to Deep Learning] Deep Neural Networks (현재 포스팅)
[Intro to Deep Learning] MAE, Stochastic Gradient Descent
[Intro to Deep Learning] Underfitting and Overfitting
[Intro to Deep Learning] Dropout and Batch Normalization
<참고자료>
* https://www.kaggle.com/code/ryanholbrook/deep-neural-networks
'Data Science > Deep Learning' 카테고리의 다른 글
Image Generate AI Testing (0) | 2023.02.14 |
---|---|
[Intro to Deep Learning] Underfitting and Overfitting (0) | 2022.09.15 |
[Intro to Deep Learning] MAE, Stochastic Gradient Descent (0) | 2022.09.06 |
[Intro to Deep Learning] A Single Neuron (0) | 2022.09.02 |
딥러닝 (Deep Learning) 개념 (0) | 2022.01.25 |
최근댓글