부스트캠프 AI Tech 1기 [T1209 최보미] 94

Day5 학습정리

1. 오늘의 목표 Stratified K-fold 적용하기 2. 목표를 달성하기 위해 한 행동 stackoverflow.com/questions/60883696/k-fold-cross-validation-using-dataloaders-in-pytorch에 나와있는 코드를 가져와서 k-fold를 적용해봤다. 내 코드에 적용하는 과정에서 몇 번의 에러가 있었지만 해결하고 정상적으로 작동시키는데 성공했다. 하지만 결과는 그렇게 좋지는 않았다. 3. 회고 오늘은 왠지 의욕이 떨어져서 대회에 열심히 참가하지 않고 k-fold밖에 시도를 안 해봤다. k-fold가 효과가 없었던 이유는 여러번 학습을 돌리다 보니 overfitting이 발생해서 그런 것 아닐까 생각한다. 주말동안 다른 여러가지 기법들도 적용해보고 ..

Day4 학습정리 - Training & Inference

1. 오늘의 목표 각종 loss function과 optimizer 적용해보기 f1 스코어 계산하는 코드 추가하기 2. 목표를 달성하기 위해 한 행동 강의에서 언급된 Focal loss, label smoothing, f1 loss 코드를 검색해서 가져왔는데 Focal loss랑 f1 loss는 에러가 나서 못 했고 label smoothing만 성공했다. 첫 번째 시도할 때는 결과가 안 좋았는데 다른 코드를 가져와서 써봤더니 최고 점수를 갱신했다. optimizer는 Adam보다 SGD가 더 좋다는 말이 있어서 한번 바꿔봤는데 시간도 훨씬 오래 걸리고 결과도 처참해서 그냥 계속 Adam을 쓰기로 했다. 그리고 강의에서 언급된 lr scheduler 중에서 ReduceLROnPlateau가 가장 많이 쓰..

Day3 학습정리 - Model

1. 오늘의 목표 데이터 불균형 문제 해결하기 Daily Mission에 주어진 모델 구현해서 프로젝트에 적용해보기 2. 목표를 달성하기 위해 한 행동 데이터 불균형 문제를 해결하기 위해 WeightedRandomSampler를 사용해봤다. 클래스별 비율이 비슷하게 샘플을 추출하는 역할을 하는 것인데 기대와 달리 결과는 지금까지중에 가장 처참했다. 두 번째로는 CrossEntopyLoss에 weight 인자를 줘봤다. 정확도는 weight 안 줬을 때랑 유의미한 차이는 없었지만 f1스코어는 0.72%로 지금까지중에 가장 높았다. 3. 회고 여러가지 시도를 해 봤는데 계속 결과가 기대했던 것만큼 잘 안 나와서 의욕이 떨어졌다. 그래도 CrossEntopyLoss에 weight을 줬을 때 f1스코어가 높게 ..

Day2 학습정리 - Data Feeding

1. 오늘의 학습목표 Albumentation을 사용해서 augmentation 시간 줄이기 모델 정확도 개선하기 2. 목표를 달성하기 위해 한 행동 모델을 돌려보기 위해 경량화 과제 코드를 약간 수정해서 베이스라인 코드를 만들었다. 모델은 resnet50과 efficientnet-b1을 사용하였고 augmentation 시간을 줄이기 위해 torchvision.transform에서 Albumentation 라이브러리로 바꿨다. hoya012.github.io/blog/albumentation_tutorial/을 참고해서 시간을 비교해보니까 확실히 차이가 많이 나는 것을 확인할 수 있었다. 3. 회고 모델 성능을 높이기 위해 resnet50에서 efficientnet-b1로 바꿔보기도 하고 augment..

Day1 학습정리 - EDA

1. 오늘의 학습목표 대회 플랫폼 사용법 익히기 주어진 이미지 데이터 탐색 2. 목표를 달성하기 위해 한 행동 우선 train 폴더에 들어가서 폴더명과 파일명은 어떤 식으로 되어있는지, 어떤 이미지들이 있는지 대충 확인해보았다. 그다음 트레인 이미지 정보가 담겨있는 CSV 파일을 읽어서 데이터 분포를 확인했다. 분석 결과 성비는 여자:남자가 6:4 정도 되었고 나이 분포를 그래프로 그려 확인해보니 양 끝에 많이 분포해있는 것을 알 수 있었다. 그리고 각 이미지들의 클래스를 분류하여 라벨링했다. 클래스별 이미지 개수를 확인해보니까 불균형이 있었다. 그다음 각 클래스별로 이미지를 5장씩 뽑아 출력해보았다. 마스크 대신 천을 쓴 사람도 있었고 눈에 마스크를 한 사람도 있었다. 처음에는 이미지가 모두 jpg 형..

Day40 학습정리 - 모델경량화5

강의복습 1. 행렬 분해 - Low-rank approximation for model compression 더보기 1) 미니 코드: Approximation 2) 강의 주제 Three maps Matrix(Tensor) is a data modeling tool Matrix(Tensor) is a linear transformation(map) 3원 1차 연립방정식(Three-way first-order system of equations) Gaussian elimination Filter decomposition: ex) Conv. layers Matrix factorization: 2차원 데이터 Tensor factorization: 고차원 데이터 Kernel method Matrix decompo..

Day39 학습정리 - 모델경량화4

강의복습 1. 양자화 (Quantization) 더보기 1) 미니 코드: Floating-point operations 2) 강의 주제 Fixed point, floating point Fixed point: 메모리가 적게 들고 연산 속도 빠름 Floating point: 더 넓은 범위 표시 가능 Precision: Variance, Accuracy: Bias Quantization이란 여러 quantization들 Dynamic quantization Static quantization Quantization 결과 테이블 읽기 3) 토이 코드: Layer-wise histogram 2. 지식 증류 (Knowledge distillation) 더보기 1) 미니 코드: (Hard)Max, Argmax, S..

Day38 학습정리 - 모델경량화3

강의복습 1. Acceleration 더보기 1) 미니 코드: List operations 2) 강의 주제 Acceleration Hardwares (chip) Compression & acceleration Deep learning compiler 3) 토이 코드: Parallel processing 2. Pruning for network compression 더보기 1) 미니 코드: Masking 2) 강의 주제 Weighted sum Pruning이란 여러 Pruning들 Global Magnitude Pruning Layerwise Magnitude Pruning Global Gradient Magnitude Pruning Layerwise Gradient Magnitude Pruning Ran..

Day37 학습정리 - 모델경량화2

강의복습 1. 모델의 시공간 더보기 1) 미니 코드: Time complexity 2) 강의 주제 Space and time Parameter search Hyperparameter search Neural Architecture search NAS for edge devices 3) 토이 코드: Network profiling 2. Compression 더보기 1) 미니 코드: Codebook 2) 강의 주제 압축(Compression) Huffman coding velog.io/@junhok82/%ED%97%88%ED%94%84%EB%A7%8C-%EC%BD%94%EB%94%A9Huffman-coding 부호(Coding) 부호화(Encoding) 압축률(Compression rate) Compress..

Day36 학습정리 - 모델경량화1

강의복습 1. 가벼운 모델 더보기 1) 미니 코드: Object in memory 2) 미니 코드: Python bytecode 역어셈블러 3) 강의 주제 결정 (Decision making) 결정기 (Decision making machine) 가벼운 결정기 (Lightweight decision making machine) Backbone & dataset for model compression Edge devices Edge intelligence 4) 토이 코드: Model conversion 2. 동전의 뒷면 더보기 1) 미니 코드: System resource monitoring 2) 강의 주제 정방향, 역방향 AI에서 On-device AI에서 On-device AI Solution 사례 (..