처음부터 하는 딥러닝16 [딥러닝 기초] learning rate scheduler 1. Learning rate scheduler란? 2. 코드와 함께 실험해보기 2.1. No Scheduler 2.2. Linear warmup with linear decay 2.3. Cosine Decay 2.4. Cosine Annealing (SGDR) 2.5. CyclicLR 2.6. ReduceLROnPlateau 2.7. InverseSquareRoot Scheduler 3. cifar10 실험 결과 1. Learning rate scheduler란? 오늘은 learning rate scheduler에 대해 알아보겠습니다. learning rate는 학습에 가장 큰 영향을 미치는 하이퍼파라미터 중 하나입니다. learning rate가 너무 크면 optimal 지점을 지나치기 쉽고, 너무 .. 2024. 1. 21. PyTorch와 TensorFlow (PyTorchLightning과 Keras) 지금까지 대부분의 코드를 PyTorch로 작성해왔었는데 이번 시간엔 TensorFlow에 대해서도 알아보도록 하겠습니다. PyTorch와 TensorFlow의 코드를 비교해보면서 어떤 차이가 있는지 알아보면서 TensorFlow로도 코드를 능숙하게 작성하도록 해봅시다. 1. PyTorch와 TensorFlow 비교 1-1. 랜덤 시드 설정하기 1-2. MNIST 데이터 받기 1-3. 모델 만들기 1-4. 학습하기 2. PyTorch Lightning과 Keras 1. PyTorch와 TensorFlow 비교 TensorFlow 코드 (v.2.15.0) : https://colab.research.google.com/drive/1AaF2TowXRcSoPyKRY_mFIG5DqcBtEv8S?usp=sharin.. 2024. 1. 7. [딥러닝 기초] 데이터셋에 대한 고찰 처음 딥러닝 공부를 시작할 때 흔히 모델 구조와 구현 위주로 공부를 하게 됩니다. 그리고 그 과정에서는 MNIST와 같이 항상 잘 처리된 좋은 데이터셋이 제공되죠. 그렇기 때문에 데이터셋에 대해서 고민해 볼 기회가 적은 것 같습니다. 하지만 실제로는 딥러닝에서 가장 중요한 것은 데이터라고 봐도 무방할 정도로 데이터셋이 모델 성능에 미치는 영향은 큽니다. 게다가 실전에서는 이렇게 퀄리티가 좋은 데이터셋이 주어지지도 않습니다. 심지어 본인이 데이터셋을 직접 수집하고 만들어야 할 수도 있습니다. 이런 상황에 맞닥뜨리게 되면 데이터셋을 어떤 식으로 만들어야 할지, 어떤 데이터셋이 좋은 데이터셋인지에 대해 고민해야 합니다. 좋은 데이터셋을 구축하기 위해선 자신이 하려고 하는 task의 목적을 확실히 해야 합니다... 2023. 12. 11. 분류 모델의 평가 지표 (Accuracy와 F1 score) 모델을 학습했다면 성능을 확인해야 합니다. 모델의 적용분야나 데이터 특성 등에 따라서 평가지표도 달라질 것입니다. 이번 포스트에서는 다양한 평가지표에 대해서 알아보도록 하겠습니다. 1. 손실도 (Loss) 가장 판단하기 쉬운 척도는 loss일 것입니다. 무엇보다도 모델은 loss를 최소화하는 방식으로 학습 되니까요. 일차적으로는 Loss가 작을수록 학습이 잘된 모델이라고 판단할 수 있을 겁니다. 하지만 loss는 컴퓨터를 위한 지표입니다. 역전파를 수월하게 할 수 있도록 설계한 점수입니다. 모델을 사용하는건 사람이죠. 그렇기 때문에 loss로 판단한 좋은 모델과 사람이 판단한 좋은 모델 간의 차이가 있을 수도 있습니다. 가장 간단한 지표로 정확도와 loss의 차이를 생각해 보겠습니다. Loss가 작아질수.. 2023. 11. 14. [딥러닝 기초] 본인 컴퓨터에서 직접 딥러닝 코드를 작성하고 실행해보자 지금까진 colab을 이용해서 코드를 작성하고 실행해 봤었습니다. 이번엔 본인 컴퓨터에서 직접 코드를 작성하고 실행시켜 보도록 하겠습니다. 그리고 어떤 식으로 코드를 구성하고 관리하면 좋을지에 대해서도 알아보겠습니다. 1. Anaconda 1-1. Anaconda 설치하기 1-2. 가상환경 만들어보기 2. 코드 작성하기 (jupyter notebook) 3. 코드 작성하기 (.py파일로 작성하기) 4. 설정값 관리하기 5. 실험 결과 관리하기 5-1. tensorboard 5-2. wandb 6. 마무리 1. Anaconda 파이썬으로 프로그램을 짜다 보면 여러가지 라이브러리를 사용하게 됩니다. 그런데 만약 2개 이상의 프로젝트를 동시에 진행하고 있는데 두 프로젝트에서 서로 같은 라이브러리지만 버전이 다.. 2023. 10. 1. [딥러닝 기초] 전이 학습 (Transfer learning) 1. 전이 학습 2. ImageNet 3. 레이어 동결 4. 사전학습 모델 선택하기 5. 모델 저장과 불러오기 5.1. PyTorch 5.2. Tensorflow 1. 전이 학습 (Transfer learning) 성능 좋은 딥러닝 모델을 만드는 데는 많은 데이터와 그 데이터를 감당할 만한 큰 모델을 필요로 합니다. 그러나 대부분의 일반인들이 이 많은 데이터와 모델을 학습시키기에는 컴퓨터 성능이 부족할 겁니다. 설령 컴퓨터 성능이 받쳐준다고 할지라도, 그 많은 데이터를 학습 시키는데 시간이 너무 오래 걸립니다. 딥러닝 모델을 만들 때마다 이 만큼의 자원과 시간을 소모하는 것은 매우 힘든 일이겠죠. 그래서 이렇게 큰 시간을 들여서 미리 학습한 모델을 가져다 쓸 수는 없을까 하는 생각을 하게 됩니다. 이렇게.. 2023. 6. 19. 이전 1 2 3 다음