AIFFEL 과정을 시작한지 어느덧 세 달이 되어가고 있다. 벌써 6개월 과정의 절반을 마무리했다는 것이 감회가 새롭다. 특히 이번 주에는 매주 화요일, 목요일마다 컴퓨터를 뜨겁게 돌아가게 했던 Exploration 노드가 20번째를 끝으로 마무리되었다. AI의 다양한 분야를 접하며 새로 알게 된 내용도 많고, 매주 과제를 제출하면서 성취감도 느낄 수 있었다. 그래서 오늘은 그동안 배웠던 내용을 주제별로 나눠서 간략하게 정리해보고자 한다.
Computer Vision
E1. Image Classification - 인공지능과 가위바위보 하기
역시 딥러닝의 시작은 MNIST부터다. MNIST 데이터로 간단한 이미지 분류 모델을 학습시키는 연습을 해보고, 직접 사진을 찍어 가위바위보 이미지를 분류하는 프로젝트를 해보았다.
E3. Face Detection - 카메라 스티커앱 만들기 첫걸음
Face Detection과 Face Landmark를 통해 이목구비의 위치를 파악하고, 좌표를 설정하여 적절한 곳에 스티커를 붙이는 프로젝트를 해보았다.
E7. Face Embedding - 나랑 닮은 연예인은 누구?
FaceNet 얼굴 임베딩 모델을 사용하여 이미지의 임베딩 벡터 간의 거리를 계산하고 닮은 꼴 연예인을 찾아주는 프로젝트를 수행했다.
E10. Image Segmentation - 인물사진을 만들어 보자
Semantic Segmentation으로 이미지에서 인물과 배경을 분리하고, 배경을 블러 처리하여 shallow focus 효과를 내는 프로젝트를 수행했다. 인물뿐만 아니라 다양한 대상의 이미지로 실험해보고, 각각 다른 사진에서 배경과 피사체를 가져와 합성하는 작업도 해보았다.
E12. DCGAN - 인공지능으로 세상에 없던 새로운 패션 만들기
GAN의 기본 개념인 Generator와 Discriminator, 각각의 loss function에 대해 배우고, Deep Convolutional GAN을 사용하여 Fashion MNIST와 CIFAR10 이미지를 생성해보았다.
E14. Medical Image Analysis - 폐렴아 기다려라!
엑스레이 사진을 학습시켜 폐렴과 정상을 구분하는 모델을 학습시키는 프로젝트를 수행했다. 특히 의료영상은 데이터 확보가 어렵고 클래스별 불균형이 심하기 때문에 data augmentation과 imbalance 처리 등의 기법도 배울 수 있었다.
E16. Super Resolution - 흐린 사진을 선명하게
Bicubic Interpolation, SRCNN, SRGAN 등의 기법을 사용하여 저해상도 이미지를 고해상도로 변환하는 프로젝트를 수행했다. 그리고 gif 파일에도 이 기법들을 적용하여 고해상도 gif를 생성해보았다.
E18. OCR - 문자를 읽을 수 있는 딥러닝
Google OCR API, keras-ocr, Tesseract를 사용하여 이미지에서 텍스트를 인식하는 OCR 기술을 체험해보았다. 그리고 OCR을 활용한 서비스를 기획하여 직접 평가기준을 만들고 세 가지 방식을 테스트해보는 프로젝트를 진행했다.
E20. Conditioanl GAN - 난 스케치를 할 테니 너는 채색을 하거라
GAN에 조건이 추가된 Conditional GAN, 이미지의 스타일을 변환하는 Pix2Pix, skip-connection을 활용한 U-Net Genorator 등의 개념을 배웠다. 그리고 스케치 이미지에 채색하는 작업과, Segmentation map으로 실제 도로 이미지를 생성하는 작업을 수행했다.
Natural Language Processing
E4. Text Classification - 영화리뷰 텍스트 감성분석하기
인코딩과 디코딩, 임베딩 레이어 등 NLP의 기본 개념에 대해 배우고 텍스트 데이터 전처리 연습을 해보았다. 그리고 영화 리뷰 감성분석을 해보고 pretrained된 Word2Vec을 사용하여 모델의 성능을 개선하는 프로젝트를 수행했다.
E5. Speech Recognition - 사람이 말하는 단어를 인공지능 모델로 구분해보자
wave data와 spectrogram을 사용하여 오디오 데이터에 녹음된 단어를 분류하는 프로젝트를 수행했다.
E6. Text Generation - 작사가 인공지능 만들기
LSTM 모델을 사용하여 셰익스피어 대사와 노래 가사 텍스트를 생성하는 연습을 해보았다.
E11. Text Summarization - 뉴스 요약봇 만들기
seq2seq과 attention을 사용하여 뉴스 텍스트에서 헤드라인을 뽑아내고, 추출적 요약(Extractive Summarization)과 추상적 요약(Abstractive Summarization) 방식을 비교해보았다.
E15. Transformer - 트랜스포머로 만드는 대화형 챗봇
transformer의 인코더와 디코더, 어텐션, 마스킹 등의 개념에 대해 배우고, 대화형 데이터를 학습시켜 입력 텍스트에 대한 적절한 답변을 출력하는 대화형 챗봇을 구현해보았다.
E19. BERT - 인간보다 퀴즈를 잘푸는 인공지능
KorQuAD 데이터를 학습시켜 퀴즈를 푸는 AI를 구현해보았다. json 파일에 담긴 데이터를 전처리하고 LSTM과 기본 BERT 모델, pretrained BERT 모델을 사용하여 학습시킨 결과를 비교하는 프로젝트를 진행했다.
Recommendation System
E8. Recommender System - 아이유 팬이 좋아할 만한 다른 아티스트 찾기
추천시스템에 사용되는 CSR(Compressed Sparse Row) Matrix, matrix factorization 등의 개념에 대해 배우고, 음악 아티스트 추천과 영화 추천 모델을 구현해보았다.
E17. Session-based Recommendation - 다음에 볼 영화 예측하기
최근 트렌드를 반영할 수 있는 Session-based 추천시스템에 대해 알아보고, session length와 session time 등을 분석하는 방법에 대해 배웠다. 그리고 session이 명확하게 구분되지 않은 데이터에서 직접 session의 기준을 설정하고 추천 모델을 학습시키는 프로젝트를 수행했다.
Machine Learning / 기타
E2. Classification - Iris의 세 가지 품종, 분류해볼 수 있겠어요?
Scikit-learn 라이브러리를 활용하여 머신러닝의 분류 태스크를 수행해보았다. Decision Tree, Random Forest, SVM, SGD Classifier, Logistic Regression 등의 다양한 분류 모델을 사용해보고, accuracy, precision, recall 등의 평가척도에 대해서 배웠다.
E9. Kaggle - 나의 첫 번째 캐글 경진대회, 무작정 따라해보기
데이터사이언스 경진대회 Kaggle에 참가하는 방법을 알아보고 House Price Prediction 과제에 submit을 해보았다. 정형 데이터의 EDA와 전처리부터 머신러닝 모델 학습과 성능 개선에 이르는 전 과정을 경험해볼 수 있었다.
E13. Time Series Forecasting - 어제 오른 내 주식, 과연 내일은?
시계열 분석의 기본 개념인 안정성, Time series decomposition에 대해 배우고, ARIMA 모델을 사용하여 주가를 예측해보았다.
'AIFFEL 회고록' 카테고리의 다른 글
[Week 8] GAN장공장공장장 (0) | 2021.02.19 |
---|---|
[Week 6] 캐글 하다 말고 고양이가 둠칫둠칫 (0) | 2021.02.05 |
[Week 5] 인공지능한테 이것저것 시켜보자 (2) | 2021.01.29 |
[Week 4] 분수처럼 흩어지는 종소리 woo, shake! (1) | 2021.01.22 |
[Week 3] Today I Learned (1) | 2021.01.15 |