Day2. 알파벳 수화 직접 배워보기

문지원·2021년 8월 3일
0

week3

목록 보기
2/2

🔎 모델 개념과 학습 원리

💡 Model ?

  • keras model 생성
from keras.models import Sequential
model = Sequential() # 설명서를 가지고 온다

💡 Compile ?

네트워크가 학습할 준비가 됐다 !!!
네트워크는 두뇌 역할일뿐, 학습을 위해서는 목표함수최적화기가 필요하다.

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

1. Network ; 네트워크

  • keras Network 정의
keras, layers import Dense # 'Dense'라는 '2층'짜리 층을 쌓는다
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

네트워크에 입력을 주면 출력이 하나 나온다.
시그모이드 = 0.0~1 사이의 실수만 출력

2. Objective Function ; 목표함수

❗ 알아둬야 할 세 가지 objective func.

  • mean_squared_error : 수치예측
  • categoriclal_crossentropy : 다중분류
  • binary_crossentropy : 이진분류

3. Optimizer ; 최적화기

네트워크를 갱신할 어떤 객체 ex. 과외, EBS 와 같은 하나의 수단

딥러닝 모델은 문제를 푸는 최적화 상태를 만들어주어야 함.
따라서 계속해서 적정한 학습률로 맞춰가며 학습을 진행해야한다.

sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, neserov=True)
model.compile(loss='mean_squared_error', opimizer=sgd)
# pass optimizer by name. default 
model.compile(loss='mean_squared_errer',optimizer='sgd')

💡 Y'= w×X+b


Objective Function : X를 입력해서 나온 출력 Y'값과 실제 정답 Y 사이의 차이 계산
Optimizer : Y와 Y'의 오차값을 통해 Network 갱신

🔎 학습과정

모델 학습 fit()

model.fit(x, y, batch_size=32, epochs=10)

batch_size : 가중치 업데이트
→ 메모리용량, 학습 속도에 영향을 미침

epochs : 학습 반복 횟수, 전체 데이터 샘플의 총 사용 횟수
→ 데이터 수는 정해져있기 때문에, 반복 횟수를 지정해 준다. (정확도 ↑)

profile
코딩초보

0개의 댓글

관련 채용 정보