[ 딥러닝 ]11 tf.keras load_model 오류 - ValueError: No model config found in the file at ... Callback 함수에서 ModelCheckpoint를 설정하고 best model을 저장하였다. 저장한 모델을 불러오려고 했는데 다음과 같은 오류가 떠서 해결해보려고 한다. from tensorflow.keras.callbacks import ModelCheckpoint from tensorflow.keras.models import load_model model_cp = ModelCheckpoint('best_model.h5',save_weights_only=True, monitor='val_loss', save_best_only=True, mode='min') model_best = load_model('best_model.h5') model_best " ValueError: No model con.. 2023. 8. 19. Sigmoid가 Activate Function으로 안 쓰이는 이유 / Saturation / 지그재그 가중치 업데이트 시그모이드는 딥러닝에서 활성 함수 그리고 출력 함수로 쓰이는 대표적인 함수이다. 1. Sigmoid 함수의 특징 (1) Sigmoid 함수의 용도 Activation 함수 모델의 복잡도를 향상하기 위해서 활성화 함수로써 시그모이드를 사용한다. 선형의 결합은 결국 선형이기 때문이다. 비선형성을 주기 위해서 은닉층 출력값에 활성화 함수를 적용한다. Output 함수 Sigmoid 함수의 특징은 0에서 1 사이의 값을 출력하는 것에 있다. 이를 이용하여 0 또는 1의 이진분류를 가능하게 하는데, 이를 'squarshing'이라고 한다. Output 함수를 Squarsh 함수라고도 부른다. (2) Sigmoid 함수의 장점 Sigmoid 함수는 활성화 함수로서의 장점이 없다. 그래서 활성화 함수로는 다른 함수를.. 2023. 7. 29. [ CNN ] ResNet / 층이 깊어지면 성능도 좋아지게! 마이크로소프트에서 개발한 알고리즘인 ResNet은 '층이 깊어지면 성능도 좋아질까?'에 대한 의구심으로 시작되었다. 우리의 일반적인 생각으로는 신경망의 층이 깊어질수록 성능도 좋아질 것이라고 생각되지만, 실제로 층의 개수가 성능을 보장하는 것은 아니었다. 20층일 때보다 56층일 때 training error와 test error 모두 더 높은 것으로 보이는데, 이는 오버피팅으로 인한 성능 저하가 아니라는 것을 알려준다. "plain convolutional neural network"를 여러 층 쌓았기 때문에 발생한 것으로, 층을 깊게 쌓을 수록 1) Gradient Vanishing 또는 Gradient Explosion 2) Degradation Problem 이 발생한다. 이를 해결할 방법으로는 .. 2023. 6. 7. [ CNN ] GoogLeNet / 2014 ILSVRC 1위 모델 GoogLeNet은 2014년 이미지 분류 대회에서 1위한 알고리즘이다. 구글이 이 알고리즘 개발에 참여했다. 2013년까지와 2014년 부터의 신경망 모델의 차이라고 하면 층 개수가 2배 이상 증가했다는 점인데, 실제로 VGGNet은 버전에 따라 16개의 층 (VGGNet-16), 19개의 층 (VGGNet-19)으로 구현되었고 GoogLeNet은 22개의 층으로 구현되었다. 이렇게 층이 깊어지면 1) 학습할 parameter의 개수가 늘어나고, 연산량 증가 2) 기울기 소실 문제 위의 대표적인 두 가지 문제가 발생한다. GoogLeNet 개발자들은 신경망 구조에 대한 변화의 필요성을 느끼고 GoogLeNet 만의 여러 특징을 담아 알고리즘을 만들었다. >> 논문 주소 : https://arxiv.or.. 2023. 6. 6. 이전 1 2 3 다음