전체 글

· Paper Review
지난 달에 나온 논문을 읽어보고 간단히 정리했습니다. 노션에 정리한 것을 그대로 긁어왔는데, 혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇‍♂️ 기존에 경량화와 관련된 연구 중, pruning, distillation, quantization, frozen embeddings을 이용하여 RoBERTa를 경량화하되 준수한 성능을 유지할 수 있도록 한 모델 배경 Transformer architecture의 등장 이후로 관련된 연구가 엄청나게 많이 이뤄졌다. 갈수록 더 많은 computer resource를 요구하는 연구 경향에 비례하여 이를 경량화하고자 하는 시도들도 많이 이뤄졌다. BERT라는 모델에 대해서는 엄청나게 많은 연구가 이뤄졌지만, 좀 더 많은 자원을 필요로 하는 RoBERTa의 ..
· Paper Review
지난 주에 나온 논문을 읽어보고 간단히 정리했습니다. 노션에 정리한 것을 그대로 긁어왔는데, 혹시 부족하거나 잘못된 내용이 있다면 댓글 부탁드립니다 🙇‍♂️ 제목 그대로 RMT 기법을 적용하여 트랜스포머가 1,000,000개의 토큰을 입력으로 받을 수 있도록 한다. 배경 transformer 기반의 모델들의 엄청난 성능이 입증된 이후 사실상 transformer로 모든 걸 해결하는 추세다. 하지만 attention 메커니즘은 구조적으로 quadratic complexity(복잡도가 이차식)를 요하기 때문에 input의 길이가 상당히 제한된다는 한계점을 지니고 있다. 이를 극복하기 위해 RMT(Recurrent Memory Transformer)라는 기법을 적용한다. Recurrent Memory Tran..
The problem of bias of word embeddings 인공지능 모델은 텍스트의 정보를 그대로 학습하기 때문에, 텍스트에 녹아 있는 편향적인 내용을 그대로 반영할 수도 있습니다. 가장 대표적인 예시는 위와 같이 성과 관련된 것으로, 남-여 : 프로그래머-주부 / 의사-간호사 등으로 구분하게 된 모델이 있었습니다. 사실 실제 사회상을 잘 반영하는 것으로 볼 수도 있지만, 악의적으로 편향된 학습을 하게 된 모델이 미칠 영향은 생각보다 클 수 있습니다. 인공지능에 대한 신뢰도가 높아질수록 의사결정에 더 큰 영향력이 행사될 수 있기 때문이죠. (참고로 여기서 언급하는 bias는 딥러닝 모델에서 흔히 언급되는 variance-bias와 의미상 차이가 있습니다) Addressing bias in wo..
Sentiment classification problem Sequence Model로 처리할 수 있는 대표적 태스크 중 하나인 sentiment classification(감성/감정 분류)입니다. 입력(X)을 문장으로 받고, 각 문장이 어떤 평점에 해당하는지를 정답(Y)으로 삼는 구조입니다. Simple sentiment classification model 따라서 단어(토큰)마다 임베딩을 추출하여 평균을 구하고, 여기에 softmax를 적용하여 예측값을 구합니다. 만약 한 문장 내에 감성에 영향을 줄 수 있는 표현이 여러 번 등장하는 경우(예시에서는 good), 평균값에 이 vector의 값이 제일 많이 반영될 것입니다. RNN for sentiment classification 위에서 설명한 것을 ..
Sorting applications Java system sorts 자바에도 정렬 함수가 내장되어 있습니다(파이썬도 당연히..! 심지어 성능도 좋아요). quick/merge sort 두 종류가 포함되어 있는데, 객체의 종류에 따라 다른 정렬을 사용한다고 합니다. 예를 들어 reference type에는 merge sort가 사용됩니다. 반대로 메모리가 적게 필요하고 in-place 변화가 적용되는 경우에는 quick sort가 사용됩니다. War story (C qsort function) Enginerring a system sort Tukey's ninther 중간값의 중간값을 고르는 방법을 제안한 학자입니다. 이 방식은 랜덤하게 값을 섞는것보다 구분 효과가 탁월하고 비용은 덜 소모한다고 합니다...
Duplicate keys 일반적으로 대량의 데이터에 대해 정렬을 수행하는 것은 중복되는 key를 기준으로 정렬을 적용하는 경우가 많습니다. 위처럼 '도시 - 시간' 형태의 데이터라면 도시를 기준으로 정렬하게 되는 것이죠. 원래는 중복된 key를 포함하는 데이터에 대해 퀵정렬을 수행하는 경우 quadratic(2차) 시간이 걸린다는 문제점이 있었으나, 병합 정렬을 이용하여 그 시간을 획기적으로 줄일 수 있게 되었죠. Duplicate keys: the problem 하지만 일반적인 병합 정렬 방식을 적용하게 되면, key가 모두 동일한 경우에 대해서는 quadratic 시간이 소요될 것입니다. 이를 방지하기 위해 paritioning item(기준 아이템)과 동일한 것이 확인되는 순간 작업을 멈춰서 Nl..
chanmuzi
chanmuzi