728x90
07-1 인공 신경망
Tensorflow
구글이 2015년 11월 오픈소스로 공개한 딥러닝 라이브러리
- Keras
tensorflow의 고수준 API
Artificial Neural Network (ANN, 인공 신경망)
생물학적 뉴런에서 영감을 받아 만들어진 머신러닝 알고리즘
- 매컬러-피츠 뉴런1943년 워런 매컬러와 월터 피츠가 제안한 뉴런 모델
- Neuron (= Unit)
선형 방정식을 계산하는 단위
- Activation Function (활성화 함수)
뉴런의 선형 방정식 계산 결과에 적용되는 함수
- Input layer (입력층)
- Dense layer (밀집층)
가장 간단한 ANN의 layer
뉴런들이 모두 연결되어 있기 때문에 fully connected layer(완전 연결 층)라고도 부름 - Output layer (출력층)
output layer에 사용되는 activation function은 종류가 제한
- sigmoid : binary classificaion
- softmax : multi-class classification
one-hot encoding (원-핫 인코딩)
target을 해당 클래스만 1이고 나머지는 모두 0인 배열로 만드는 것
multi-class classification에서 output layer에서 만든 확률과 cross-entropy loss를 계산하기 위함
07-2 심층 신경망
Deep Neural Network (DNN, 심층 신경망)
2개 이상의 layer를 포함한 Neural Network
- Hidden layer (은닉층)
input layer와 output layer 사이에 있는 모든 layer
- ReLU
이미지 분류 모델의 hidden layer에 많이 사용하는 activation function
- Optimizer (옵티마이저)
신경망의 가중치와 절편을 학습하기 위한 알고리즘 또는 방법
07-3 신경망 모델 훈련
- 손실 곡선
- 검증 손실
Dropout
훈련 과정에서 층에 있는 일부 뉴런을 랜덤하게 꺼서(값을 0으로 만들어서) overfitting을 방지
훈련중에 적용되며 평가나 예측에서는 적용하지 않음 (tensorflow에서는 자동)
Callback
keras 모델을 훈련하는 도중에 어떤 작업을 수행할 수 있도록 도와주는 도구
- ModelCheckpoint
기본적으로 최상의 검증 점수를 만드는 모델을 저장
- Early Stopping
검증 점수가 더 이상 향상되지 않으면 훈련을 계속하지 않고 조기 종료
728x90
반응형