티스토리 뷰

2-2. 신경망을 위한 데이터 표현
1). 스칼라(Scalar: 0 Dense): 하나의 숫자만 담고있는 텐스
2) 벡터(Vector: 1 Dense): 숫자의 배열로 하나의 축을 가짐
3) 행렬(Matrix: 2 Dense): 벡터의 배열로 두개의 축을 가짐
4) 3 Dense와 고차원 Dense: 행열들의 배열로 여러개의 축을 가짐
5) 핵심 속성
  - 축의크기(ndim): 축의 갯수 
  - 크기(shape): 몇개의 차원으로 구성
  - 데이터타입(dtype): 저장된 데이터의 타입

2-3. Tenser operation
   karas.layers.Dense(512, activation='relu')
   output = relu(dot(W, input) + b
1) 원소별 연산(Element-wise operation)
    - Element wise operation을 사용하지 않은 코드

def naive_relu(x):
    assert len(x.shape) == 2
    x = x.copy()
    for i in range(x.shape[0]):
    	for j in range(x,shape[1])
        	x[i, j] = max(x[i,j], 0)
    return x
    
def naive_add(x, y):
    assert len(len.shape) == 2
    assert x.shape = y.shape
    x = x.copy()
    for i in range(x.shape[0]):
    	for j in range(x.shape[1]):
        x[i, j] += y[i, j]
    return x

  - Element wise operation 을 사용한 코드

import numpy np
z = x + y
z = np.max(z, 0.)

2) 브로드케스팅 
  - 큰 텐서의 ndim에 맞도록 작은 텐서에 축이 추가됩니다.
  - 작은 텐서가 새 축을 따라서 큰 텐서의 크기에 맞도록 복사하여 반복한다. 

3) 텐서 점곱(Tenser dot operation)
  - A ˙ B : 행렬식 곱셈
  - A * B : 순수곱 

4) 텐서의 크기 변환 (Tenser reshaping) 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함