https://opentutorials.org/course/4570/29242
21강 부록2: 모델을 위한 팁
학습이 잘 되는 모델
사용할 레이어
- tk.keras.layers.BatchNormalization()
- tk.keras.layers.Activation('swish')
보스턴 집값 예측
# 2. 모델의 구조를 만듭니다
X = tf.keras.layers.Input(shape=[13])
H = tf.keras.layers.Dense(8, activation='swish')(X)
H = tf.keras.layers.Dense(8, activation='swish')(H)
H = tf.keras.layers.Dense(8, activation='swish')(H)
Y = tf.keras.layers.Dense(1)(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')
# activation을 분리하는 경우(똑같은 모델임)
X = tf.keras.layers.Input(shape[13])
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.Activation('swish')(H)
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.Activation('swish')(H)
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.Activation('swish')(H)
Y = tf.keras.layers.Dense(1)(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')
# BatchNormalization을 dense layer와 activation layer 사이에 넣어주는 것이 효과적임.
X = tf.keras.layers.Input(shape[13])
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)
Y = tf.keras.layers.Dense(1)(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse')
아이리스 품종 분류
# 2. 모델의 구조를 만듭니다
X = tf.keras.layers.Input(shape=[4])
H = tf.keras.layers.Dense(8, activation='swish')(X)
H = tf.keras.layers.Dense(8, activation='swish')(H)
H = tf.keras.layers.Dense(8, activation='swish')(H)
Y = tf.keras.layers.Dense(3, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy',
metrics='accuracy')
# BatchNormalization layer 이용
X = tf.keras.layers.Input(shape=[4])
H = tf.keras.layers.Dense(8)(X)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)
H = tf.keras.layers.Dense(8)(H)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)
H = tf.keras.layers.Dense(8)(H)
H = tf.keras.layers.BatchNormalization()(H)
H = tf.keras.layers.Activation('swish')(H)
Y = tf.keras.layers.Dense(3, activation='softmax')(H)
model = tf.keras.models.Model(X, Y)
model.compile(loss='categorical_crossentropy',
metrics='accuracy')
드디어.. 강의를 끝냈다... ㅎㅎ
사실 날만 잡으면 하루 안에도 들을 수 있는 양인데.. 개강하고 이것저것 치여서(그렇다고 뭔가를 많이 한 것도 아니기 때문에 핑계에 불과하지만😅) 미루다가 이번에 동아리에서 머신러닝 스터디를 하게 되어서 이건 마무리하고 넘어가야겠다 싶어서 남은 강의까지 완강했다.
다 듣고 생각한 건 역시 생활코딩..👍👍 저번에 인프런에서 허접... 무료 강의를 듣고 화가 잔뜩 났는데 생활 코딩 강의는 그것보다도 훨씬 짧은 시간에 핵심만 쏙쏙 알려주는 느낌이다. 이론적인 부분보다는 코드에 익숙해지는 게 목표인 것 같고 표로 주어진 데이터를 분석하는 간단한 process 를 배울 수 있었다. 무엇보다도 구조를 이해할 수 있게 되었다는 것이 중요한 것 같다.
이제.. 동아리에서 진행하는 스터디도 하고... 졸프 팀원들과 하는 스터디도 하고... 학교 수업으로 듣는 Meachine Learning 수업도 들어야 하고(이건 영강인데 정말 큰일났다.) 휴 벌써부터 머리가 아프지만 화이팅 해보자... 나는 3학년이다.. 나는 해야한다...🙃
'스터디📖 > ML, DL' 카테고리의 다른 글
Tensorflow 이미지 분류(CNN) - 5, 6강 다섯번째 딥러닝 1 - Flatten (0) | 2021.10.03 |
---|---|
Tensorflow 이미지 분류(CNN) - 1, 2, 3, 4강 데이터와 차원 & 이미지 데이터 이해 (0) | 2021.09.28 |
Tensorflow (python) - 20강 부록1: 데이터를 위한 팁 (0) | 2021.09.28 |
Tensorflow (python) - 18, 19강 네번째 딥러닝 - 신경망의 완성:히든레이어 (0) | 2021.09.28 |
Tensorflow (python) - 14, 15, 16, 17강 세번째 딥러닝 - 아이리스 품종 분류 (0) | 2021.09.01 |