본문 바로가기
728x90

분류 전체보기143

모델 발전과정 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