딥러닝 (27) 썸네일형 리스트형 단어의 의미를 파악하는 방법 (2) 단어의 의미를 파악하는 기법으로 (1) 사람이 수작업으로 레이블링하는 시소러스를 활용한 기법과 텍스트 데이터로부터 단어의 의미를 자동으로 추출하는 (2) 통계 기반 기법, (3) 추론 기반 기법이 있다. 1. 통계 기반 기법 개선1.1 동시발생 행렬의 문제점■ 동시발생 행렬의 각 행의 원소는 윈도우 크기를 기준으로 주변 단어 빈도수를 나타낸 것이다.■ 따라서 윈도우 크기 조건을 만족하는 단어 중, 서로 관련이 없는 단어 간의 빈도가 높다면, 두 단어 벡터의 유사다고 높게 계산된다는 문제점이 있다.■ 예를 들어 말뭉치의 단어 수가 10,000개인데, 'you'와 'goodbye'가 5,000번, 'you'와 'i'가 10번 등장한다면,- 서로 관련이 적은 'you'와 'goodbye'의 동시발생 횟수는 많.. 단어의 의미를 파악하는 방법 (1) 단어의 의미를 파악하는 기법으로 (1) 사람이 수작업으로 레이블링하는 시소러스를 활용한 기법과 텍스트 데이터로부터 단어의 의미를 자동으로 추출하는 (2) 통계 기반 기법, (3) 추론 기반 기법이 있다. 1. 시소러스(Theasurus)■ 시소러스는 단어를 의미에 따라 분류·배열한 일종의 유의어 사전으로, 뜻이 같은 단어인 '동의어'나 뜻이 비슷한 단어인 '유의어'가 한 그룹으로 분류되어 있다. ■ 예를 들어 시소러스에서 car의 동의어는 다음과 같이 나타낼 수 있다.■ 그리고 자연어 처리에 이용되는 시소러스에는 단어 사이의 '상·하위 관계', '전체와 부분 관계' 등 더 세부적인 관계를 그래프 구조로 정의하는 경우가 있다.■ 예를 들어 단어 car같은 경우, 상위 개념으로 motor vehicle, 하.. 매개변수 갱신 방법(2) 1. 가중치 초깃값■ 너무 큰 가중치 (매개변수)값은 학습 과정에서 과적합을 발생시킬 수 있어서 초깃값을 최대한 작은 값에서 시작하거나 가중치 감소 기법을 통해 과적합을 억제해야 한다.■ 주의할 점은 가중치 초깃값을 설정할 때 가중치를 균일한 값으로 설정해서는 안 된다.■ 왜냐하면, 오차역전파 과정에서 모든 가중치 값이 동일하게 갱신되기 때문에 초깃값이 갱신을 거쳐도 여전히 동일한 값을 유지하게 만들어 가중치를 여러 개로 설정한 의미가 없어지기 때문이다. 따라서 초깃값은 무작위로 설정해야 한다.■ 그러나 가중치를 랜덤하게 초기화해서 사용하면 다음 그림과 같이 신경망의 초기 Loss가 달라진다.■ 즉, 신경망을 초기화할 때마다 위의 그림과 같이 Loss의 초기 위치가 A에서 E까지 달라질 수 있다. 그러므.. 매개변수 갱신 방법(1) 1. 매개변수 갱신■ 신경망 학습의 목적은 손실 함수의 값을 최대한 감소시키는 매개변수를 찾는, 즉 매개변수의 최적값을 찾는 문제이다.■ 이러한 문제를 푸는 것을 최적화(Optimization)라고 한다.■ 신경망은 매개변수의 수가 많아질수록 매개변수의 공간이 넓고 복잡해져서 바로 최적의 매개변수를 구해 손실 함수의 최솟값을 찾기 어렵다.■ 앞서, 최적의 매개변수를 찾기 위해 매개변수의 기울기(미분)을 구해서, 기울어진 방향으로 매개변수 값을 갱신하는 작업을 반복해 조금씩 손실 함수의 최솟값에 다가가는 방법을 보았는데, 이 방법을 경사 하강법이라고 하며,신경망 학습(2) 신경망 학습(2)1. 학습1.1 신경망의 학습에 대한 지표는 손실 함수■ 손실 함수를 사용하는 이유는, 학습 과정에서 손실 함수의 결과.. 합성곱 신경망(CNN) (1) 1. 합성곱 신경망(Convolutional Neural Network, CNN)■ 합성곱 신경망CNN은 컨브넷(convnet)이라고도 부르며 이미지 인식, 음성 등 다양한 곳에 사용된다. 특히 이미지 인식 분야에서 활용도가 높다.■ 인접한 계층간 모든 뉴런이 연결된 완전연결 계층(Fully Connected Layer)은 입력 데이터의 형태가 1차원이라서 이미지 데이터를 입력으로 사용하기 위해 이미지의 픽셀 값들을 1차원 벡터로 평탄화시켰다.■ 1차원 벡터로 평탄화하는 이유는 완전연결 계층은 다음 그림과 같이 여러 층으로 중첩된 행렬곱의 식이고, 행렬곱 계산은 기본적으로 모든 요소 간의 곱셈 계산을 수행해야 한다.따라서 이미지 데이터에 행렬 곱 계산을 적용하기 위해 3차원 데이터를 1차원 벡터로 평탄화.. 오차역전파 (3) 1. 오차역전파 과정오차역전파 (0)오차역전파 (1)■ 어떤 입력 이미지가 순전파와 역전파를 통해 손실 함수의 값을 낮추고 최종 결과를 출력하는 과정은 다음 그림과 같다. ■ 예를 들어 입력층, 은닉층, 출력층이 각각 2개, 3개, 2개의 노드를 가진다 하자.(bias는 생략) - w는 가중치이며, 선형 방정식(*bias가 있다면, wx + b)의 값, 즉 어파인 변환의 값 a를 입력 값으로 받은 활성화 함수 h()를 통과한 값을 z, 그리고 출력층의 각 노드와 그에 대응하는 실제 값(정답)을 y1,y2라 하면, y1,y2와의 차이(loss)를 L1,L2라 하자. 전체 손실을 L이라 하면 \( L = L_1 +.. 신경망 학습(2) 1. 학습1.1 신경망의 학습에 대한 지표는 손실 함수■ 손실 함수를 사용하는 이유는, 학습 과정에서 손실 함수의 결과를 바탕으로 손실 함수의 결과값을 최대한 작게 만드는 최적의 매개변수(가중치, 편향)를 찾을 수 있도록 매개변수의 미분을 계산해, 미분 값을 기준으로 매개변수의 값이 최적이 될 때까지 매개변수의 값을 업데이트하기 위해서이다.■ 이 과정의 목표는 결국 모델이 얼마나 잘 예측했는지 정확도를 구하기 위해서 이지만, 신경망 학습의 지표로 정확도를 사용하지 않고 손실 함수를 사용한다.■ 이러한 이유는 1) 미분 값을 기준으로 매개변수를 업데이트해야 하는데, 미분 값이 0이면 매개변수를 업데이트할 기준이 0, 즉 최적의 매개변수를 아직 찾지 못했는데 매개변수를 더 이상 업데이트하지않는다.이렇게 되면.. 신경망 학습(1) 1. 학습■ 신경망 '학습'에서 학습은 train set으로 가중치 매개변수의 최적값을 자동으로 얻는 것을 의미한다.■ 신경망이 학습할 수 있도록 기준이 되는 지표는 손실 함수이며, 이 손실 함수의 결과값을 최대한 작게 만드는 가중치를 찾아야 한다.■ 딥러닝은 ML과 달리 '처음부터 끝까지', '데이터에서 출력까지' 사람의 개입 없이 주어진 데이터를 온전히 있는 그대로 학습하고 패턴을 발견하여 종단간(end-to-end) 기계학습이라고도 한다. 2. 손실 함수(loss function) ■ 딥러닝에서 train set으로 학습한 다음, 어떤 지표를 기준으로 가중치의 최적값을 자동으로 갱신해 어떤 지표가 최대한 작아지는 가중치를 찾는다. 이 어떤 지표가 바로 손실 함수이다. ■ 손실 함수는 사용자가 임의의.. 이전 1 2 3 4 다음 목록 더보기