본문 바로가기

전체 글85

[Dacon]자율주행 센서의 안테나 성능 예측 AI 경진대회 LG에서 주관한 대회이며 공정을 통해 생산된 센서들의 성능을 예측하는 문제이다. 총 56개의 float형 특성으로 14개의 float형 라벨 값을 예측해야 한다. 난이도도 적절해 보였으며 지원자수가 많아 같은 학과의 친구와 참여하게 되었다. 14개의 라벨 값에 대한 RMSE에 가중치를 이용하여 하나의 수치로 만든 NRMSE를 비용 함수로 평가하였다. Method 초기에는 EDA, 이상치 제거 데이터 전처리를 중점적으로 진행하며 성능을 끌어올리려 했지만 도메인 지식이 부족하여 시간 투자에 비해 성능 향상이 눈에 띄지 않았다. 또한 팀원 모두 시간이 부족하여 각각 모델을 별도로 학습하여 모든 모델을 앙상블 하는 방식으로 진행하기로 하였다. 전체 코드가 방대하므로 중점이 되는 몇 가지 부분만 나열하여 보겠다... 2022. 8. 31.
[Paper review] EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(EfficientNet, 2019) 기존에 DenseNet, MobileNet과 같이 모델의 성능을 올리는 동시에 연산량까지 감소시키는 논문에 관하여 리뷰해왔으며 이번에 리뷰할 EfficientNet은 기존의 연산을 최적화시킨 Convolution Network들을 하나로 모았다고도 볼 수 있는 논문이다. 기존의 ConvNet은 채널 수, 깊이, 해상도 등을 Scaling하며 성능을 증가시켰으니 EfficientNet은 이 3가지를 균형있게 Scaling하며 Sota를 달성하였다. Introduction 위에서 언급한대로 기존에는 모델 성능 향상을 위하여 보통 세가지 방식을 사용하였다. Depth - ResNet(Skip-connection을 이용하여 더 깊은 층을 쌓은 구조) Width - WideResNet(기존 ResNet의 층 수를.. 2022. 8. 4.
[Paper review] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(MobileNet, 2017) 이번에 리뷰할 논문은 적은 모바일 기기 사용을 위하여 개발된 MobileNet이다. 실제로 이 사이트에서 MobileNet과 다른 모델의 성능을 확인하여 볼 수 있다. 항목이 길기 때문에 일부만 가져왔는데 MobileNet이 다른 모델에 비하여 성능은 조금 낮지만 파라미터 수가 적고 예측시간이 빨라 모바일 기기에 적합하다는 것을 알 수 있다. MobileNet 논문 리뷰 MobileNet은 depth-wise separable convolution 구조(Inception모듈 구조)를 사용하여 제작한 가벼운 가벼운 신경망 구조이다. 두가지 Hyperparameter를 조절하여 latency(예측 속도)와 accuracy의 trade off 관계를 고려해 모델을 선택할 수 있다. Prior work and .. 2022. 7. 29.
[Paper review] Densely Connected Convolutional Networks(DenseNet, 2017) DenseNet은 ResNet이 나오고 2년 후에 나온 Skip-connection을 base로 작성된 논문이다. ResNet보다 적은 파라미터, (Skip-connection을 이해하였다는 가정하에) 쉽게 이해되는 모델 구조로 인해 리뷰할 두번째 논문으로 선택하였다. DenseNet 논문 리뷰 DenseNet은 말 그대로 CNN의 채널을 Dense하게 연결한 네트워크이다. 논문의 앞 부분부터 천천히 살펴보며 어째서 이러한 구조를 선택하였고 왜 좋은지에 대한 Discussion도 알아보겠다. DenseNet 구조를 제안한 이유 리뷰한 논문이 많지 않기에 이 논문 역시 읽고 나서 블로그에서 여러개의 리뷰를 읽어보았다. 대다수의 블로그에서 아래 글에 대한 언급은 없었는데 이 문구를 보고 Xception, S.. 2022. 6. 25.
Albumentations 라이브러리를 이용하여 데이터 증강하기 이미지 증강이 이미지 분류 모델에서 눈에 띄는 성능 향상을 보여주기에 언제나 사용해왔지만, 기존에 사용하던 방식인 Keras의 ImageDataGenator는 이미지의 크기가 너무 큰 경우 모든 파일을 전처리하며 가져오기에 시간이 너무 오래 걸렸다. 따라서 이번에는 내가 아는한 가장 빠른 이미지 증강 라이브러리인 Albumentation을 이용하여 이미지를 증강시키는 예제를 포스팅하겠다. Albumentations를 이용하여 이미지 증강하기 먼저 증강시킬 이미지와 필요한 라이브러리를 가져옵니다. Albumentations는 아래와 같이 Compose안에 원하는 증강법을 넣어주어 이미지 변환을 수행합니다. 증강에 확률을 설정하여 이미지를 반복해서 넣어주어 하나의 이미지와 변환법으로 모두 결과가 다른 여러개.. 2022. 6. 19.
OpenCV, Keras를 이용하여 폴더내의 데이터 읽어오기 이미지 task에서 Data augmentation은 성능 향상에 큰 도움을 줄 수 있다. 따라서 기존에도 Keras의 ImageDataGenerator을 사용하여 간단한 방법으로 이미지를 증강시켰다. 하지만 이 방법은 모델 학습, 평가 시마다 이미지를 읽어와 원하는 size에 맞추어 resize를 한 다음에 진행하기에 이미지의 크기가 클 때 시간이 오래 걸린다. 이를 방지하기 위하여 이미지를 resize하여 다시 저장한 다음 추가적인 이미지 처리 라이브러리를 이용하여 증강시켜야 한다. 프로젝트를 진행하며 여기까지는 생각이 닿았는데 라벨 폴더 별로 나누어진 이미지를 resize하여 다시 라벨 값에 맞추어 분류하는 법은 따로 알지 못했고 잘 정리된 코드 역시 없었기에 직접 구현하여 코드를 공유한다. Ope.. 2022. 6. 19.
[Kaggle] Natural Language Processing with Disaster Tweets 트윗 텍스트와 Nan값을 포함하고 있는 위치, 키워드 정보를 이용하여 재난과 관련된 내용인지 아닌지에 대한 간단한 이진 분류 문제이다. 자연어 처리에 관한 지식이 전무하다고 봐도 될 정도이기 때문에 자연어 모델과 테이블형 데이터 모델을 따로 만들어 소프트 보팅 방식을 통하여 진행하였다. Competition링크: https://www.kaggle.com/competitions/nlp-getting-started/submissions Natural Language Processing with Disaster Tweets | Kaggle www.kaggle.com 전체 코드 라이브러리 및 데이터 다운로드¶ In [2]: import pandas as pd import numpy as np import mat.. 2022. 6. 19.
[Paper review] Deep Residual Learning for Image Recognition(ResNet, 2015) 저번 한 달간 암석 분류 프로젝트를 진행하면서 이를 위하여 CNN모델을 생성하였습니다. 초반에 VGG base로 모델을 만들었는데 심하게 과대 적합하여 당시 알고 있던 방법을 총동원해도 val-accuracy 90%를 넘기는 게 쉽지 않았습니다. 이때 모델을 ResNet base로 바꾼 다음 Data augmentation을 사용하여 거의 100프로에 가까운 val-accuracy를 가지는 모델을 만들었습니다. 성공적으로 플젝을 제출하고 구조상 큰 차이가 없음에도 어떻게 큰 성능 발전을 보여준지 궁금하여 ResNet을 읽어 보았고 정리한 내용을 리뷰해보겠습니다. ResNet 논문 리뷰 Abstract 부분에서 ResNet구조가 어떠한 의미로 고안되었는지 말해줍니다. 깊은 네트워크 학습이 어렵기에 이 문제.. 2022. 6. 19.