본문 바로가기
728x90
반응형

밑바닥부터 시작하는 딥러닝 27

[밑바닥부터 시작하는 딥러닝 2] chap1(신경망 복습) 1-3) 신경망의 학습 계산그래프 1. 덧셈 노드 2. 곱셈 노드 3. 분기 노드 복제 노드라고도 함. 4. Repeat 노드 분기 노드가 N개로 일반화(확장된 경우) 5. Sum 노드 Repeat 노드와 반대인 경우 6. MatMul 노드 affine 계층과 같다고 보면 됨 ( 행렬의 곱셈을 MatMul 노드라고 함) 2023. 7. 9.
[밑바닥부터 시작하는 딥러닝 2] chap2(자연어) 2.1) 자연어 처리란 평소에 쓰는 말을 자연어라고 칭함(NLP- natural language processing) 인간의 말을 컴퓨터에게 이해시키기 위한 기술이라고 함 추구하고자 하는 목표: 컴퓨터에게 우리의 말을 이해시켜 우리에게 도움이 되는 일을 수행하도록 하고자 함. 2.1-1) 컴퓨터에게 단어의 의미 이해시키기 시소러스를 활용한 기법 통계 기반 기법 추론 기반 기법(word2vec) 2.2) 시소러스 시소러스란: 유의어 사전( 동의어, 유의어 ) 가 한 그룹으로 분류되어 있는 것 또는 하위, 상위 개념을 묶어둔 것 (WordNet) 시소러스의 문제점: 사람이 직접 만들기에 시대의 변화에 어려움 인건비 많이 듬 단어의 미묘한 차이를 표현하기 어려움 (ex) 빈티지나 레트로나 의미는 같음) →구별.. 2023. 7. 9.
[밑바닥부터 시작하는 딥러닝 2] chap3(word2vec) 추론 기반의 기법 ⇒ 단어를 벡터로 변환시켜서 학습하는 것 이 또한 분포가설을 기반으로(단어의 의미는 주변 단어에 의해 형성된다) 통계 기반 기법의 문제점 통계 기반의 경우, 모든 데이터를 한번에 학습시키게 됨. 따라서 시간이 굉장히 오래 걸림 이에 따라 word2vec(추론기반기법)의 경우, 미니배치를 활용해 학습함 추론 기반 기법 추론 문제를 반복해 단어의 출현 패턴을 학습하는. 신경망을 활용해 단어를 처리 맥락 → 모델 → 확률분포 신경망의 경우, 단어를 그대로 처리하지 못함 따라서 ‘고정 길이의 벡터’로 변환해야 함 → 원핫 벡터로 변환. 결국에는 c에서 1인 애들의 가중치의 행 벡터만 출력됨 (나머지는 0이므로) 굳이 행렬곱을 수행하는 것은 시간 낭비. 그래서 embedded 계층을 사용하게 됨.. 2023. 7. 9.
[밑바닥부터 시작하는 딥러닝 2] chap4(word2vec 속도 개선) Embedding 계층 negative sampling 손실함수 도입 기존 word2vec의 문제점 어휘가 100만개로 늘어나게 될 경우, [1] 입력층의 원핫 표현과 가중치 행렬 W_in 의 곱 계산 : 4.1 임베딩 계층 구현으로 해결 [2] 은닉층과 가중치 행렬 W_out의 곱 및 Softmax 계층의 계산 : 4.2 네거티브 샘플링으로 해결 1. Embedding 계층 matmul 계층을 보면, 해당 원핫벡터에 맞는 벡터를 뽑아내는 것과 같음 → 따라서 특정 행만 추출하자의 의미로 embedding 계층을 활용. forward의 경우, index만 넘겨 은닉층(h)를 얻는다 backward 때는 dW 업데이트 해야할 index가 겹치는 경우가 있을 수 있으므로 ‘할당’이 아닌 ‘더하기’를 해야 한.. 2023. 7. 9.
[밑바닥부터 시작하는 딥러닝 2] chap5(순환 신경망 RNN) 5.1 확률과 언어 모델 1. 언어모델 단어 나열에 확률을 부여 특정한 단어의 시퀀스에 대해 그 시퀀스가 일어날 가능성이 어느 정도인가(얼마나 자연스러운 단어 순서인지)를 확률로 평가하는 것.ex) you say goodbye ⇒ 0.092 but, you say good die ⇒ 0.0000000032 사용 예시: 기계 번역 및 음성 인식에 주로 사용, 새로운 문장 생성 용도 CBOW와 달리 왼쪽 윈도우만 맥락으로 고려함. 즉, 언어모델은 변경된 수식처럼 t-2번째 단어, t-1번째 단어가 발생했을 때, 다음 순서로 나올 단어인 t번째 단어가 무엇으로 나올지 예측하는 모델을 의미. 다음 순서에 나올 단어의 자연스러움을 하나의 확률 지표값으로 예측. 동시 확률이란: m개의 단어가 있다고 가정할 때, 단.. 2023. 7. 9.
[밑바닥부터 시작하는 딥러닝 2] chap6(게이트가 추가된 RNN) 6.1 RNN의 문제점 시계열 데이터의 장기 의존 관계 학습하는데 어려움 존재 기울기 소실 및 기울기 폭발 문제 발생 1. 기울기 소실 역전파의 경우, tanh을 미분하게 되면 점점 0에 수렴하게 됨. 이전의 기울기 값을 계속 곱하면서 갱신하기 때문에 소실상태 발생 2. 기울기 폭발 역전파의 경우, matmul 노드에서 dhWh라는 행렬 곱으로 기울기 계산함 이 때, 매번 같은 가중치인 Wh가 사용됨(행렬곱셈 으로 인해) 결국 입력층으로 갈수록 점차 커지다가 가중치들이 비정상적으로 큰 값이 되어버림 기울기 폭발에 대한 해결방안 기울기 클리핑(gradients clipping) 사용 신경망에서 사용되는 모든 매개변수에 대한 기울기를 하나로 처리 g−bar는 L2 노름을 의미, L2 노름이 문턱값을 초과하면.. 2023. 7. 9.
728x90
반응형