본문 바로가기
728x90

전체 글143

SCARF) SELF-SUPERVISED CONTRASTIVE LEARNINGUSING RANDOM FEATURE CORRUPTION (2022.03) Keyword Paper SCARF: SELF-SUPERVISED CONTRASTIVE LEARNING USING RANDOM FEATURE CORRUPTION Dara Bahri / Google / 2022.05 https://arxiv.org/pdf/2106.15147.pdf (Github address) Abstract 기존의 연구들은 괄목할만한 성과가 있었음에도 불구하고 (e.g. autoencoder), domain의 바운더리에서 벗어나질 못했다. 실제 세상에서 tabular 한 데이터에도 도메인 상관없이 범용적으로 쓸 수 있는 모델이 없었다. SCARF는 입력 데이터의 일부 특징을 무작위로 선택하여 해당 특징들의 확률 분포에서 샘플링한 값으로 대체하여 입력 데이터의 뷰를 생성하는 방법 실제 7.. 2023. 3. 24.
수렴되지 않는 이유.. Hyperparameter 튜닝: 모델의 학습이 잘 되지 않는 경우, 먼저 Hyperparameter를 조정해보는 것이 좋습니다. 예를 들어, 학습률, 배치 크기, 최적화 알고리즘 등을 변경하여 성능이 개선되는지 확인해볼 수 있습니다. 또한, Contrastive Learning에서는 negative sample의 개수와 temperature parameter도 중요한 hyperparameter입니다. 이러한 hyperparameter를 변경하여 모델의 학습이 개선되는지 확인해보는 것이 좋습니다. Data Augmentation 적용: Contrastive Learning에서 Data Augmentation은 중요한 역할을 합니다. 이는 모델이 다양한 변형된 입력 데이터를 통해 더욱 강건하게 학습할 수 .. 2023. 3. 23.
CLEP) Exploiting Negative Preference in Content-based MusicRecommendation with Contrastive Learning (2022.07) Keyword Paper Exploiting Negative Preference in Content-based MusicRecommendation with Contrastive Learning Minju Park/SNU/2022.07 https://arxiv.org/pdf/2207.13909.pdf Points 추천은 좋아하는 것을 제시하는 것보다 싫어하는 것을 제시하지 않는 것이 더 중요하다. 즉, recall이 아니라 False Positive Rate가 더 중요하다. CLEP-N가 FPR 부문에서 우수하다. 여기서는 추천까지 3단계를 나누어서 설명했고, 이 중 CLEP에 비중을 두고 있다. 세 개의 임베딩으로 거리와 마진을 구해낸다. Feature Exracting SimCLR :performs c.. 2023. 3. 22.
BERT 2023. 3. 22.
CLMR) Contrastive Learning of Musical Representations (2021.03) Keyword Paper Contrastive Learning of Musical Representations Janne Spijkervet / Univ. of Amsterdam / 2021.03 https://arxiv.org/pdf/2103.09410.pdf https://github.com/Spijkervet/CLMR Points Self-supervised Wav파일을 SimCLR에 적용시킴. Used dataset MagnaTagATune Million Song Dataset. Model CLMR증강 무작위로 잘라서 : Randomly cropping a segment from an audio clip. 속도나 피치를 뒤틀어 증강하고 : Applying random speed and pitch .. 2023. 3. 16.
NNCLR) Nearest-Neighbor Contrastive Learning of Visual Representations (InfoNCE / 2021.10) Keyword NNCLR InfoNCE Paper With a Little Help from My Friends: Nearest-Neighbor Contrastive Learning of Visual Representations Debidatta Dwibedi / Google / 2021.10 https://arxiv.org/pdf/2104.14548.pdf https://github.com/MalteEbner/NNCLR Points Self-supervised learning algorithm NNCLR(NearestNeighbor Contrastive Learning of visual Representations) 을 제시함 같은 데이터에서 추출한 점을 positive라고 하는 것이 아니라, 이에 근.. 2023. 3. 15.
Triplet Loss (FaceNet / 2015.03) Triplet Loss Paper FaceNet: A Unified Embedding for Face Recognition and Clustering Florian Schroff / Google / 2015.03 https://arxiv.org/pdf/1503.03832.pdf https://github.com/davidsandberg/facenet Points Unified system으로 using embeddings generated by the same network architecture에서 can perform multiple tasks할 수 있게 되었음. 일타삼피 (세가지 기능). 상호작용을 단순화할 수 있고 효율적임. 학습에 triplet loss를 사용하여 fast convergence .. 2023. 3. 15.
Transformer 4 - GPT / BERT / 그 외 파생모델들 GPT(Generative Pre-trained Transformer) 언어모델(Language Model) 마지막 단어를 생성해내는 것을 잘해서 문장 생성에 뛰어남 단방향 attention을 사용 Transformer의 Decoder를 사용 BERT(Bidirectional Encoder Representations from Transformers) 마스크 언어모델(Masked Language Model) 문장 중간의 빈칸에 들어갈 단어를 잘찾아서 문장의 의미를 추출하는데 뛰어남 양방향 attention을 사용 Transformer의 Encoder를 사용 https://ratsgo.github.io/nlpbook/docs/language_model/bert_gpt/#gpt BERT & GPT prati.. 2023. 3. 14.
Transformer 3 - Residential Add / Normalization Residual Connection 2015 ResNet에서 소개된 잔차연결을 적용함. ResNet 잠깐 알아보기 Q9. 상식적으로 56개의 레이어를 갖는 네트워크는 20개의 레이어를 갖는 네트워크보다 성능이 좋아야 합니다. 하지만 그렇지 않았죠! 이유가 무엇인가요? >>네트워크가 깊어질 수록 Optimize(Train)하는 것이 어렵기 때문에, 얕은 네트워크가 더 좋은 성능을 보이게 된다. Q10. Residual Block은 굉장히 간단한 수식으로 표현이 가능합니다. 수식을 적어보세요. >>y = f(x) + x https://itrepo.tistory.com/36 (7) ResNet (Residual Connection) ResNet (2015)¶ ResNet은 2015년도 ILSVRC 에서 우승을.. 2023. 3. 14.
Transformer 2 - Multi Head Attention / Scaled Dot-Product Attention / Masking / Position-wise Feed Forward Network / Query, Key, Value 잠깐! 잊어버리니깐, 다시 한 번 더.. 트랜스포머 모델이란? Encoder는 input sequence를 continuous한 representation으로 바꾸고, Decoder는 이 representation을 output sequence로 바꾼다. 최종 Output은 Probability가 나옴! 먼저 0. Inputs을 embedding 후 positional encoding 하고 1. Encoder 돌리고 x 6번 Multi-Head Attention 잔차 Add + Normalization ---------------- FFW layer 잔차 Add + Normalization 2. Decoder 돌리고 x 6번 Masked - Multi-Head Attention (현재 위치보다 더 뒤에 .. 2023. 3. 14.
Contrastive Loss (similarity metric / face verification / 2005.06) Contrastive Loss Paper Learning a similarity metric discriminatively, with application to face verification Sumit Chopra (2005.06 / NYU) PDF / Github 없음 Points Recognition, Verification 문제에 method for training a similarity metric from data를 제시함. similar and dissimilar한 포인트 두 개로 계산한 loss라고 하여 contrastive loss라는 말이 처음 유래함. L1 norm을 사용하여 semantic distance를 측정하고, input patterns into a target space 함.. 2023. 3. 13.
유사도 Similarity / 거리 Distance 유클리드 거리(Euclidean distance): 두 점 / 직선 거리 맨해튼 거리(Manhattan distance): 두 점 수직/수평 거리 (블록거리같은 지리적 위치데이터를 측정할 수 있음) 코사인 유사도(Cosine similarity): 두 벡터 / 각도 / 주로 고차원 데이터에 적합 (각도라 차원의 영향을 받지 않음) 자카드 유사도(Jaccard similarity): 두 집합 / 공통 원소 비율 (영상처리) 매치 유사도(Match similarity): 문자열, 시퀀스 데이터 / 부분 문자열이 얼마나 일치하는지를 계산 (문자열 매칭, 검색) 편집 거리(Edit distance): 두 문자열 사이의 삽입, 삭제, 대체 연산의 최소 횟수를 계산 (음성인식, 문자열매칭) 이 중에서 유클리드 거리.. 2023. 3. 12.
L1, L2 (loss, regularization, norm) L1 loss : MAE 실제값 yi 와 예측값 f(xi)의 편차의 절댓값의 합 L2 loss : MSE 실제값 yi 와 예측값 f(xi)의 편차의 제곱의 합 Robust : L1 > L2 L1이 outlier에 더 robust 하다. (=loss function이 영향을 덜 받는다) 왜냐하면, L2는 편차에 제곱까지 해버리기 때문에 이상치가 나오면 그 편차를 제곱해서 그 영향이 클 수 밖에 없다. outlier가 무시되길 원하면 비교적 영향을 작게받는 L1 loss가 적합하다. Stablity : L2 > L1 L2 loss는 smooth한 convex 형태의 함수로 그래프또한 원형. 그래서 모든 점에서 미분이 가능하다. 그렇기 때문에 미분이 전부인 딥러닝에서는 L2가 계산에 더 안정적이라고 본다. S.. 2023. 3. 12.
데이터 수집처 한국적 사운드가 있는곳 http://www.ksoundlibrary.kr/front/main/menu/t1_m1.do K-SOUND LIBRARY_한국형 영화효과음원 콘텐츠에 필요한 효과음원 18021건 보유, 소리로 그리는 세상 - 케이사운드 라이브러리 www.ksoundlibrary.kr Sound list http://www.ksoundlibrary.kr/front/images/K-SOUND%20LIBRARY%20LIST.pdf 드럼 비트가 있는곳 https://www.looperman.com/tracks/detail/240245#plays Listen To Secretly Love You Disco Songs At Looperman.com Recorded, written & played in my.. 2023. 3. 11.
Contrastive Learning Contrastive Learning for Recommender System (2021.01) https://arxiv.org/pdf/2101.01317.pdf Practical Impliciation The practical implications of this paper are that it provides a new framework for recommender systems, which can be used to improve the performance and accuracy of such systems. This proposed framework includes two main components: a graph contrastive learning module and debiased con.. 2023. 3. 10.
Transformer 1 - Positional Encoding Seq2seq의 Encoder-Decoder를 6개 쌓아올린 모델. Enc-Dec x 6 은 아니고, Enc x 6 + Dec x 6임. RNN, LSTM 등의 기존 문장의 연속성을 무시 이를 무시하니 병렬구조가 가능해져서 연산속도가 엄청 빨라졌음. seq2seq처럼 context vector를 중간 병목으로 쓰지 않음. Self attention, 즉 내가 들어가서 내가 나오는 재귀적인 구조임. 문장의 문맥 + 단어의 순서 (위치)까지 attention에 담았음. 논문 : https://arxiv.org/pdf/1706.03762.pdf (Attention is all you need (2017)) 각 모듈이 하는 일을 간단하게 정리하면, Positional Encoding: 입력 문장의 단어들에 위치.. 2023. 3. 9.
이해는 하는게 아니고 오는거다 이해 안간다고 머리 쥐어뜯지 말기 이해가 잘 될때쯤 머리 심고싶지 않으니깐. 시간은 없지만 조급은 하지만 그렇지 않은척하기. 내 머릿속의 노드들이 조그마한 시냅스들이 그 회로를 뚫어줄때까지 묵묵히 이해가 오길 기다리기. 노이해는 어서가고 응이해는 어서와랏. 어차피 시간싸움 결국은 내가 이기니깐. 2023. 3. 7.
3D 음악 사진 : 2D / 영화 : 2D + 시간축 = 3D 사진 : Conv2D / 영화 : Conv3D 그렇다면, 소리 : frequency + time = 2D 음색을 담은소리 : 2D + 배음축(고도차) = 3D 소리 : Conv2D / 음색소리 : Conv3D 어떨까? 음색을 잡아내는 것을 특징추출이라고 생각하고, 사진에서 쓰이는 기법들과 비슷하게 생각하고 있었는데, 소리에 의미를 더하는 개념으로, 임베딩 + 영상처리를 하는 쪽과 연관지어 보면 다른 생각이 날 듯 하다. transformer로 영상을 generator하는 모델을 보면 좋겠다. 일단은 spectrogram은 2D 시각화만 가능하고, 3D로 보여지는 음악에 관련된 시각그래프가 있는지도 알아보고. 2023. 3. 7.
모델 발전과정 3 - GNMT (Google's Seq2seq 8 layers w. Residual) Google's Neural Machie Translation System 2016년 구글의 신경망 번역 시스템 8개 층을 쌓은 Encoder-Decoder 구조 Residual Connection 사용 Bahdanau Attention 채택 토큰 처리를 하지 않고 단어를 그대로 복사하여 적당한 위치에 배치하는 Copy Model을 사용 장점 정확도가 올라감 학습속도 빨라짐 기울기 소실 문제 해결가능 https://norman3.github.io/papers/docs/google_neural_machine_translation.html Google's Neural Machine Translation System. 그리고 \(sigmoid, tanh\) 등의 함수와 element-wise 연산인 \( (\.. 2023. 2. 28.
모델 발전과정 2 - Attention (Bahdanau / Luong) Attention https://arxiv.org/pdf/1409.0473.pdf 0. Abstract The models proposed recently for neural machine translation often belong to a family of encoder–decoders and encode a source sentence into a fixed-length vector from which a decoder generates a translation. In this paper, we conjecture that the use of a fixed-length vector is a bottleneck in improving the performance of this basic encoder.. 2023. 2. 28.
모델 발전과정 1 - SLM / NNLM / RNN / Seq2seq 언어 모델(Language Model) 주어진 단어들을 보고 다음 단어를 맞추는 모델 단어의 시퀀스를 보고 다음 단어에 확률을 할당 하는 모델에서 주변 단어를 보고 중심 단어를 예측하는 형태로 발전하게 됨. 통계적 언어 모델 (Statistical Language Model) 단점 한 번도 본 적 없는(학습 데이터에 존재하지 않는) 단어 / 문장에 대해서는 확률을 부여할 수 없다. 따라서 언어 모델이 아우르는 범위를 넓히기 위해 다양한 단어를 포함하는 데이터가 필요하다. (양까지 충분하다면 정의하는 확률이 일반적이므로 더욱 좋다.) 신경망 언어 모델 (Neural Network Language Model : NNLM) NNLM의 시초는 Feed-Forward 신경망 언어 모델인데, 지금의 Embeddin.. 2023. 2. 27.
죽음에 관련된 AI Generator 죽음 관계적 - 나자신 (처음, 두려움, 떨림, 홀가분, 새로운시작, 끝, 아쉬움, 걱정, 사람들) - 남은사람 (아쉬움, 반가움, 고리의 끊김, 자립, 홀로서기, 책임감, 당황스러움, 당했을때는 처음, 옆에서는 여러번의 익숙함) 생물학적 - 생명력의 끝 (세포의 생성과 순환과정이 끝나는 것) - 시간, 유한함, 필연적임 - Density 예술적 - 창의적인 활동의 멈춤 - 신선함이 없는 상태 - 유지와 부패의 사이 - 미지의 세계 인간과 기계 - 다른 특성을 가짐 - 하지만 매우 밀접함 - 인간은 기계를 만드는 thing - 인간은 기계와 함께 일하는 thing - 인간은 기계에 의존하는 thing - Hierarchical structure - 인간은 생명활동을 멈출 때. 노화 - 기계는 죽지 않는다.. 2023. 2. 25.
벡터화 발전과정 4 - 워드 임베딩 (Word2Vec / FastText / GloVe) 2003년 요슈아 벤지오(Yoshua Bengio) 교수가 NPLM(Neural Probabilistic Language Model) 이란 모델을 통해 제안된 워드 임베딩. 하지만 이 모델은 너무 느렸다. 2013년, 구글이 NPLM의 정밀도와 속도를 개선하여 Word2Vec을 만들었고, 그 이후로 FastText나 GloVe 등과 같은 방법들이 제안되었다.. Word2Vec 원핫보다 저차원이고, neighbor words간 유사도를 가짐 word2vec은 워드임베딩 종류의 하나이고, Unsupervised or Self learning 이라고도 한다. 왜냐하면 그 유의미한 Dense Vector들을 자기가 학습하면서 기울기를 조정하여 업데이트해가기 때문이다. 분포 가설(Distributional Hyp.. 2023. 2. 23.
벡터화 발전과정 3 - 임베딩 (Embbeding) / Sparse - Dense - Embedding vector 희소 벡터 (sparse vector) 들이 난무하는 DTM, TF-IDF, 원-핫 벡터 단어장에는 0이 너무 너무 많다. 단어장의 크기가 커지면, 그만큼 차원이 늘어면서 차원의 저주(curse of dimensionality)가 시작된다. 차원의 저주란, 희소벡터의 비율이 같은 일정 데이터를 2D에 표현했을 때보다, 3D로 표현했을때 더 density가 떨어진다는 뜻이다. 골다골증인 것처럼 데이터에 구멍이 송송송송 빈다. 데이터가 많으면 많을 수록 표현이 잘 되고 좋은 것은 맞지만, 필요없는 0 같은 노이즈가 많이 끼면 오히려 학습에 방해가 되고, 학습을 마치더라도 유의미한 결과라고 하기 어렵다. 그래서 Sparse vector 를 Dense vector 로 바꾼다. 즉, 벡터 하나하나 의미가 있는 아.. 2023. 2. 22.
토큰화 / 인덱싱 / 벡터화 / 임베딩 토큰화 split 하는 것. 이 때에 띄어쓰기나 형태소 단위로 끊어줄 수 있음 인덱싱 각 단어를 고유한 번호(인덱스)로 매핑하는 것 의미나 관계를 고려하지는 않음. 벡터화 단어나 텍스트를 수치화하는 작업 중 하나 각 단어나 문장을 수치 벡터로 변환하는 것을 의미 단어나 텍스트를 고차원 벡터로 변환 인덱싱과 다르게 단어의 의미나 관련성을 고려 빈도기준의 DTM, 빈도+문서간관계 TD-IDF, 독립적인 관계 One-Hot, 분포로 잠재 의미를 담아내는 LSA, (LSA는 희소 vector가 아니라 희소 matrix를 밀집 행렬로 바꾼거라 임베딩이라 하지 않고 벡터화에 속함) 분포로 단어의 토픽을 찾아내는 LDA, (LDA는 벡터에 확률 분포가 들어감) 임베딩 (like. 2차 벡터화) 벡터화되어 고차원으로 .. 2023. 2. 22.
영어 공부는 AI 처럼 chatGPT 같은 NLP Generator는 몇 분, 길어야 몇 시간만 공부하면 영작을 해낸다. 왜 사람은 못하지? 내 생각에 한국사람들은 정말 영어를 잘한다. 어제는 티비 프로 이름이 "포비든 앨리" 라고 나오더라. 설마,, 금지된 골목?? 이렇게 어려운 단어를 영어 그대로 제목으로 쓴다고? 이렇게 놀랬다. 참 영어 다들 잘한다. 다 못한다고 하면서 다 잘한다. 그런데도 왜 유럽처럼 자유롭게 영작은 못하는거냐구. 난 그 이유가 단어를 잘못외워서라고 생각한다. 단어외울때 품사를 안외우니깐,, red 의 품사가 뭐냐고 물으면 빨갛다니까 동사라고 하거나, 뭐 빨간 그런거 아니냐고 ㅋㅋㅋ 얼버무린다. 형용사라고 말하는 사람 정말 잘 없다. 문법은 품사의 자리를 찾아주는거라 단어의 품사를 모르면 자리를 찾아줄.. 2023. 2. 22.
분류성능평가지표 : F1-score , Accuracy, ROC curve, AUC curve 2022.12.07 - [ML] - 오차행렬, FP, FN, F-score, Threshold Confusion Matrix TN : 4 / FP : 1 FN : 1 / TP : 2 from sklearn.metrics import confusion_matrix # assume y_true and y_pred are your true and predicted labels, respectively y_true = [0, 1, 1, 0, 1, 1, 0, 0] y_pred = [0, 1, 0, 0, 1, 1, 0, 1] cm = confusion_matrix(y_true, y_pred) >> array([[4, 1], [1, 2]]) Precision이나 Recall은 모두 실제 Positive인 정답을 모델.. 2023. 2. 20.
나이브 베이즈 이론 연습문제 CASE 1 CASE 2 총 8개의 메일 중 4개의 메일이 스팸 메일이므로 P(spam) = 4/8 = 1/2 총 8개의 메일 중 3개의 메일이 coupon이라는 단어를 포함하므로 P(coupon) = 3/8 총 4개의 스팸 메일 중 2개의 메일이 coupon이라는 단어를 포함하므로 P(coupon | spam) = 2/4 = 1/2 P(coupon | spam)과 P(spam)를 곱한 후에 P(coupon)로 나눠줍니다. 정답은 2/3 즉, 66.7%입니다. 2023. 2. 20.
벡터화 발전과정 2 - soynlp (비지도학습 한국어 형태소 분석기) Soynlp - 품사 태깅, 형태소 분석 등을 지원하는 한국어 형태소 분석기. - 비지도 학습으로 데이터에 자주 등장하는 단어들을 형태소로 분석함. - 내부에 단어사전 같은 단어 점수표를 만들어 동작하며 . 이 점수는 응집 확률(cohesion probability) 과 브랜칭 엔트로피(branching entropy) 를 활용함. - 학습은 txt string (말뭉치, 진짜뭉치)을 DoublespaceLineCorpus로 띄어쓰기 두개 기준으로 떼어내 문서단위로 구분하고, 이를 WordExtractor로 단어를 추출하여 .train 시키면, 단어점수표가 만들어짐. 단어점수표 구조 응집 확률 (cohesion probability) 내부 문자열(subword)가 "얼마나 응집"하여 "자주" 등장하는가의.. 2023. 2. 20.
cGAN / Pix2pix GAN의 목적 1. Pg -> Pdata (만들어낸 이미지의 분포가 실제 이미지의 분포로 수렴하면 성공) 2. D(G(z)) -> 1/2 (Generator가 만들어낸 결과(G(z))를 Discriminator가 판별했을 때, 1이 진짜, 0이 가까이지만 잘 모르겠어서 1/2로 판별해내면 성공. 첨에는 0으로 잘 가려내겠지만 나중에는 1인가? 하다가 결국 그 평균인 1/2에 수렴해야함) D(x) : x는 진짜에서 뽑아온 분포니, D가 판별했을 때 진짜이도록, 즉 1이 되도록 D(G(z)) : G(z) output 자체가 가짜니 D입장에서는 ; D가 판별했을 때 가짜이도록, 즉 0이 되도록 G입장에서는 ; D가 판별했을 때 진짜이도록, 즉 1이 되도록 결국, log 1 + log 0.5 가 될 것임. lo.. 2023. 2. 18.
728x90