CBOW, Skip-gram
2021. 2. 14. 20:21
📌 Paper/Deep learning to identify ORI
CBOW(Continuous Bag of Words) Word2Vec에는 CBOW(Continuous Bag of Words)와 Skip-Gram 두 가지 방식이 있습니다. CBOW는 주변에 있는 단어들을 가지고, 중간에 있는 단어들을 예측하는 방법입니다. 반대로, Skip-Gram은 중간에 있는 단어로 주변 단어들을 예측하는 방법입니다. 메커니즘 자체는 거의 동일하기 때문에 CBOW를 이해한다면 Skip-Gram도 손쉽게 이해 가능합니다. 우선 CBOW에 대해서 알아보도록 하겠습니다. 이해를 위해 매우 간소화 된 형태의 CBOW로 설명합니다. 예문 : "The fat cat sat on the mat" 예를 들어서 갖고 있는 코퍼스에 위와 같은 문장이 있다고 합시다. 가운데 단어를 예측하는 것이 CBO..
Word2vec
2021. 2. 14. 19:14
📌 Paper/Deep learning to identify ORI
www.youtube.com/watch?v=sY4YyacSsLc&t=407s One Hot Encoding 독립적인 벡터들을 만들어주는 방법을 One Hot Encoding 이라고 합니다. 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법입니다. 이렇게 벡터 또는 행렬(matrix)의 값이 대부분이 0으로 표현되는 방법을 희소 표현(sparse representation)이라고 합니다. 그러니까 원-핫 벡터는 희소 벡터(sparse vector)입니다. 이러한 희소 벡터의 문제점은 단어의 개수가 늘어나면 벡터의 차원이 한없이 커진다는 점입니다. 원-핫 벡터로 표현할 때는 갖고 있는 코퍼스에 단어가 10,000..
ROC curve
2021. 2. 14. 18:03
📌 Paper/Deep learning to identify ORI
www.youtube.com/watch?v=n7EoYT5kDO4 혼동 행렬 TP FP FN TN TP (True Positive) : 환자를 환자로 분류 FP (False Positive) : 정상인을 환자로 분류 FN (Fasle Negative) : 환자를 정상인으로 분류 TN (True Negative) : 정상인을 정상인으로 분류 성능 TPR (True Positive Rate) = TP/(TP+FN) = 재현률, 민감도 = TP/왼쪽세로축 FPR (False Positive Rate) = FP/(FP+TN) = 특이도 = FP/오른쪽세로축 FNR (False Negative Rate) = FN/(FN+TP) TNR (True Negative Rate) = TN/(TN+FP) 정밀도 = TP/(T..
CNN in NLP
2021. 2. 13. 15:34
📌 Paper/Deep learning to identify ORI
합성곱 신경망(Convolutional Neural Network)은 이미지 처리에 탁월한 성능을 보이는 신경망입니다. 이 책의 주제는 이미지 처리가 아니라 자연어 처리이기 때문에, 어떻게 보면 책의 범위를 벗어났다고 느낄 수도 있습니다. 하지만 합성곱 신경망으로도 자연어 처리를 할 수 있습니다. 합성곱 신경망을 이용한 자연어 처리를 배우기 전에 합성곱 신경망에 대해서 먼저 이해해보겠습니다. 이번 챕터에 한해서만 현재 이미지 처리를 배우고 있다고 가정하고 설명하겠습니다. 합성곱 신경망은 크게 합성곱층과(Convolution layer)와 풀링층(Pooling layer)으로 구성됩니다. 아래의 그림은 합성곱 신경망의 일반적인 예를 보여줍니다. (http://cs231n.github.io/convoluti..
Negative Sampling
2021. 2. 13. 15:12
📌 Paper/Deep learning to identify ORI
네거티브 샘플링(Negative Sampling) Word2Vec의 출력층에서는 소프트맥스 함수를 지난 단어 집합 크기의 벡터와 실제값인 원-핫 벡터와의 오차를 구하고 이로부터 임베딩 테이블에 있는 모든 단어에 대한 임베딩 벡터 값을 업데이트합니다. 만약 단어 집합의 크기가 수만 이상에 달한다면 이 작업은 굉장히 무거운 작업이므로, Word2Vec은 꽤나 학습하기에 무거운 모델이 됩니다. Word2Vec은 역전파 과정에서 모든 단어의 임베딩 벡터값의 업데이트를 수행하지만, 만약 현재 집중하고 있는 중심 단어와 주변 단어가 '강아지'와 '고양이', '귀여운'과 같은 단어라면, 사실 이 단어들과 별 연관 관계가 없는 '돈가스'나 '컴퓨터'와 같은 수많은 단어의 임베딩 벡터값까지 업데이트하는 것은 비효율적입니..
Origin of Replication (ORI)
2021. 2. 11. 10:58
📌 Paper/Deep learning to identify ORI
복제 개시점(ORI)은 말 그대로 DNA의 복제가 시작되는 부분이다. 어, 그냥 끝에서 끝으로 복제되는게 아닌가요? 그렇지가 않다. 여기에서도 물론 원핵세포와 진핵세포를 나눠서 봐야 한다. DNA의 성격이 다르니까 말이다. 원핵세포는 주로 원형의 DNA가 많고, 진핵세포는 주로 선형의 DNA를 갖고 있다. DNA의 크기 역시 원핵세포에 비해 진핵세포가 훨씬 더 큰 경우가 많다. 그래서 원핵세포는 하나나 두개 정도의 복제 개시점으로도 충분히 빠른 시간 안에 복제가 가능하지만 진핵세포는 여러개의 복제 개시점을 갖는다. 만약에 인간의 염색체 각각을 하나의 복제 개시점만 가지고 복제한다면 얼마나 시간이 걸릴까? 계산해보자(...) 인간의 염색체는 대략 30억 개의 염기쌍을 갖는다. 그리고 DNA 중합효소는 최대..
t-distributed Stochastic Neighbor Embedding (t-SNE)
2021. 2. 10. 12:53
📌 Paper/Deep learning to identify ORI
www.youtube.com/watch?v=NEaUSP4YerM PCA 기반 차원 감소의 문제점 앞의 글에서 차원 감소에 대한 개념과, 차원 감소 알고리즘의 하나인 PCA 알고리즘에 대해서 살펴보았다. PCA의 경우 선형 분석 방식으로 값을 사상하기 때문에 차원이 감소되면서 군집화 되어 있는 데이타들이 뭉게져서 제대로 구별할 수 없는 문제를 가지고 있다. 아래 그림을 보자. 이 그림은 2차원에서 1차원으로 PCA 분석을 이용하여 차원을 줄인 예인데, 2차원에서는 파란색과 붉은색이 구별이 되는데, 1차원으로 줄면서 1차원상의 위치가 유사한 바람에, 두 군집의 변별력이 없어져 버렸다. t-SNE 이런 문제를 해결하기 위한 차원 감소 방법으로는 t-SNE (티스니라고 읽음) 방식이 있는데, 대략적인 원리는 다..
Principal Component Analysis (PCA)
2021. 2. 10. 11:51
📌 Paper/Deep learning to identify ORI
www.youtube.com/watch?v=_UVHneBUBW0 주성분 분석, 영어로는 PCA(Principal Component Analysis). 주성분 분석(PCA)은 사람들에게 비교적 널리 알려져 있는 방법으로서, 다른 블로그, 카페 등에 이와 관련된 소개글 또한 굉장히 많다. 그래도 기존에 이미 있는 내용들과 차별성이 있다면 이 글은 주성분 분석(PCA)을 자신의 공부, 연구 또는 개발에 보다 잘 활용할 수 있도록 주성분분석(PCA)의 다양한 활용예를 중심으로 기본 원리 등을 가급적 폭넓게 다뤄보고자 한다. 주성분 분석(PCA)은 사실 선형대수학이라기 보다는 선형대수학의 활용적인 측면이 강하며 영상인식, 통계 데이터 분석(주성분 찾기), 데이터 압축(차원감소), 노이즈 제거 등 다양한 활용을 갖..
임베딩이란?
2021. 2. 2. 17:50
📌 Paper/Deep learning to identify ORI
컴퓨터가 문자를 해석하는 방법 위와 같이 문자는 컴퓨터가 해석할 때 그냥 기호일 뿐이다. 이렇게 encoding된 상태로 보게 되면 위와 같은 문제점이 발생할 수 있다. 이 글자가 어떤 글자인지를 표시할 수 있고 그에 따른 특성을 갖게 하려면 우선 계산할 수 있게 숫자로 만들어 주어야 할 것이다. 그러한 방법 중 가장 단순한 방법이 One-hot encoding을 통한 것이다. 허나, 이러한 Sparse matrix를 통한 계산은 너무 비효율적이다. 그렇다면 어떻게 dense하게 표현할 수 있을지를 고민하는 것이 바로 Embedding이라는 개념의 본질일 것이다. 임베딩(Embedding)이란? 자연어 처리(Natural Language Processing)분야에서 임베딩(Embedding)은 사람이 쓰..