ㅁ 규제 사용
- 과대적합을 피하기 위함
(1) $l_{1}$과 $l_{2}$ 규제
ㅁ $l_{1}$과 $l_{2}$ 사용
- $l_{2}$ 규제 : 연결 가중치 제한
- $l_{1}$ 규제 : (많은 가중치들을 0으로 하는) 희소모델을 만듦
ㅁ 파이썬으로 keras의 l2(), l1() 함수 사용
layer = keras.layers.Dense(100, activation = "elu",
kernel_initializer = "he_normal",
kernel_regularizer = keras.regularizers.l2(0.01))
ㅁ 일반적으로 모든 은닉층에 동일한 활성화 함수/초기화 전략/규제를 적용 하는 경우 多
- 반복문 사용하도록 코드 리팩터링
- functiools.partial() 함수 사용
from functools import partial
RegularizedDense = partial(keras.layers.Dense,
activation="elu",
kernel_initializer = "he_normal",
kernel_regularizer = keras.regularizers.l2(0.01))
model = keras.models.Sequential([
keras.layers.Flaten(input_shape=[28,28]),
RegularizedDense(300),
RegularizedDense(100),
RegularizedDense(10, activation="softmax",
kernel_initializer="glorot_uniform")
])
(2) 드롭아웃
(3) 맥스-노름 규제
'* [R_Python] 데이터분석 정리 > [Python] 딥러닝' 카테고리의 다른 글
Attention (0) | 2023.05.02 |
---|---|
Aanconda prompt 이용한 가상환경에 Tensorflow/주피터노트북 설치 (0) | 2021.04.19 |
[핸즈온] 텐서플로 저수준 API 살펴보기 (0) | 2021.03.06 |
[핸즈온] 고속옵티마이저 : AdaGrad (0) | 2021.01.18 |
[핸즈온] 인공 신경망 소개 (0) | 2021.01.13 |