본문 바로가기
반응형

전체 글75

[밑바닥부터 시작하는딥러닝] Part_2\CHAPTER 4 Word2vec 속도 개선 CHAPTER 4 Word2vec 속도 개선 앞서 3장에서 보았던 CBOW 모델은 처리 효율이 떨어져 말뭉치에 포함된 어휘 수가 많아지면 계산량도 커진다. 따라서 단순한 Word2vec에 두가지 개선을 추가한다. 1. Embedding 이라는 새로운 계층을 만든다. 2. 네거티브 샘플링 이라는 새로운 손실함수를 도입한다. CBOW 모델은 복수 단어 문맥에 대한 문제 즉, 여러개의 단어를 나열한 뒤 이와 관련된 단어를 추정하는 문제이다. 문자에서 나오는 n개의 단어 열로부터 다음 단어를 예측하는 모델이다. 입력 층 가중치와 행렬 곱으로 은닉층이 계산되고, 다시 출력층 가중치와의 행렬 곱으로 각 단어 점수를 계산 소프트맥스 함수를 적용해 각 단어의 출현 확률을 얻어 정답 레이블과 비교하여 손실을 구한다. 위.. 2022. 7. 23.
[밑바닥부터 시작하는 딥러닝] Part_2/CHAPTER 3 Word2vec CHAPTER 3 Word2vec 목차 1. 추론 기반 기법과 신경망 단어를 벡터로 표현하는 방법은 크게 두 부분이 있다. 통계 기반 기법 추론 기반 기법 단어의 의미를 얻는 방식은 서로 크게 다르지만, 그 배경에는 모두 분포 가설이 있다. 이번 절에서는 통계 기반 기법의 문제를 지적하고 그 대안인 추론 기반 기법의 이점을 거시적 관점에서 설명한다. 1.1 통계 기반 기법의 문제점 지금까지 본 것 처럼 통계 기반 기법에서는 주변 단어의 빈도를 기초로 단어를 표현했다. 구체적으로는 단어의 동시 발생 행렬을 만들고 그 행렬에 SVD를 적용하여 밀집벡터(단어의 분산 표현)를 얻었다. 그러나 이 방식은 대규모 말뭉치를 다룰 때 문제가 발생한다. 현업에서 다루는 말뭉치의 어휘 수는 어마어마하다. 이런 거대 행렬에.. 2022. 7. 23.
[밑바닥부터 시작하는 딥러닝] Part_1/CHAPTER 7 합성곱 신경망(CNN) CHAPTER 7 합성곱 신경망(CNN) 1. 전체구조 완전연결 계층과 달리 CNN에서는 새로운 합성곱 계층과 풀링 계층이 추가된다. CNN 계층은 conv-relu-pooling 흐름으로 연결된다. 여기서 중요한 것은 출력에 가까운 층에서는 affine-relu 구성을 사용한다. 2. 합성곱 계층 CNN에서는 패딩, 스트라이드 등 CNN 고유의 용어가 등장한다. 그리고 각 계층 사이에 3차원 데이터같이 입체적인 데이터가 흐른다는 점에서 완전연결 신경망과 다르다. 2.1 완전연결 계층의 문제점 완전연결계층에서는 인접하는 계층의 뉴런이 모두 연결되고 출력의 수는 임의로 정할 수 있다. 하지만 완전 연결 계층은 데이터의 형상이 무시된다는 문제점이 있다. 예를 들면 이미지는 3차원 데이터(가로, 세로, 색상).. 2022. 7. 23.
[밑바닥부터 시작하는 딥러닝] Part_1/CHAPTER 6 학습관련기술들 CHAPTER 6 학습 관련 기술들 1. 매개변수 갱신 신경망 학습의 목적은 항상 '손실 함수의 값을 가능한 낮추는 매개변수를 찾는 것'이 목표이다. 이를 위해서 매개변수의 기울기를 이용하였고, 갱신한 매개 변수 값으로 다시 갱신하고,갱신하는 방법을 취했다. 이러한 것을 SGD, 확률적 경사 하강법이라고 한다. 1.2 확률적 경사 하강법(SGD) 확률적 경사 하강법이란 간단히 말하면, 기울어진 방향으로 일정 거리만큼 가겠다는 방법이다. 수식은 다음과 같다. ![Untitled 1](CHAPTER 6 학습 관련 기술들.assets/Untitled 1.png) class SGD: def __init__(self, lr=0.01): self.lr = lr def update(self, params, grads.. 2022. 7. 23.
반응형