해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 추가적인 Augmentation 적용 DeeplabV3+ 구조에 efficientnet-b7으로 학습하기 2. 진행 내용 1) 추가적인 Augmentation 적용 오늘은 3가지 augmentation을 테스트해보고 mobilenetv2로 학습해보며 테스트했습니다. CropNonEmptyMaskIfExists는 mask의 존재여부를 확인하고 잘라내는 augmentation입니다. 256으로 잘라서 512로 resize한 것과 512로 자른 것 중에는 256으로 자른 것이 더 좋은 성능을 보였습니다. 그 이유는 대부분의 이미지가 512로 되어 있어서 크게 영향이 없었던 것으로 판단됩니다. InvertImg (V..
학습포스팅
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 강의 High Performance를 자랑하는 Unet 계열의 모델들 1) U-Net U-Net은 Biomedical 분야뿐만 아니라, 다양한 분야에서 좋은 성능을 보여주고 있습니다. 특히 medical 분야는 데이터가 부족합니다. 고급인력인 전문가들이 직접 라벨링을 해줘야 하기 때문에 데이터 수집이 쉽지 않습니다. 그리고 의료 데이터의 경우 같은 클래스가 인접한 셀 구분할 필요가 있습니다. 하지만, 일반적인 Semantic Segmentation에서는 이것을 구분하기가 굉장히 어렵습니다. 그래서 이것들을 해결하기 위해 만들어진 구조가 바로 U-Net입니다. U-Net은 입력 이미지의 전반적인 특징을 추출하고 차원..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 DilatedNetFront_context Model 학습해보기 U-Net으로 학습해보기 2. 진행 내용 1) DilatedNetFront_context Model 학습해보기 vgg16을 backbone 모델로 활용하고, pretrained weight를 불러와서 학습을 진행했습니다. V100 기준으로 20에폭 도는 동안 6시간 정도로 오래걸렸습니다. 학습 결과는 0.3563로 나왔습니다. 2) U-Net으로 학습해보기 smp라는 오픈소스를 활용해서 pretrained 모델을 활용할 수 있습니다. Unet의 구조에 backbone으로 resnet34와 efficientnet-b7을 사용했습니다. resnet3..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 Baseline으로 학습해보기 DilatedNetFront, DilatedNetFront_context 모델 구현/학습해보기 2. 진행 내용 1) Baseline 학습해보기 Baseline으로 주어진 모델은 FCN8s으로 구성되어 있었습니다. 20에폭 돌아가는 동안 생각보다 빠르게 학습이 되었습니다. submission 결과는 mIoU가 0.3340이 나왔습니다. 2) DilatedNet 모델 구현 Dilated Convolution은 image의 크기를 적게 줄이면서 효율적인 receptive field를 넓히는 방법입니다. 이 방법을 활용하면 Receptive field는 커지고, parameter는 줄어..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 FCN8s.py 만들어보기 mAP에 대해 이해하기 2. 진행 내용 1) FCN8s.py 만들어보기 FCN8s는 Backbone으로 VGG16을 사용하면서, FC layer 대신 Convolution layer로 바꿔줘서 위치의 정보를 잃지 않도록 만들어주는 방법입니다. 특히, semantic segmentation의 경우, 위치 정보를 보존하는 것이 중요합니다. FCN32s, FCN16s, FCN8s 등 여러 가지 종류가 존재하지만, 가장 성능이 좋은 FCN8s를 만들어 봤습니다. github를 참고하면서 fc6에서 kernel size가 7인 conv layer를 넣었습니다. 이외에도 크기를 맞춰주기 위해서..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 R-bert 모델의 fc layer 다양하게 적용해보기 다양한 모델 앙상블 2. 진행 내용 1) R-bert 모델의 fc layer 다양하게 적용해보기 fc layer input 형태 정확도 [cls, entity1, entity2] 78.2 [cls, entity1, entity2, entity1*entity2] 76.5 [cls, entity1, entity2, |entity1-entity2|] 78.1 [cls*entity1, cls*entity2] 76.2 [cls*entity1, cls*entity2, entity1*entity2] 76.2 최초의 R-bert에서 제안한 방법이 가장 성능이 좋았습니다..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 새로운 모델 적용 R-bert 2. 진행 내용 1) 새로운 모델 적용 R-bert R-bert는 논문 내용에 따르면, 관계 추출 Task에서 좋은 성능을 보여주고 있다고 합니다. entity 앞 뒤에 special token을 만들어주고, 각 entity에 대한 벡터를 average해서 cls에서 나온 것과 concatenate를 하는 방식을 사용하고 있습니다. R-bert를 이용했을 때, 이전에 baseline에서 돌리는 것보다 약 4%정도 acc가 증가하는 것을 확인할 수 있었습니다. R-bert의 구조가 두 entity에 대한 내용을 강조해주기 때문인 것 같습니다. 추가적으로, 위의 언급한 3개만 con..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 데이터를 추가하기 위한 전처리 작업 2. 진행 내용 1) 데이터를 추가하기 위한 전처리 작업 생각보다 전처리할 요소들이 많이 존재했고, 우리가 사용할 라벨에 해당하는 데이터가 300개 중 57개밖에 없었습니다. 이를 활용해도 크게 좋은 효과가 나오지는 않을 것 같지만 일단 정제 해봤습니다. 3. 회고 다음 주에는 다양한 모델로 돌려보고, entity에 대한 토큰을 추가해보도록 할 예정입니다.
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. 1. 목표 데이터 augmentation 방법 wandb 적용하기 2. 진행 내용 1) 데이터 augmentation 방법 자연어 처리에서의 augmentation 방법에는 여러 가지가 존재하지만, 이번 주어진 데이터는 서로 관계가 있는 라벨들이 존재했습니다. 첫 번째 케이스는 entity1 : entity2 관계가 바뀌어도 라벨이 바뀌지 않는 경우가 존재했습니다. 약 700개 정도에 대해 추가해줬습니다. 이를 동일한 조건에서 테스트한 결과 살짝 성능 향상은 있었습니다. 두 번째 케이스는 entitiy1 : entity2 관계를 바꾸면 다른 라벨로 바뀌는 경우입니다. 이 경우에는 서로 바꿔서 데이터를 늘려줄 수 있다고 ..
해당 포스팅은 네이버 부스트캠프 P-stage를 위해 개인 학습 내용을 정리했습니다. Day 2는 과제하느라, 특별하게 다른 것을 진행한 것이 없었습니다. 그래서 Day3가 Day2가 되었습니다. 1. 목표 Hugging fcae 라이브러리 과제 - 챗봇만들기 2. 진행 내용 1) Hugging face 라이브러리 Hugging face 라이브러리는 자연어처리에서 활용되는 유명한 라이브러리입니다. Transformers라는 라이브러리를 통해, 다양한 모델을 불러올 수 있고, 자동으로 토큰화해주기도 합니다. 또한 pre-trained 모델도 지원해주고 있습니다. 만약, 자연어처리를 공부하신다면, 꼭 한번 보시는 것을 추천드립니다. 2) 챗봇 만들기 오늘 만들어 본 챗봇은 짝으로 이뤄진 QA 데이터를 활용해..