본문 바로가기

728x90
반응형

AI/AI 라이브러리

(15)
[Tensorflow] 전이학습(Transfer Learning) 전이 학습이란? Deep Learning 중 한 방법으로, 한 작업에서 학습한 모델을 다른 관련 작업에 활용하는 것을 말한다. 전이 학습은 새로운 작업에 대해 충분한 데이터가 없거나 학습에 많은 시간과 컴퓨팅 자원이 필요한 경우에 특히 유용하다. 첫 번째 방법 - 사전 학습된 모델을 사용하여 특징 추출 후, 그 특징을 다른 모델에서 사용. ex. Computer Vision에서 대규모 이미지 데이터셋의 특징 추출하고 이 특징을 새로운 훈련에 적용하여 학습. 새로운 훈련에 대해 더 적은 데이터로도 좋은 성능을 얻을 수 있음. 두번째 방법 - 사전 학습된 모델을 fine-tuning 하는 방법. 사전 학습된 모델의 일부 층을 고정한 채로 새로운 작업에 맞게 일부 층을 재학습시키는 것. 새로운 작업에 대한 특..
[Tensorflow] Optimizer / Loss Function / Metric Optimizer 딥러닝 모델을 학습할 때 다양한 최적화 알고리즘을 적용해야한다. 이러한 최적화 알고리즘은 모델의 가중치와 편향을 조정하여 손실 함수를 최소화하고 모델의 성능을 향상시키는 역할을 한다. tf.keras.optimizers에 정의되어 있다. Optimizer - Gradient Descent Optimization 가장 기본적인 최적화 알고리즘이다. learning rate를 조정하여 최적화의 속도와 안정성을 조절할 수 있다. tf.keras.optimizers.legacy.SGD 클래스를 사용하여 구현 가능하다. optimizer = tf.keras.optimizers.legacy.SGD(learning_rate = 0.01) model.compile(optimizer=optimizer)..
[Tensorflow] Callback 알아보기 Tensorflow로 모델을 학습할 때 특정 이벤트가 발생할 때 실행되는 함수들이다. 이를 통해 학습 동안 다양한 작업을 수행하거나 제어할 수 있다. ModelCheckpoint tf.keras.callbacks.ModelCheckpoint epoch 마다 모델의 가중치를 저장하는 콜백이다. 학습 중에 모델의 성능이 개선될 때마다 모델의 가중치를 저장하여 최상의 모델을 추출할 수 있다. -매개변수- filepath : 문자열. 모델 가중치를 저장할 파일 경로이다. 파일 이름에는 epoch와 val_loss (또는 다른 지표)와 같은 템플릿 인수를 사용할 수 있다. monitor : 모니터링할 지표를 지정한다. 기본값은 val_loss이다. verbose : 얼마나 자세하게 정보를 표시할지를 제어한다. 0..
[Tensorflow] 모델 컴파일, 학습, 예측 저번 포스트에서는 Tensorflow를 사용해 모델을 만드는 방법을 알아보았다. 이제 모델을 만들었으니 모델을 사용하기 위해 컴파일, 학습, 예측의 순서대로 알아보자. Complie Tensorflow에서 모델 complie은 "모델 인스턴스.comple()"을 사용한다. 이 때 여러가지 속성을 적용할 수 있다. 주요 속성은 다음과 같다. 1. optimizer 최적화기 모델의 가중치를 업데이트하는 최적화 알고리즘을 지정 adam, sgd, rmsprop 등 2. loss 손실함수 모델의 학습 중에 최소화될 손실 함수를 지정 categorical_crossentropy, binary_crossentropy, mse 등 3. metrics 평가지표 모델의 성능을 평가하기 위한 지표를 지정 accuracy,..
[Tensorflow] 모델 만들기 Tensorflow에서 모델을 만드는 만드는 방법은 크게 3가지가 존재한다. 1. Sequential API Layer를 선형으로 쌓아 구성하는 방법. 간단한 모델을 만들 때 유용. 단일 입력, 히든, 출력 계층만 가능함. Layer sharing을 할 수 없다. 비선형 토폴로지를 사용할 수 없다. LeNet, AlexNet, VGGNet 2. Functional API 권장되는 방법. 다중 입력, 히든, 출력 계층 가능. Layer sharing 가능. 비선형 토폴리지 사용 가능. ResNet, GoogLeNet/Inception, Xception, SqueezeNet 3. Subclassing 모델, 계층 및 교육 프로세스를 완벽하게 제어해야 하는 고급 개발자를 위한 방법. 모델을 정의하는 사용자 정..

728x90
반응형