분류 전체보기
[부스트캠프][WK06 / Day27] RNN, LSTM, and GRU 2
1. 강의 내용 LSTM and GRU (주재걸 교수님) 1) LSTM (Long Short-Term Memory) LSTM은 기존의 RNN이 가지던 문제인 gradient vanishing, exploding 문제를 해결하고 long term dependency 문제를 개선한 모델입니다. cell state 정보를 다른 변형없이 지나가도록 하며 위의 문제들을 해결합니다. 위에서 $C_t$는 완성된 정보를 담고있으며, $h_t$는 $C_t$를 한 번 더 가공해 해당 timestep에서 노출할 필요가 있는 정보만 남긴 filtering된 벡터입니다. LSTM의 내부구조는 이렇게 되어있으며 이에대한 설명은 [부스트캠프][WK02 / Day9] Recurrent Neural Networks 에 정리해 두었습니..
[부스트캠프][WK06 / Day26] RNN, LSTM, and GRU 1
1. 강의 내용 Recurrent Neural Network and Language Modeling (주재걸 교수님) 1) Basics of Recurrent Neural Networks (RNNs) RNN은 위와 같은 구조를 가지고 있으며 시퀀스데이터가 입력 또는 출력으로 주어진 상황에서 각 time step에서 들어오는 입력벡터 $X_t$와 이전 time step의 RNN 모델에서 계산한 hidden state vector $h_{t-1}$을 입력으로 받아 $h_t$를 출력으로 내보냅니다. 여기서 중요한 사실은 동일한 파라미터를 가지고 있는 모델을 매 time step에서 동일하게 사용한다는 사실입니다. 해당 수식은 아래와 같이 표현됩니다. 점화식(recurrence formula)은 이웃하는 두개의..
[부스트캠프][WK06 / Day25] Bag of Words & Word Embedding
1. 강의 내용 Intro to NLP, Bag-of-Words (주재걸 교수님) 1) Intro to Natural Language Processing(NLP) 1. NLP low-level parsing Tokenization: 주어진 문장을 단어 단위로 쪼개나가는 것 stemming: 어미가 다른 단어를 단어의 다양한 의미변화를 없애고 의미만을 보존하는 단어의 어근을 추출하는 것 Word and phrase level Named entity recognition(NER): 단일 언어나 여러 단어로 이뤄진 고유명사를 인식하는 task part-of-speech(POS) tagging: 단어들이 문장 내에서의 품사나 성분이 무엇인지 알아내는 task Sentence level Sentiment anal..
Limitations of Graph Neural Networks
0. Intro 핵심 아이디어 : 로컬 네트워크 환경을 기반으로 노드 임베딩 생성 neighbor aggregation의 아이디어를 기반으로 노드는 신경망을 사용하여 neighbor로부터 정보를 수집합니다. 다양한 신경망 선택에 따라 다양한 모델 변형이 제안되며 모델에 따라 박스 안에 들어가는 내용물이 달라집니다. 각 노드는 이웃에 따라 computation graph를 정의하고 neighbor aggregation을 통해 노드 임베딩을 구합니다. node representation을 구한 후 해당 graph의 노드들을 더하거나 평균내는 방식(Pooling)으로 하나의 graph representation을 구하게 됩니다. 위의 그림과 같이 GNN을 활용하여 많은 SOTA성능을 내기도 했지만 GNN에는 ..
Community Structure in Networks
Community Structure in Networks 1. Community Structure in Networks 이번 챕터의 목적, 즉 Community Structure는 '서로간에 밀접하게(densely) 연결된 노드들의 집합을 구분하는 것'입니다. 알고리즘에 들어가기 전에, 사회과학적으로 군집이 생성되는 원리에 대해 먼저 보겠습니다. Granovetter's Answer Granovetter는 '사람들은 어떻게 새로운 직장을 찾는가?'에 대한 연구를 진행 -> 사람들은 자주 만나는 친한 친구가 아닌, 드물게 만나는 지인(Acquaintances)을 통해 직장에 대한 정보를 얻는다고 밝혔습니다. 이런 관계를 생각했을 때, 두 가지 관점의 frendships으로 나누어집니다. Structual:..
[부스트캠프][P-stage][WK05] P-stage level1 결산 및 개인회고
프로젝트 목표 Special Mission을 최대한 다 하기 Jupyter에서 벗어나 Python IDLE 환경에 익숙해지기 Git을 활용한 협업에 익숙해지기 등수가 높으면 좋지만 기초를 탄탄히하고 되도록 많은 실험하기 나는 내 학습목표를 달성하기 위해 무엇을 어떻게 했는가? 개인 학습 1주차 EDA, Dataset 및 Augmentation transform, 모델 구현 및 Fine-tuning 시도, Feature Extraction 시도 , 다양한 기법을 적용한 training 코드 작성, Tensorboard 사용 등 Special Mission 수행 첫 주차 베이스라인 코드 공개 전 Jupyter를 활용한 resnet18, efficientnet 등 다양한 모델 실험 및 제출 albumentat..
[부스트캠프][P-stage][WK04 / Day5] Image Classification 5
1. 금일 목표 k-fold cross validation 구현 Test Time Augmentation을 구현 Tensorboard, wandb 이용 2. 진행사항 1) k-fold cross validation 구현 k-fold cross validation은 데이터를 k개로 나눠서 각 덩어리를 한 번씩 validation set으로 설정하여 총 k번 모델을 학습, 검증하는 방법입니다. 각 fold의 모델을 앙상블하는데 사용되기도 합니다. def crossvalid(model=None,criterion=None,optimizer=None,dataset=None,k_fold=5): train_score = pd.Series() val_score = pd.Series() total_size = len(d..
[부스트캠프][P-stage][WK04 / Day4] Image Classification 4
1. 금일 목표 체크포인트 모델 저장 F1-score Metric 을 구현 or 코드 Gradient Accumulation을 적용 다양한 스케쥴러 적용 및 비교 Label smoothing, Focal Loss, F1 Loss 등 활용 위 사항별 성능 비교 2. 진행사항 1) 체크포인트 모델 저장 if epoch_val_loss < best_val_loss: print("New best model for val loss! saving the model..") torch.save(model.state_dict(), os.path.join(f'{path}/{epoch:03}_loss_{epoch_val_loss:4.2}.pt')) best_val_loss = epoch_val_loss if epoch_va..