본문 바로가기

전체 글84

아부다비 여행 3일차 [2022.12.8] 보호되어 있는 글 입니다. 2022. 12. 9.
아부다비 여행 1,2일차 [2022.12.6 ~ 7] 보호되어 있는 글 입니다. 2022. 12. 8.
[요즘 보고 있는] Universal Domain Adaptation 요즘 보고있는 분야 간단하게 정리해본다. 원래는 Domain Adaptaion (DA) 이라는 분야를 보고있었다. 원래 머신러닝 모델들은 i.i.d assumption을 하고 있는데, 간단히 설명하면 모델을 학습하는 데이터와 모델을 테스트하는 데이터가 같은 분포에서 온다는 가정이다. (어려운 개념이 아니니, 찾아보는 것을 추천) (올바른 예인지는 모르겠지만) 예를들어, 문장이 주어졌을 때, 해당 문장이 긍정적인지, 부정적인지 판단하는 모델이 있다고 가정해보자. 만약 이 모델이 영화 리뷰에 대해서 긍정/부정을 예측하도록 학습되었다면, 기존 방식에서는 테스트 데이터도 동일하게 영화 리뷰를 입력으로 받아서 테스트를 하게 된다. 하지만, domain adaptation에서는 테스트 데이터가 다른 분포에서 온다는.. 2022. 9. 4.
인공지능 책 추천 : <AI는 양심이 없다> 독후감 📚 출판한 지 3개월째를 맞이한 책 (김명주 지음, 헤이북스 출판)는 최근 1쇄가 완판되고 2쇄로 연이어 나왔다. 이 책이 에 대한 사회과학 분야 서적이라는 점을 감안할 때, 이러한 판매실적은 예상 밖의 선전으로 보인다. 인공지능이라는 최신 첨단기술이 주는 ‘난해함’은 물론, 윤리라는 단어가 주는 ‘재미없음’이 겹친 주제가 바로 ‘인공지능 윤리’임을 생각해보면 그렇다. 요즈음 잘 팔리는 IT 분야의 베스트 셀러들은 하나같이 새로운 기회와 엄청난 부를 단번에 가져다줄 것 같은 책들이다. 예를 들면, NFT, 메타버스, 증강현실, 암호화폐, 딥러닝을 꼽을 수 있다. 그런 면에서 인공지능 ‘기술’ 자체도 아닌 ‘인공지능 윤리’를 다루는 책이 IT 전문가들의 관심을 끌기란 쉽지 않다. 그리고 일반인이 바라볼 때도 .. 2022. 7. 30.
DBSCAN 이해해보기 Clustering 관련 공부를 하다가 간단한 clustering 방법 중 하나인 DBSCAN에 대해서 글을 써보려고 한다. 요즘 구글링 해서 글을 찾아 읽는 것보다, 유튜브에서 잘 설명된 영상을 (존재한다면) 보고 공부하는 것을 선호한다. 이번 포스트는 이 영상을 보고 이해한대로 정리한 내용이다. 매우 매우 이해하기 쉽게 정리해주셨기 때문에 저 영상을 보는 것을 추천한다. DBSCAN은 밀도 기반 군집화(density-based clustering)의 방법 중 하나이다. 밀도가 높은 곳에 클러스터를 형성하고, 밀도가 낮은 곳에는 클러스터를 형성하지 않고 해당 위치에 존재하는 점들을 outlier로 취급하게 된다. 다양한 클러스터링 방법들이 있는데, 가장 대표적인 k-means clustering과 DB.. 2022. 7. 19.
첫 논문 작성 후기🥲 최근에 논문을 작성해볼 기회가 있었다. 결과가 나오길 기다리는 동안, 논문을 쓰면서 느꼈던 점들 몇 가지를 적어두려고 한다. 미래의 나를 위해. 1. 하루에 쓸 수 있는 글의 량은 정해져 있다. 글 쓴다고 오래 앉아있는다고 좋은 글이 나오는 게 아니다. 시간의 여유를 가지고 차근차근 쓰는 게 좋은 것 같다. (그냥 나는 그런 것 같고, 우리 연구실 선배님들도 대게 그렇다고 하신다. 물론 아닌 사람도 있을 것이고, 부럽다.) 2. 내가 하고 싶은 말이 뭔지 정확하게 하자. 논문 한 줄 요약을 할 수 있으면 해 보자. 내가 결과적으로 주장하고 싶은 게 뭔지, 가장 중요한 한 가지를 적어두고 그걸 쭉 풀어서 쓴 게 논문인 것 같다. 하고 싶은 말이 한 문장으로 정의가 잘 안 된다면, 이 논문을 통해서 내가 하.. 2022. 6. 15.
[논문 리뷰] Local Interpretations for Explainable Natural Language Processing: A Survey (arXiv 2021) 오랜만에 논문 리뷰! 대학원 생활을 하면서 너무 정신이 없어서 글을 쓸 생각을 못하면서 한동안 지냈다. 연휴 기간 동안 어느정도 여유가 생겨서 오랜만에 해보는 논문 리뷰! 요즘은 prompting 관련한 연구를 연구실에서 진행 중이다. 간단하게 정리해보면, 엄청 많은 텍스트 데이터를 기반으로 학습한 Pre-trained Language Model 들을 (예를들어, BERT, GPT2, RoBERTa 등등) 이용해서 어떠한 downstream task를 풀 때 기본적으로 모델의 모든 파라미터를 학습시키는 fine-tuning 방식을 가장 많이 사용했었다. 이후에 GPT-3 가 공개되면서, in-context learning 이 실제로 큰 효과가 있다는 것을 보였고, 이를 기반으로 "prompting"이라는.. 2022. 2. 1.
[Huggingface] Datasets / Preprocessing / Training / Evaluating 출처 : https://www.youtube.com/watch?v=_BZearw7f0w&list=PLo2EIpI_JMQvbh6diTDl2TwbAyu8QWdpx&ab_channel=HuggingFace Dataset / Preprocessing load_dataset() 을 통해서 Huggingface에서 제공하는 데이터셋을 불러와서 사용할 수 있다. load_dataset() 을 통해서 불러온 데이터셋은 DatasetDict 클래스로 제공된다. (그냥 dictionary라고 생각하면 된다.) split 에 따라서 "train", "validation", "test" 등으로 구분되어 있어서 해당 split의 이름으로 데이터셋에 접근할 수 있다. raw_dataset = load_dataset('...') .. 2021. 7. 18.
[Huggingface] PreTrainedTokenizer class 모든 Tokenizer들이 상속받는 기본 tokenizer 클래스이다. Tokenizer에 대한 간단한 정리는 여기에서 확인할 수 있다. Tokenizer는 모델에 어떠한 입력을 넣어주기 위해서 전처리를 담당한다. Huggingface transformers 라이브러리에서는 크게 두 가지 종류의 tokenizer를 지원하는데, 첫 번째로는 파이썬으로 구현된 일반 tokenizer와 Rust 로 구축된 "Fast" tokenizer로 구분할 수 있다. "Fast" tokenizer에서는 batched tokenization에서 속도를 더 빠르게 해주고, 입력으로 주어진 문장과 token 사이를 mapping 해주는 추가적인 함수를 지원한다. 참고로, "Fast" tokenizer들을 SentencePiec.. 2021. 7. 18.