본문 바로가기

전체 글192

[AI 부트캠프] DAY 91 - 트랙학습 CV 5 [오늘의 일지] 트랙학습 실시간 강의 - Transfer learning 실습 [상세 내용] Transfer learning 실습 - 이번 실시간 수업에서는 어제 녹화강의에서 배웠던 transfer learning을 적용시켜 보는 내용을 배웠습니다. 녹화강의보다 수월했던 점은 기존 데이터에 단계별로 기본 CNN으로 시작해서 이미 만들어져 있는 ResNet을 가져와서 성능을 비교해 보고 마지막으로 pre-trained 되어있는 transfer learning을 적용시키는 것까지 이어졌다는 것입니다. ResNet - ResNet은 매우 깊은 신경망을 훈련하고 최적화하는 데 어려움을 겪는 기존의 문제를 해결하기 위해 제안되었습니다. 이 아키텍처는 이미지 인식 및 다양한 컴퓨터 비전 작업에 사용되며, 특히 매우.. 2023. 11. 29.
[AI 부트캠프] DAY 90 - 트랙학습 CV 4 [오늘의 일지] 트랙학습 녹화 강의 - Transfer learning [상세 내용] Transfer learning - 이번 수업은 사실 기존 U-net에 transfer learning을 적용시키는 실습 위주의 내용이었습니다. 근데 저는 코드를 짜면서 적용하는 것까지는 이해하는데 무리가 있어서 transfer learning이라는 것이 어떤 특징을 가지고 있는지 알아보고 이해하려고 노력했습니다. 정의 - Transfer learning은 한 도메인에서 학습된 모델을 다른 관련 도메인으로 전이하여 활용하는 기계 학습의 한 형태입니다. 간단한 기본적인 아이디어는 한 작업에서 학습된 모델의 일부 또는 전체를 새로운 작업에 재사용하는 것입니다. Feature Extraction: 사전에 학습된 모델의 하위 .. 2023. 11. 28.
[AI 부트캠프] DAY 89 - 트랙학습 CV 3 [오늘의 일지] 트랙학습 실시간 강의 - 컬러 이미지 분류 모델 실습 [상세 내용] 컬러 이미지 분류 모델 실습 컬러 이미지 불러오기 - 이번 컬러 이미지도 토치비전을 이용해서 CIFAR10라는 데이터를 불러와서 tensor를 통해 정규화를 시켜서 학습에 맞는 형식으로 변환을 시켰습니다. transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) batch_size = 4 trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) train.. 2023. 11. 25.
[AI 부트캠프] DAY 88 - 트랙학습 CV 2 [오늘의 일지] 트랙학습 녹화 강의 - 의료 데이터를 활용한 CV [상세 내용] 의료 데이터를 활용한 CV 의료데이터 파악하기 - 원래 의료데이터는 개인정보와 연관이 많이 되어있다 보니 공개된 자료를 찾기가 굉장히 힘들고 폐쇄성이 높다고 알려져 있습니다. 그래서 해당 강의에서는 캐글의 대회에서 공개한 의료 데이터를 이용해서 실습을 진행하고 있었습니다. 코로나에 걸린 폐 이미지 - CNN의 실습을 위한 데이터는 코로나 당시의 데이터로서 코로나의 걸린 폐와 일반 폐 그리고 폐렴에 걸린 폐를 비교하는 데이터였습니다. CNN을 이용해서 코로나에 걸린 폐를 학습시킨 후에 예측을 하는 실습이었습니다. 이미지 불러오기 def list_image_files(data_dir, sub_dir): image_format =.. 2023. 11. 24.
[AI 부트캠프] DAY 87 - 트랙학습 CV 1 [오늘의 일지] 트랙학습 실시간 강의 - CV [상세 내용] CV 용어 설명 - 우선 CV라는 단어는 컴퓨터 비전이라는 단어의 약자입니다. 단어 그대로 CV는 시각적으로 보이는 데이터를 다루는 분야라고 간단하게 생각할 수 있습니다. 수업 전개 방식 - 수업의 진행은 실습 코드를 이용해서 기초적인 부분부터 시작해서 기능을 하나씩 추가해서 자세하게 더 복잡한 모델로 발전시키면서 원리를 제대로 알아가는 방식이었습니다. 오늘은 첫날이다 보니 기존에 딥러닝에서 많이 사용하는 기본 NN모델에 Convolutional 한 레이어를 추가해서 CNN 모델을 만들어 나가는 방법을 배웠습니다. 학습 데이터 - 학습 데이터는 CV 분야에서 가장 기초적인 데이터라고 할 수 있는 MNIST 데이터를 이용했습니다. MNIST 데이.. 2023. 11. 23.
[AI 부트캠프] DAY 86 - 딥러닝 프로젝트 11 [오늘의 일지] 딥러닝 프로젝트 - 프로젝트 최종 리뷰 [상세 내용] 프로젝트 최종 리뷰 얻어가는 부분 - 기존에는 tensorflow를 이용한 딥러닝 모델을 많이 사용했었는데 이번에는 pytoch를 이용해서 모델을 사용함으로써 원리적인 측면에서 더 복습이 잘 되었던 거 같습니다. 또 데이콘만 하다가 캐글을 하다 보니 처음에 캐글 노트북을 사용하는 것이나 제출하는 부분에서 익숙하지 않아서 어려운 부분도 많았지만 코드를 공유하거나 디스커션을 통한 어려움을 공유하는 것이 활발해서 공부를 하는데 도움이 많이 된 거 같습니다. 특히 전처리 부분에서는 지금까지 공부하면서 생각하지도 못해봤던 수동 가중치를 주는 법이나 메모리를 관리하는 법 등과 같이 최적화를 하는 방법은 정말 도움이 많이 된 거 같습니다. 또 sh.. 2023. 11. 22.
[AI 부트캠프] DAY 85 - 딥러닝 프로젝트 10 [오늘의 일지] 딥러닝 프로젝트 - 프로젝트 정리 및 ppt 작성 [상세 내용] 최종적으로 제출 문제 미해결 - 오늘의 일지를 정리하기에 앞서서 지난주에 제출에 성공했지만 epochs를 늘려서 전체적으로 제대로 학습을 시키기 위해서 다시 돌려보니 또 scoring error가 발생했습니다. 대회 토론장에서 여러 사람들의 대화내용을 살펴보았는데 아직 구체적으로 해결을 한 사람을 찾지는 못했습니다. 그렇다고 해서 저희가 사용한 전처리 방식을 하나하나 단순하게 제거하면서 제출 가능성을 찾는 것 또한 비효율적이고 지금까지의 프로젝트를 무의미하게 만들 거 같아서 제출하는 것을 포기했습니다. 추후에 제출문제가 해결이 된다면 다시 대회를 진행하고자 생각하고 있습니다. 프로젝트 정리 및 ppt 작성 - 타임라인 순서로.. 2023. 11. 21.
[AI 부트캠프] DAY 84 - 딥러닝 프로젝트 9 [오늘의 일지] 딥러닝 프로젝트 - 제출 에러 문제 해결 [상세 내용] 제출 에러 문제 해결 - 어제까지 test 데이터 변경 후에 제출 오류 나던 부분을 대회 디스커션도 찾아보고 강사님과의 소통 후에 해결했습니다. test 데이터에 새로 추가된 리더보드 스코어와 연관된 칼럼이 있었는데 이 칼럼에서 오류가 발생했던 것으로 보입니다. 그래서 제출 코드를 만들 때 그 칼럼을 어떻게 처리할지 만들어 놓으면 해결이 되는 것처럼 보였습니다. 간략하게 문제가 되었던 칼럼에 대해서 더 설명하자면 기존에 리더보드의 점수로 평가받을 수 있었던 행들은 True로 설정되어 있고 그 이외의 값들은 False로 되어 있던 것입니다. 그래서 캐글 자체 내에서 스코어링을 하는 과정에서 오류가 발생한 것으로 보입니다. 저는 if문을.. 2023. 11. 18.
[AI 부트캠프] DAY 83 - 딥러닝 프로젝트 8 [오늘의 일지] 딥러닝 프로젝트 - 최종 모델 선정 [상세 내용] 최종 모델 선정 추가 기능 - 이제 프로젝트 기간이 얼마 남지 않았습니다. 그래서 저희 조는 마지막으로 모델을 선정하고 어느 정도의 결과를 도출해 내야 했으며 몇 가지 기능을 수정해 가며 개선된 결과도 찾아야만 했습니다. 그래서 기존 일지에서 올렸던 LSTM 코드를 기반으로 몇 가지 기능을 추가했습니다. 첫 번째는 피처 엔지니어링을 통해서 주요 피처들의 60초 후의 값들을 같은 row에 추가시켜 주는 것을 shift 함수를 이용하여 구현했습니다. 캐글에서 참고했던 코드들은 shift를 60초만 한 게 아니라 10초, 20초, 30초,... , 60초까지 더 생성하는 것이었기 때문에 그냥 60초만 생성해 주는 코드로 변경해서 사용했습니다. .. 2023. 11. 17.
[AI 부트캠프] DAY 82 - 딥러닝 프로젝트 7 [오늘의 일지] 딥러닝 프로젝트 - 캐글 제출 [상세 내용] 캐글 제출 오류 처리하기 - 이번 캐글의 제출 파일 형식은 데이콘의 방식과는 많이 달랐습니다. 데이콘의 경우는 그냥 제출 파일만 제출하고 리더보드에서 점수만 받으면 끝나는 방식이었는데 캐글의 제출방식은 캐글 노트북에서 모든 코드를 실행시켜서 하나의 에러도 발생하지 않아야 제출이 가능했습니다. 그 이유는 특이하게도 데이터의 test 파일을 api로 불러와서 train 파일과 같은 전처리를 해준 뒤에 학습시켰던 모델에 의해서 예측이 나온 후에 제출 파일이 완성되야만 하는 과정이 들어가 있기 때문입니다. 그래서 여러 번의 반복 과정을 통해서 오류를 처리해야만 했습니다. 저는 중간에 예측파일을 넣는 과정에서 데이터를 torch형태로 바꿔주고 차원을 늘.. 2023. 11. 16.
반응형