캐글 뽀개기
12/ 신경망, Keras
순서
1/ 공지
2/ 신경망 (MLP)
3/ Keras
2
1/ 지난 과제 + 공지
3
1/ 지난 과제 + 공지
중간고사 팀 코드 10%
중간고사 팀 발표 10%
기말고사 팀 코드 20%
기말고사 팀 발표 20%
대회 성적 30%
출석 10%
4
2/ 신경망
5
2/ 로지스틱회귀 (Logistic Regression)
6
종속변수가 범주형 변수인 경우 (예: 성별, 암 여부)
종속변수와 독립변수의 관계를 선형 수식 + 로지스틱 함수로 표현
손실함수
경사하강법
g
x1
x2
x3
Input layer
Output layer
θ1
θ2
θ3
2/ 신경망 (Neural Networks)
7
입력층과 출력층 사이에 hidden 레이어를 추가
Hidden 레이어는 여러 뉴런 포함
각 뉴런은 이전 레이어의 출력 값에 activation 함수 적용
경사하강법 + chain rule → Backpropagation 으로 학습
많이 사용되는 activation 함수:
h
x1
x2
x3
Input layer
Output layer
g
h
h
h
h
h
Hidden layer
Hidden layer
2/ 신경망 - 특수 레이어
8
Dropout: 학습시 랜덤하게 일정 비율의 뉴론을 drop
Batch/Layer Normalization: 레이어의 입력값을 표준화
Max/Average Pooling: 입력값 중 Max/Average만 선택
Embedding: Label/Ordinal 인코딩된 정수를 실수 벡터로 변환
예) 2 → [0.25, 1], 3 → [0.7, 0.1], …
Convolution: 1D/2D Convolution
Recurrent: LSTM, GRU
h
x1
x2
x3
Input layer
Output layer
g
h
h
h
h
h
Hidden layer
Hidden layer
Dropout layer
3/ Keras
9
3/ Keras
10
주요 오픈소스 신경망 프레임워크 중 하나
구글의 François Chollet이 2015년 발표
Tensorflow/Theano/CNTK/PlaidML의 high-level API 제공
Tensorflow 2.0부터 Tensorflow에 포함
3/ Keras - Functional API (노트북)
12
레이어들을 다양하게 조합한 신경망을 생성할 수 있는 API
임의의 레이어의 출력들을 다음 레이어의 입력으로 사용가능
3/ Keras - Callbacks (노트북)
13
EarlyStoping: 검증셋 성능이 향상되지 않으면 학습 중단
ReduceLROnPlateau: 검증셋 성능이 향상되지 않으면 learning rate 감소
LearningRateScheduler: Learning rate을 커스텀하게 변경
ModelCheckpoint: 모델 저장
TensorBoard: 학습 과정 시각화
3/ 참고자료
14
3/ 참고자료
15
4/ 과제
16
4/ 과제
17