본문 바로가기

-

(66)
경사 하강법을 이용한 신경망 학습 1. 기존 머신러닝과 딥러닝의 특징 사람이 생각한 알고리즘을 이용한 분류 사람이 생각한 특징(SIFT, HOG 등)을 추출하고, 기계학습(SVM, KNN 등)으로 분류 신경망을 통해 분류. 데이터만 주어지면 특징 추출, 분류 모두 자동으로 진행된다. 2. 손실 함수 신경망 성능의 나쁨을 나타내는 지표로, 평균 제곱 오차나 교차 엔트로피 오차 등을 사용합니다. 신경망은 미분을 이용해서 이 함수의 값을 줄이는 것을 목표로 학습합니다. 평균 제곱 오차(Mean Squared Error, MSE) y_k는 신경망의 출력, t_k는 One-Hot Encoding된 정답 레이블, k는 데이터의 차원 수. 교차 엔트로피 오차(Cross Entropy Error, CEE) t_k 값은 정답 레이블에선 1, 나머지는 0..
Image Processing 기본 개념 딥러닝에서 이미지를 처리할 때 CNN (Convolution Neural Network)을 많이 사용하고 있습니다. ImageNet 홈 페이지: http://www.image-net.org/ WordNet의 명사들과 관련된 이미지를 모아 두는 프로젝트입니다. WordNet은 단어 간의 관계를 트리 형태로 나타낸 프로젝트이므로, ImageNet 또한 트리 형태로 이미지가 분류되어 있습니다. 100만 장이 넘는 이미지로 되어 있어서 데이터 크기가 매우 큽니다. 따라서 ImageNet 데이터는 Transfer Learning에 사용되기도 합니다. ImageNet 데이터를 이용한 ImageNet Large Scale Visual Recognition Challenge(ILSVRC)라는 Image Cl..
토큰화 : Tokenize Tokenize 1) 토큰화 a. 문장으로 토큰화 nltk.tokenize.sent_tokenize : 주어진 텍스트를 개별 문장으로 토큰화. 예시import nltk from nltk.tokenize import sent_tokenize text = "a! bc. d. e? f~ g)" text2 = "hi! my name is soyoung. and you? um~ ex)" print(sent_tokenize(text)) print(sent_tokenize(text2)) * 결과['a!', 'bc.', 'd. e?', 'f~ g)'] ['hi!', 'my name is soyoung.', 'and you?&#..
한국어 문법 짚고 넘어가기 한국어 문법 짚고 넘어가기 한국어 NLP 를 위하여 한국어 문법에 대해 조금 더 자세히 알아보도록 한다. 한국어의 상,하 개념 :문단 > 문장 > 구절(구,절) > 어절 > 단어 > 형태소 > 음절 > 음운(음소,운소) 1. 음운 말의 뜻을 구별해 주는 소리의 가장 작은 단위. 음운 = 음소 + 운소 음소 더 이상 작게 나눌 수 없는 음운론상의 최소 단위 국어의 자음, 모음 운소 단어의 의미를 분화하는 데 관여하는 음소 이외의 운율적 특징 음의 높낮이, 길이, 세기 * 자소와 음소 자소 : 글자 상의 분절표기 요소 음소 : 발음 상의 분절음 요소 ex) 국물 : ㄱㅜㄱㅁㅜㄹ 발음 상으로는 ㄱㅜㅇㅁㅜㄹ 자소 'ㄱ'은 음소 'ㄱ', 'ㅇ'와 대응 2. 음절 하나의 ..
TextCNN TextCNN CNN 모델을 이용해 Text의 feature 추출 및 classification에 사용할 수 있도록 한 모델입니다. 이미지 Classification 및 feature 추출에만 사용하던 CNN을 텍스트 처리에도 사용하게 되었습니다. 문장에 있는 단어를 Word2Vec 등을 이용해 하나의 vector로 변환한 뒤, 순서대로 위에서 아래로 나열합니다. filter의 폭은 단어 vector 크기인 n, 높이는 한 번에 보고 싶은 단어 수(필터 크기)로 합니다. 필터 크기는 3, 4, 5 등등 여러 개를 사용할 수 있습니다. Output layer는 activation function으로 softmax를 이용합니다. 참고 자료 TextCNN 논문 CNN으로 문장 분류하기 TextCNN 2D Co..
Natural Language Processing 기초 개념 Language understanding NLU (Neural Language Understanding)는 작성된 텍스트의 의미를 이해하는 것입니다. 즉, 텍스트를 의미 형태로 변환하는 것입니다. named-entity recognition, question answering, sentiment analysis 등이 있습니다. NLG (Neural Language Generating)은 특정한 입력을 조건으로 해서 텍스트를 생성하는 것입니다. 즉 의미 형태로 되어 있는 vector 등을 텍스트로 변환합니다. machine translation, conversational response generation 등이 있습니다. Language Model Language Model은 단어 시퀀스에 대..
mAP IoU (Intersection over Union) Ground Truth 영역과 Prediction 영역이 있을 때, 아래와 같이 정의한다. (두 영역의 교집합) / (두 영역의 합집합) precision-recall curve (PR curve) threshold 조절에 따른 precision과 recall 값의 변화를 표현한 그래프. AP (Average Precision) 여러 알고리즘의 성능을 정량적으로 비교하기 위해 사용하는 값. threshold에 따라 precision과 recall은 변하게 되는데, threshold와 상관 없이 둘 다 좋으면 이 모델의 성능이 좋다는 것을 의미한다. 주로 컴퓨터 비전의 object detection의 성능 평가에 사용한다. IoU가 0.5 이상이면 물체..
평가지표 a. Macro & micro average macro average 클래스 별 f1 score에 가중치를 주지 않습니다. 클래스의 크기에 상관 없이 모든 클래스를 같은 비중으로 다룹니다. (학교의 각 반 성적) micro average 모든 클래스의 FP, FN, TP, TN의 총 수를 센 후 precision, recall, f1 score를 수치로 계산합니다. 전체적인 성능을 나타냅니다. (전체 학생들의 성적) 각 샘플을 똑같이 간주한다면 micro average, 각 클래스를 동일한 비중으로 고려하면 macro average 사 03. Edit distance 두 문자열의 유사도를 판단합니다. 문자열 A를 B로 바꾸기 위해 필요한 연산의 최소 횟수를 계산합니다. 비교할 두 문자가 같으면 : cos..