일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 알고리즘
- grid
- stl
- 통신사할인
- 반응형 웹
- 미디어 쿼리
- transform
- Gap
- 강화학습
- 포토샵
- 확률
- SK바이오사이언스
- REM
- 수학
- CSS
- JSX
- float
- Photoshop
- c++
- 상태
- skt membership
- Javascript
- react
- 백준
- box-sizing
- Codility
- 소수
- spring
- c
- pandas
Archives
- Today
- Total
sliver__
[NLP] Chapter 1 - 신경망 복습 본문
728x90
[벡터와 행렬]
- 벡터
- 크기와 방향을 가진 양
- 숫자가 일렬로 늘어선 집합
- 행렬
- 숫자가 2차원 형태로 늘어선 것
- 가로줄을 행(row), 세로줄을 열(col)
- 텐서
- 벡터와 행렬을 확장하여 숫자 집합을 N차원으로 표현한 것
- 스칼라 값
- 단일 원소로 이루어진 값
[행렬의 원소별 연산]
- +, * 연산자를 실행하면 피연산자인 행렬의 각 원소들을 독립적으로 더하거나 곱한다
import numpy as np
W = np.array([[1,2,3],[4,5,6]])
X = np.array([[0,1,2],[3,4,5]])
print(W+X)
print(W*X)
########## 결과 #############
[[ 1 3 5]
[ 7 9 11]]
[[ 0 2 6]
[12 20 30]]
############################
[브로드캐스트]
- 형상이 다른 배열끼리도 연산이 가능하다
A = np.array([[1,2],[3,4]])
print(A * 10)
##########결과##########
[[10 20]
[30 40]]
#######################
[벡터의 내적과 행렬의 곱]
$$ x \cdot y = x_{1}y_{1} + x_{2}y_{2} + ... + x_{n}y_{n} $$
- 두 개의 벡터 $x = (x_{1}, ... , x_{n}) $ 과 $y = (y_{1},...,y_{n})$ 이 있다고 가정
a = np.array([1,2,3])
b = np.array([4,5,6])
print(np.dot(a,b))
print(sep='\n')
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
print(np.matmul(A,B))
#######결과########
32
[[19 22]
[43 50]]
###################
[시그모이드 함수]
$$ \sigma(x) = {{1} \over {1+exp(-x)}} $$
- 비선형 활성화 함수
[손실 함수]
- 학습이 잘 되고 있는지를 알기 위한 척도
- 학습 데이터와 신경망이 예측한 결과를 비교하여 얼마나 나쁜가 산출한 스칼라 값
[소프트맥스 함수]
$$ y_{k} = {exp(s_{k}) \over \Sigma_{i=1}^{n} exp(s_{i})} $$
- 출력이 총 n개일 때, k번째의 출력 $y_{k}$를 구하는 계산식
- 출력을 확률로 해석
[교차 엔트로피]
$$ L = {\Sigma_{k} t_{k} {\log y_{k}}} $$
- $t_{k}$는 k번째 클래스에 해당하는 정답 레이블
- log는 e를 밑으로 하는 로그
- 정답 레이블을 원-핫 벡터([0,0,1])로 표기
$$ L = { -{1 \over N} \Sigma_{n} \Sigma_{k} t_{nk} \log y_{nk}} $$
- N개의 미니배치의 평균 손실 함수
[미분과 기울기]
- 벡터의 각 원소에 대한 미분을 정리한 것을 기울기라고 한다
$$ {\sigma L \over \sigma x} = ( {\sigma L \over \sigma x_{1}}, {\sigma L \over \sigma x_{2}}, ... ,{\sigma L \over \sigma x_{n}} )$$
- W에 대한 기울기도 행렬로 정리할 수 있다.
[연쇄 법칙]
- 합성함수에 대한 미분의 법칙
- $y = f(x), z = g(y)$ 두 함수는 $z = g(f(x))$로 표현할 수 있으며 x에 대한 z의 미분은 $ {\sigma z \over \sigma x} = {\sigma z \over \sigma y} {\sigma y \over \sigma x}$ 이다.
- 여러 함수가 연결되어있더라도 각 함수의 미분을 계산할 수 있으면 전체함수의 미분값을 구할 수 있다.
======================================출처============================================
밑바닥부터 시작하는 딥러닝. 2:파이썬으로 직접 구현하며 배우는 순환 신경망과 자연어 처리
COUPANG
www.coupang.com
728x90
'CS > NLP' 카테고리의 다른 글
[Hands on Python NLP] - NLP 기본의 이해 (0) | 2022.10.09 |
---|---|
[NLP] Auto Encoder (1) (0) | 2022.08.11 |
[NLP] chapter04 - word2vec 속도개선 (0) | 2022.02.10 |
[NLP] Chapter3 - word2vec (0) | 2022.02.10 |
[NLP] Chapter 2 - 자연어 (0) | 2022.02.09 |
Comments