이전 시간에 Keras를 이용해서 MNIST의 숫자 필기체 이미지의 숫자를 판별하는 모델을 만들어보았다.
이제 케라스에 대해서 조금 더 상세하게 살펴보자.
그치만 아래의 내용들은 개념적인 부분이기 때문에 한 번 스윽 훑어보는 정도로 😊
텐서: 다차원 넘파이 배열
ndim 속성으로 알 수 있다.dtype 속성으로 알 수 있다.우선 케라스로 신경망 구축 시에 필요한 요소들이 존재한다.
당연한 것이긴 하지만 하나하나 상세하게 알아보자!
모델: 하나의 신경망을 나타낸다.레이어: 신경망에서 하나의 층이다.입력 데이터: TensorFlow 텐서 형식이다.손실함수: 신경망의 출력과 정답 레이블 간의 차이를 측정하는 함수이다.옵티마이저: 학습을 수행하는 최적화 알고리즘이다. 학습률과 모멘텀을 동적으로 변경한다.보유한 메서드
compile(optimizer, loss=None, metrics=None): 훈련을 위해 모델을 구성하는 메서드⭐fit(x=None, y=None, batch_size=None, epochs=1): 훈련 메서드⭐evaluate(): 테스트 모드에서 모델의 손실함수 값과 측정 항목 값을 반환predict(x, batch_size = None): 입력 샘플에 대한 예측값 생성add(layer): 레이어 추가Sequential 모델에 add()호출시에 들어갈 객체이다.
주로 사용되는 것은 아래와 같다. (그러나 종류 사실 엄첨 많음)
Input(shape, batch_size, name): 입력을 받아서 케라스 텐서를 생성하는 객체Dense(units, activation=None, use_bias=True, input_shape): 유닛들이 전부 연결된 레이어Embedding(input_dim, output_dim): 자연어 처리의 첫 단계에서 사용되는 레이어손실함수는 객체로 지정할 수도 있고 문자열로 지정할 수도 있다.
만약 손실 함수에 어떤 파라미터값을 지정해주고자 하는 경우 객체 생성을 사용하면 된다.
손실함수는 대표적으로 4가지만 알아본다.
MeanSquearedError: 정답 레이블과 예측값 사이의 평균 제곱 오차mean_squared_error 또는 mseBinaryCrossEntropy: 정답 레이블과 예측 레이블 간의 교차 엔트로피 손실 계산binary_crossentropyCategoricalCrossentropy: 정답 레이블과 예측 레이블 간의 교차 엔트로피 손실 계산categorical_crossentropySparseCategoricalCrossentropy: 정답 레이블과 예측 레이블 간의 교차 엔트로피 ㅅ노실 계산sparse_categorical_crossentropy하이퍼 매개변수의 종류
드디어 Chapter 7이 마무리되었다..!🥹👏👏
뭔가 아는 내용도 있고, 새로운 내용도 있다 :)
다음은 심층 신경망!
화이팅합시다-!👍