여태까지는 이미지 분류를 진행했다. MNIST - Fashion MNIST - CIFAR-10/100 - Caltech-101/256 - ImageNet - ImageNette / ImageWoof 이제는 object Detection을 다룬다. 단순히 분류 뿐만 아니라, 사물이 어느 위치에 있는지, 그리고 어떤 곳에 있는지를 다룬다. - PASCAL VOC - MS COCO(아주 유명한 데이터셋) - Open Images - KITTI (자율주행) - Argoverse - Global Wheat - Objects365 - SKU-110K - VisDrone (3d ) 드론 데이터셋 - xView roboflow - object Detection에서 전처리 및 데이터셋 사이트 yolo v8도 쓴다. ->..
딥러닝 모델 저장 model1.save('./my_first_save.keras') 모델 불러오기 clear_session() model3 = keras.models.load_model('./my_first_save.keras') model3.summary() 모델 가중치 불러오기 model3.get_weights()[0][0][0] 이미지를 저장하기 위한 연결 from google.colab import drive drive.mount('/content/drive') !ls !cd /content/drive/MyDrive/my_data; ls 이미지 불러오기 import glob from keras.preprocessing import image files = glob.glob('/content/dri..
CNN 복습 DNN은 이미지 데이터의 공간/위치 정보를 훼손한다. 컬러 이미지나 현실세계의 문제에서는 취약하다. 그렇기 때문에 CNN은 각 공간의 특징을 보존하고자 필터를 이용하여 특징들을 추출하고, 그것으로 이용한다. feature map의 개수를 늘린다. 그 과정에서 필터의 개수, 필터 사이즈, 스트라이드, 패딩, 활성화 함수를 지정해주었다. 하드웨어 제약 때문에 풀링(subsampling)이 대두되었다. 풀링은 절반으로 만드는 (2,2) 정도가 거의 모든 상황에서 선택된다. max_pooling, avg_pooling > 이것은 필터 사이즈와 스트라이드만 지정해주었다. 대립관계 = 풀링이 없어도 된다. 현재 트랜드 => 스트라이드만 이용해서 줄여나간다. DNN, Dense, Input, Flatte..
딥러닝 복습 ML은 주어진 데이터를 바탕으로 의사결정 규칙을 만든다. 수제작이기 때문에 피처에 대한 설명이 용이하다. 그러나 error를 줄이는 데 도움이 될 지는 모델링을 해 봐야 안다. 충분한 개수의 특징을 제작했는지 모른다. 좋은 피처는 error를 줄여주고, 설명이 용이하며, 모델링하기에 충분히 많아야 한다. 그러나 복잡한 모델일 수록 설명 하는데 있어서 어려워진다. 딥러닝은 피처를 추출하고, 러닝을 하는 과정을 둘 다 한다. 피처 러닝 + 모델 트레이닝 => 예측 딥러닝의 깊이는 feature learning의 '수준'을 결정한다. 딥러닝의 너비는 feature의 '양'을 결정한다. 공간만 만들어주면, 예측에 도움이 되는 특징을 만들어준다. Tabular Data(정형 데이터)는 정제되어 있는 ..
비즈니스 kpi(성과지표)에 얼마나 영향을 미쳤는가 매출, 수익, 비용, 재고 100배가 빨라진 것은 얼마나 비즈니스 관점에 영향에 미쳤는가? high variance = 각 예측값의 편차와 변동성이 높다. bias = 목표 지점으로부터의 거리가 멀다. 적절한 feature을 추가하는 것은 bias를 줄이는 것 -mse, mae가 얼마나 줄었느냐 행(데이터 건수)를 추가하는 것은 편차 줄이기(variance 줄이기) 흔히 bias만 이야기 하지만, variance도 굉장히 중요하다. 학습 : 에포크 = 10~50에서 시작 lr = 0.1~0.001에서 시작 funcional api는 다중 입력을 받아서 결과를 내겠다 할 때 사용하면 좋다. 다중 출력 만약 다중출력을 하려면 마지막에 loss functio..
모델링의 목표 적절한 예측력을 얻기 위해서, 적절한 복잡도의 모델을 생성한다(일반화 성능) 모집단 전체를 바라보는 모델을 만들고 싶은 것이다. 모델의 복잡도는 대체로 하이퍼 파라미터 조정에 따라 복잡도가 달라진다. 모델이 복잡해지면 노이즈 데이터에 대한 데이터(가짜 패턴)까지 학습하게 된다. 따라서, 하이퍼 파라미터 튜닝은 검증 데이터셋에 대해 가장 좋은 일반화 성능을 찾겠다는 뜻이다. 검증 성능을 기반으로 최적의 모델을 선정하는 것 자체가, 과적합을 피하는 방법이다. 적절한 모델 만들기 knn의 그래프를 그려보면, 복잡도를 k가 증가할 때마다 validation과 train loss가 cross하는 지점이 있다. loop, gridsearch,randomsearch등을 찾는다. 성능관리를 위해 딥러닝에..